SlideShare a Scribd company logo
1 of 34
Copyright 2002 Prentice-Hall, Inc.
Modern Systems Analysis
and Design
Third Edition
Jeffrey A. Hoffer
Joey F. George
Joseph S. Valacich
Chapter 20
Object-Oriented Analysis and
Design
20.1
Learning Objectives
 Key terms
 Use Case
 Object
 Object class
 State
 Behavior
 Operation
 Encapsulation
 Constructor Operation
 Query Operation
 Update Operation
 Association
 Multiplicity
 Abstract Class
 Concrete Class
 Class-Scope attribute
 Abstract operation
 Method
 Polymorphism
 Overriding
 Aggregation
 Composition
 Event
 State transition
 Sequence diagram
20.2
Learning Objectives
 Discuss the concepts and principles underlying the
object-oriented approach
 Describe the activities in the different phases of the
object-oriented development life cycle
 State the advantages of object-oriented modeling
versus traditional systems development approaches
 Learn to develop requirements models using use-
case diagrams
 Learn to use class diagrams to develop object
models of the problem domain
 Learn to develop dynamic models using state,
interaction and activity diagrams
 Model real-world applications using UML diagrams
20.3
Introduction
Object-Oriented systems development
life cycle
 Process of progressively developing
representation of a system component (or
object) through the phases of analysis,
design and implementation
 The model is abstract in the early stages
 As the model evolves, it becomes more
and more detailed
20.4
The Object-Oriented Systems
Development Life Cycle
Analysis Phase
 Model of the real-world application is developed
showing its important properties
 Model specifies the functional behavior of the
system independent of implementation details
Design Phase
 Analysis model is refined and adapted to the
environment
 Can be separated into two stages
 System design
 Concerned with overall system architecture
 Object design
 Implementation details are added to system design20.5
The Object-Oriented Systems
Development Life Cycle
Implementation Phase
 Design is implemented using a
programming language or database
management system
20.6
The Object-Oriented Systems
Development Life Cycle
Deliverables and Outcomes
1. The ability to tackle more challenging problem domains
2. Improved communication among users, analysts,
designers and programmers
3. Increased consistency among analysis, design and
programming activities
4. Explicit representation of commonality among system
components
5. Reusability of analysis, design and programming results
6. Increased consistency among the models developed
during object-oriented analysis, design, and programming
20.7
The Unified Modeling
Language (UML)
A notation that allows the modeler to
specify, visualize and construct the artifacts
of software systems, as well as business
models
Techniques and notations
 Use cases
 Class diagrams
 State diagrams
 Sequence diagrams
 Activity diagrams
20.8
Use-Case Modeling
Applied to analyze functional requirements
of the system
Performed during the analysis phase to help
developers understand functional
requirements of the system without regard
for implementation details
Use Case
 A complete sequence of related actions initiated
by an actor
Actor
 An external entity that interacts with the system
20.9
Figure 20-2
Use-case diagram for a university registration system
20.10
Use-Case Modeling
Developing Use-Case Diagrams
 Use cases are always initiated by an actor
 Use cases represent complete functionality of the
system
Relationships Between Use Cases
 Use cases may participate in relationships with
other use-cases
 Two types
 Extends
 Adds new behaviors or actions to a use case
 Include
 One use case references another use case
20.11
Object Modeling
Class Diagrams
Object
 An entity that has a well-defined role in the
application domain, and has state, behavior, and
identity
State
 A condition that encompasses an object’s
properties and the values those properties have
Behavior
 A manner that represents how an object acts and
reacts
Object Class
 A set of objects that share a common structure
and a common behavior20.12
Object Modeling
Class Diagrams
Class Diagram
 Class is represented as a rectangle with
three compartments
 Objects can participate in relationships with
objects of the same class
20.13
Object Modeling
Object Diagrams
Object Diagram
 A graph of instances that are compatible with a
given class diagram; also called an instance
diagram
 Object is represented as a rectangle with two
compartments
Operation
 A function or service that is provided by all the
instances of a class
Encapsulation
 The technique of hiding the internal
implementation details of an object from its
external view20.14
Object Modeling
Object Diagrams
Types of Operations
 Query
 An operation that accesses the state of an object but
