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…