尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
 OO Design is a process of invention, where developers create
the abstractions necessary to meet the system’s requirements
 OO Design is independent of the programming language used to
implement the design. However, using OO Language helps
 Objects are independent and encapsulate state and
representation information
 System functionality is expressed in terms of object services
 Shared data areas are eliminated. Objects communicate via
message passing
 OOD does not reduce development time. In fact it may increase
it!
 However, there is empirical evidence that OOD facilitates the
following activities:
 Reuse
 Maintenance
 Verification
 OOD is a set of principles and methods for designing systems based on
combining data and function into entities called objects
 OOD Principles include
 Encapsulation
 Decomposition
 Design Patterns
 Hierarchical Relationships
 Defined decision making
 OO systems are designed using a three phase iterative process
- Analysis
- Design
- Implementation
 Successful software systems evolve over time, leading to
iterative process, by evolving and refining each time through the
process.
 Definition ( Booch ):
OOA is a method of analysis that examines the requirements of
the system from the perspective of classes and objects that are
found in the vocabulary of the problem domain
 Transform programming problem into a precise description of
the tasks to be performed. Prior to analysis problem is usually
vaguely understood.
 OOA focuses on What needs to be done, not How it needs to be
done.
 OOA is the input to Object Oriented Design (OOD)
 Quality of OOD is based on quality of OOA
 When defining OOA need to work with problem domain expert.
 OOA provides a description of the problem
 The description must be complete, consistent, readable,
reviewable by diverse parties, and testable against the reality.
 You should not pursue issues of class design or representation
in the analysis phase
 Identify functional and non-functional points of the system
 Identify classes and objects( their roles and responsibilities)
from the vocabulary of problem domain
 Functional points are observable and testable behaviors of a
system
 End use perspective: function points represent the activity of
the system in response to an event
 Analyst perspective: function points represent a behavior. The
more function points, the greater system’s complexity
 When you have formal requirements analysis document
describing behavioral requirements
 Described non-functional requirements: reliability, security,
portability, and performance
 Capture descriptions of behavior by using scenarios
 Risk assessment: Identify known risks that may impact the
design process. Better to document risks early than discover
them latter.
 Identify objects that are common to a particular system
 Study similar existing systems (REUSE), benefiting from
other projects that had to make similar design decisions.
Do not reinvent the wheels!
 A domain model is a representation of real-world
conceptual classes
 A domain model is a visual representation of conceptual
classes or real-world objects in a domain of interest
 Identify the function points of the system and cluster them
by the related behaviors.
 If an object life cycle is essential to a scenario document
using a finite state machine
 Look for patterns in among developed scenarios
 Goal of OOA is to discover the objects in the system
specification
 We discover objects and classes that form the vocabulary of
system domain.
 Classical Approach
 Behavior Analysis
 Domain Analysis
 Use case Analysis
 CRC cards
 Structural Analysis
 Derive classes from the requirements of problem domain
 Derive candidate classes and objects from the following
sources:
 Tangible things
 Roles
 Events
 Interactions
 Structure
 Devices/Locations
 Organizational Units / Grouping
 Focus on dynamic behavior as the primary
source of classes and objects
 Emphasize responsibilities:
 Actions object can perform
 Group things that have common responsibilities.
 Create hierarchies that embody general responsibilities
and subclasses that specialize their behavior.
 Focuses on single specific application
 Seeks to identify the classes and objects that are
common to all applications within a specific domain
 Examples: Patient record tracking, stock and bond
trading, Compilers and etc.
 Addresses the fact that there are very few unique kinds
of software systems
 Goal: Derive process of analysis in a meaningful way
 Develop series of important scenarios and identify
objects, their responsibilities and how objects collaborate
with other objects
 A model is an abstraction describing a subset of a system
 A view depicts selected aspects of a model
 A notation is a set of graphical or textual rules for depicting
views
 Views and models of a single system may overlap each
other
 Introduced in 1989 by Kent Beck and Ward
Cunningham
 designed to teach object oriented programming at
Tektronix
 a CRC card is an index card in a group setting used
to represent:
 a class of objects
 their behavior
 their interactions
 Help to analyze scenarios
 CRC cards are 3x5 cards capturing:
 Name of the class
 Class responsibilities
 Collaboration with other classes
 Software team walks through scenarios and and
