Audience
This course is targeted towards software developers, architects
and technical leaders.
Length of Course
4 days
Course Goals
The goal of the course is to enable the student to create analysis
and design artifacts using the UML notation.
By the end of the course the student will understand the reasons
for using object technology and learn how to follow an iterative,
incremental, use-case-driven process.
The student will be able to develop complete use cases, create
domain models, assign responsibilities to objects using patterns,
make collaboration diagrams illustrating object interactions and
design classes with low coupling and high cohesion.
Course Components
Object Concepts
- Class and instance
- Method and message
- Polymorphism
- Encapsulation
- Containment
- Inheritance
Development Process
- Unified Process
- Complexity and decomposition
- Iterative, incremental processes
- Development cycles
- Steps in a process
Use Cases
- Business processes and use cases
- High-level versus expanded
- Essential versus real
- Include and extend relationships
- Conversational style
Domain Models
- Domain concepts
- UML type diagrams
- Attributes
- Associations
- Generalization
- Associative types
- Roles
- Multiplicity
System Behavior
- System events and operations
- System sequence diagrams
- Operation contracts
|
Collaboration Diagrams
- Message labels
- Instances
- Context
- Links
Responsibilities and GRASP Patterns
- Responsibilities
- Expert
- Creator
- Controller
- Low coupling
- High cohesion
- Polymorphism
GoF Patterns
- Singleton
- Proxy
- State
- Prototype
- Observer
- Command
- Template method
Design Class Diagrams
- Software classes
- Navigability
- Visibility specifiers
Architecture Designs
- Layered architecture
- Model/view separation
- Three-tier client-server architecture
Other UML Notation
- State diagrams
- Packages
- Constraint
|
|