Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
01 introduction
1. CS6502
OBJECT ORIENTED ANALYSIS
AND DESIGN
OOAD is a software engineering approach
that models and designs a system
as a group of interacting objects.
2. 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.
3. 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.
4. 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
5. 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
6. 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.
7. Introduction
• Any software development 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 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)
10. 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
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 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.
13. OOP
• Third phase is object oriented implementation.
– Here, the design is implemented using object oriented languages like
Java, C++ etc.
14. 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
15. 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
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.