J Miller
6 points - One 2-hour lecture and one two-hour tutorial per week - First, second semester - Caulfield - Prerequisites: CSE1203 - Prohibitions: CFR2128, CFR3042, CSC2050, CSC3020, CSE2305, CSE3302, GCO3811, RDT2231, SFT2201
Objectives At the completion of this subject students should have further developed their skills as software engineers and have a deeper appreciation of software engineering principles in the development and maintenance of computer systems; have further developed their skills in problem-solving and software measurement; recognise the role of, and be able to use, specific software engineering tools and techniques such as quality plans, project plans, test plans, software metrics models, configuration management tools and development environments in the software engineering process; be able to measure their own improvement using the personal software process; have acquired an appreciation of the application of software engineering principles including software process, quality management, software metrics, configuration management, performance, testing and debugging, technical reviews, reusability and change management.
Synopsis This subject focuses on the theory and application of software engineering principles with the main emphasis being on the application of the tools and techniques used by software engineers in the development of software systems. Topics to be covered include: software process including process assessment using the Capability Maturity Model and the Personal Software Process; quality management and verification and validation using ISO9000, technical reviews, standards, quality plans and the need for a quality environment; software metrics such as size and function-oriented metrics; software estimation and project management; software reuse; configuration management and version control tools; performance measurement using Big 'O' notation; software testing techniques such as white box, black box, top-down, bottom up and importance of unit, integration, system and acceptance testing strategies; software debugging, common errors and debugging tools; importance of development tools such as CASE tools and automation of many tasks involved in the development of software; the problems and characteristics of software maintenance, reverse engineering and re-engineering. A substantial case study will be used to develop necessary skills and give experience of the issues involved.
Assessment Examination (2 hours): 30% - Unit test and practical work: 70%
Recommended texts
Pressman R S Software engineering: A practitioner's
approach 4th edn, McGraw-Hill, 1997
Meyer B Object-oriented software construction 2nd edn, Prentice-Hall,
1997
Pfleeger S L Software engineering theory and practice Prentice-Hall,
1998
Sommerville I Software engineering 5th edn, Addison-Wesley, 1997