does not alter the state
 Update
 An operation that alters the state of an object
 Scope
 An operation that applies to a class rather than an object
instance
 Constructor
 An operation that creates a new instance of a class
20.15
Figure 20-5
UML class and object diagrams
(a) Class diagram showing two classes
(b) Object diagram with two instances
20.16
Representing Associations
Association
 A relationship between object classes
 Degree may be unary, binary, ternary or higher
 Depicted as a solid line between participating
classes
Association Role
 The end of an association where it connects to a
class
 Each role has multiplicity, which indicates how
many objects participate in a given association
relationship
20.17
Representing Association
Classes
Association Class
 An association that has attributes or
operations of its own, or that participates in
relationships with other classes
Similar to an associative entity in ER
modeling
Figure 20-9 shows one example
20.18
Representing Derived Attributes, Derived
Associations and Derived Roles
Derived attributes, associations and
roles can be computed from other
attributes, associations or roles
Shown by placing a slash (/) before the
name of the element
20.19
Representing Generalization
Generalization
 Abstraction of common features among multiple
classes, as well as their relationships, into a more
general class
Subclass
 A class that has been generalized
Superclass
 A class that is composed of several generalized
subclasses
20.20
Representing Generalization
Discriminator
 Shows which property of an object class is being
abstracted by a generalization relationship
Inheritance
 A property that a subclass inherits the features
from its superclass
Abstract Class
 A class that has no direct instances, but whose
descendents may have direct instances
Concrete Class
 A class that can have direct instances
20.21
Representing Generalization
Semantic Constraints among Subclasses
 Overlapping
 A descendant may be descended from more than one of
the subclasses
 Disjoint
 A descendant may not be descended from more than
one of the subclasses
 Complete
 All subclasses have been specified. No additional
subclasses are expected
 Incomplete
 Some subclasses have been specified, but the list is
known to be incomplete
20.22
Representing Generalization
Class-scope Attribute
 An attribute of a class which specifies a value
common to an entire class, rather than a specific
value for an instance.
Abstract Operation
 Defines the form or protocol of an operation but
not its implementation
Method
 The implementation of an operation
Polymorphism
 The same operation may apply to two or more
classes in different ways20.23
Interpreting Inheritance and
Overriding
Overriding
 Process of replacing a method inherited from a superclass
by a more specific implementation of that method in a
subclass
 Three Types
 Overriding for Extension
 Operation inherited by a subclass from its superclass is
extended by adding some behavior
 Overriding for restriction
 The protocol of the new operation in the subclass is
restricted
 Overriding for optimization
 The new operation is implemented with improved code by
exploiting the restrictions imposed by a subclass
20.24
Representing Multiple
Inheritance
Multiple Classification
 An object is an instance of more than one
class
 Use is discouraged and not supported by
UML semantics
Multiple Inheritance
 Allows a class to inherit features from more
than one superclass
20.25
Representing Aggregation
Aggregation
 A part-of relationship between a
component object and an aggregate object
 Example: Personal computer
 Composed of CPU, Monitor, Keyboard, etc
20.26
Dynamic Modeling:
State Diagrams
State
 A condition during the life of an object during
which it satisfies some conditions, performs
some actions or waits for some events
 Shown as a rectangle with rounded corners
State Transition
 The changes in the attribute of an object or in
the links an object has with other objects
 Shown as a solid arrow
 Diagrammed with a guard condition and action
Event
 Something that takes place at a certain point in
time
20.27
Dynamic Modeling:
Sequence Diagrams
Sequence Diagram
 A depiction of the interaction among objects
during certain periods of time
Activation
 The time period during which an object performs
an operation
Messages
 Means by which objects communicate with each
other
20.28
Dynamic Modeling
Sequence Diagrams
Synchronous Message
 A type of message in which the caller has
to wait for the receiving object to finish
executing the called operation before it can
resume execution itself
Simple Message
 A message that transfers control from the
