Software engineering
D Casey
8 points * 5 hours per week * First semester * Peninsula * Prerequisites: CFR1124 * Prohibitions: CFR3042, CSC2050, GCO3811, RDT2231, RDT3710, SFT2201, SFT3041
Problems of large-scale software development: managing the software development process, managing change control, software versions and configurations, debugging and testing, system integration, maintenance, factors limiting software re-use, system requirements traceability. Software engineering: use of software process models and associated deliverables, software quality assurance, reviews and walkthroughs, testing strategies, validation and verification, change control procedures, software metrics and estimation techniques, strategies for maximising re-use, computer-aided software engineering. Object-oriented approach to software engineering: objects and classes (creation and deletion), genericity. Role of encapsulation, cohesion, modularity and message passing, inheritance, generalisation versus specialisation, and polymorphism.
Assessment
Examination: 30% * Unit test: 10% * Practical work: 60%
Prescribed texts
Lafore R Object-oriented programming in Turbo C++ Waite Group, 1991
Recommended texts
Davis S R Hands on Turbo C++ Addison-Wesley, 1991
Deitel H M and Deitel P J C++: How to program Prentice-Hall, 1994
Pfleeger S L Software engineering: The production of quality software 2nd edn, Macmillan, 1991
Pohl I Turbo C++ Benjamin-Cummings, 1991
Pressman R S Software engineering: A practitioner's approach 3rd edn, McGraw-Hill, 1991
Sommerville I Software engineering 4th edn, Addison-Wesley, 1992