Not offered in 1999
6 points - 3 hours per week - First, second semester - Caulfield - Prerequisites: (SFT2411 and SFT2412) or SFT2201 or equivalent
Objectives At the completion of this subject students should understand and apply the principles and models in the specification, design and implementation of large and complex software systems; be able to evaluate and select alternative software methods and tools in the construction of systems; understand the software development process and be able to define an appropriate process model for a particular project; be able to conduct formal inspection, and design and execute test plans; and acquire skills to collect metrics data for evaluation, deal with maintenance issues - documentation, configuration mgmt, quality standards.
Synopsis This subject covers the software development process, design and implementation issues in engineering large systems. Software requirements, specifications - formal and informal specification. Software process modelling, process maturity and improvements - CMM, GQM; metrics; risk management. Documentation, reliability - risk assessment, maintenance - configuration management and control. Verification and validation techniques - inspection, testing - test plan, unit testing, integration testing, regression testing. Design patterns, reuse, evolution and maintenance issues are addressed. Human-computer interfaces - command languages, menu systems, direct manipulation, on-line help, toolkits, event handling.
Assessment: Assignments: 50% - Unit test: 10% - Examination: 40%
Recommended texts
Booch G Object-oriented analysis and design with applications
Benjamin-Cummings, 1994
Conger S The new software engineering Wadsworth, 1994
Humphrey W A discipline for software engineering Addison-Wesley, 1995
Pleeger S L Software engineering: The production of quality software 2nd
edn, Macmillan, 1991
Pressman R S Software engineering: A practitioner's approach 3rd edn,
McGraw-Hill, 1992
Selic B and others Real-time object-oriented modelling Wiley, 1994