sender to the recipient without describing
the details of the communication
20.29
Figure 20-24
Sequence diagram for a class registration scenario
with prerequisites
20.30
Process Modeling:
Activity Diagrams
Shows the conditional logic for the
sequence of system activities needed to
accomplish a business process
Clearly shows parallel and alternative
behaviors
Can be used to show the logic of a use
case
20.31
Analysis Versus Design
Start with existing set of analysis model
Progressively add technical details
Design model must be more detailed than
analysis model
Component Diagram
 A diagram that shows the software components or
modules and their dependencies
Deployment Diagram
 A diagram that shows how the software
components, process and objects are deployed
into the physical architecture of the system
20.32
Summary
Object-Oriented modeling approach
 Benefits
 Unified Modeling Language
 Use cases
 Class diagrams
 State diagrams
 Sequence diagrams
 Activity Diagrams
Use-case modeling
20.33
Summary
Object Modeling: Class Diagrams
 Associations
 Generalizations
 Inheritance and Overriding
 Aggregation
Dynamic Modeling: State Diagrams
Dynamic Modeling: Sequence
Diagrams
Analysis Versus Design20.34

More Related Content

What's hot (20)

Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 
Communication diagram Introduction
Communication diagram IntroductionCommunication diagram Introduction
Communication diagram Introduction
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Architectural Modeling
Architectural ModelingArchitectural Modeling
Architectural Modeling
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Jdbc Ppt
Jdbc PptJdbc Ppt
Jdbc Ppt
 
Uml Activity Diagram
Uml Activity DiagramUml Activity Diagram
Uml Activity Diagram
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral Modeling
 
Adapter pattern
Adapter patternAdapter pattern
Adapter pattern
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
 
Functional dependencies in Database Management System
Functional dependencies in Database Management SystemFunctional dependencies in Database Management System
Functional dependencies in Database Management System
 
Uml
UmlUml
Uml
 
Component Diagram
Component DiagramComponent Diagram
Component Diagram
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Er diagrams presentation
Er diagrams presentationEr diagrams presentation
Er diagrams presentation
 

Viewers also liked

Object-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochObject-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochSorina Chirilă
 
Chapter01 the systems development environment
Chapter01 the systems development environmentChapter01 the systems development environment
Chapter01 the systems development environmentDhani Ahmad
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignDr. C.V. Suresh Babu
 
Introduction To Ooad
Introduction To OoadIntroduction To Ooad
Introduction To OoadRajesh Kumar
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignAnirban Majumdar
 
Structured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignStructured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignMotaz Saad
 
Implementing security
Implementing securityImplementing security
Implementing securityDhani Ahmad
 
Chapter19 rapid application development
Chapter19 rapid application developmentChapter19 rapid application development
Chapter19 rapid application developmentDhani Ahmad
 
Chapter15 finalizing design specifications
Chapter15 finalizing design specificationsChapter15 finalizing design specifications
Chapter15 finalizing design specificationsDhani Ahmad
 
Data processing by Neeraj Bhandari ( Surkhet.Nepal )
Data processing by Neeraj Bhandari ( Surkhet.Nepal )Data processing by Neeraj Bhandari ( Surkhet.Nepal )
Data processing by Neeraj Bhandari ( Surkhet.Nepal )Neeraj Bhandari
 
Chap01 introduction to project management
Chap01 introduction to project managementChap01 introduction to project management
Chap01 introduction to project managementDhani Ahmad
 
Project scope management
Project scope managementProject scope management
Project scope managementDhani Ahmad
 
Chapter03 managing the information systems project
Chapter03 managing the information systems projectChapter03 managing the information systems project
Chapter03 managing the information systems projectDhani Ahmad
 
Database Systems Introduction (INTD-3535)
Database Systems Introduction (INTD-3535)Database Systems Introduction (INTD-3535)
Database Systems Introduction (INTD-3535)julyprum
 
Structured analysis and structured design
Structured analysis  and structured designStructured analysis  and structured design
Structured analysis and structured designSudeep Singh
 
Chap03 the project management process groups
Chap03 the project management process groupsChap03 the project management process groups
Chap03 the project management process groupsDhani Ahmad
 
Bsc cs ii-dbms- u-i-database systems
Bsc cs ii-dbms- u-i-database systemsBsc cs ii-dbms- u-i-database systems
Bsc cs ii-dbms- u-i-database systemsRai University
 

