Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis...
-
Upload
allan-gunn -
Category
Documents
-
view
219 -
download
3
Transcript of Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis...
![Page 1: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/1.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 1
Chapter 4
Object-Oriented Analysis and Design in a Nutshell
![Page 2: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/2.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 2
Chapter 4 Topics
• Logical and physical models and iterative and incremental development concepts in OOA and OOD
• Need for the Unified Modeling Language (UML) and model-driven development
• Creation and interpretation of UML use case diagrams, class diagrams, and sequence diagrams
• How the three-tier design approach is used in OOA and OOD
• How UML diagrams are developed for a business system development project introduction of the Bradshaw Marina Case Study
![Page 3: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/3.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 3
Understanding OOA and OOD
• System analysis– To study, understand, and define the
requirements for a system
• System requirements– Define what the system needs to
accomplish for the users in business terms
![Page 4: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/4.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 4
Understanding OOA and OOD
• Models– Depict some aspect of the required system
• Logical models– Show what is required in the system independent of the
technology used to implement it
• Physical models– Show how to implement and integrate system
components using specific technology
– System design• Creating physical models rather than logical models
![Page 5: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/5.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 5
Understanding OOA and OOD
• Model-Driven Development
– Creating logical models of the system requirements during analysis phase
– Creating physical models of the system requirements during design phase
![Page 6: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/6.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 6
Understanding OOA and OOD
• Iterative Development
– Analyze– Design– Implement– Repeat
– Example: Waterfall Method
![Page 7: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/7.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 7
![Page 8: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/8.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 8
Understanding OOA and OOD
• Incremental Development– Some of the system is completed and put
into operation before entire system is completed
• Spiral Model– Greatest challenges are identified and
addressed in first iterations– Subsequent iterations build on completed
ones
![Page 9: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/9.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 9
![Page 10: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/10.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 10
Understanding the Unified Modeling Language
• OO development requires a collection of models that depict system requirements and designs
• UML defines a standard set of constructs and diagrams used to model OO systems
![Page 11: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/11.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 11
Understanding the Unified Modeling Language
• UML– Created by:
• Grady Booch, James Rumbaugh, and Ivar Jacobson (Rational Software)
– Accepted as standard by:• the Object Management Group (OMG)
– Industry association dedicated to improving OO development practices
– See www.rational.com for information
![Page 12: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/12.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 12
Understanding the Unified Modeling Language
• Inside UML (*** will be covered in this course)– Use Case + Use Case Diagram ***– Class Diagrams ***– Interaction Diagrams – interaction among
objects in a use case• Sequence Diagrams ***• Collaboration Diagrams
– State Diagrams – object behavior– Activity Diagrams – workflow, parallel, no
objects
![Page 13: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/13.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 13
Understanding the Unified Modeling Language
• Creating & Interpreting Use Case Diagram
– First step: define the main system functions• Each system function is called a use case
– Allows developers to:» divide up the work» focus on specific system functions
![Page 14: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/14.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 14
Understanding the Unified Modeling Language
• Creating & Interpreting Use Case Diagram
– Use case diagram depicts:• Use case
– Scenarios variations of the same function
• Actor– Entity using the system
![Page 15: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/15.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 15
![Page 16: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/16.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 16
Understanding the Unified Modeling Language
• Creating & Interpreting Use Case Diagram– Identify use cases by identifying events
the system must respond to:• External event
– Something that happens outside the system
• Temporal event– Occurs at a specific point in time
• State event– Occurs when state of an object changes
![Page 17: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/17.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 17
Understanding the Unified Modeling Language
• Creating & Interpreting Use Case Diagram
– Document and describe use cases:• Dialogue or script
– List of steps followed by actor and system
• Activity Diagram– Depiction of use case scenarios
![Page 18: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/18.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 18
![Page 19: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/19.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 19
Understanding the Unified Modeling Language
• Creating & Interpreting the Class Diagram– Class Diagram
• Depicts the classes used in a system– Differentiates between types of classes
» Italics indicate an abstract class
• Demonstrates the association relationships between classes
• Depicts generalization/specialization hierarchies– Inheritance
• Static model
![Page 20: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/20.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 20
![Page 21: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/21.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 21
![Page 22: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/22.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 22
Understanding the Unified Modeling Language
• Creating & Interpreting Sequence Diagram– Sequence Diagram
• Depicts interactions between the actor and objects in the system
– For each use case or scenario
• Represent time sequences (lifelines)– Specifies when the object is active (executing or
controlling part of the interaction)
• Dynamic model
![Page 23: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/23.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 23
![Page 24: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/24.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 24
Using 3-Tier Design in OO Development
• Tier 1– Identify and specify problem domain classes
• Classes of objects that involve the users’ work
• Tier 2– Define GUI classes
• Allow user to interact with the problem domain classes
• Tier 3– Specify access classes
• Allow problem domain classes to interact with the database
![Page 25: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/25.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 25
![Page 26: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/26.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 26
![Page 27: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/27.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 27
Using 3-Tier Design in OO Development
• 3-Tier Design– Supports objective of creating loosely
coupled system components• Can modify one component with minimal
effects on other components
– Provides a framework for defining OOA and OOD
– Works well with iterative and incremental development
![Page 28: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/28.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 28
Introducing the Bradshaw Marina Case Study
• Exploring Background of Bradshaw Marina– Privately owned corporation that rents boats
and provides boat services on a lake– Needs automated system to:
• Track:– Customers, leased slips, and boats in the slips– Tasks: creating lease, computing lease amount,
assigning boats• Search:
– vacant slips leased to specific customers • Implement billing system (future feature)
![Page 29: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/29.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 29
Introducing the Bradshaw Marina Case Study
• Identifying Bradshaw Use Cases and Scenarios– First step in OOA process:
• Identify use cases that fall within scope of system
• Focus on:– Customers– Boats– Slips
![Page 30: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/30.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 30
![Page 31: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/31.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 31
Introducing the Bradshaw Marina Case Study
• Identifying Bradshaw Problem Domain Classes– Process
• Begin an initial class diagram that includes potential classes
• Gain information about the system• Refine class diagram
– Show generalization/specialization hierarchies– Identify/model association relationships between
classes
![Page 32: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/32.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 32
![Page 33: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/33.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 33
![Page 34: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/34.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 34
![Page 35: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/35.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 35
![Page 36: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/36.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 36
Introducing the Bradshaw Marina Case Study
• Identifying Bradshaw Sequence Diagram– Process
• Create a sequence diagram for each scenario of each use case
• Start as logical model showing only problem domain objects
• When move to OOD:– Expand diagram to show GUI objects and data
access classes
![Page 37: Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649cba5503460f94982125/html5/thumbnails/37.jpg)
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell 37