System Analysis with UML

Outline
Course 325 - 3 Days

Motivation for Transitioning to Object Technology (OT)

  • The agile enterprise and the role of IT
  • Traditional vs. OT approaches to system development
  • Managing complexity
  • Assembling solutions from components

Intro to Component & Object Technology

  • Concepts and principles
  • Classes and instances
  • Methods and messages
  • Encapsulation
  • Inheritance
  • Separating Interface from implementation
  • Software Components

Development Process

  • Challenges of Component Based Development (CBD)
  • Incremental and Iterative development
  • Requirements Analysis
  • System Design - Designing components and component architectures
  • Implementation and testing - Assembling solutions from components

Unified Modeling Language (UML)

  • What is UML?
  • Building blocks of UML
  • Common mechanisms
  • UML with the Development Process

Requirements Analysis

  • Business Requirements
  • Technical Requirements
  • Business Process Models
  • Business Object Models
  • User Interface Models

Use Case Modeling - Intro

  • What is a use case model
  • Benefits of the use case approach
  • Actors and system boundaries
  • Modeling use cases
  • Use cases define user interfaces

Use Case Modeling - Refining the Use Case Model

  • Primary and secondary use cases
  • Achieving reuse with includes and inheritance relations
  • Capturing sub-flows with extends relations
  • Defining extension points
  • Refining use case and actor definition with inheritance
  • Identifying and documenting business rules

Use Case Modeling - Use Case Scenarios

  • What makes a good scenario?
  • Business concepts (objects) and scenarios
  • Scenarios drive the development lifecycle
  • Use cases and reuse
  • Use case modeling guidelines

Modeling Business Processes

  • Process Models
  • UML Activity Diagrams
  • Concrete vs. abstract use cases
  • Use cases and activity diagrams
  • Interaction diagrams

Modeling Business Objects and Components

  • What are Business Object Models
  • Objects and Attributes
  • Links and associations
  • Roles and multiplicity
  • Representing object state
  • Invariants

Associations

  • Links and associations
  • Discovering associations
  • Roles and Multiplicity
  • Generalization and composition

Modeling System Behavior

  • Objects, methods and messaging
  • Pre and post conditions
  • Activities, operations and invariants
  • Formalizing operation contracts with OCL
  • Modeling state with state diagrams
  • Modeling collaborations with interaction diagrams

Business Component Models

  • What is a Business Component Model
  • Business component specification
  • Component interfaces and events
  • Component interaction diagrams
  • Persistence specification
  • Clustering Criteria

Logical Component Architecture

  • Anatomy of a component
  • Component Facade
  • External Events
  • Recursive System Component Decomposition
  • Component Persistence Architecture
  • Architecture Strategies

Back to course overview