Viewers also liked (20)

Object-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochObject-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady Booch
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
Ooad
OoadOoad
Ooad
 
Chapter01 the systems development environment
Chapter01 the systems development environmentChapter01 the systems development environment
Chapter01 the systems development environment
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Introduction To Ooad
Introduction To OoadIntroduction To Ooad
Introduction To Ooad
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Structured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignStructured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and Design
 
Implementing security
Implementing securityImplementing security
Implementing security
 
Chapter19 rapid application development
Chapter19 rapid application developmentChapter19 rapid application development
Chapter19 rapid application development
 
Chapter15 finalizing design specifications
Chapter15 finalizing design specificationsChapter15 finalizing design specifications
Chapter15 finalizing design specifications
 
Data processing by Neeraj Bhandari ( Surkhet.Nepal )
Data processing by Neeraj Bhandari ( Surkhet.Nepal )Data processing by Neeraj Bhandari ( Surkhet.Nepal )
Data processing by Neeraj Bhandari ( Surkhet.Nepal )
 
Introduction er & eer
Introduction er & eerIntroduction er & eer
Introduction er & eer
 
Chap01 introduction to project management
Chap01 introduction to project managementChap01 introduction to project management
Chap01 introduction to project management
 
Project scope management
Project scope managementProject scope management
Project scope management
 
Chapter03 managing the information systems project
Chapter03 managing the information systems projectChapter03 managing the information systems project
Chapter03 managing the information systems project
 
Database Systems Introduction (INTD-3535)
Database Systems Introduction (INTD-3535)Database Systems Introduction (INTD-3535)
Database Systems Introduction (INTD-3535)
 
Structured analysis and structured design
Structured analysis  and structured designStructured analysis  and structured design
Structured analysis and structured design
 
Chap03 the project management process groups
Chap03 the project management process groupsChap03 the project management process groups
Chap03 the project management process groups
 
Bsc cs ii-dbms- u-i-database systems
Bsc cs ii-dbms- u-i-database systemsBsc cs ii-dbms- u-i-database systems
Bsc cs ii-dbms- u-i-database systems
 

Similar to Chapter20 object oriented analysis and design

UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling LanguageShahzad
 
Introduction to Modeling Java and UML
Introduction to Modeling Java and UMLIntroduction to Modeling Java and UML
Introduction to Modeling Java and UMLDang Tuan
 
Ch 5 O O Data Modeling
Ch 5  O O  Data ModelingCh 5  O O  Data Modeling
Ch 5 O O Data Modelingguest8fdbdd
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural ModelingAMITJain879
 
Ch 5 O O Data Modeling Class
Ch 5  O O  Data Modeling ClassCh 5  O O  Data Modeling Class
Ch 5 O O Data Modeling Classguest8fdbdd
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented DesignAravinth NSP
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UMLyndaravind
 
Selab1 slides
Selab1 slidesSelab1 slides
Selab1 slidesSumedha
 
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTleela rani
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD pptPRIANKA R
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxNwabueze Obioma
 

Similar to Chapter20 object oriented analysis and design (20)

UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
Introduction to Modeling Java and UML
Introduction to Modeling Java and UMLIntroduction to Modeling Java and UML
Introduction to Modeling Java and UML
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Ch 5 O O Data Modeling
Ch 5  O O  Data ModelingCh 5  O O  Data Modeling
Ch 5 O O Data Modeling
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
 
Ch 5 O O Data Modeling Class
Ch 5  O O  Data Modeling ClassCh 5  O O  Data Modeling Class
Ch 5 O O Data Modeling Class
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Ch14
Ch14Ch14
Ch14
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Selab1 slides
Selab1 slidesSelab1 slides
Selab1 slides
 
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
UML
UMLUML
UML
 
Ood Post1
Ood Post1Ood Post1
Ood Post1
 
4. UML
4. UML4. UML
4. UML
 

More from Dhani Ahmad

Strategic planning
Strategic planningStrategic planning
Strategic planningDhani Ahmad
 
Strategic information system planning
Strategic information system planningStrategic information system planning
Strategic information system planningDhani Ahmad
 
