Software engineering involves the multi-person construction of multi-version programs, and is a systematic approach to the development and maintenance of software. It is the application of engineering to software development, and the challenge is to deliver high-quality software on time and on budget to customers.
The birth of software engineering dates to a conference dealing with the crisis in software development held at Garmisch in Germany in the late 1960s. This conference highlighted the problems that existing in the software field including schedule and cost overruns, as well as problems with software quality. It was clear that there was a need to engineer software, and to develop effective methodologies to design and develop software. This chapter provides a broad overview of software engineering, and discusses various software lifecycles such as the Waterfall Model and the Spiral Model, and the phases in software development.
- 3.Beck K (2000) Extreme Programming explained. Embrace change. Addison-Wesley, ReadingGoogle Scholar
- 10.Brooks F (1975) The mythical man month. Addison Wesley, ReadingGoogle Scholar
- 11.Brooks F (1986) No silver bullet. Essence and accidents of software engineering. In: Information processing. Elsevier, AmsterdamGoogle Scholar
- 12.Buxton JN, Naur P, Randell B (1975) Software Engineering. Petrocelli. Report on two NATO conferences held in Garmisch, Germany (October1968) and Rome, Italy (October 1969)Google Scholar
- 24.Gilb T, Graham D (1994) Software inspections. Addison-Wesley, ReadingGoogle Scholar
- 30.Ince D, Andrews D (1991) Practical formal methods with VDM, McGraw Hill International series in software engineering. McGraw Hill, New YorkGoogle Scholar
- 32.Jacobson I, Booch G, Rumbaugh J (1999) The unified software modelling language user guide. Addison-Wesley, ReadingGoogle Scholar
- 51.O’Regan G (2010) Introduction to software process improvement. Springer, LondonGoogle Scholar
- 49.Office of Government Commerce (2004) Managing successful projects with PRINCE2. TSO, LondonGoogle Scholar
- 56.Royce W (1970) The software lifecycle model (Waterfall Model). In: Proceedings of the WESTCON, Los Angeles, August, 1970Google Scholar
- 57.Rumbaugh J et al (1999) The unified software development process. Addison-Wesley, ReadingGoogle Scholar
- 62.Spivey JM (1992) The Z notation. A reference manual, Prentice Hall International series in computer science. Prentice Hall, Englewood CliffsGoogle Scholar