This book is a broad discussion covering the entire software development lifecycle. It uses a comprehensive case study to address each topic and features the following:
- A description of the development, by the fictional company Homeowner, of the DigitalHome (DH) System, a system with "smart" devices for controlling home lighting, temperature, humidity, small appliance power, and security
- A set of scenarios that provide a realistic framework for use of the DH System material
- Just-in-time training: each chapter includes mini tutorials introducing various software engineering topics that are discussed in that chapter and used in the case study
- A set of case study exercises that provide an opportunity to engage students in software development practice, either individually or in a team environment.
Offering a new approach to learning about software engineering theory and practice, the text is specifically designed to:
- Support teaching software engineering, using a comprehensive case study covering the complete software development lifecycle
- Offer opportunities for students to actively learn about and engage in software engineering practice
- Provide a realistic environment to study a wide array of software engineering topics including agile development
Software Engineering Practice: A Case Study Approach supports a student-centered, "active" learning style of teaching. The DH case study exercises provide a variety of opportunities for students to engage in realistic activities related to the theory and practice of software engineering. The text uses a fictitious team of software engineers to portray the nature of software engineering and to depict what actual engineers do when practicing software engineering. All the DH case study exercises can be used as team or group exercises in collaborative learning. Many of the exercises have specific goals related to team building and teaming skills.
The text also can be used to support the professional development or certification of practicing software engineers. The case study exercises can be integrated with presentations in a workshop or short course for professionals.
Table of Contents
1 In the Beginning
2 Launching DigitalHome
3 Assuring DigitalHome Quality
4 Managing the DH Project
5 Engineering the DH Requirements
6 Designing DigitalHome
7 Constructing DigitalHome
8 Maintaining DigitalHome
9 Acting Ethically and Professionally Professional Issues
10 Using the Scrum Development Process
Appendix A: Digital Home Customer Need Statement
Appendix B: DigitalHome Software Requirements
Appendix C: DigitalHome Use Case Model
Dr. Thomas B. Hilburn is a Professor Emeritus of Software Engineering and a Distinguished Engineering Professor at Embry-Riddle Aeronautical University and was a Visiting Scientist at the Software Engineering Institute, Carnegie-Mellon from 1997 – 2009. He has worked on software engineering development, research, and education projects with the FAA, General Electric, Lockheed-Martin, the Harris Corp, the MITRE Corporation, DOD, FIPSE, the SEI, the NSF, the ACM and the IEEE Computer Society. His interests include software processes, object-oriented analysis and design, formal specification techniques, and curriculum development, and he has published over 80 papers in these areas. He is an IEEE Certified Software Developer, an IEEE Software Engineering Certified Instructor, and has chaired committees on the Professional Activities Board and the Educational Activities Board of the IEEE Computer Society.
Dr. Massood Towhidnejad is Professor of Software Engineering at Embry-Riddle Aeronautical University. His research interest includes: Software Engineering, Software Quality Assurance and Testing, Autonomous Systems, Air Traffic Management, and STEM Education. He has worked on software engineering development and research projects with the NSF (National Science Foundation), NASA Goddard Space Flight Research Center, FAA (Federal Aviation Administration), NOAA (National Oceanic and Atmospheric Administration), Carrier Corp., Motorola Corp., Honeywell Corp., Lockheed-Martin Corp., Harris Corp., Phillips Medical Systems, and VERITAS Corporations. He was a contributing author for Graduate Software Engineering Reference Curriculum (GSwE2009), Graduate Reference Curriculum for Systems Engineering (GRCSE), and IEEE Certified Software Development Associate (CSDA) training materials. His work have been published in over 100 papers. In addition to his university position, he served as a Visiting Research Associate at the FAA, Faculty Fellow at NASA Goddard Flight Research Center, and Software Quality Assurance Manager at Carrier Corporation.