SlideShare a Scribd company logo
Object Oriented System Design
MODULE-1
Amity University, Noida
Course Objective
• The purpose of this module is to acquaint students with key aspects
of object-oriented principles and systems modeling.
• It also aims to give students skills in the use of appropriate tools
and familiarity with techniques applied at different stages of the
software development lifecycle. Object oriented concepts have
been the backbone of software solution design across platform
such as embedded, internet and business solution. Over the years
the market is growing stronger and bigger size.
• Meanwhile, the need for reliable and scalable software solution
design is ever-increasing. Hence, the skilled professionals with good
foundation of object oriented concepts are needed to fulfill the
ever increasing requirements.
Module - 1
• CLO1-Understanding the concept of OOSA &
OOSD with UML.
Introduction to OOSD
• Technical approach
Analyzing + Designing ->
(Application,
System, business)
applying
Object-oriented
programming,
using
visual modeling
for stake
holderes and product
quality
• Designing software for large applications is a very complextask.
It could arguably be said that there is no limit to how complex software
design could get. The reason for this is that we generally design software
to model some real-world phenomenon.
• This course forms a strong foundation
in:-
• Understanding and design of modern
computing systems.
• This course explores techniques that go into
designing a modern microprocessor.
• Concepts of Object Oriented design
• Stages of normal software development
• Analysis,
• Design, and
• Implementation
• Phases in Object-Oriented Software
Development
• object-oriented analysis.
• object-oriented design
• Self contained Objects+ Classes
What is OOSD?
• The Object-Oriented Software Development Method (OOSD) includes
object-oriented requirements analysis, as well as object-oriented design.
• OOSD is a practical method of developing a software system which
focuses on the objects of a problem throughout development.
• OOSD's focus on objects early in the development, with attention to
generating a useful model, creates a picture of the system that is
modifiable, reusable, reliable, and understandable.
Object Oriented Design
• What is UML
• UML, short for Unified Modeling Language, is a
standardized modeling language consisting of an
integrated set of diagrams.
• Developed to help system and software
developers for specifying, visualizing,
constructing, and documenting the artifacts of
software systems, as well as for business
modeling and other non-software systems.
Origin
• UML is a notation that resulted from the unification of OMT from
• Object Modeling Technique OMT [James Rumbaugh 1991] - was
best for analysis and data-intensive information systems.
• Booch [Grady Booch 1994] - was excellent for design and
implementation. Grady Booch had worked extensively with
the Ada language, and had been a major player in the development
of Object Oriented techniques for the language. Although the
Booch method was strong, the notation was less well received (lots
of cloud shapes dominated his models - not very tidy)
• OOSE (Object-Oriented Software Engineering [Ivar Jacobson 1992])
- featured a model known as Use Cases. Use Cases are a powerful
technique for understanding the behavior of an entire system (an
area where OO has traditionally been weak)
History
• A software development will have many
stakeholders playing a part.
• For Example:
• Analysts
• Designers
• Coders
• Testers
• QA
• The Customer
• Technical Authors
• All of these people are interested in different aspects
of the system, and each of them require a different
level of detail.
• For example, a coder needs to understand the design
of the system and be able to convert the design to a
low level code.
• By contrast, a technical writer is interested in the
behavior of the system as a whole, and needs to
understand how the product functions.
• The UML attempts to provide a language so expressive
that all stakeholders can benefit from at least one UML
diagram.
UML 2 Diagram Structure below:
• Structure diagrams show the static structure of
the system and its parts on different abstraction
and implementation levels and how they are
related to each other.
• The elements in a structure diagram represent
the meaningful concepts of a system, and may
include abstract, real world and implementation
concepts, there are seven types of structure
diagram as follows:
UML Diagrams
• Class Diagram
• Component Diagram
• Deployment Diagram
• Object Diagram
• Package Diagram
• Composite Structure Diagram
• Profile Diagram
• Behavior diagrams show the dynamic behavior of the objects in a
system, which can be described as a series of changes to the system
over time, there are seven types of behavior diagrams as follows:
• Use Case Diagram
• Activity Diagram
• State Machine Diagram
• Sequence Diagram
• Communication Diagram
• Interaction Overview Diagram
• Timing Diagram
Use case Modeling :
• Use case modeling is a useful tool for requirements elicitation. It provides a graphical
representation of the software system's requirements.
• The key elements in a use case model are actors (external entities), and the use
cases themselves. In outline, a use case is a unit of functionality (a requirement), or a service,
in the system. A use case is not a process, or program, or function.
• Because use case models are simple both in concept and appearance, it is relatively easy to
discuss the correctness of a use case model with a non-technical person (such as a customer).
• Use case modeling effectively became a practicable analysis technique with the publication of
Ivar Jacobson's (1991) book “Object-oriented software engineering: a use case driven
approach”. Jacobson has continued to promote this approach to system analysis to the
present day, and it has now been formalized as part of the UML. However, use case modeling
is not very different in its purpose and strategy from earlier techniques, such as structured
viewpoint analysis
Unified Process
Components Relation in 3 components
Unified Process
• Unified Process is based on the enlargement
and refinement of a system through multiple
iterations, with cyclic feedback and
adaptation. The system is developed
incrementally over time, iteration by iteration,
and thus this approach is also known as
iterative and incremental software
development.
Unified Process: Phases and Major
Milestones
• Inception
• The primary goal of the Inception phase is to establish the case for
the viability of the proposed system.
• The tasks that a project team performs during Inception include the
following:
• Defining the scope of the system (that is, what's in and what's out)
• Outlining a candidate architecture, which is made up of initial
versions of six different models
• Identifying critical risks and determining when and how the project
will address them
• Starting to make the business case that the project is worth doing,
based on initial estimates of cost, effort, schedule, and product
quality
Elaboration
• The primary goal of the Elaboration phase is to establish the ability to build the
new system given the financial constraints, schedule constraints, and other kinds
of constraints that the development project faces.
• The tasks that a project team performs during Elaboration include the following:
• Capturing a healthy majority of the remaining functional requirements
• Expanding the candidate architecture into a full architectural baseline, which is an
internal release of the system focused on describing the architecture
• Addressing significant risks on an ongoing basis
• Finalizing the business case for the project and preparing a project plan that
contains sufficient detail to guide the next phase of the project (Construction)
• Construction
• The primary goal of the Construction phase is to build a
system capable of operating successfully in beta customer
environments.
• During Construction, the project team performs tasks that
involve building the system iteratively and incrementally
(see "Iterations and Increments" later in this chapter),
making sure that the viability of the system is always
evident in executable form.
• The major milestone associated with the Construction
phase is called Initial Operational Capability. The project
has reached this milestone if a set of beta customers has a
more or less fully operational system in their hands.
• Transition
• The primary goal of the Transition phase is to
roll out the fully functional system to
customers.
• During Transition, the project team focuses on
correcting defects and modifying the system
to correct previously unidentified problems.
• The major milestone associated with the
Transition phase is called Product Release
• Quiz 1
Case study – the NextGen POS system,
Open ended question
• Identify : Primary and secondary actors in
NextGen POS
• Design Use Case for Process Sale
Symbols
• There can be 5 relationship types in a use case
diagram.
• Association between actor and use case
• Generalization of an actor
• Extend between two use cases
• Include between two use cases
• Generalization of a use case
• Association Between Actor and Use Case
• This one is straightforward and present in
every use case diagram. Few things to note.
• An actor must be associated with at least one
use case.
• An actor can be associated with multiple use
cases.
• Multiple actors can be associated with a single
use case.
Association Between Actor and Use
Case
• Generalization of an Actor
• Generalization of an actor means that one
actor can inherit the role of the other actor.
The descendant inherits all the use cases of
the ancestor. The descendant has one or more
use cases that are specific to that role. Let’s
expand the previous use case diagram to show
the generalization of an
Extending
• The extending use case is dependent on the extended
(base) use case. In the below diagram the “Calculate
Bonus” use case doesn’t make much sense without the
“Deposit Funds” use case.
• The extending use case is usually optional and can be
triggered conditionally. In the diagram, you can see
that the extending use case is triggered only for
deposits over 10,000 or when the age is over 55.
• The extended (base) use case must be meaningful on
its own. This means it should be independent and must
not rely on the behavior of the extending use case.
• Include Relationship Between Two Use Cases
• Include relationship show that the behavior of the
included use case is part of the including (base) use
case. The main reason for this is to reuse common
actions across multiple use cases. In some situations,
this is done to simplify complex behaviors. Few things
to consider when using the <<include>> relationship.
• The base use case is incomplete without the included
use case.
• The included use case is mandatory and not optional.
• Generalization of a Use Case
• This is similar to the generalization of an actor. The
behavior of the ancestor is inherited by the
descendant. This is used when there is common
behavior between two use cases and also specialized
behavior specific to each use case.
• For example, in the previous banking example, there
might be a use case called “Pay Bills”. This can be
generalized to “Pay by Credit Card”, “Pay by Bank
Balance” etc.
• Quiz 2
References
• Barclay, K., & Savage, J. (2003). Object-
oriented Design with UML and Java. Elsevier.
• Booch, G. (1991). object oriented design; with
applications (No. 04; QA76. 64, B6.).

More Related Content

Similar to OOSD_UNIT1 (1).pptx

Software design
Software designSoftware design
Software design
Benazir Fathima
 
Module3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfModule3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdf
Gerard Alba
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
do_2013
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdf
do_2013
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
do_2013
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
RAVALCHIRAG1
 
ppt2.pptx
ppt2.pptxppt2.pptx
ppt2.pptx
JOHNNYGALLA2
 
Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdf
avishekpradhan24
 
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
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
Gobinath Subramaniam
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
Mohammed Fazuluddin
 
Architecture of Object Oriented Software Engineering
Architecture of Object Oriented Software EngineeringArchitecture of Object Oriented Software Engineering
Architecture of Object Oriented Software Engineering
Sandesh Jonchhe
 
Week 4- Software Process models (Cont..).pptx
Week 4- Software Process models (Cont..).pptxWeek 4- Software Process models (Cont..).pptx
Week 4- Software Process models (Cont..).pptx
syedusama54
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
Chapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptxChapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptx
aroraritik30
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
sabin kafle
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
YousefYassin5
 

Similar to OOSD_UNIT1 (1).pptx (20)

Uml
UmlUml
Uml
 
Software design
Software designSoftware design
Software design
 
Module3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfModule3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdf
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdf
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
 
ppt2.pptx
ppt2.pptxppt2.pptx
ppt2.pptx
 
Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdf
 
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
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Architecture of Object Oriented Software Engineering
Architecture of Object Oriented Software EngineeringArchitecture of Object Oriented Software Engineering
Architecture of Object Oriented Software Engineering
 