assigns new responsibilities, updates existing,
discovers new classes and etc
 responsibility: knowledge class maintains or service
class provides
 collaborator: a class whose knowledge or services are
needed to fulfill a responsibility
Class Name:
Responsibilities:
(what class does or knows)
Collaborators:
(which classes help it
perform each
responsibility)
 Responsibilities are concerned with:
 the maintenance of knowledge
 the actions the object can perform
 Technique:
 1. Highlight verbs/phrases in requirements
 2. Do walkthroughs
 3. Spread intelligence
 4. Keep behaviour and knowledge close
 A collaboration is where one class (a client) needs another
one (a server) in order to perform its own responsibilities.
 NB this is a one-way relationship
 Each responsibility may have:
 no collaborations
 one collaboration
 many collaborations
It involves a creative exchange:
 physical simulation of the workings of the system
 participants “become” one or more objects during walk-
throughs of typical scenarios
 classes are discovered and converted into cards
 responsibilities are assigned
 collaborators for each responsibility are identified
 portable: cards can be used anywhere, even away from the
computer or office
 anthropomorphic: no computer program can capture the
essence of the interactions forced by passing the cards
 level of involvement felt by each team member increases
 useful throughout the life cycle
 provides a basis for more formal analysis and design
methodologies.
 ease the transition from process orientation to object
orientation.
 UML is a multi-diagrammatic language
 Each diagram is a view into a model
COM6030 Systems Analysis and Design © University of Sheffield 2005
Systems analysis:
•user-oriented: actors and use cases;
•object-oriented: classes and relationships between them.
Clock
time: Time
reportTime(): Time
resetTimeTO(newTime: Time)
Class name
Attribute
Operations
Type
Value returned
Formal
parameter
(argument)Class identification:
•noun identification;
•responsibility driven approach (CRC cards).
THANK YOU

More Related Content

What's hot

Chapter 08
Chapter 08Chapter 08
Chapter 08
Nazir Ahmed
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
IIUI
 
Sda 7
Sda   7Sda   7
Architectural Design Report G4
Architectural Design Report G4Architectural Design Report G4
Architectural Design Report G4
Prizzl
 
Design engineering
Design engineeringDesign engineering
Design engineering
Preeti Mishra
 
software design
software designsoftware design
software design
PRIYADARSINISK
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
Himanshu
 
Software design
Software designSoftware design
Software design
Zulqarnaintayyab
 
06 fse design
06 fse design06 fse design
06 fse design
Mohesh Chandran
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9
Dhairya Joshi
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
rishi ram khanal
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
Shagufta shaheen
 
Ch06
Ch06Ch06
Se ii unit2-software_design_principles
Se ii unit2-software_design_principlesSe ii unit2-software_design_principles
Se ii unit2-software_design_principles
Ahmad sohail Kakar
 
Software design
Software designSoftware design
Software design
Naveen Sagayaselvaraj
 
Ch 6
Ch 6Ch 6
software engineering
software engineeringsoftware engineering
software engineering
Abinaya B
 
Object oriented analysis and design unit- v
Object oriented analysis and design unit- vObject oriented analysis and design unit- v
Object oriented analysis and design unit- v
Shri Shankaracharya College, Bhilai,Junwani
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
Umaselvi_R
 

What's hot (20)

Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
 
Sda 7
Sda   7Sda   7
Sda 7
 
Architectural Design Report G4
Architectural Design Report G4Architectural Design Report G4
Architectural Design Report G4
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
software design
software designsoftware design
software design
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
Software design
Software designSoftware design
Software design
 
06 fse design
06 fse design06 fse design
06 fse design
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
 
Ch06
Ch06Ch06
Ch06
 
Se ii unit2-software_design_principles
Se ii unit2-software_design_principlesSe ii unit2-software_design_principles
Se ii unit2-software_design_principles
 
Software design
Software designSoftware design
Software design
 
Ch 6
Ch 6Ch 6
Ch 6
 
software engineering
software engineeringsoftware engineering
software engineering
 
Object oriented analysis and design unit- v
Object oriented analysis and design unit- vObject oriented analysis and design unit- v
Object oriented analysis and design unit- v
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 

Similar to Object oriented software engineering

OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientation
Dr Chetan Shelke
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
Sudarsun Santhiappan
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
Aravinth NSP
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
Techglyphs
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
yndaravind
 
OBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .ppt
OBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .pptOBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .ppt
OBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .ppt
AshishSaraswat30
 
Ooad
OoadOoad
Ooad
gantib
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Mahesh Bhalerao
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
PreethaV16
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
Jitendra s Rathore
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
VivekChaudhary93
 
06 styles and_greenfield_design
06 styles and_greenfield_design06 styles and_greenfield_design
06 styles and_greenfield_design
Majong DevJfu
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
ArifaMehreen1
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
RickNZ
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
Manoj Reddy
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
AnanthiP8
 
Building an Information System
Building an Information SystemBuilding an Information System
Building an Information System
Jo Balucanag - Bitonio
 
uml.pptx
uml.pptxuml.pptx
uml.pptx
amanuel236786
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
Rishabh Soni
 
4b use-case analysis
4b use-case analysis4b use-case analysis
4b use-case analysis
Châu Thanh Chương
 

Similar to Object oriented software engineering (20)

OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientation
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
OBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .ppt
OBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .pptOBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .ppt
OBJECT ORIENTED ANALYSIS FOR EASY UNDERSTANDING .ppt
 
Ooad
OoadOoad
Ooad
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
06 styles and_greenfield_design
06 styles and_greenfield_design06 styles and_greenfield_design
06 styles and_greenfield_design
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Requirements modeling
Requirements modelingRequirements modeling
Requirements modeling
 
Building an Information System
Building an Information SystemBuilding an Information System
Building an Information System
 
uml.pptx
uml.pptxuml.pptx
uml.pptx
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
4b use-case analysis
4b use-case analysis4b use-case analysis
4b use-case analysis
 

Recently uploaded

Lateral load-resisting systems in buildings.pptx
Lateral load-resisting systems in buildings.pptxLateral load-resisting systems in buildings.pptx
Lateral load-resisting systems in buildings.pptx
DebendraDevKhanal1
 
My Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdfMy Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdf
Geoffrey Wardle. MSc. MSc. Snr.MAIAA
 
Basic principle and types Static Relays ppt
Basic principle and  types  Static Relays pptBasic principle and  types  Static Relays ppt
Basic principle and types Static Relays ppt
Sri Ramakrishna Institute of Technology
 
Data Communication and Computer Networks Management System Project Report.pdf
Data Communication and Computer Networks Management System Project Report.pdfData Communication and Computer Networks Management System Project Report.pdf
Data Communication and Computer Networks Management System Project Report.pdf
Kamal Acharya
 
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
sonamrawat5631
 
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine
 
SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )
Tsuyoshi Horigome
 
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Tsuyoshi Horigome
 
Call Girls Nagpur 8824825030 Escort In Nagpur service 24X7
Call Girls Nagpur 8824825030 Escort In Nagpur service 24X7Call Girls Nagpur 8824825030 Escort In Nagpur service 24X7
Call Girls Nagpur 8824825030 Escort In Nagpur service 24X7
sexytaniya455
 
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
Ak47
 
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book NowKandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
SONALI Batra $A12
 
❣Unsatisfied Bhabhi Call Girls Surat 💯Call Us 🔝 7014168258 🔝💃Independent Sura...
❣Unsatisfied Bhabhi Call Girls Surat 💯Call Us 🔝 7014168258 🔝💃Independent Sura...❣Unsatisfied Bhabhi Call Girls Surat 💯Call Us 🔝 7014168258 🔝💃Independent Sura...
❣Unsatisfied Bhabhi Call Girls Surat 💯Call Us 🔝 7014168258 🔝💃Independent Sura...
hotchicksescort
 
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
Banerescorts
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
gapboxn
 
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUESAN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
drshikhapandey2022
 
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASICINTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
GOKULKANNANMMECLECTC
 
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdfAsymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
felixwold
 
Butterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdfButterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdf
Lubi Valves
 
Literature review for prompt engineering of ChatGPT.pptx
Literature review for prompt engineering of ChatGPT.pptxLiterature review for prompt engineering of ChatGPT.pptx
Literature review for prompt engineering of ChatGPT.pptx
LokerXu2
 
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdfFUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
EMERSON EDUARDO RODRIGUES
 

Recently uploaded (20)

