Object-Oriented Analysis
and Design
CIW Enterprise Developer Series
Students can use this appendix as a study guide to locate content within
Object-Oriented Analysis and Design that corresponds to specific CIW
objectives.
Objective
Lesson and Section(s)
Define object technology and identify
its place in the evolution of software
engineering.
Lesson 1: Introduction to Software Engineering
- Evolution of Software Engineering
- Object Technology
Describe the differences between a
structured approach and an objectoriented approach to software
development.
Lesson 1: Introduction to Software Engineering
- Object Technology
- Advantages of an Object-Oriented Approach
- Disadvantages of an Object-Oriented Approach
- Exercise 1-1: Using an object-oriented approach
Identify the advantages and
disadvantages of an object-oriented
approach to software development.
Lesson 1: Introduction to Software Engineering
- Advantages of an Object-Oriented Approach
- Disadvantages of an Object-Oriented Approach
Discuss the need for analysis and
design.
Lesson 1: Introduction to Software Engineering
- Analysis and Design
Explain the difference between classes
and instances.
Lesson 2: Understanding the Object Paradigm
- Classes
Identify the benefits of abstraction and
encapsulation.
Lesson 2: Understanding the Object Paradigm
- Encapsulation
- Abstraction
Define a simple object model using the
"has a" and "uses a" relationships.
Lesson 2: Understanding the Object Paradigm
- Object Relationships
- Exercise 2-1: Using the object paradigm
© 2016 ProsoftTraining.com All Rights Reserved.
Version 1.07
Object-Oriented Analysis and Design
Page 2
Objective
Lesson and Section(s)
Describe Jacobson's application object
types.
Lesson 2: Understanding the Object Paradigm
- Application Objects
Identify the benefits of inheritance.
Lesson 3: Inheritance and Polymorphism
- Inheritance
- Inheriting Attributes
- Inheriting Methods
- Extending Components with Inheritance
- Exercise 3-1: Using inheritance and
polymorphism
Identify the benefits of polymorphism.
Lesson 3: Inheritance and Polymorphism
- Polymorphism
- Exercise 3-1: Using inheritance and
polymorphism
Define abstract class.
Lesson 3: Inheritance and Polymorphism
- Abstract Classes
Identify the benefits of multiple
inheritance.
Lesson 3: Inheritance and Polymorphism
- Multiple Inheritance
- Exercise 3-1: Using inheritance and
polymorphism
Define software development life
cycle.
Lesson 4: Software Development Life Cycle
- Software Development Life Cycle Model
Describe the Waterfall life cycle
model.
Lesson 4: Software Development Life Cycle
- Waterfall Life Cycle Model
Describe the V-Shaped life cycle
model.
Lesson 4: Software Development Life Cycle
- V-Shaped Life Cycle Model
Describe the Incremental life cycle
model.
Lesson 4: Software Development Life Cycle
- Incremental Life Cycle Model
Describe the Spiral life cycle model.
Lesson 4: Software Development Life Cycle
- Spiral Life Cycle Model
Describe the Unified Process.
Lesson 5: The Unified Software Development
Process
- Software Development Process
- The Unified Process
- Life Cycle of the Unified Process
© 2016 ProsoftTraining.com All Rights Reserved.
Version 1.07
Object-Oriented Analysis and Design
Page 3
Objective
Lesson and Section(s)
Identify the phases of the Unified
Process.
Lesson 5: The Unified Software Development
Process
- Life Cycle of the Unified Process
- Cycles
- Phases
- Iterations
Identify the core workflows of the
Unified Process.
Lesson 5: The Unified Software Development
Process
- Core Workflows
- Workflows and Iterations
Describe the history of the Unified
Modeling Language (UML).
Lesson 6: The Unified Modeling Language
- Introduction to UML
Describe the purpose of a modeling
language.
Lesson 6: The Unified Modeling Language
- Introduction to UML
- Models
Describe the purpose of models.
Lesson 6: The Unified Modeling Language
- Models
Identify UML views.
Lesson 6: The Unified Modeling Language
- Views
Identify the role of CASE tools in the
software development process.
Lesson 7: Computer-Aided Software
Engineering
- Introduction to CASE
Identify the criteria for selecting a
CASE tool.
Lesson 7: Computer-Aided Software
Engineering
- Selecting a CASE Tool
Identify the benefits and limitations of
CASE tools.
Lesson 7: Computer-Aided Software
Engineering
- Introduction to CASE
- Selecting a CASE Tool
Install and use Argo/UML.
Lesson 7: Computer-Aided Software
Engineering
- Exercise 7-1: Using Argo/UML
Describe the purpose of the
requirements workflow.
Lesson 8: The Requirements Workflow
- Introduction to Requirements Capture
Describe the activities of the
requirements workflow.
Lesson 8: The Requirements Workflow
- Activities of the Requirements Workflow
© 2016 ProsoftTraining.com All Rights Reserved.
Version 1.07
Object-Oriented Analysis and Design
Page 4
Objective
Lesson and Section(s)
Describe the deliverables of the
requirements workflow.
Lesson 8: The Requirements Workflow
- Requirements and the Unified Process
Create a list of candidate requirements.
Lesson 8: The Requirements Workflow
- Exercise 8-1: Creating a candidate requirements
document
Create a simple domain model.
Lesson 8: The Requirements Workflow
- Exercise 8-1: Creating a candidate requirements
document
- Requirements and the Unified Process
Identify the actors and use cases of a
system.
Lesson 9: Use-Case Modeling
- Introduction to Use-Case Diagrams
- Developing a Use-Case Model
Describe the four types of use-case
relationship.
Lesson 9: Use-Case Modeling
- Introduction to Use-Case Diagrams
Develop a use-case model to capture
project requirements.
Lesson 9: Use-Case Modeling
- Developing a Use-Case Model
- Exercise 9-1: Developing a use-case model
Describe the benefits of activity
diagrams.
Lesson 10: Activity Diagrams
- Introduction to Activity Diagrams
- Library System Activity Diagrams
Interpret activity diagrams.
Lesson 10: Activity Diagrams
- Introduction to Activity Diagrams
- Branches and Merges
- Forks and Joins
- Library System Activity Diagrams
Create activity diagrams to describe use Lesson 10: Activity Diagrams
cases.
- Introduction to Activity Diagrams
- Exercise 10-1: Creating activity diagrams
Identify the major goals of user
interface design.
Lesson 11: Interface Design and Prototyping
- User Interface Design
Describe the different types of
prototypes.
Lesson 11: Interface Design and Prototyping
- User Interface Prototyping
Create a paper prototype.
Lesson 11: Interface Design and Prototyping
- Exercise 11-1: Defining interface requirements
© 2016 ProsoftTraining.com All Rights Reserved.
Version 1.07
Object-Oriented Analysis and Design
Page 5
Objective
Lesson and Section(s)
Design a system interface.
Lesson 11: Interface Design and Prototyping
- Exercise 11-1: Defining interface requirements
Use the Backus-Naur Form to create an
interface control document.
Lesson 11: Interface Design and Prototyping
- Specifying System Interfaces
- Exercise 11-1: Defining interface requirements
Describe the purpose of the analysis
workflow.
Lesson 12: The Analysis Workflow
- Introduction to Analysis
- Analysis and the Unified Process
Identify analysis classes.
Lesson 12: The Analysis Workflow
- Analysis Classes
Define use-case realization—analysis.
Lesson 12: The Analysis Workflow
- Use-Case Realizations—Analysis
Interpret collaboration diagrams.
Lesson 13: Analysis Modeling
- Collaboration Diagrams
Create collaboration diagrams to
illustrate a rough vision of system
design.
Lesson 13: Analysis Modeling
- Collaboration Diagrams
- Exercise 13-1: Creating analysis models
Create flow-of-events descriptions to
accompany collaboration diagrams.
Lesson 13: Analysis Modeling
- Flow of Events and Special Requirements
- Exercise 13-1: Creating analysis models
Use CRC cards to aid in developing
collaboration diagrams.
Lesson 13: Analysis Modeling
- Class-Responsibility-Collaboration Cards
- Exercise 13-1: Creating analysis models
Identify attributes.
Lesson 13: Analysis Modeling
- Class Analysis
- Exercise 13-1: Creating analysis models
Identify aggregation and generalization
relationships.
Lesson 13: Analysis Modeling
- Class Analysis
- Exercise 13-1: Creating analysis models
Identify design subsystems.
Lesson 14: The Design Workflow
- Design Model
- Exercise 14-1: Creating a design workflow
Identify design classes.
Lesson 14: The Design Workflow
- Design Model
- Exercise 14-1: Creating a design workflow
© 2016 ProsoftTraining.com All Rights Reserved.
Version 1.07
Object-Oriented Analysis and Design
Page 6
Objective
Lesson and Section(s)
Use interaction diagrams to assist in
creating use-case realizations—design.
Lesson 14: The Design Workflow
- Design Model
- Use-Case Realizations—Design
- Exercise 14-1: Creating a design workflow
Create a flow-of-events—design.
Lesson 14: The Design Workflow
- Use-Case Realizations—Design
- Exercise 14-1: Creating a design workflow
Define implementation requirements.
Lesson 14: The Design Workflow
- Use-Case Realizations—Design
- Exercise 14-1: Creating a design workflow
Create deployment diagrams to
describe system architecture.
Lesson 14: The Design Workflow
- Architectural Design
- Exercise 14-1: Creating a design workflow
Use class diagrams to illustrate system
design.
Lesson 15: Class Diagrams
- Introduction to Class Diagrams
- Check Out Asset Class Diagram
- Exercise 15-1: Creating class diagrams
Describe the difference between
reference objects and value objects.
Lesson 15: Class Diagrams
- Aggregation
- Composition
Identify when it is appropriate to use
associations, aggregation, and
composition.
Lesson 15: Class Diagrams
- Association
- Aggregation
- Composition
Use generalizations to illustrate
inheritance.
Lesson 15: Class Diagrams
- Generalization
Interpret sequence diagrams.
Lesson 16: Sequence Diagrams
- Introduction to Sequence Diagrams
- Return Values
- Message Conditions
- Deletion
- Multiplicity
- Return Stack
© 2016 ProsoftTraining.com All Rights Reserved.
Version 1.07
Object-Oriented Analysis and Design
Page 7
Objective
Lesson and Section(s)
Use sequence diagrams to illustrate the
interactions between classes.
Lesson 16: Sequence Diagrams
- Introduction to Sequence Diagrams
- Exercise 16-1: Creating sequence diagrams
Interpret statechart diagrams.
Lesson 17: Statechart Diagrams
- Introduction to Statechart Diagrams
- States
- Transitions
- Superstates
Develop statechart diagrams to
illustrate the internal workings of
individual classes.
Lesson 17: Statechart Diagrams
- Introduction to Statechart Diagrams
- Exercise 17-1: Creating statechart diagrams
Identify elements of good design.
Lesson 18: Design Quality Issues
- Elements of Good Design
Define cohesion.
Lesson 18: Design Quality Issues
- Elements of Good Design
Define coupling.
Lesson 18: Design Quality Issues
- Elements of Good Design
Use object-oriented design metrics.
Lesson 18: Design Quality Issues
- Object-Oriented Design Metrics
- Chidamber and Kemerer
- Metrics for Object-Oriented Design
- Exercise 18-1: Applying design metrics
Interpret design metrics.
Lesson 18: Design Quality Issues
- Object-Oriented Design Metrics
- Chidamber and Kemerer
- Metrics for Object-Oriented Design
Describe the implementation process.
Lesson 19: The Implementation Workflow
- The Implementation Workflow
- Implementation and the Unified Process
Identify executable components.
Lesson 19: The Implementation Workflow
- The Implementation Workflow
- Identifying Components
Generate program code from design
classes.
Lesson 19: The Implementation Workflow
- Generating Code from Design Classes
- Exercise 19-1: Performing implementation
© 2016 ProsoftTraining.com All Rights Reserved.
Version 1.07
Object-Oriented Analysis and Design
Page 8
Objective
Lesson and Section(s)
Define unit testing.
Lesson 19: The Implementation Workflow
- Unit Testing
Create an integration build plan.
Lesson 19: The Implementation Workflow
- Integration Build Planning
- Exercise 19-1: Performing implementation
Describe the test workflow.
Lesson 20: The Test Workflow
- The Test Workflow
- Test and the Unified Process
Define test case.
Lesson 20: The Test Workflow
- Test Cases
- Test and the Unified Process
Define test procedure.
Lesson 20: The Test Workflow
- Test Procedures
- Test and the Unified Process
Define test component.
Lesson 20: The Test Workflow
- Test Components
- Test and the Unified Process
© 2016 ProsoftTraining.com All Rights Reserved.
Version 1.07