Opportunities, threats, industry competition, and competitor analysis
Opportunities, threats, industry competition, and competitor analysisOpportunities, threats, industry competition, and competitor analysis
Opportunities, threats, industry competition, and competitor analysisDhani Ahmad
 
Information system
Information systemInformation system
Information systemDhani Ahmad
 
Information resource management
Information resource managementInformation resource management
Information resource managementDhani Ahmad
 
Types of islamic institutions and records
Types of islamic institutions and recordsTypes of islamic institutions and records
Types of islamic institutions and recordsDhani Ahmad
 
Islamic information seeking behavior
Islamic information seeking behaviorIslamic information seeking behavior
Islamic information seeking behaviorDhani Ahmad
 
Islamic information management
Islamic information managementIslamic information management
Islamic information managementDhani Ahmad
 
Islamic information management sources in islam
Islamic information management sources in islamIslamic information management sources in islam
Islamic information management sources in islamDhani Ahmad
 
The need for security
The need for securityThe need for security
The need for securityDhani Ahmad
 
The information security audit
The information security auditThe information security audit
The information security auditDhani Ahmad
 
Security technologies
Security technologiesSecurity technologies
Security technologiesDhani Ahmad
 
Security and personnel
Security and personnelSecurity and personnel
Security and personnelDhani Ahmad
 
Risk management ii
Risk management iiRisk management ii
Risk management iiDhani Ahmad
 
Risk management i
Risk management iRisk management i
Risk management iDhani Ahmad
 
Privacy & security in heath care it
Privacy & security in heath care itPrivacy & security in heath care it
Privacy & security in heath care itDhani Ahmad
 
Physical security
Physical securityPhysical security
Physical securityDhani Ahmad
 
Legal, ethical & professional issues
Legal, ethical & professional issuesLegal, ethical & professional issues
Legal, ethical & professional issuesDhani Ahmad
 

More from Dhani Ahmad (20)

Strategic planning
Strategic planningStrategic planning
Strategic planning
 
Strategic information system planning
Strategic information system planningStrategic information system planning
Strategic information system planning
 
Opportunities, threats, industry competition, and competitor analysis
Opportunities, threats, industry competition, and competitor analysisOpportunities, threats, industry competition, and competitor analysis
Opportunities, threats, industry competition, and competitor analysis
 
Information system
Information systemInformation system
Information system
 
Information resource management
Information resource managementInformation resource management
Information resource management
 
Types of islamic institutions and records
Types of islamic institutions and recordsTypes of islamic institutions and records
Types of islamic institutions and records
 
Islamic information seeking behavior
Islamic information seeking behaviorIslamic information seeking behavior
Islamic information seeking behavior
 
Islamic information management
Islamic information managementIslamic information management
Islamic information management
 
Islamic information management sources in islam
Islamic information management sources in islamIslamic information management sources in islam
Islamic information management sources in islam
 
The need for security
The need for securityThe need for security
The need for security
 
The information security audit
The information security auditThe information security audit
The information security audit
 
Security technologies
Security technologiesSecurity technologies
Security technologies
 
Security policy
Security policySecurity policy
Security policy
 
Security and personnel
Security and personnelSecurity and personnel
Security and personnel
 
Secure
SecureSecure
Secure
 
Risk management ii
Risk management iiRisk management ii
Risk management ii
 
Risk management i
Risk management iRisk management i
Risk management i
 
Privacy & security in heath care it
Privacy & security in heath care itPrivacy & security in heath care it
Privacy & security in heath care it
 
Physical security
Physical securityPhysical security
Physical security
 
Legal, ethical & professional issues
Legal, ethical & professional issuesLegal, ethical & professional issues
Legal, ethical & professional issues
 

Recently uploaded

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 

Recently uploaded (20)

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 

