S Ramakrishnan
6 points - 3 hours per week - First semester - Caulfield - Prerequisites: SFT1102 or SFT2110, SFT2121 - Prohibitions: CFR3112, SFT2021
Objectives At the completion of this subject students should: understand the issues involved in developing object-oriented systems using design models and patterns, programming and testing techniques; be able to explore the concepts and facilities provided by languages such as Eiffel and Java; and be familiar with an incremental scenario-based approach to achieve both process and product quality improvements in O-O software development in a reuse context.
Synopsis The object-oriented paradigm in a software engineering context; to develop software systems; object-oriented concepts; class vs object, inheritance, client-supplier relationship, types, polymorphism, dynamic binding, genericity; object-oriented design methods; design by contract for software reliability and extensibility; abstract data types; implementation in a reuse and quality culture; testing; incremental system development with process and product metrics; comparisons of object-oriented languages.
Assessment Examinations and unit test: 50% - Practical work: 50%
Recommended texts
Jacobson I Object-oriented software engineering
Addison-Wesley, 1991
Meyer B Object-oriented software construction 2nd edn, Prentice-Hall,
1997
Meyer B Eiffel the language Prentice-Hall, 1991
Meyer B Reusable software Prentice-Hall, 1994
Rumbaugh J and others Object-oriented modelling and design
Prentice-Hall, 1991
Switzer R Eiffel: An introduction Prentice-Hall, 1993
Thomas P and Weedon R Object-oriented programming in Eiffel
Addison-Wesley, 1995
Walden K and Nerson J Seamless object-oriented software architecture
Prentice-Hall, 1995
Wiener R Software development using Eiffel Prentice-Hall, 1995