CFR2128

Software engineering

Dr J Han

8 points - 5 hours per week - Second, summer semester - Peninsula - Prerequisites: CFR1124 - Prohibitions: CFR3042, CSC2050, GCO3811, RDT2231, RDT3710, SFT2201, SFT3041

Objectives At the completion of this subject students will know the concept behind the term 'software engineering' and understand the application of software engineering principles to large-scale programming problems; know the object-oriented paradigm and understand its application in the software engineering environment; and appreciate how to implement an interactive, commercially oriented system using an object-oriented programming language.

Synopsis An introduction to software engineering, overview of paradigms and problems. Software design fundamentals. Design of object-oriented software: objects and classes, rules for object definition, attribute definition, operation definition, object communication, object-oriented models, inheritance. Software metrics: size and function-oriented metrics, integrating metrics into the software engineering approach. Software estimation: approaches, decomposition, empirical models, automated tools. Programming for software re-use: software development for re-use, software development with re-use, application system portability. Software quality assurance: need for quality, activities, factors affecting quality, formal reviews, quality metrics, reliability. Software testing techniques: fundamentals, white box, black box, basis path, equivalence partitioning. Software testing strategies: strategic approach, verification and validation, strategies including unit, integration, validation and system testing. Software debugging: general approaches, common errors. Software maintenance: definitions, characteristics, tasks, side effects, reverse engineering and re-engineering. Software configuration management. Computer-aided software engineering: CASE tools, integrated CASE environments.

Assessment Examination: 60% - Practical work: 40%

Prescribed texts

Lafore R Object-oriented programming in C++ 2nd edn, Waite Group, 1995

Recommended texts

Pressman R S Software engineering: A practitioner's approach 3rd edn, McGraw-Hill, 1991
Sommerville I Software engineering 4th edn, Addison-Wesley, 1992

Back to the 1999 Information Technology Handbooks