SlideShare a Scribd company logo
Object-Oriented Analysis
and Design
(Overview)
R.Rajitha Jasmine
AP/IT RMKEC
Objectives
The student should be made to:
– Learn the basics of OO analysis and design
skills
– Learn the UML design diagrams
– Learn to map design to code
– Be exposed to the various testing techniques.
2
Agenda
• Introduction to OOAD
• UML Diagrams
• Implementation
• OO Testing
3
OOA
• Object-Oriented Analysis (Overview)
– An investigation of the problem (rather than how a solution is defined)
– During OO analysis, there is an emphasis on finding and describing the
objects (or concepts) in the problem domain.
– For example, concepts in a Library Information System include Book,
and Library.
– High level views found in the application domain.
– Oftentimes called domain objects; entities.
4
OOD
• Object-Oriented Design
– Emphasizes a conceptual solution that fulfills the requirements.
– Need to define software objects and how they collaborate to meet the
requirements.
– For example, in the Library Information System, a Book software object
may have a title attribute and a getChapter method.
• What are the methods needed to process the attributes?
• Designs are implemented in a programming language.
– In the example, we will have a Book class in Java.
5
• Analysis: - investigate the problem and the requirements.
– What is needed? Required functions? Investigate domain objects.
– Problem Domain
– The Whats of a system.
– Do the right thing (analysis)
• Design:
– Conceptual solution that meets requirements.
– Not an implementation
– E.g. Describe a database schema and software objects.
– Avoid the CRUD activities and commonly understood functionality.
– The Solution Domain
– The ‘Hows’ of the system
– Do the thing right (design)
6
UML
• The Unified Modeling Language (UML) is a standard
diagramming notation; Visual representation of real world
domain
• It is NOT OOA/OOD or a method
• Only a notation for capturing objects and the relationships
among objects (dependency; inheritance; realizes; aggregates, . .)
• UML is language-independent
• Analysis and design provide software “blueprints” captured in
UML.
• Blueprints serve as a tool for thought and as a form of
communication with others.
7
8
From Design to Implementation
Book
title
print()
public class Book {
public void print();
private String title;
}
Book
(concept)
Analysis
investigation
of the problem
Design
logical solution
Construction
code
Domain concept Representation in
analysis of concepts
Representation in an
object-oriented
programming language.
UML Diagrams
• Use Case Diagram- Actors,Use Cases are often used to capture
stories of requirements and are often views as ‘constituting’ the
functional requirements, but NOT the software quality factors
• Activity Diagram – Sequential flow of activities for each
usecase
• Class diagram – Static behavior of the system consist of
Classes and their collaborations
• Sequence diagram -Message passing between the classes
• Collaboration diagram
• Logical Architecture- package diagram
• Component diagram -Collection of libraries, modules and
components(Modular replaceable deployable part of the system)
• Deployment diagram-
9
Fig. 17.1 UP artifacts influencing OO design
Operation:
enterItem(…)
Post-conditions:
- . . .
OperationContracts
Sale
date
. . .
Sales
LineItem
quantity
1..*1 . . .
. . .
DomainModel
Use-CaseModel
DesignModel
: Register
enterItem
(itemID, quantity)
: ProductCatalog
d=getProductDescription(itemID)
addLineItem( d, quantity)
: Sale
Require-
ments
Business
Modeling
Design
SampleUPArtifact Relationships
: System
enterItem
(id, quantity)
Use Case Text
System Sequence Diagrams
make
NewSale()
system
events
Cashier
Process
Sale
: Cashier
use
case
names
system
operations
Use Case Diagram
Supplementary
Specification
Glossary
startingeventsto
designfor, and
detailedpost-
conditionto
satisfy
ProcessSale
1. Customer
arrives...
2. ...
3. Cashier
entersitem
identifier.
inspirationfor
namesof
some
software
domain
objects
functional
requirements
that must be
realizedby
theobjects
ideasfor
thepost-
conditions
Register
...
makeNewSale()
enterItem(...)
...
ProductCatalog
...
getProductDescription(...)
...
1*
non-functional
requirements
domainrules
itemdetails,
formats,
validation
Package Diagrams
• Logical Architecture and Layers:
• Logical architecture: the large-scale organization of software
classes into packages, subsystems, and layers.
• Layer: a very coarse-grained grouping of classes, packages, or
subsystems that has cohesive responsibility for a major aspect of
the system.
• Layered Architectures
• Typical layers in an OO system:
– User Interface
– Application Logic and Domain Objects
– Technical Services
12
13
Basic Terms: Iterative, Evolutionary, and Agile
• Iterative - the entire project will be composed of min-projects
and will iterate the same activities again and again (but on
different part of the project AND with different emphases) until
completion.
• Evolutionary (or incremental) - the software grows by
increments (to be opposed to the traditional, and somewhat old-
fashioned, Waterfall model of software development).
• Agile - we will use a light approach to software development
rather than a very rigid one
• This kind of approach seems better at treating software
development as a problem solving activity;
14
Unified Process:
•The Unified Process is a popular iterative software
development process for OO systems
•Iterative and evolutionary development involves
relatively early programming and testing of a partial
system, in repeated cycles.
•Four Phases:
– Inception- Vague vision,Scope,Estimates
– Elaboration – Detailed Vision, Core
Architectures,Resolving Risks
– Construction - Implementation
– Transition - Deloyment
Unified Process Model:
Implementation
• Mapping design to code:
• Process: Write source code for
– Class and interface definitions
– Method definitions
16
Testing
OO Testing-Cont..
• Object-Oriented Testing Activities
• Review OOA and OOD models
• Class testing after code is written
Class Testing(Unit Testing):
Smallest testable unit is the encapsulated class
• Integration testing within subsystems
• Integration testing as subsystems are added to the system
• Validation testing based on OOA use-cases
GUI Testing:
• GUI Testing includes the application behaviour towards
keyboard and mouse movements and how different GUI objects
such as toolbars, buttons, menubars, dialog boxes, edit fields,
lists, behavior to the user input.
18
19

More Related Content

What's hot

Ooad ch 1_2
Ooad ch 1_2Ooad ch 1_2
Ooad ch 1_2
anujabeatrice2
 
Round - Trip Software Engineering using UML: From Architecture to Design and...
Round - Trip Software Engineering using UML:  From Architecture to Design and...Round - Trip Software Engineering using UML:  From Architecture to Design and...
Round - Trip Software Engineering using UML: From Architecture to Design and...
Aman Mishra
 
OO design slide
OO design slideOO design slide
OO design slide
icarter09
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
Gobinath Subramaniam
 
CS8592-OOAD Question Bank
CS8592-OOAD  Question BankCS8592-OOAD  Question Bank
CS8592-OOAD Question Bank
Gobinath Subramaniam
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Hoang Nguyen
 
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Dang Tuan
 
Ooad unit 1
Ooad unit 1Ooad unit 1
Ooad unit 1
raj kumar
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
VivekChaudhary93
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Haitham El-Ghareeb
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
nazn
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
Gobinath Subramaniam
 
ooAD
ooADooAD
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
university of education,Lahore
 
CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5 CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5
Gobinath Subramaniam
 
Lecture 4-oop class diagram
Lecture 4-oop class diagramLecture 4-oop class diagram
Lecture 4-oop class diagram
ktuonlinenotes
 

What's hot (16)

Ooad ch 1_2
Ooad ch 1_2Ooad ch 1_2
Ooad ch 1_2
 
Round - Trip Software Engineering using UML: From Architecture to Design and...
Round - Trip Software Engineering using UML:  From Architecture to Design and...Round - Trip Software Engineering using UML:  From Architecture to Design and...
Round - Trip Software Engineering using UML: From Architecture to Design and...
 
OO design slide
OO design slideOO design slide
OO design slide
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
 
CS8592-OOAD Question Bank
CS8592-OOAD  Question BankCS8592-OOAD  Question Bank
CS8592-OOAD Question Bank
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 
Ooad unit 1
Ooad unit 1Ooad unit 1
Ooad unit 1
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
ooAD
ooADooAD
ooAD
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5 CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5
 
Lecture 4-oop class diagram
Lecture 4-oop class diagramLecture 4-oop class diagram
Lecture 4-oop class diagram
 

Similar to Object Oriented Analysis and Design - Overview

5-CEN6016-Chapter1.ppt
5-CEN6016-Chapter1.ppt5-CEN6016-Chapter1.ppt
5-CEN6016-Chapter1.ppt
DrCMeenakshiVISTAS
 
CEN6016-Chapter1.ppt
CEN6016-Chapter1.pptCEN6016-Chapter1.ppt
CEN6016-Chapter1.ppt
SumitVishwambhar
 
CEN6016-Chapter1.ppt
CEN6016-Chapter1.pptCEN6016-Chapter1.ppt
CEN6016-Chapter1.ppt
NelsonYanes6
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
Nandhini S
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
AMITJain879
 
Object model
Object modelObject model
Object model
Young Alista
 
Object model
Object modelObject model
Object model
Harry Potter
 
Object model
Object modelObject model
Object model
Fraboni Ec
 
Object model
Object modelObject model
Object model
Luis Goldster
 
Object model
Object modelObject model
Object model
James Wong
 
Object model
Object modelObject model
Object model
Tony Nguyen
 
Object model
Object modelObject model
Object model
Hoang Nguyen
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
DebabrataPain1
 
Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1
SangeethaSubramaniam14
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
Ravindranath67
 
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
 
01 introduction
01 introduction01 introduction
01 introduction
Baskarkncet
 
[OOP - Lec 01] Introduction to OOP
[OOP - Lec 01] Introduction to OOP[OOP - Lec 01] Introduction to OOP
[OOP - Lec 01] Introduction to OOP
Muhammad Hammad Waseem
 
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
 
Object Oriented Programming in Systems Analysis
Object Oriented Programming in Systems AnalysisObject Oriented Programming in Systems Analysis
Object Oriented Programming in Systems Analysis
Allana Delgado
 

Similar to Object Oriented Analysis and Design - Overview (20)

5-CEN6016-Chapter1.ppt
5-CEN6016-Chapter1.ppt5-CEN6016-Chapter1.ppt
5-CEN6016-Chapter1.ppt
 
CEN6016-Chapter1.ppt
CEN6016-Chapter1.pptCEN6016-Chapter1.ppt
CEN6016-Chapter1.ppt
 
CEN6016-Chapter1.ppt
CEN6016-Chapter1.pptCEN6016-Chapter1.ppt
CEN6016-Chapter1.ppt
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
 
Object model
Object modelObject model
Object model
 
Object model
Object modelObject model
Object model
 
Object model
Object modelObject model
Object model
 
Object model
Object modelObject model
Object model
 
Object model
Object modelObject model
Object model
 
Object model
Object modelObject model
Object model
 
Object model
Object modelObject model
Object model
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
 
Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
 
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
 
01 introduction
01 introduction01 introduction
01 introduction
 
[OOP - Lec 01] Introduction to OOP
[OOP - Lec 01] Introduction to OOP[OOP - Lec 01] Introduction to OOP
[OOP - Lec 01] Introduction to OOP
 
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
 
Object Oriented Programming in Systems Analysis
Object Oriented Programming in Systems AnalysisObject Oriented Programming in Systems Analysis
Object Oriented Programming in Systems Analysis
 

Recently uploaded

一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
sydezfe
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Open Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surfaceOpen Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surface
Indrajeet sahu
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
PriyankaKilaniya
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptxSENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
b0754201
 
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Transcat
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
uqyfuc
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
VANDANAMOHANGOUDA
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
Dwarkadas J Sanghvi College of Engineering
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
upoux
 
SCALING OF MOS CIRCUITS m .pptx
SCALING OF MOS CIRCUITS m                 .pptxSCALING OF MOS CIRCUITS m                 .pptx
SCALING OF MOS CIRCUITS m .pptx
harshapolam10
 
Zener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and ApplicationsZener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and Applications
Shiny Christobel
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
P5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civilP5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civil
AnasAhmadNoor
 
Height and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdfHeight and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdf
q30122000
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
nedcocy
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 

Recently uploaded (20)

一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Open Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surfaceOpen Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surface
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptxSENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
 
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
 
SCALING OF MOS CIRCUITS m .pptx
SCALING OF MOS CIRCUITS m                 .pptxSCALING OF MOS CIRCUITS m                 .pptx
SCALING OF MOS CIRCUITS m .pptx
 
Zener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and ApplicationsZener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and Applications
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
P5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civilP5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civil
 
Height and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdfHeight and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdf
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 