Lateral load-resisting systems in buildings.pptx
Lateral load-resisting systems in buildings.pptxLateral load-resisting systems in buildings.pptx
Lateral load-resisting systems in buildings.pptx
 
My Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdfMy Airframe Metallic Design Capability Studies..pdf
My Airframe Metallic Design Capability Studies..pdf
 
Basic principle and types Static Relays ppt
Basic principle and  types  Static Relays pptBasic principle and  types  Static Relays ppt
Basic principle and types Static Relays ppt
 
Data Communication and Computer Networks Management System Project Report.pdf
Data Communication and Computer Networks Management System Project Report.pdfData Communication and Computer Networks Management System Project Report.pdf
Data Communication and Computer Networks Management System Project Report.pdf
 
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
🔥Young College Call Girls Chandigarh 💯Call Us 🔝 7737669865 🔝💃Independent Chan...
 
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024
 
SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )SPICE PARK JUL2024 ( 6,866 SPICE Models )
SPICE PARK JUL2024 ( 6,866 SPICE Models )
 
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
Update 40 models( Solar Cell ) in SPICE PARK(JUL2024)
 
Call Girls Nagpur 8824825030 Escort In Nagpur service 24X7
Call Girls Nagpur 8824825030 Escort In Nagpur service 24X7Call Girls Nagpur 8824825030 Escort In Nagpur service 24X7
Call Girls Nagpur 8824825030 Escort In Nagpur service 24X7
 
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
College Call Girls Kolkata 🔥 7014168258 🔥 Real Fun With Sexual Girl Available...
 
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book NowKandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
Kandivali Call Girls ☑ +91-9967584737 ☑ Available Hot Girls Aunty Book Now
 
❣Unsatisfied Bhabhi Call Girls Surat 💯Call Us 🔝 7014168258 🔝💃Independent Sura...
❣Unsatisfied Bhabhi Call Girls Surat 💯Call Us 🔝 7014168258 🔝💃Independent Sura...❣Unsatisfied Bhabhi Call Girls Surat 💯Call Us 🔝 7014168258 🔝💃Independent Sura...
❣Unsatisfied Bhabhi Call Girls Surat 💯Call Us 🔝 7014168258 🔝💃Independent Sura...
 
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore ✔ 9079923931 ✔ Hi I Am Divya Vip Call Girl Servic...
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
 
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUESAN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
 
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASICINTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
 
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdfAsymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
 
Butterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdfButterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdf
 
Literature review for prompt engineering of ChatGPT.pptx
Literature review for prompt engineering of ChatGPT.pptxLiterature review for prompt engineering of ChatGPT.pptx
Literature review for prompt engineering of ChatGPT.pptx
 
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdfFUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
 

