6 points - Two 1-hour lectures per week - First semester - Clayton - Prerequisites: CSE2305 or CSC2050 - Prohibitions: CFR3112, CSC3080, GCO2817, GCO3821
Objectives On completion of this subject, students should have an understanding of systems analysis and design; a knowledge of the difficulties of specifying and producing large software products which are safe, reliable, and maintainable, when groups of people are involved; and an appreciation of software tools that are available to aid in software engineering.
Synopsis This subject covers the analysis, design and specification of large software systems through to system implementation, including testing, documentation and project management. Topics covered include software lifecycle models (waterfalls, prototyping, iterative development); software, technical and user documentation; software reliability issues such as safety, responsibility, and risk assessment; specification, verification and validation, by means of code and design reading, structure walkthroughs, and testing (test plan generation, acceptance testing, unit testing, integration testing, regression testing; CASE tools for specification, design and implementation; maintenance issues such as configuration management and control, as illustrated by a tool such as RCS; the human-computer interface including devices and interfaces, menu systems, command languages, and direct manipulation.
Assessment Examination (3 hours): 60% - Two exercises: 40%
Prescribed texts
Sommerville I Software engineering 5th edn, Addison-Wesley, 1995
Recommended texts
Pfleeger S Software engineering: the production of quality
software 2nd edn, Macmillan, 1991
Pressman R Software engineering: a practitioner's approach 4th edn,
McGraw-Hill, 1997