object-oriented analysis and design
DESCRIPTION
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering. Objectives. Define object technology and identify its place in the evolution of software engineering - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/1.jpg)
Object-Oriented Analysis and Design
![Page 2: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/2.jpg)
Lesson 1:Introduction to
Software Engineering
![Page 3: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/3.jpg)
Objectives
Define object technology and identify its place in the evolution of software engineering
Describe the differences between a structured approach and an object-oriented approach to software development
Identify the advantages and disadvantages of an object-oriented approach to software development
Discuss the need for analysis and design
![Page 4: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/4.jpg)
Evolution ofSoftware Engineering Data flow
Programming languages
Software systems
Analysis and design methodologies
![Page 5: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/5.jpg)
Object Technology
Objects maintain properties about their state
![Page 6: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/6.jpg)
Advantages of anObject-Oriented Approach
Maintainable
Reusable
Scalable
![Page 7: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/7.jpg)
Analysisand Design
Unified Software Development Process
Software crisis
![Page 8: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/8.jpg)
Summary
Define object technology and identify its place in the evolution of software engineering
Describe the differences between a structured approach and an object-oriented approach to software development
Identify the advantages and disadvantages of an object-oriented approach to software development
Discuss the need for analysis and design
![Page 9: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/9.jpg)
Lesson 2:Understanding the
Object Paradigm
![Page 10: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/10.jpg)
Objectives
Explain the difference between classes and instances
Identify the benefits of abstraction and encapsulation
Define a simple object model using the “has a” and “uses a” relationships
Describe Jacobson’s application object types
![Page 11: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/11.jpg)
Classes
Classes
Objects
Instantiation
![Page 12: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/12.jpg)
Encapsulation
Methods
Accessors
Mutators
![Page 13: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/13.jpg)
Abstraction
Used to manage complexity
![Page 14: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/14.jpg)
ObjectRelationships
“has a”
“uses a”
![Page 15: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/15.jpg)
Application Objects
Entity objects
Interface objects
Control objects
![Page 16: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/16.jpg)
Summary
Explain the difference between classes and instances
Identify the benefits of abstraction and encapsulation
Define a simple object model using the “has a” and “uses a” relationships
Describe Jacobson’s application object types
![Page 17: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/17.jpg)
Lesson 3:Inheritance
and Polymorphism
![Page 18: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/18.jpg)
Objectives
Identify the benefits of inheritance
Identify the benefits of polymorphism
Define abstract classes
Identify the benefits of multiple inheritance
![Page 19: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/19.jpg)
Inheritance
Inheritance “is a” relationship
Superclasses
Inheriting attributes- Subclasses
Inheriting methods
Extending components with inheritance
![Page 20: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/20.jpg)
Polymorphism
The ability of subclasses to override methods defined in classes that are higher in the class hierarchy
![Page 21: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/21.jpg)
Abstract Classes
Declare methods without providing implementation
![Page 22: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/22.jpg)
MultipleInheritance
Inheritance from two or more superclasses
![Page 23: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/23.jpg)
Summary
Identify the benefits of inheritance
Identify the benefits of polymorphism
Define abstract classes
Identify the benefits of multiple inheritance
![Page 24: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/24.jpg)
Lesson 4:Software Development
Life Cycle
![Page 25: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/25.jpg)
Objectives
Define software development life cycle
Describe the Waterfall life cycle model
Describe the V-Shaped life cycle model
Describe the Incremental life cycle model
Describe the Spiral life cycle model
![Page 26: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/26.jpg)
Software DevelopmentLife Cycle Model
Requirements gathering
Design
Implementation
Testing
![Page 27: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/27.jpg)
WaterfallLife Cycle Model
Classic, or linear-sequential, life cycle model
Characterized by a series of discrete phases that must be completed in a linear sequential order
![Page 28: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/28.jpg)
V-ShapedLife Cycle Model
Adds emphasis to testing
![Page 29: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/29.jpg)
IncrementalLife Cycle Model
Evolutionary- A working version of the software is
created by the end of the first iteration, and subsequent iterations build on the work of earlier iterations
![Page 30: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/30.jpg)
SpiralLife Cycle Model
Incorporates risk analysis
Divided into four phases- Planning- Risk analysis- Engineering- Evaluation
![Page 31: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/31.jpg)
Summary
Define software development life cycle
Describe the Waterfall life cycle model
Describe the V-Shaped life cycle model
Describe the Incremental life cycle model
Describe the Spiral life cycle model
![Page 32: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/32.jpg)
Lesson 5:The Unified SoftwareDevelopment Process
![Page 33: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/33.jpg)
Objectives
Describe the Unified Process
Identify the phases of the Unified Process
Identify the core workflows of the Unified Process
![Page 34: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/34.jpg)
The Unified Process
Use-case driven
Architecture-centric
Iterative and incremental
![Page 35: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/35.jpg)
Life Cycle ofthe Unified Process
Cycles- Single cycle
![Page 36: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/36.jpg)
Phases
Inception
Elaboration- Architecture baseline
Construction- Beta release- Beta test
Transition
![Page 37: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/37.jpg)
Iterations
Increments
![Page 38: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/38.jpg)
Core Workflows
Requirements
Analysis
Design
Implementation
Test
![Page 39: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/39.jpg)
Summary
Describe the Unified Process
Identify the phases of the Unified Process
Identify the core workflows of the Unified Process
![Page 40: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/40.jpg)
Lesson 6:The Unified
Modeling Language
![Page 41: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/41.jpg)
Objectives
Describe the history of the UML
Describe the purpose of a modeling language
Describe the purpose of models
Identify UML views
![Page 42: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/42.jpg)
Models
Modeling levels- High-level models- Abstract models- Full specification models
![Page 43: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/43.jpg)
Views
Static
Use-case
Implementation
Deployment
State machine
Activity
Interaction
Model management
![Page 44: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/44.jpg)
Summary
Describe the history of the UML
Describe the purpose of a modeling language
Describe the purpose of models
Identify UML views
![Page 45: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/45.jpg)
Lesson 7:Computer-Aided
Software Engineering
![Page 46: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/46.jpg)
Objectives
Identify the role of CASE tools in the software development process
Identify the criteria for selecting a CASE tool
Identify the benefits and limitations of CASE tools
Install and use Argo/UML
![Page 47: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/47.jpg)
Selecting a CASE Tool
Methodology
Flexibility
Collaboration
Diagram validation
![Page 48: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/48.jpg)
Summary
Identify the role of CASE tools in the software development process
Identify the criteria for selecting a CASE tool
Identify the benefits and limitations of CASE tools
Install and use Argo/UML
![Page 49: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/49.jpg)
Lesson 8:The Requirements
Workflow
![Page 50: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/50.jpg)
Objectives
Describe the purpose of the requirements workflow
Describe the activities of the requirements workflow
Describe the deliverables of the requirements workflow
Create a list of candidate requirements
Create a simple domain model
![Page 51: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/51.jpg)
Activities of theRequirements Workflow Listing possible requirements
Describing the context of the system
Capturing functional requirements
Capturing nonfunctional requirements
![Page 52: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/52.jpg)
Requirements andthe Unified Process
Four deliverables- Domain model or business model- Use-case model- User-interface descriptions or
prototypes- Supplementary requirements document
![Page 53: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/53.jpg)
Summary
Describe the purpose of the requirements workflow
Describe the activities of the requirements workflow
Describe the deliverables of the requirements workflow
Create a list of candidate requirements
Create a simple domain model
![Page 54: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/54.jpg)
Lesson 9:Use-Case Modeling
![Page 55: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/55.jpg)
Objectives
Identify the actors and use cases of a system
Describe the four types of use-case relationship
Develop a use-case model to capture project requirements
![Page 56: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/56.jpg)
Introduction toUse-Case Diagrams
Actors
Use cases
Use-case relationships- Association- Generalization- Include- Extend
![Page 57: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/57.jpg)
Developing aUse-Case Model
Top-level use-case diagrams
Top-level use-case descriptions
Sub-level use-case diagrams
![Page 58: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/58.jpg)
Summary
Identify the actors and use cases of a system
Describe the four types of use-case relationship
Develop a use-case model to capture project requirements
![Page 59: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/59.jpg)
Lesson 10:Activity Diagrams
![Page 60: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/60.jpg)
Objectives
Describe the benefits of activity diagrams
Interpret activity diagrams
Create activity diagrams to describe use cases
![Page 61: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/61.jpg)
Introduction toActivity Diagrams
Creating activity diagrams
Branches and merges
Forks and joins
![Page 62: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/62.jpg)
Summary
Describe the benefits of activity diagrams
Interpret activity diagrams
Create activity diagrams to describe use cases
![Page 63: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/63.jpg)
Lesson 11:Interface Designand Prototyping
![Page 64: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/64.jpg)
Objectives
Identify the major goals of user interface design
Describe the different types of prototypes
Create a paper prototype
Design a system interface
Use the Backus-Naur Form to create an interface control document
![Page 65: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/65.jpg)
User Interface Design
User interface ergonomics- Metaphor- Self-evidence- Consistency- State visualization
![Page 66: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/66.jpg)
User InterfacePrototyping
Rapid prototyping
Paper prototyping
![Page 67: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/67.jpg)
SpecifyingSystem Interfaces
Metasyntax- Backus-Naur Form
![Page 68: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/68.jpg)
Summary
Identify the major goals of user interface design
Describe the different types of prototypes
Create a paper prototype
Design a system interface
Use the Backus-Naur Form to create an interface control document
![Page 69: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/69.jpg)
Lesson 12:The Analysis Workflow
![Page 70: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/70.jpg)
Objectives
Describe the purpose of the analysis workflow
Identify analysis classes
Define use-case realization—analysis
![Page 71: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/71.jpg)
Analysis Classes
Entity class Boundary class Control class
![Page 72: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/72.jpg)
Use-Case Realizations—Analysis A collaboration diagram
A flow-of-events description
A special-requirements description
![Page 73: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/73.jpg)
Summary
Describe the purpose of the analysis workflow
Identify analysis classes
Define use-case realization—analysis
![Page 74: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/74.jpg)
Lesson 13:Analysis Modeling
![Page 75: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/75.jpg)
Objectives
Interpret collaboration diagrams
Create collaboration diagrams to illustrate a rough vision of system design
Create flow-of-events descriptions to accompany collaboration diagrams
Use CRC cards to aid in developing collaboration diagrams
Identify attributes
![Page 76: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/76.jpg)
CollaborationDiagrams
Sequence numbers
Parameter passing
Return values
Message conditions
Multiplicity
![Page 77: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/77.jpg)
Flow of Events and Special Requirements Textual description of the sequence of
events
![Page 78: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/78.jpg)
Class Analysis
Attributes
Aggregation
Generalization
![Page 79: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/79.jpg)
Summary
Interpret collaboration diagrams
Create collaboration diagrams to illustrate a rough vision of system design
Create flow-of-events descriptions to accompany collaboration diagrams
Use CRC cards to aid in developing collaboration diagrams
Identify attributes
![Page 80: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/80.jpg)
Lesson 14:The Design Workflow
![Page 81: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/81.jpg)
Objectives
Identify design subsystems
Identify design classes
Use interaction diagrams to assist in creating use-case realizations—design
Create a flow-of-events—design
Define implementation requirements
Create deployment diagrams to describe system architecture
![Page 82: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/82.jpg)
Design Model
Design subsystems
Design classes
Use-case realizations—design
![Page 83: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/83.jpg)
Use-CaseRealizations—Designs Class diagrams
Interaction diagrams
Flow-of-events—design
Implementation requirements
![Page 84: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/84.jpg)
Architectural Design
Multi-tier models
![Page 85: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/85.jpg)
Summary
Identify design subsystems
Identify design classes
Use interaction diagrams to assist in creating use-case realizations—design
Create a flow-of-events—design
Define implementation requirements
Create deployment diagrams to describe system architecture
![Page 86: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/86.jpg)
Lesson 15:Class Diagrams
![Page 87: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/87.jpg)
Objectives
Use class diagrams to illustrate system design
Describe the difference between reference objects and value objects
Identify when it is appropriate to use associations, aggregation, and composition
Use generalizations to illustrate inheritance
![Page 88: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/88.jpg)
Introduction toClass Diagrams
Classes participate in four principal relationships- Association- Aggregation- Composition- Generalization
![Page 89: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/89.jpg)
Association
Navigability
Multiplicity
![Page 90: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/90.jpg)
Aggregation
Reference objects
Value objects
![Page 91: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/91.jpg)
Composition
A type of “has a” relationship between a class and a value object
![Page 92: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/92.jpg)
Generalization
The “is a” relationship
![Page 93: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/93.jpg)
Summary
Use class diagrams to illustrate system design
Describe the difference between reference objects and value objects
Identify when it is appropriate to use associations, aggregation, and composition
Use generalizations to illustrate inheritance
![Page 94: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/94.jpg)
Lesson 16:Sequence Diagrams
![Page 95: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/95.jpg)
Objectives
Interpret sequence diagrams
Use sequence diagrams to illustrate the interactions between classes
![Page 96: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/96.jpg)
Introduction toSequence Diagrams
Return values
Message conditions
Deletion
Multiplicity
Return stack
![Page 97: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/97.jpg)
Summary
Interpret sequence diagrams
Use sequence diagrams to illustrate the interactions between classes
![Page 98: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/98.jpg)
Lesson 17:Statechart Diagrams
![Page 99: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/99.jpg)
Objectives
Interpret statechart diagrams
Develop statechart diagrams to illustrate the internal workings of individual classes
![Page 100: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/100.jpg)
Introduction toStatechart Diagrams
States
Transitions
Superstates
![Page 101: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/101.jpg)
Summary
Interpret statechart diagrams
Develop statechart diagrams to illustrate the internal workings of individual classes
![Page 102: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/102.jpg)
Lesson 18:Design Quality Issues
![Page 103: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/103.jpg)
Objectives
Identify elements of good design
Define cohesion
Define coupling
Use object-oriented design metrics
Interpret design metrics
![Page 104: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/104.jpg)
Elements ofGood Design
Encapsulation
Abstraction
High cohesion
Loose coupling
![Page 105: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/105.jpg)
Object-OrientedDesign Metrics
Chidamber and Kemerer- CBO- DIT- NOC
Metrics for object-oriented design- MHF- AHF- MIF- AIF- PF- CF
![Page 106: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/106.jpg)
Summary
Identify elements of good design
Define cohesion
Define coupling
Use object-oriented design metrics
Interpret design metrics
![Page 107: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/107.jpg)
Lesson 19:The
Implementation Workflow
![Page 108: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/108.jpg)
Objectives
Describe the implementation process
Identify executable components
Generate program code from design classes
Define unit testing
Create an integration build plan
![Page 109: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/109.jpg)
The Implementation Workflow
Identifying components
Integration build planning
Generating code from design classes
![Page 110: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/110.jpg)
Unit Testing
Specification testing
Structure testing
![Page 111: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/111.jpg)
Summary
Describe the implementation process
Identify executable components
Generate program code from design classes
Define unit testing
Create an integration build plan
![Page 112: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/112.jpg)
Lesson 20:The Test Workflow
![Page 113: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/113.jpg)
Objectives
Describe the test workflow
Define test case
Define test procedure
Define test component
![Page 114: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/114.jpg)
Test Cases
Designing test cases
![Page 115: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/115.jpg)
Test Procedures
Describes the method for performing one or more tests
Describes how inputs are entered into the system using the user interface
![Page 116: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/116.jpg)
Summary
Describe the test workflow
Define test case
Define test procedure
Define test component
![Page 117: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/117.jpg)
Object-OrientedAnalysis and Design
Introduction to Software Engineering
Understanding the Object Paradigm
Inheritance and Polymorphism
Software Development Life Cycle
The Unified Software Development Process
The Unified Modeling Language
Computer-Aided Software Engineering
![Page 118: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/118.jpg)
Object-OrientedAnalysis and Design
The Requirements Workflow
Use-Case Modeling
Activity Diagrams
Interface Design and Prototyping
The Analysis Workflow
Analysis Modeling
The Design Workflow
![Page 119: Object-Oriented Analysis and Design](https://reader030.vdocument.in/reader030/viewer/2022020320/56815e06550346895dcc541f/html5/thumbnails/119.jpg)
Object-OrientedAnalysis and Design
Class Diagrams
Sequence Diagrams
Statechart Diagrams
Design Quality Issues
The Implementation Workflow
The Test Workflow