Module Identifier | CS31110 | ||
Module Title | OBJECT-ORIENTED ANALYSIS AND DESIGN | ||
Academic Year | 2002/2003 | ||
Co-ordinator | Dr Mark B Ratcliffe | ||
Semester | Semester 1 | ||
Other staff | Mr Christopher W Loftus | ||
Pre-Requisite | CS22120 or equivalent experience | ||
Course delivery | Lecture | 22 lectures | |
Practical | 8 x 2 hr | ||
Assessment | Semester Exam | 2 Hours A1 | 90% |
Semester Assessment | A2 In-Course Assessment: Assessed practicals | 10% | |
Supplementary Exam | Will take the same form, under the terms of the Department's policy. | 100% | |
Further details | http://www.aber.ac.uk/compsci/ModuleInfo/CS31110 |
1. have a critical appreciation of object-oriented design and implementation, with a focus on server-side development (A1);
2. have command of features of the standard object-oriented modelling notation, UML - in particular use-case diagrams and class diagrams - and be able to construct these during analysis and design (A1, A2);
3. be able to develop software systems from initial design through to code using a software modelling tool, such as Together (A1, A2);
4. know the key features of several important software development processes and describe and demonstrate how they can be used to develop UML-based models during system development (A1);
5. be able to demonstrate specialized skills to achieve reuse of design expertise through the application of design patterns and frameworks (A1, A2);
1.Introduction to Object-Oriented Analysis and Design - 1 Lecture
This lecture provides a road-map to the module, with a brief overview of main concepts and how they interrelate. A general description of object-oriented analysis and design will be provided.
2. Introduction to the Unified Modeling Language (UML) - 1 Lecture
The UML is an attempt by Booch, Rumbaugh and Jacobson to produce a common language for describing OO designs. These lectures will provide an overview of the UML.
3. Use of a Software Modelling Tool - 1 Practical
This practical will familiarise students with the basic facilities of a software modelling tool.
4. Process 1: Rational Unified Process (RUP): Overview - 1 lecture
RUP is a well-known and widely used software development process that embodies architecture, iterative development and use cases. This lecture sets the scene. Subsequent lectures in Part B discuss software development in the context of RUP. P
PART B: Analysis
5. Use Case Modelling - 1 Lecture, 2 Practicals
This lecture will describe Use Case Modelling; both methodological steps and the use of the UML notation. The knowledge gained will be applied in the practicals.
6. Building class diagrams using UML - 2 lectures
Class diagrams are one of the most widely used UML diagram.
7. The process of discovering analysis classes - 1 lecture, 1 practical
The CRC technique in the context of RUP will be examined.
8. Representing behaviour using collaboration diagrams - 1 lecture
PART C: Design
9. Architecture, design, design patterns and frameworks - 6 lectures, 3 practicals
These lectures will examine a variety of design issues in the context of RUP. As part of this, we examine the very important topic of design patterns: reusable pieces of design expertise used to solve commonly occuring problems.
10. Design notation in UML: sequence and state diagrams (1 lecture)
PART D: Extreme Programming and Refactoring
11. Process 2: Extreme Programming (XP) - 5 lectures, 2 practicals
XP provides an alternative approach to RUP for software development based around pair programming and test-led development. These lectures and practicals explore the practice of, and philosophy behind XP.
12. Refactoring designs - 2 lectures
XP and other processes often rely on the need to update and refine designs in response to changing user requirements. These lectures will explore this important topic.