This unit introduces the principles of sound software
engineering, describing the complete software development life-cycle from
feasibility study to ongoing maintenance, together with modern methods for
managing the process.
Students will become aware of the differences between
developing software as part of an academic course and developing software for
an employer. The potential of various tools and techniques to assist in the
development of on-time, within-budget software will be discussed.
- Sommerville, Ian, Software Engineering, 9th Edt, Addison Wesley, 2010
- Pfleeger, Shari Lawrence, Software Engineering: Theory and Practice, 4 Edt, Prentice Hall.
- van Vliet, Hans, Software Engineering: Principles and Practice, Second Edt Wiley
- Fenton, N.E., Pfleeger S.L., Software Metrics: A Rigorous and Practical Approach (2nd Edt), PWS, 1997
- R.S. Pressman, Software Engineering: a practitioner's approach, McGraw Hill
- Introduction to Software Engineering
- Software Requirements and Analysis
- Design and Implementation
- Software Verification and Validation
- Software Configuration Management
- Software Maintenance and Evolution
- Software Processes
- Software Quality
- Case Studies: London Ambulance Service, Ariane etc.
To be distributed during the class and email. As well the series of fictitious articles about the "Killer Robot"
written by Richard G. Epstein.