Object-Oriented Analysis and Design Using UML (OO-226)
Course Outline/Details
The Object-Oriented Analysis and Design Using UML
course effectively combines instruction on the software
development processes, object-oriented technologies,
and the Unified Modeling Language (UML). 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.
Students are provided a pragmatic approach to object-
oriented (OO) software development using a widely
adapoted methodology (the Unified Process), the latest
UML specification (version 1.4), and OO technologies,
such as the Java[tm] programming language. This
course progresses through: a primer on OO technology
and software development methodologies,
requirements gathering and analysis (including
interviewing stakeholders), system architecture and
design, implementation, testing, and deployment. The
classroom lectures expose students to other proven
OOAD practices, such as class-responsibility-
colaboration (CRC) analysis (used to discover the
Domain entities) and Robustness analysis (used to
move from analysis to design).
Who Can Benefit
System architects, software engineers, systems
analysts, and designers responsible for the conception
and creation of object-oriented software applications.
Prerequisites
To succeed in this course, student must already be able
to:
•   Understand object-oriented concepts and
    methodology
•   Demonstrate a general understanding of
    programming, preferably using the Java[tm]
    programming language
•   Understand the fundamentals of the systems
    development process
Skills Gained                                             Related Courses
                                                          •   Before: SL-255: Java[tm] Programming for Visual
Upon completion of this course, you should be able to:
                                                              Basic Programmers, or
•  Describe the object-oriented software development
                                                          •   Before: SL-265: Java Technology for Structured
   process, including object-oriented methodologies
                                                              Programmers, or
   and workflows.
                                                          •   Before: SL-275: Java Programming Language
•  Gather system requirements through interviews
                                                          •   After: SL-285: Java[tm] Programming Language
   with stakeholders.
                                                              Workshop
•  Analyze system requirements to determine the use
                                                          •   After: SL-425: Architecting and Designing J2EE[tm]
   cases and domain model of the problem domain
                                                              Applications
   (the Requirements model).
                                                          •   After: SL-500: J2EE Patterns
•  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).          Difficulty Level :
REGISTRATION AND INFORMATION
education@ecs.com.sg
                                                                                                       Page 1 of 3
www.ecs.com.sg/training
Hotline: (65) 6393-4448
Object-Oriented Analysis and Design Using UML (OO-226)
Course Outline
Module 1: Introducing the Software                                Module 8 : Determining the Key Abstractions
Development Process                                                  • Identify a set of candidate key abstractions
   • Describe the Object-Oriented Software Development               • Identify the key abstractions using CRC analysis
         (OOSD) process
    •    Describe how modeling supports the OOSD process
                                                                  Module 9 : Constructing the Problem Domain
    •    Explain the purpose, activities, and artifacts of the
         following OOSD workflows: Requirements Gathering,        Model
         Requirements Analysis, Architecture, Design,                • Identify the essential elements in a UML Class diagram
         Implementation, Testing, and Deployment                     • Construct a Domain model using a Class diagram
                                                                     • Identify the essential elements in a UML Object
Module 2: Examining Object-Oriented                                        diagram
Technology                                                            •    Validate the Domain model with one or more Object
   • Describe how OO principles affect the software                        diagrams
         development process
    •    Describe the fundamental OO principles
                                                                  Module 10 : Creating the Analysis Model Using
Module 3: Choosing an Object-Oriented                             Robustness Analysis
Methodology                                                          • Explain the purpose and elements of the Design model
   • Explain the best practices for OOSD methodologies               • Identify the essential elements of a UML Collaboration
   • Describe the features of several common                               diagram
         methodologies                                                •    Create a Design model for a use case using
    •    Choose a methodology that best suits your project                 Robustness analysis
                                                                      •    Identify the essential elements of a UML Sequence
Module 4: Determining the Project Vision                                   diagram
   • Interview business owners to determine functional                •    Generate a Sequence diagram view of the Design
         requirements of the software system                               model
    •    Analyze interview results to identify NFRs, risks, and
         constraints
                                                                  Module 11: Introducing Fundamental
    •    Create a project Vision document from the results of
         the interviews and risk analysis                         Architecture Concepts
                                                                     • Justify the need for the architect role
Module 5: Gathering the System Requirements                          • Distinguish between architecture and design
  • Plan for the process of gathering requirements                   • Describe the SunTone Architecture Methodology
  • Plan for the stakeholder interviews to validate and
         refine the FRs and NFRs from the Vision document
    •    Document the system in the System Requirements           Module 12: Exploring the Architecture Workflow
         Specification (SRS) from all requirements sources           • Describe the Architecture workflow
                                                                     • Describe the diagrams of the key architecture views
Module 6: Creating the Initial Use Case                              • Select the Architecture type
Diagram                                                              • Create the Architecture workflow artifacts
   • Identify and describe the essential elements in a
         UML Use Case diagram
    •    Develop a Use Case diagram for a software system         Module 13: Creating the Architectural Model for
         based on the SRS                                         the Client and Presentation Tiers
    •    Record Use Case scenarios for architecturally                • Explore user interfaces
         significant Use Cases                                        • Document a graphical user interface (GUI) application
                                                                           in the Client tier of the Architecture model
Module 7: Refining the Use Case Diagram                               •    Document a web user interface (Web UI) application in
   • Document a Use Case and its scenarios in a Use                        the Presentation tier of the Architecture model
         Case form
    •    Recognize and document Use Case and Actor
         inheritance                                              Module 14: Creating the Architectural Model for
    •    Recognize and document Use Case dependencies             the Business Tier
    •    Identify the essential elements in an Activity diagram       • Explore distributed object-oriented computing
    •    Validate a Use Case with an Activity diagram                 • Document the Business tier in the Architecture model
REGISTRATION AND INFORMATION
education@ecs.com.sg
                                                                                                                     Page 2 of 3
www.ecs.com.sg/training
Hotline: (65) 6393-4448
Object-Oriented Analysis and Design Using UML (OO-226)
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
REGISTRATION AND INFORMATION
education@ecs.com.sg
                                                             Page 3 of 3
www.ecs.com.sg/training
Hotline: (65) 6393-4448