Follow Us :

OO-226 Object-Oriented Analysis and Design Using UML

Course_Reference: 
OO-226
Manufacturer: 
10
Training_Provider: 
0
Summary: 

This instructor-led course uses lecture, group discussion, and facilitator-led activities (such as analyzing stakeholder interviews) to present one practical, complete, object-oriented analysis and design (OOAD) roadmap from requirements gathering to system deployment.

PreRequisites: 

To succeed fully in this course, students should be able to:

  • Understand object-oriented concepts and methodology
  • Demonstrate a general understanding of programming, preferably using the Java programming language
  • Understand the fundamentals of the systems development process
Audience: 

Students who can benefit from this course are system architects, software engineers, systems analysts, and designers responsible for the conception and creation of object-oriented software applications.

Objectives: 

Upon completion of this course, students should be able to:

  • Describe the object-oriented software development process, including object-oriented methodologies and workflows.
  • Gather system requirements through interviews with stakeholders.
  • Analyze system requirements to determine the use cases and domain model of the problem domain (the Requirements model).
  • Create a system architecture (the Architecture model) supporting the nonfunctional requirements (NFRs) and development constraints.
  • Create a system design (the Solution model) supporting the functional requirements (FRs).

Module 1 - Introducing the Software Development Process

  • Describe the Object-Oriented Software Development (OOSD) process
  • Describe how modeling supports the OOSD process
  • Explain the purpose, activities, and artifacts of the following OOSD workflows: Requirements Gathering, Requirements Analysis, Architecture, Design, Implementation, Testing, and Deployment

Module 2 - Examining Object-Oriented Technology

  • Describe how OO principles affect the software development process
  • Describe the fundamental OO principles

Module 3 - Choosing an Object-Oriented Methodology

  • Explain the best practices for OOSD methodologies
  • Describe the features of several common methodologies
  • Choose a methodology that best suits your project

Module 4 - Determining the Project Vision

  • Interview business owners to determine functional requirements of the software system
  • Analyze interview results to identify NFRs, risks, and constraints
  • Create a project Vision document from the results of the interviews and risk analysis

Module 5 - Gathering the System Requirements

  • Plan for the process of gathering requirements
  • Plan for the stakeholder interviews to validate and refine the FRs and NFRs from the Vision document
  • Document the system in the System Requirements Specification (SRS) from all requirements sources,/li>

Module 6 - Creating the Initial Use Case Diagram

  • Identify and describe the essential elements in a UML Use Case diagram
  • Develop a Use Case diagram for a software system based on the SRS
  • Record Use Case scenarios for architecturally significant Use Cases

Module 7 - Refining the Use Case Diagram

  • Document a Use Case and its scenarios in a Use Case form
  • Recognize and document Use Case and Actor inheritance
  • Recognize and document Use Case dependencies
  • Identify the essential elements in an Activity diagram
  • Validate a Use Case with an Activity diagram

Module 8 - Determining the Key Abstractions

  • Identify a set of candidate key abstractions
  • Identify the key abstractions using CRC analysis

Module 9 - Constructing the Problem Domain Model

  • Identify the essential elements in a UML Class diagram
  • Construct a Domain model using a Class diagram
  • Identify the essential elements in a UML Object diagram
  • Validate the Domain model with one or more Object diagrams

Module 10 - Creating the Analysis Model Using Robustness Analysis

  • Explain the purpose and elements of the Design model
  • Identify the essential elements of a UML Collaboration diagram
  • Create a Design model for a use case using Robustness analysis
  • Identify the essential elements of a UML Sequence diagram
  • Generate a Sequence diagram view of the Design model

Module 11 - Introducing Fundamental Architecture Concepts

  • Justify the need for the architect role
  • Distinguish between architecture and design
  • Describe the SunTone Architecture Methodology

Module 12 - Exploring the Architecture Workflow

  • Describe the Architecture workflow
  • Describe the diagrams of the key architecture views
  • Select the Architecture type
  • Create the Architecture workflow artifacts

Module 13 - Creating the Architectural Model for the Client and Presentation

  • Explore user interfaces
  • Document a graphical user interface (GUI) application in the Client tier of the Architecture model
  • Document a web user interface (Web UI) application in the Presentation tier of the Architecture model

Module 14 - Creating the Architectural Model for the Business Tier

  • Explore distributed object-oriented computing
  • Document the Business tier in the Architecture model

Module 15 - Creating the Architectural Model for the Resource and Integration Tiers

  • Document the persistence mechanism in the Resource tier of the Architecture model
  • Document the persistence integration mechanism in the Integration tier of the Architecture model

Module 16 - Creating the Solution Model

  • Create a Solution model for a GUI application
  • Create a Solution model for a Web UI application

Module 17 - Refining the Domain Model

  • Refine the attributes of the Domain model
  • Refine the relationships of the Domain model
  • Refine the methods of the Domain model
  • Declare the constructors of the Domain model

Module 18 - Applying Design Patterns to the Solution Model

  • Define the essential elements of a software pattern
  • Describe the Composite pattern
  • Describe the Strategy pattern
  • Describe the Observer pattern
  • Describe the Abstract Factory pattern

Module 19 - Modeling Complex Object State Using Statechart Diagrams

  • Model object state
  • Describe techniques for programming complex object state

Description: 

This instructor-led course uses lecture, group discussion, and facilitator-led activities (such as analyzing stakeholder interviews) to present one practical, complete, object-oriented analysis and design (OOAD) roadmap from requirements gathering to system deployment.

Keywords: 
Object Orientated Analysis,Design Using UML