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