Object-Oriented Analysis and Design with UML — A 3 day course
A practical introduction to object-oriented analysis and design, and how OOAD can use the Unified Modelling Language.
The course presents UML in the context of OO analysis and design, showing how the various UML diagrams can be applied at different stages.
The emphasis is on how UML is used, rather than simply what it is.
In addition, there is a chapter on phased iterative development, as exemplified by the Rational Unified Process. Even if delegates are not going to use the RUP in their own projects, it is useful to see how OOAD and UML can fit into a development methodology.
What The Course Doesn't Cover: OO programming, traditional analysis and design.
Anyone interested in learning how UML is used in the design and analysis phases of OO projects
This course can be presented as a general introduction to OOAD, or it can be slanted more towards the analysis phase (if the delegates are primarily analysts) or the design phase (if the delegates are primarily programmers).
If the course is being presented to programmers, topics can be tied in to code examples. Hardware and software requirements for delivering this course at your site
- What is OO?
- A brief history
- Advantages of Object Technology
- Objects and classes
- Encapsulation and data hiding
- Objects and state
- Polymorphism and inheritance
Introduction to UML
- Origins and purpose of UML
- A walkthrough of the UML diagram types
- Using UML diagrams
OO Analysis and Design
- Analysis versus design
- The analysis phase
- Domain modelling
- Use cases in analysis
- The design phase
- Interface versus implementation
- What use cases do (and don't do!)
- Constructing use case diagrams
- Requirements and use cases
- Documenting use cases
- Robustness analysis and use cases
- Introduction to the UML dynamic modelling diagrams
- Activity diagrams
- Sequence diagrams
- Collaboration diagrams
- Statechart diagrams
- Classes and interfaces
- Class diagrams
- Object diagrams
- Class relationships
- Aggregation and composition
- Association classes
- Abstract classes and operations
- Attributes and operations in more detail
- Design by contract
- What are patterns?
- The Gang of Four and their patterns
- Describing patterns
- Common patterns
- The MVC pattern for GUI applications
- Patterns for delegation
OO Development Processes
- Iterative development processes
- Overview of the Rational Unified Process
- Other processes (e.g. Component Based Development)