Introduction to design methods. Best design and programming practices. Applying into practice object-oriented analysis and design with UML. Writing software requirements specification and software design specification on the given system.
1. Translating requirements into object-oriented models of system structure and behaviour that provide a traceable route through to implementation.
2. Understanding the stages in the development cycle and appreciate why and when to apply UML.
3. Applying UML concepts and notation for representing objects, classes and interfaces; be able to specify their content and know how to represent the different relationships of association, aggregation inheritance and realisation.
4. Using appropriate UML diagrams and notation to model the work of requirements capture, analysis and design.
5. Translating analysis models, based on entity relationship diagrams into design models based around class diagrams.
6. Understanding the concepts of a use-case driven approach to object-oriented requirements modelling and the application of use-cases as a tool for incremental systems delivery.
7. Identifing and describing use cases and using CRC cards.
8. Applying the concepts and notation for sequence diagrams during design and understanding how they relate to class diagrams and use-cases.
9. Understanding where dynamic modelling with state charts is appropriate.
10. Applying design patterns and application frameworks.