Object Oriented Analysis and Design - Overview

  • 2. Objectives The student should be made to: – Learn the basics of OO analysis and design skills – Learn the UML design diagrams – Learn to map design to code – Be exposed to the various testing techniques. 2
  • 3. Agenda • Introduction to OOAD • UML Diagrams • Implementation • OO Testing 3
  • 4. OOA • Object-Oriented Analysis (Overview) – An investigation of the problem (rather than how a solution is defined) – During OO analysis, there is an emphasis on finding and describing the objects (or concepts) in the problem domain. – For example, concepts in a Library Information System include Book, and Library. – High level views found in the application domain. – Oftentimes called domain objects; entities. 4
  • 5. OOD • Object-Oriented Design – Emphasizes a conceptual solution that fulfills the requirements. – Need to define software objects and how they collaborate to meet the requirements. – For example, in the Library Information System, a Book software object may have a title attribute and a getChapter method. • What are the methods needed to process the attributes? • Designs are implemented in a programming language. – In the example, we will have a Book class in Java. 5
  • 6. • Analysis: - investigate the problem and the requirements. – What is needed? Required functions? Investigate domain objects. – Problem Domain – The Whats of a system. – Do the right thing (analysis) • Design: – Conceptual solution that meets requirements. – Not an implementation – E.g. Describe a database schema and software objects. – Avoid the CRUD activities and commonly understood functionality. – The Solution Domain – The ‘Hows’ of the system – Do the thing right (design) 6
  • 7. UML • The Unified Modeling Language (UML) is a standard diagramming notation; Visual representation of real world domain • It is NOT OOA/OOD or a method • Only a notation for capturing objects and the relationships among objects (dependency; inheritance; realizes; aggregates, . .) • UML is language-independent • Analysis and design provide software “blueprints” captured in UML. • Blueprints serve as a tool for thought and as a form of communication with others. 7
  • 8. 8 From Design to Implementation Book title print() public class Book { public void print(); private String title; } Book (concept) Analysis investigation of the problem Design logical solution Construction code Domain concept Representation in analysis of concepts Representation in an object-oriented programming language.
  • 9. UML Diagrams • Use Case Diagram- Actors,Use Cases are often used to capture stories of requirements and are often views as ‘constituting’ the functional requirements, but NOT the software quality factors • Activity Diagram – Sequential flow of activities for each usecase • Class diagram – Static behavior of the system consist of Classes and their collaborations • Sequence diagram -Message passing between the classes • Collaboration diagram • Logical Architecture- package diagram • Component diagram -Collection of libraries, modules and components(Modular replaceable deployable part of the system) • Deployment diagram- 9
  • 10. Fig. 17.1 UP artifacts influencing OO design Operation: enterItem(…) Post-conditions: - . . . OperationContracts Sale date . . . Sales LineItem quantity 1..*1 . . . . . . DomainModel Use-CaseModel DesignModel : Register enterItem (itemID, quantity) : ProductCatalog d=getProductDescription(itemID) addLineItem( d, quantity) : Sale Require- ments Business Modeling Design SampleUPArtifact Relationships : System enterItem (id, quantity) Use Case Text System Sequence Diagrams make NewSale() system events Cashier Process Sale : Cashier use case names system operations Use Case Diagram Supplementary Specification Glossary startingeventsto designfor, and detailedpost- conditionto satisfy ProcessSale 1. Customer arrives... 2. ... 3. Cashier entersitem identifier. inspirationfor namesof some software domain objects functional requirements that must be realizedby theobjects ideasfor thepost- conditions Register ... makeNewSale() enterItem(...) ... ProductCatalog ... getProductDescription(...) ... 1* non-functional requirements domainrules itemdetails, formats, validation
  • 11.
  • 12. Package Diagrams • Logical Architecture and Layers: • Logical architecture: the large-scale organization of software classes into packages, subsystems, and layers. • Layer: a very coarse-grained grouping of classes, packages, or subsystems that has cohesive responsibility for a major aspect of the system. • Layered Architectures • Typical layers in an OO system: – User Interface – Application Logic and Domain Objects – Technical Services 12
  • 13. 13 Basic Terms: Iterative, Evolutionary, and Agile • Iterative - the entire project will be composed of min-projects and will iterate the same activities again and again (but on different part of the project AND with different emphases) until completion. • Evolutionary (or incremental) - the software grows by increments (to be opposed to the traditional, and somewhat old- fashioned, Waterfall model of software development). • Agile - we will use a light approach to software development rather than a very rigid one • This kind of approach seems better at treating software development as a problem solving activity;
  • 14. 14 Unified Process: •The Unified Process is a popular iterative software development process for OO systems •Iterative and evolutionary development involves relatively early programming and testing of a partial system, in repeated cycles. •Four Phases: – Inception- Vague vision,Scope,Estimates – Elaboration – Detailed Vision, Core Architectures,Resolving Risks – Construction - Implementation – Transition - Deloyment
  • 16. Implementation • Mapping design to code: • Process: Write source code for – Class and interface definitions – Method definitions 16
  • 18. OO Testing-Cont.. • Object-Oriented Testing Activities • Review OOA and OOD models • Class testing after code is written Class Testing(Unit Testing): Smallest testable unit is the encapsulated class • Integration testing within subsystems • Integration testing as subsystems are added to the system • Validation testing based on OOA use-cases GUI Testing: • GUI Testing includes the application behaviour towards keyboard and mouse movements and how different GUI objects such as toolbars, buttons, menubars, dialog boxes, edit fields, lists, behavior to the user input. 18
  • 19. 19

Editor's Notes

  1. Explain Iterative, Evolutionary, Agile
  2. why do you think it works better this way for software?