WA1005 UML Training and Courseware Course Outline
|
|
1. Overview of OOAD
|
|
- Topics
- Tower of Hanoi
- Objects
- Objects – Examples
- Objects – Identification and Attributes
- Operations and Methods
- Object Relationship
- Encapsulation
- Classes
- Examples of Classes
- Examples of Object Type Identification in UML
- Inheritance
- Example of Inheritance
- Discovering Inheritance
- Polymorphism
- Example of Polymorphism
- Object-Oriented Programming Languages
- Topics
- Development Process
- The Rational Unified Process
- Inception Phase
- Elaboration Phase
- Construction Phase
- Transition Phase
- Software Development Life Cycle with the RUP
- Topics
- What is UML?
- History of UML
- Building Blocks of UML
- Things in UML
- Examples of UML Things
- Relationships in UML
- Examples of UML Relationships
- Diagrams in UML
- Classifier in UML
- Examples of UML Classifiers
- Common Mechanisms in UML
- Common Mechanisms in UML cont
- Examples of UML Extensibility
- Advantages of UML
|
| |
2. Use Case Analysis
|
|
- Topics
- Use Cases
- Benefits of Use Cases
- Classifying Use Cases
- Levels of use cases
- For use case modeling
- Use Case Modeling
- Use Case Modeling Steps
- Step 1 - Scope
- Lists used to manage scope – In/out list
- Step 2 - Actors
- Actor Notation
- Finding Actors
- Finding Actors - continued
- Step 3 - Goal List
- Step 4 and 5 – Finding Use Cases
- Sections Of A Use Case
- Documenting Use Cases
- Use Case Notation
- Action Sequence
- Use Case Relationships
- Time Schedule Application
- Case Study
- Case Study – Time Schedule Management
- Use Cases – Time Schedule Management
- UC01 – Add a new appointment
- Use Case Diagram
- Time Schedule – Use Case Diagram
|
| |
3. Class Identification
|
|
- Topics
- Identifying Classes
- Entity Class
- Control Class
- Boundary Class
- A Good Class
- A Good Class cont'd
- Bad Classes
- Finding Classes and their Relationships
- Noun/verb Analysis
- Noun/verb Analysis example
- Refine
- CRC Cards
- What is a Responsibility?
- What is a Collaboration?
- Identifying Classes Using CRCs
- CRC Cards – An Example
- Class Diagram
- Class Notation in UML
- The Name Compartment
- The Attribute Compartment
- The Operation Compartment
- Translating CRC Cards to a Class Diagram
- The Scheduling System
- UC-01 Classes
- The EmployeeInfo Class
- Object Diagram
- Object Notation in UML
- Object Links and Messages
- Message Notation
- Link Types
- Examples of Object Links
|
| |
4. Class Relationship Analysis
|
|
- Topics
- Types of Class Relationships
- Identifying Class Relationships
- Examples of Relationships in UML
- Class Association Relationship
- Class Association Relationships in UML
- Reading Class Associations
- Multiplicity
- Reading Multiplicity
- Aggregation
- Aggregation – An Example
- Composition
- Composition – An Example
- Qualification
- Qualification – An Example
- Association Class
- Association Class – An Example
|
| |
5. Object State Analysis
|
|
- Topics
- Object State
- UML and State
- Object States
- State Machine Diagrams
- State Notation in UML
- Start and End Points of a state Diagram
- State Transitions
- Types of Events
- Signals
- Call Event
- Time and Change Events
- Substates and Superstates
- Concurrent State Diagrams
- Usefulness
- State Diagram Example
|
| |
6. Object Activity Analysis
|
|
- Topics
- Activity Analysis
- Object Activities
- Activity Diagrams
- Activity Notation in UML
- Initial Nodes and Activity Final
- Activity Transitions
- Conditional Flow
- Branch
- Example of a Branch
- Merge
- Tokens
- Parallel Activities
- Fork
- Join
- Synchronization of Parallel Transitions
- Signals
- Time Signals
- Accept Signals
- Partitions
- Partitions – An Example
- Pins and Transformations
- Pins
- Transformations
- When to Use Activity Diagram
- Interaction Diagrams
- Sequence Diagram
- Sequence Diagram Notations
- Sequence Diagram Notation
- Message Notation
- To Draw a Sequence Diagram
- Use Case Realizations
- Communication Diagram
- Communication Diagram – An example
- Using Interaction Diagrams
|
| |
7. Object Design
|
|
- Topics
- Object Design
- Generalization
- Root and Leaf Classes
- Abstract Class and Operation
- Generalization – an Example
- Modeling with Generalization
- Modeling with Encapsulation
- Visibility of Features
- Owner Scope
- Friendship
- Value Containers
- Types
- Interfaces
- Interface Modeling
- Interface Modeling – an Example
- Roles
- Modeling with Types, Interfaces and Roles
- Object Persistence
- Define a Base Class for Persistent Objects
- Representing Objects as Tables
- Object Serialization
- Active Objects
- Active Class – an Example
- Communication of Active Objects
- Object Communications – an Example
- Synchronization
- Template Classes
- Template Class and Instantiation – an Example
|
| |
8. System Design
|
|
- Topics
- System Design
- Collaborations
- Examples of Collaborations
- Modeling the Relationships of Collaborations
- Using Collaborations in the Realization of Use Cases
- Modeling the Realization of a Use Case
- Packages
- Visibility of Package Elements
- Relationship of Packages – Generalization
- Relationship of Packages – Import Dependency
- Modeling the Package Hierarchy of a System
- Systems and Subsystems
- Components
- Representation of Components in UML
- Stereotypes of Components in UML
- Examples of Component Types
- Component Diagrams
- Example of Component Diagram
- Deployment Diagrams
- Example of a Deployment Diagram
- Modeling the Architecture of a System
- Different Views of a System
|
| |
Appendix A. Differences Between UML 2.0 and
UML 1.x
|
|
- Topics
- Topics…
- UML 2 Architecture
- UML Infrastructure
- UML Superstructure (or UML)
- UML Superstructure (or UML)…
- Object Constraint Language (OCL)
- UML Diagram Interchange
- Officially Recognized Diagram -Package Diagram
- Package Diagram – Changes…
- Class Diagram - Changes - Multiplicity and Ordering
- Class Diagram - Changes - Multiplicity and Ordering…
- Class Diagram - Changes - Attribute Compartment
- Class Diagram – Changes – Operations Compartment
- Class Diagram – Changes - Operations Compartment…
- Class Diagram - Changes - Operations Compartment…
- Class Diagram – Changes – Interface Notation
- Class Diagram - Changes – Interface Notation…
- Class Diagram – Changes - Combining Interface Notations
- Class Diagram – Changes – Object Relationships
- Class Diagram – Changes – Object Relationships…
- Class Diagram – Changes - Object Relationships…
- Class Diagram – Changes – Object Relationships…
- Class Diagram – Changes – Miscellaneous
- Activity Diagram – Changes
- Activity Diagram – Changes…
- Activity Diagram – New Features
- Sequence Diagram – Changes
- Sequence Diagram – New Features
- Sequence Diagram – Frames
- Sequence Diagram – Frames - Conditional Messages (alt)
- Sequence Diagram – Frames - Conditional Messages (opt)
- Sequence Diagram – Frames – Loop Messages (loop)
- Sequence Diagram – Frames - Nesting
- Sequence Diagram – Frames - Interaction Occurrences
- Sequence Diagram – Frames - Interaction Occurrences…
- Component Diagram – Changes
- Component Diagram – New Features
- Deployment Diagram – Changes
- Deployment Diagram – Changes…
- New Diagrams
- Replacement Diagrams
- Communication Diagram – Changes
- State Machine Diagram – Changes
- State Machine Diagram – Changes…
- State Machine Diagram – Changes…
- State Machine Diagram – Changes…
- State Machine Diagram – New Features
- State Machine Diagram – New Features…
|
| |