sdlc.pptx
sdlc.pptxsdlc.pptx
sdlc.pptx
 
Week 4- Software Process models (Cont..).pptx
Week 4- Software Process models (Cont..).pptxWeek 4- Software Process models (Cont..).pptx
Week 4- Software Process models (Cont..).pptx
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Chapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptxChapter 1-Object Oriented Software Engineering.pptx
Chapter 1-Object Oriented Software Engineering.pptx
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 

More from DebabrataPain1

Module 2.2.pptx
Module 2.2.pptxModule 2.2.pptx
Module 2.2.pptx
DebabrataPain1
 
ML Module 3 Non Linear Learning.pptx
ML Module 3 Non Linear Learning.pptxML Module 3 Non Linear Learning.pptx
ML Module 3 Non Linear Learning.pptx
DebabrataPain1
 
Module 5_detailed ppt.pptx
Module 5_detailed ppt.pptxModule 5_detailed ppt.pptx
Module 5_detailed ppt.pptx
DebabrataPain1
 
er tut 1.ppt
er tut 1.ppter tut 1.ppt
er tut 1.ppt
DebabrataPain1
 
Lecture 1. Introduction to AI and it's applications.ppt
Lecture 1. Introduction to AI and it's applications.pptLecture 1. Introduction to AI and it's applications.ppt
Lecture 1. Introduction to AI and it's applications.ppt
DebabrataPain1
 
ETN-LECTURE_1.pptx
ETN-LECTURE_1.pptxETN-LECTURE_1.pptx
ETN-LECTURE_1.pptx
DebabrataPain1
 

More from DebabrataPain1 (6)

Module 2.2.pptx
Module 2.2.pptxModule 2.2.pptx
Module 2.2.pptx
 
ML Module 3 Non Linear Learning.pptx
ML Module 3 Non Linear Learning.pptxML Module 3 Non Linear Learning.pptx
ML Module 3 Non Linear Learning.pptx
 
Module 5_detailed ppt.pptx
Module 5_detailed ppt.pptxModule 5_detailed ppt.pptx
Module 5_detailed ppt.pptx
 
er tut 1.ppt
er tut 1.ppter tut 1.ppt
er tut 1.ppt
 
Lecture 1. Introduction to AI and it's applications.ppt
Lecture 1. Introduction to AI and it's applications.pptLecture 1. Introduction to AI and it's applications.ppt
Lecture 1. Introduction to AI and it's applications.ppt
 
ETN-LECTURE_1.pptx
ETN-LECTURE_1.pptxETN-LECTURE_1.pptx
ETN-LECTURE_1.pptx
 

Recently uploaded

Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
SupreethSP4
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
AmarGB2
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
zwunae
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 