Object oriented software engineering

  • 1.
  • 2.  OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements  OO Design is independent of the programming language used to implement the design. However, using OO Language helps  Objects are independent and encapsulate state and representation information  System functionality is expressed in terms of object services  Shared data areas are eliminated. Objects communicate via message passing
  • 3.  OOD does not reduce development time. In fact it may increase it!  However, there is empirical evidence that OOD facilitates the following activities:  Reuse  Maintenance  Verification
  • 4.  OOD is a set of principles and methods for designing systems based on combining data and function into entities called objects  OOD Principles include  Encapsulation  Decomposition  Design Patterns  Hierarchical Relationships  Defined decision making
  • 5.  OO systems are designed using a three phase iterative process - Analysis - Design - Implementation  Successful software systems evolve over time, leading to iterative process, by evolving and refining each time through the process.
  • 6.  Definition ( Booch ): OOA is a method of analysis that examines the requirements of the system from the perspective of classes and objects that are found in the vocabulary of the problem domain  Transform programming problem into a precise description of the tasks to be performed. Prior to analysis problem is usually vaguely understood.  OOA focuses on What needs to be done, not How it needs to be done.
  • 7.  OOA is the input to Object Oriented Design (OOD)  Quality of OOD is based on quality of OOA  When defining OOA need to work with problem domain expert.  OOA provides a description of the problem  The description must be complete, consistent, readable, reviewable by diverse parties, and testable against the reality.  You should not pursue issues of class design or representation in the analysis phase
  • 8.  Identify functional and non-functional points of the system  Identify classes and objects( their roles and responsibilities) from the vocabulary of problem domain  Functional points are observable and testable behaviors of a system  End use perspective: function points represent the activity of the system in response to an event  Analyst perspective: function points represent a behavior. The more function points, the greater system’s complexity
  • 9.  When you have formal requirements analysis document describing behavioral requirements  Described non-functional requirements: reliability, security, portability, and performance  Capture descriptions of behavior by using scenarios  Risk assessment: Identify known risks that may impact the design process. Better to document risks early than discover them latter.
  • 10.  Identify objects that are common to a particular system  Study similar existing systems (REUSE), benefiting from other projects that had to make similar design decisions. Do not reinvent the wheels!  A domain model is a representation of real-world conceptual classes  A domain model is a visual representation of conceptual classes or real-world objects in a domain of interest
  • 11.  Identify the function points of the system and cluster them by the related behaviors.  If an object life cycle is essential to a scenario document using a finite state machine  Look for patterns in among developed scenarios
  • 12.  Goal of OOA is to discover the objects in the system specification  We discover objects and classes that form the vocabulary of system domain.  Classical Approach  Behavior Analysis  Domain Analysis  Use case Analysis  CRC cards  Structural Analysis
  • 13.  Derive classes from the requirements of problem domain  Derive candidate classes and objects from the following sources:  Tangible things  Roles  Events  Interactions  Structure  Devices/Locations  Organizational Units / Grouping
  • 14.  Focus on dynamic behavior as the primary source of classes and objects  Emphasize responsibilities:  Actions object can perform  Group things that have common responsibilities.  Create hierarchies that embody general responsibilities and subclasses that specialize their behavior.
  • 15.  Focuses on single specific application  Seeks to identify the classes and objects that are common to all applications within a specific domain  Examples: Patient record tracking, stock and bond trading, Compilers and etc.  Addresses the fact that there are very few unique kinds of software systems
  • 16.  Goal: Derive process of analysis in a meaningful way  Develop series of important scenarios and identify objects, their responsibilities and how objects collaborate with other objects
  • 17.  A model is an abstraction describing a subset of a system  A view depicts selected aspects of a model  A notation is a set of graphical or textual rules for depicting views  Views and models of a single system may overlap each other
  • 18.
  • 19.  Introduced in 1989 by Kent Beck and Ward Cunningham  designed to teach object oriented programming at Tektronix  a CRC card is an index card in a group setting used to represent:  a class of objects  their behavior  their interactions
  • 20.  Help to analyze scenarios  CRC cards are 3x5 cards capturing:  Name of the class  Class responsibilities  Collaboration with other classes  Software team walks through scenarios and and assigns new responsibilities, updates existing, discovers new classes and etc
  • 21.
  • 22.  responsibility: knowledge class maintains or service class provides  collaborator: a class whose knowledge or services are needed to fulfill a responsibility Class Name: Responsibilities: (what class does or knows) Collaborators: (which classes help it perform each responsibility)
  • 23.  Responsibilities are concerned with:  the maintenance of knowledge  the actions the object can perform  Technique:  1. Highlight verbs/phrases in requirements  2. Do walkthroughs  3. Spread intelligence  4. Keep behaviour and knowledge close
  • 24.  A collaboration is where one class (a client) needs another one (a server) in order to perform its own responsibilities.  NB this is a one-way relationship  Each responsibility may have:  no collaborations  one collaboration  many collaborations
  • 25.
  • 26. It involves a creative exchange:  physical simulation of the workings of the system  participants “become” one or more objects during walk- throughs of typical scenarios  classes are discovered and converted into cards  responsibilities are assigned  collaborators for each responsibility are identified
  • 27.  portable: cards can be used anywhere, even away from the computer or office  anthropomorphic: no computer program can capture the essence of the interactions forced by passing the cards  level of involvement felt by each team member increases  useful throughout the life cycle  provides a basis for more formal analysis and design methodologies.  ease the transition from process orientation to object orientation.
  • 28.  UML is a multi-diagrammatic language  Each diagram is a view into a model
  • 29. COM6030 Systems Analysis and Design © University of Sheffield 2005 Systems analysis: •user-oriented: actors and use cases; •object-oriented: classes and relationships between them. Clock time: Time reportTime(): Time resetTimeTO(newTime: Time) Class name Attribute Operations Type Value returned Formal parameter (argument)Class identification: •noun identification; •responsibility driven approach (CRC cards).
  翻译: