CMDBID: 107598 | Course Code: WA1325,OO | Duration: 2 Days
Overview>
Learn how to use object-oriented techniques from requirements gathering to implementation. Students learn how to analyze and design classes and their relationships to each other in order to build a model of the business requirements
Audience>
This course is intended for anyone involved in the production, deployment and maintenance of software.
Skills Gained>
Overview of OOAD
Requirements Workflow
Analysis Workflow
Class Identification
Class Relationship Analysis
Design Workflow
Software Development Process
RUP
Approach new complex software development with confidence
Model applications using UML
Implement the software based on the design
Establish a software development methodology for in-house development
Prerequisites>
Familiarity with software development in general is helpful. Duration Two days.
Outline>
Outline of Introduction to OO Analysis and Design Training 1. Overview of OOAD
Topics
A Brief History of Object Oriented Languages
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
Development Process
The Rational Unified Process
Inception Phase
Elaboration Phase
Construction Phase
Transition Phase
Software Development Life Cycle with the RUP
What is UML?
History of UML
UML 2 Architecture
UML Infrastructure
UML Superstructure (or UML)
Object Constraint Language (OCL)
UML Diagram Interchange
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
Summary
2. Requirements Workflow
Requirements Workflow
What Is A Requirement?
Requirements Gathering
What Is Requirements Management?
Requirements Management
Timing of Requirements Workflow
The Cost Of Requirement Errors
The Game Plan Towards Building Quality Software
Problem Analysis and Understanding User Needs
Problem Analysis Steps
Business Models
Gather Requirements
Interviewing
Requirements Workshop
Brainstorming
Brainstorming- Idea reduction
Storyboarding
Use Cases
Prototyping
Requirements and the Unified Process
Recall: Inception Phase
Example of Use Cases
Recall: Elaboration Phase
Example of a Use Case Diagram
Delivery
3. Use Case Development
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
4. Analysis Workflow
Analysis Workflow
Motivation
Analysis Deliverables
Good Analysis Characteristics
Analysis in the Rational Unified Process
Analysis Workflow Steps
Class Analysis
What is an Analysis Class?
Analysis Class Relationships
Use Case Analysis
Architectural Analysis
Packages
Package practicality
Post Analysis
5. Class Identification
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
6. Class Relationship Analysis
UML Diagrams
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
Class Diagram Multiplicity and Ordering
Class Diagram Operations Compartment
Class Diagram Interface Notation
Class Diagram Combining Interface Notations
Class Diagram Object Relationships
Package Diagram
7. Design Workflow
Analysis and Design
Design Time
Design in RUP
Design vs. Analysis Model
One Model Or Two?
Design Workflow
Design Classes
Design Class Refinement
Class Removal
Refining Relationships
Use Case Design
Construction
8. The Software Development Process
Software Development Processes
Risk Management
What is a "risk"?
Identify
Analyze
Plan and Manage
Review
Requirements Change
Change Control Board
Handling Change
Incorporating Change
Quality Assurance
Testing
Testing Categories
UI Testing
UI Testing - continued
Common problems with error messages
Common UI Errors
Functional testing
Types of testing
Types of testing - continued
Bugs
Configuration Management
Goals of Team Development
Team Development Architecture
Repository
Version Control Systems
Agile Modeling
AM Values
AM Principles
AM Practices
AM Practices Continued
Using AM
9. The Software Development Project Life Cycle Using RUP
Software Development Methodologies
Waterfall Development Methodology
Iterative Development Methodology
Iteration v.s. Waterfall Process
Low Ceremony/High Ceremony
Comparison of Some Software Methodologies
Spirit of RUP: Well-Defined Software Engineering
Two Dimensions of the RUP Process
Dynamic Dimension of RUP: Lifecycle Phases & Milestone
Static Dimension of RUP: Modeling Elements
Static Dimension of RUP: Disciplines
Typical RUP Roles
Spirit of RUP: Iterative & Risk-Driven Approach
The RUP Iteration
Spirit of RUP: Customizable and Configurable Process
Inception Phase cont
Develop a Vision Document
Develop a Vision Document: An Example
Develop System Overview
Develop System Overview: An Example
Plan the Project and Analyze Risks
Plan the Project and Analyze Risks: An Example
Plan the Project and Analyze Risks: An Example cont
Elaboration Phase cont
Develop Use Case and Domain Object Model
Develop Executable Architecture
Construction Phase cont
Organize Teams Around Architecture
Example of Construction Iterations
Transition
Transition cont
Examples of a RUP Development Lifecycle
Typical Time & Resource for a RUP Development Lifecycle
Multiple Development Lifecycles
Our Clients
Our clients have included prestigious national organisations such as Oxford University Press, multi-national private corporations such as JP Morgan and HSBC, as well
as public sector institutions such as the Department of Defence and the Department of Health.