Recently uploaded (20)

Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 

OOSD_UNIT1 (1).pptx

  • 1. Object Oriented System Design MODULE-1 Amity University, Noida
  • 2. Course Objective • The purpose of this module is to acquaint students with key aspects of object-oriented principles and systems modeling. • It also aims to give students skills in the use of appropriate tools and familiarity with techniques applied at different stages of the software development lifecycle. Object oriented concepts have been the backbone of software solution design across platform such as embedded, internet and business solution. Over the years the market is growing stronger and bigger size. • Meanwhile, the need for reliable and scalable software solution design is ever-increasing. Hence, the skilled professionals with good foundation of object oriented concepts are needed to fulfill the ever increasing requirements.
  • 3. Module - 1 • CLO1-Understanding the concept of OOSA & OOSD with UML.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. Introduction to OOSD • Technical approach Analyzing + Designing -> (Application, System, business) applying Object-oriented programming, using visual modeling for stake holderes and product quality
  • 17. • Designing software for large applications is a very complextask. It could arguably be said that there is no limit to how complex software design could get. The reason for this is that we generally design software to model some real-world phenomenon.
  • 18. • This course forms a strong foundation in:- • Understanding and design of modern computing systems. • This course explores techniques that go into designing a modern microprocessor. • Concepts of Object Oriented design
  • 19. • Stages of normal software development • Analysis, • Design, and • Implementation
  • 20. • Phases in Object-Oriented Software Development • object-oriented analysis.
  • 21. • object-oriented design • Self contained Objects+ Classes
  • 22. What is OOSD? • The Object-Oriented Software Development Method (OOSD) includes object-oriented requirements analysis, as well as object-oriented design. • OOSD is a practical method of developing a software system which focuses on the objects of a problem throughout development. • OOSD's focus on objects early in the development, with attention to generating a useful model, creates a picture of the system that is modifiable, reusable, reliable, and understandable.
  • 24. • What is UML • UML, short for Unified Modeling Language, is a standardized modeling language consisting of an integrated set of diagrams. • Developed to help system and software developers for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems.
  • 25. Origin • UML is a notation that resulted from the unification of OMT from • Object Modeling Technique OMT [James Rumbaugh 1991] - was best for analysis and data-intensive information systems. • Booch [Grady Booch 1994] - was excellent for design and implementation. Grady Booch had worked extensively with the Ada language, and had been a major player in the development of Object Oriented techniques for the language. Although the Booch method was strong, the notation was less well received (lots of cloud shapes dominated his models - not very tidy) • OOSE (Object-Oriented Software Engineering [Ivar Jacobson 1992]) - featured a model known as Use Cases. Use Cases are a powerful technique for understanding the behavior of an entire system (an area where OO has traditionally been weak)
  • 26.
  • 28. • A software development will have many stakeholders playing a part. • For Example: • Analysts • Designers • Coders • Testers • QA • The Customer • Technical Authors
  • 29. • All of these people are interested in different aspects of the system, and each of them require a different level of detail. • For example, a coder needs to understand the design of the system and be able to convert the design to a low level code. • By contrast, a technical writer is interested in the behavior of the system as a whole, and needs to understand how the product functions. • The UML attempts to provide a language so expressive that all stakeholders can benefit from at least one UML diagram.
  • 30. UML 2 Diagram Structure below: • Structure diagrams show the static structure of the system and its parts on different abstraction and implementation levels and how they are related to each other. • The elements in a structure diagram represent the meaningful concepts of a system, and may include abstract, real world and implementation concepts, there are seven types of structure diagram as follows:
  • 32. • Class Diagram • Component Diagram • Deployment Diagram • Object Diagram • Package Diagram • Composite Structure Diagram • Profile Diagram
  • 33. • Behavior diagrams show the dynamic behavior of the objects in a system, which can be described as a series of changes to the system over time, there are seven types of behavior diagrams as follows: • Use Case Diagram • Activity Diagram • State Machine Diagram • Sequence Diagram • Communication Diagram • Interaction Overview Diagram • Timing Diagram
  • 34.
  • 35. Use case Modeling : • Use case modeling is a useful tool for requirements elicitation. It provides a graphical representation of the software system's requirements. • The key elements in a use case model are actors (external entities), and the use cases themselves. In outline, a use case is a unit of functionality (a requirement), or a service, in the system. A use case is not a process, or program, or function. • Because use case models are simple both in concept and appearance, it is relatively easy to discuss the correctness of a use case model with a non-technical person (such as a customer). • Use case modeling effectively became a practicable analysis technique with the publication of Ivar Jacobson's (1991) book “Object-oriented software engineering: a use case driven approach”. Jacobson has continued to promote this approach to system analysis to the present day, and it has now been formalized as part of the UML. However, use case modeling is not very different in its purpose and strategy from earlier techniques, such as structured viewpoint analysis
  • 37. Components Relation in 3 components
  • 38. Unified Process • Unified Process is based on the enlargement and refinement of a system through multiple iterations, with cyclic feedback and adaptation. The system is developed incrementally over time, iteration by iteration, and thus this approach is also known as iterative and incremental software development.
  • 39. Unified Process: Phases and Major Milestones • Inception • The primary goal of the Inception phase is to establish the case for the viability of the proposed system. • The tasks that a project team performs during Inception include the following: • Defining the scope of the system (that is, what's in and what's out) • Outlining a candidate architecture, which is made up of initial versions of six different models • Identifying critical risks and determining when and how the project will address them • Starting to make the business case that the project is worth doing, based on initial estimates of cost, effort, schedule, and product quality
  • 40. Elaboration • The primary goal of the Elaboration phase is to establish the ability to build the new system given the financial constraints, schedule constraints, and other kinds of constraints that the development project faces. • The tasks that a project team performs during Elaboration include the following: • Capturing a healthy majority of the remaining functional requirements • Expanding the candidate architecture into a full architectural baseline, which is an internal release of the system focused on describing the architecture • Addressing significant risks on an ongoing basis • Finalizing the business case for the project and preparing a project plan that contains sufficient detail to guide the next phase of the project (Construction)
  • 41. • Construction • The primary goal of the Construction phase is to build a system capable of operating successfully in beta customer environments. • During Construction, the project team performs tasks that involve building the system iteratively and incrementally (see "Iterations and Increments" later in this chapter), making sure that the viability of the system is always evident in executable form. • The major milestone associated with the Construction phase is called Initial Operational Capability. The project has reached this milestone if a set of beta customers has a more or less fully operational system in their hands.
  • 42. • Transition • The primary goal of the Transition phase is to roll out the fully functional system to customers. • During Transition, the project team focuses on correcting defects and modifying the system to correct previously unidentified problems. • The major milestone associated with the Transition phase is called Product Release
  • 43.
  • 45. Case study – the NextGen POS system,
  • 46. Open ended question • Identify : Primary and secondary actors in NextGen POS • Design Use Case for Process Sale
  • 48. • There can be 5 relationship types in a use case diagram. • Association between actor and use case • Generalization of an actor • Extend between two use cases • Include between two use cases • Generalization of a use case
  • 49. • Association Between Actor and Use Case • This one is straightforward and present in every use case diagram. Few things to note. • An actor must be associated with at least one use case. • An actor can be associated with multiple use cases. • Multiple actors can be associated with a single use case.
  • 51. • Generalization of an Actor • Generalization of an actor means that one actor can inherit the role of the other actor. The descendant inherits all the use cases of the ancestor. The descendant has one or more use cases that are specific to that role. Let’s expand the previous use case diagram to show the generalization of an
  • 52.
  • 53. Extending • The extending use case is dependent on the extended (base) use case. In the below diagram the “Calculate Bonus” use case doesn’t make much sense without the “Deposit Funds” use case. • The extending use case is usually optional and can be triggered conditionally. In the diagram, you can see that the extending use case is triggered only for deposits over 10,000 or when the age is over 55. • The extended (base) use case must be meaningful on its own. This means it should be independent and must not rely on the behavior of the extending use case.
  • 54.
  • 55. • Include Relationship Between Two Use Cases • Include relationship show that the behavior of the included use case is part of the including (base) use case. The main reason for this is to reuse common actions across multiple use cases. In some situations, this is done to simplify complex behaviors. Few things to consider when using the <<include>> relationship. • The base use case is incomplete without the included use case. • The included use case is mandatory and not optional.
  • 56. • Generalization of a Use Case • This is similar to the generalization of an actor. The behavior of the ancestor is inherited by the descendant. This is used when there is common behavior between two use cases and also specialized behavior specific to each use case. • For example, in the previous banking example, there might be a use case called “Pay Bills”. This can be generalized to “Pay by Credit Card”, “Pay by Bank Balance” etc.
  • 58. References • Barclay, K., & Savage, J. (2003). Object- oriented Design with UML and Java. Elsevier. • Booch, G. (1991). object oriented design; with applications (No. 04; QA76. 64, B6.).