Chapter20 object oriented analysis and design

  • 1. Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented Analysis and Design 20.1
  • 2. Learning Objectives  Key terms  Use Case  Object  Object class  State  Behavior  Operation  Encapsulation  Constructor Operation  Query Operation  Update Operation  Association  Multiplicity  Abstract Class  Concrete Class  Class-Scope attribute  Abstract operation  Method  Polymorphism  Overriding  Aggregation  Composition  Event  State transition  Sequence diagram 20.2
  • 3. Learning Objectives  Discuss the concepts and principles underlying the object-oriented approach  Describe the activities in the different phases of the object-oriented development life cycle  State the advantages of object-oriented modeling versus traditional systems development approaches  Learn to develop requirements models using use- case diagrams  Learn to use class diagrams to develop object models of the problem domain  Learn to develop dynamic models using state, interaction and activity diagrams  Model real-world applications using UML diagrams 20.3
  • 4. Introduction Object-Oriented systems development life cycle  Process of progressively developing representation of a system component (or object) through the phases of analysis, design and implementation  The model is abstract in the early stages  As the model evolves, it becomes more and more detailed 20.4
  • 5. The Object-Oriented Systems Development Life Cycle Analysis Phase  Model of the real-world application is developed showing its important properties  Model specifies the functional behavior of the system independent of implementation details Design Phase  Analysis model is refined and adapted to the environment  Can be separated into two stages  System design  Concerned with overall system architecture  Object design  Implementation details are added to system design20.5
  • 6. The Object-Oriented Systems Development Life Cycle Implementation Phase  Design is implemented using a programming language or database management system 20.6
  • 7. The Object-Oriented Systems Development Life Cycle Deliverables and Outcomes 1. The ability to tackle more challenging problem domains 2. Improved communication among users, analysts, designers and programmers 3. Increased consistency among analysis, design and programming activities 4. Explicit representation of commonality among system components 5. Reusability of analysis, design and programming results 6. Increased consistency among the models developed during object-oriented analysis, design, and programming 20.7
  • 8. The Unified Modeling Language (UML) A notation that allows the modeler to specify, visualize and construct the artifacts of software systems, as well as business models Techniques and notations  Use cases  Class diagrams  State diagrams  Sequence diagrams  Activity diagrams 20.8
  • 9. Use-Case Modeling Applied to analyze functional requirements of the system Performed during the analysis phase to help developers understand functional requirements of the system without regard for implementation details Use Case  A complete sequence of related actions initiated by an actor Actor  An external entity that interacts with the system 20.9
  • 10. Figure 20-2 Use-case diagram for a university registration system 20.10
  • 11. Use-Case Modeling Developing Use-Case Diagrams  Use cases are always initiated by an actor  Use cases represent complete functionality of the system Relationships Between Use Cases  Use cases may participate in relationships with other use-cases  Two types  Extends  Adds new behaviors or actions to a use case  Include  One use case references another use case 20.11
  • 12. Object Modeling Class Diagrams Object  An entity that has a well-defined role in the application domain, and has state, behavior, and identity State  A condition that encompasses an object’s properties and the values those properties have Behavior  A manner that represents how an object acts and reacts Object Class  A set of objects that share a common structure and a common behavior20.12
  • 13. Object Modeling Class Diagrams Class Diagram  Class is represented as a rectangle with three compartments  Objects can participate in relationships with objects of the same class 20.13
  • 14. Object Modeling Object Diagrams Object Diagram  A graph of instances that are compatible with a given class diagram; also called an instance diagram  Object is represented as a rectangle with two compartments Operation  A function or service that is provided by all the instances of a class Encapsulation  The technique of hiding the internal implementation details of an object from its external view20.14
  • 15. Object Modeling Object Diagrams Types of Operations  Query  An operation that accesses the state of an object but does not alter the state  Update  An operation that alters the state of an object  Scope  An operation that applies to a class rather than an object instance  Constructor  An operation that creates a new instance of a class 20.15
  • 16. Figure 20-5 UML class and object diagrams (a) Class diagram showing two classes (b) Object diagram with two instances 20.16
  • 17. Representing Associations Association  A relationship between object classes  Degree may be unary, binary, ternary or higher  Depicted as a solid line between participating classes Association Role  The end of an association where it connects to a class  Each role has multiplicity, which indicates how many objects participate in a given association relationship 20.17
  • 18. Representing Association Classes Association Class  An association that has attributes or operations of its own, or that participates in relationships with other classes Similar to an associative entity in ER modeling Figure 20-9 shows one example 20.18
  • 19. Representing Derived Attributes, Derived Associations and Derived Roles Derived attributes, associations and roles can be computed from other attributes, associations or roles Shown by placing a slash (/) before the name of the element 20.19
  • 20. Representing Generalization Generalization  Abstraction of common features among multiple classes, as well as their relationships, into a more general class Subclass  A class that has been generalized Superclass  A class that is composed of several generalized subclasses 20.20
  • 21. Representing Generalization Discriminator  Shows which property of an object class is being abstracted by a generalization relationship Inheritance  A property that a subclass inherits the features from its superclass Abstract Class  A class that has no direct instances, but whose descendents may have direct instances Concrete Class  A class that can have direct instances 20.21
  • 22. Representing Generalization Semantic Constraints among Subclasses  Overlapping  A descendant may be descended from more than one of the subclasses  Disjoint  A descendant may not be descended from more than one of the subclasses  Complete  All subclasses have been specified. No additional subclasses are expected  Incomplete  Some subclasses have been specified, but the list is known to be incomplete 20.22
  • 23. Representing Generalization Class-scope Attribute  An attribute of a class which specifies a value common to an entire class, rather than a specific value for an instance. Abstract Operation  Defines the form or protocol of an operation but not its implementation Method  The implementation of an operation Polymorphism  The same operation may apply to two or more classes in different ways20.23
  • 24. Interpreting Inheritance and Overriding Overriding  Process of replacing a method inherited from a superclass by a more specific implementation of that method in a subclass  Three Types  Overriding for Extension  Operation inherited by a subclass from its superclass is extended by adding some behavior  Overriding for restriction  The protocol of the new operation in the subclass is restricted  Overriding for optimization  The new operation is implemented with improved code by exploiting the restrictions imposed by a subclass 20.24
  • 25. Representing Multiple Inheritance Multiple Classification  An object is an instance of more than one class  Use is discouraged and not supported by UML semantics Multiple Inheritance  Allows a class to inherit features from more than one superclass 20.25
  • 26. Representing Aggregation Aggregation  A part-of relationship between a component object and an aggregate object  Example: Personal computer  Composed of CPU, Monitor, Keyboard, etc 20.26
  • 27. Dynamic Modeling: State Diagrams State  A condition during the life of an object during which it satisfies some conditions, performs some actions or waits for some events  Shown as a rectangle with rounded corners State Transition  The changes in the attribute of an object or in the links an object has with other objects  Shown as a solid arrow  Diagrammed with a guard condition and action Event  Something that takes place at a certain point in time 20.27
  • 28. Dynamic Modeling: Sequence Diagrams Sequence Diagram  A depiction of the interaction among objects during certain periods of time Activation  The time period during which an object performs an operation Messages  Means by which objects communicate with each other 20.28
  • 29. Dynamic Modeling Sequence Diagrams Synchronous Message  A type of message in which the caller has to wait for the receiving object to finish executing the called operation before it can resume execution itself Simple Message  A message that transfers control from the sender to the recipient without describing the details of the communication 20.29
  • 30. Figure 20-24 Sequence diagram for a class registration scenario with prerequisites 20.30
  • 31. Process Modeling: Activity Diagrams Shows the conditional logic for the sequence of system activities needed to accomplish a business process Clearly shows parallel and alternative behaviors Can be used to show the logic of a use case 20.31
  • 32. Analysis Versus Design Start with existing set of analysis model Progressively add technical details Design model must be more detailed than analysis model Component Diagram  A diagram that shows the software components or modules and their dependencies Deployment Diagram  A diagram that shows how the software components, process and objects are deployed into the physical architecture of the system 20.32
  • 33. Summary Object-Oriented modeling approach  Benefits  Unified Modeling Language  Use cases  Class diagrams  State diagrams  Sequence diagrams  Activity Diagrams Use-case modeling 20.33
  • 34. Summary Object Modeling: Class Diagrams  Associations  Generalizations  Inheritance and Overriding  Aggregation Dynamic Modeling: State Diagrams Dynamic Modeling: Sequence Diagrams Analysis Versus Design20.34