CS6502
OBJECT ORIENTED ANALYSIS
AND DESIGN
OOAD is a software engineering approach
that models and designs a system
as a group of interacting objects.
OBJECTIVES
• 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.
Text Books
1. "Applying UML and Patterns: An Introduction to Object-Oriented
Analysis and Design and Iterative Development” - Craig Larman,
Third Edition, Pearson Education, 2005.
Reference Books
1. Simon Bennett, Steve Mc Robb and Ray Farmer, “Object Oriented
Systems Analysis and Design Using UML”, Fourth Edition, Mc-Graw
Hill Education, 2010.
2. Erich Gamma, a n d Richard Helm, Ralph Johnson, John Vlissides,
“Design patterns: Elements of Reusable Object-Oriented Software”,
Addison-Wesley, 1995.
3. Martin Fowler, “UML Distilled: A Brief Guide to the Standard Object
Modeling Language”, Third edition, Addison Wesley, 2003.
4. Paul C. Jorgensen, “Software Testing:- A Craftsman’s Approach”,
Third Edition, Auerbach Publications, Taylor and Francis Group, 2008
SYLLABUS
• UNIT I UML DIAGRAMS 9
• UNIT II DESIGN PATTERNS 9
• UNIT III CASE STUDY 9
• UNIT IV APPLYING DESIGN PATTERNS 9
• UNIT V CODING AND TESTING 9
UNIT I UML DIAGRAMS
Introduction to OOAD – Unified Process –
UML diagrams – Use Case – Class Diagrams–
Interaction Diagrams – State Diagrams –
Activity Diagrams –
Package, component and Deployment Diagrams.
Introduction
• Any software development approach goes through the
following stages:
1. Analysis,
2. Design, and
3. Implementation.
Analysis and Design
• Analysis emphasizes
– An investigation of the problem and requirements.
– In requirements analysis, it is an investigation of the requirements
– In object analysis, it is an investigation of the domain objects.
• Design emphasizes
– A conceptual solution that fulfills the requirements
– In object design, it is collaboration of identified objects
• Analysis and design have been summarized in the phase
– Do the right thing (analysis), and
– Do the thing right (design).
Phases in OO Software Development
• Major phases of s/w development using OO methodology are
– Object-oriented analysis (OOA),
– Object-oriented design (OOD), and
– Object-oriented implementation or Object-Oriented Programming (OOP)
Object oriented analysis and design (OOAD)
• OOAD is comprised of two parts:
– Object Oriented Analysis (OOA)
– Object Oriented Design (OOD)
• OOA
– Focuses on What the system does (its static structure and behavior),
– Emphasis is to identify and describe objects (concepts) in the problem domain.
• OOD
– Focuses on How the system does it.
– Emphasis is to define s/w objects & how they collaborate to fulfill the
requirements
OOA
• During OOA, the most important purpose is
– To identify objects and describing them in a proper way.
• Objects should be identified with responsibilities.
• Responsibilities are the functions performed by the object.
OOD
• During this phase
– Emphasis is given upon the requirements and their fulfillment.
• In this stage,
– The objects are collaborated according to their intended association.
• After the association is complete the design is also complete.
OOP
• Third phase is object oriented implementation.
– Here, the design is implemented using object oriented languages like
Java, C++ etc.
Example – Library Information System
• During OOA, find the objects such as Book, Library, and Patron.
• During OOD, a Book s/w object may have a title attribute and a getChapter method
• During OOP, design objects are implemented, such as a Book class in Java
Example – Flight Information System
Plane
tailNumber
public class Plane
{
private String tailNumber;
public List getFlightHistory() {...}
}
domain concept
visualization of
domain concept
representation in an
object-oriented
programming language
Purpose of OOAD
• Purpose of OOAD can described as:
1. Identifying the objects of a system.
2. Identify their relationships.
3. Make a design which can be converted to executables using OO
languages.
Unified Modeling Language (UML)
• UML is a standard visual modeling language
– For specifying, visualizing, constructing, & documenting the artifacts of
software systems
– Modeling business and other similar non-software systems
• UML is generally used to model OO s/w applications
• OO design is transformed into UML diagrams
– According to the requirement.
• Input from the OO analysis and design is
– The input to the UML diagrams.
01 introduction

01 introduction

  • 1.
    CS6502 OBJECT ORIENTED ANALYSIS ANDDESIGN OOAD is a software engineering approach that models and designs a system as a group of interacting objects.
  • 2.
    OBJECTIVES • Learn thebasics of OO analysis and design skills. • Learn the UML design diagrams. • Learn to map design to code. • Be exposed to the various testing techniques.
  • 3.
    Text Books 1. "ApplyingUML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development” - Craig Larman, Third Edition, Pearson Education, 2005.
  • 4.
    Reference Books 1. SimonBennett, Steve Mc Robb and Ray Farmer, “Object Oriented Systems Analysis and Design Using UML”, Fourth Edition, Mc-Graw Hill Education, 2010. 2. Erich Gamma, a n d Richard Helm, Ralph Johnson, John Vlissides, “Design patterns: Elements of Reusable Object-Oriented Software”, Addison-Wesley, 1995. 3. Martin Fowler, “UML Distilled: A Brief Guide to the Standard Object Modeling Language”, Third edition, Addison Wesley, 2003. 4. Paul C. Jorgensen, “Software Testing:- A Craftsman’s Approach”, Third Edition, Auerbach Publications, Taylor and Francis Group, 2008
  • 5.
    SYLLABUS • UNIT IUML DIAGRAMS 9 • UNIT II DESIGN PATTERNS 9 • UNIT III CASE STUDY 9 • UNIT IV APPLYING DESIGN PATTERNS 9 • UNIT V CODING AND TESTING 9
  • 6.
    UNIT I UMLDIAGRAMS Introduction to OOAD – Unified Process – UML diagrams – Use Case – Class Diagrams– Interaction Diagrams – State Diagrams – Activity Diagrams – Package, component and Deployment Diagrams.
  • 7.
    Introduction • Any softwaredevelopment approach goes through the following stages: 1. Analysis, 2. Design, and 3. Implementation.
  • 8.
    Analysis and Design •Analysis emphasizes – An investigation of the problem and requirements. – In requirements analysis, it is an investigation of the requirements – In object analysis, it is an investigation of the domain objects. • Design emphasizes – A conceptual solution that fulfills the requirements – In object design, it is collaboration of identified objects • Analysis and design have been summarized in the phase – Do the right thing (analysis), and – Do the thing right (design).
  • 9.
    Phases in OOSoftware Development • Major phases of s/w development using OO methodology are – Object-oriented analysis (OOA), – Object-oriented design (OOD), and – Object-oriented implementation or Object-Oriented Programming (OOP)
  • 10.
    Object oriented analysisand design (OOAD) • OOAD is comprised of two parts: – Object Oriented Analysis (OOA) – Object Oriented Design (OOD) • OOA – Focuses on What the system does (its static structure and behavior), – Emphasis is to identify and describe objects (concepts) in the problem domain. • OOD – Focuses on How the system does it. – Emphasis is to define s/w objects & how they collaborate to fulfill the requirements
  • 11.
    OOA • During OOA,the most important purpose is – To identify objects and describing them in a proper way. • Objects should be identified with responsibilities. • Responsibilities are the functions performed by the object.
  • 12.
    OOD • During thisphase – Emphasis is given upon the requirements and their fulfillment. • In this stage, – The objects are collaborated according to their intended association. • After the association is complete the design is also complete.
  • 13.
    OOP • Third phaseis object oriented implementation. – Here, the design is implemented using object oriented languages like Java, C++ etc.
  • 14.
    Example – LibraryInformation System • During OOA, find the objects such as Book, Library, and Patron. • During OOD, a Book s/w object may have a title attribute and a getChapter method • During OOP, design objects are implemented, such as a Book class in Java
  • 15.
    Example – FlightInformation System Plane tailNumber public class Plane { private String tailNumber; public List getFlightHistory() {...} } domain concept visualization of domain concept representation in an object-oriented programming language
  • 16.
    Purpose of OOAD •Purpose of OOAD can described as: 1. Identifying the objects of a system. 2. Identify their relationships. 3. Make a design which can be converted to executables using OO languages.
  • 17.
    Unified Modeling Language(UML) • UML is a standard visual modeling language – For specifying, visualizing, constructing, & documenting the artifacts of software systems – Modeling business and other similar non-software systems • UML is generally used to model OO s/w applications • OO design is transformed into UML diagrams – According to the requirement. • Input from the OO analysis and design is – The input to the UML diagrams.