Software Engineering I
Principal lecturer: Dr Ross Anderson (email@example.com)
Taken by: Part IA (50% option), Part II (General), Diploma
Number of lectures: 6
Lecture location: Arts School Room A
Lecture times: 11:00 on TTS
This course is a prerequisite for the Group Project (Part IB).
A copy of the lecture slides is available here,
and here is the syllabus:
- The software crisis.
- Examples of large-scale project failure, such as the London Ambulance
Service system. Intrinsic difficulties with software.
- The software life cycle.
- Getting the requirements right; requirements analysis methods; modular
design; the role of prototyping; the waterfall, spiral and evolutionary
- Critical software.
- Examples of catastrophic failure; particular problems with real-time
systems; the difficulty of achieving ultra-high reliability;
verification and validation.
- Quality assurance.
- The contribution of reviews and testing; reliability growth models;
software maintenance and configuration management; life cycle costs.
- The effect of high-level languages; object-oriented systems and
object reuse; an overview of formal methods with some application
examples; project planning tools; automated testing tools.
- Large software systems.
- The role of application domain knowledge; changing requirements;
risk reduction versus due diligence; communications
failure; organisational factors.
Pressman, R.S. (1994). Software Engineering. McGraw-Hill.
Leveson, N. (1994). Safeware. Addison-Wesley.
Maguire, S. (1993). Writing Solid Code. Microsoft Press.
Brooks, F.P. (1975). The Mythical Man Month. Addison-Wesley.
Neumann, P. (1994). Computer-Related Risks. ACM Press.
Lyu, M.R. (1995). Handbook of Software Reliability
Engineering. IEEE Computer Society Press.
Wiener, L.R. (1993). Digital Woes. Addison-Wesley.
of the Inquiry into the London Ambulance Service (Paper copies
available from SW Thames RHA, 40 Eastbourne Terrace, London W2 3QR.
IA(50) | II(G) | Dip
Provisional information only
Generated at 09:55.22 on 4/9/1998