0% found this document useful (0 votes)
5 views27 pages

Unit-1

The document provides an overview of Object-Oriented Analysis and Design (OOAD), emphasizing its role in modeling systems as interactive objects. It discusses key concepts such as object-oriented programming, the importance of modeling, and the three primary models used in OOAD: class model, state model, and interaction model. Additionally, it traces the history of object-oriented technology and outlines the characteristics and advantages of an object-oriented approach.

Uploaded by

opvijay2025
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views27 pages

Unit-1

The document provides an overview of Object-Oriented Analysis and Design (OOAD), emphasizing its role in modeling systems as interactive objects. It discusses key concepts such as object-oriented programming, the importance of modeling, and the three primary models used in OOAD: class model, state model, and interaction model. Additionally, it traces the history of object-oriented technology and outlines the characteristics and advantages of an object-oriented approach.

Uploaded by

opvijay2025
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 27

Unit-1

Object Oriented Design


and Analysis
Prof. Unnati Mishra
Topics
Introduction
• About Object Orientated Technology
• Development and OO Modeling History
• Modeling Concepts: Modeling design Technique
• Three models:
• Class Model
• State model
• Interaction model
Introduction
• OOAD is a software engineering approach that models a system as a groups of interactive objects.
• A software development approach that emphasizes a logical solutions based on objects.
• In object-oriented system, “Everything is object”.
• A spreadsheet cell, bar chart, report, numbers, arrays, records, fields, files, forms.
• An object is a real-world element in an object–oriented environment that may have a physical or a conceptual
existence.
• It is based on object-oriented programming.
Introduction
• Object-oriented analysis and design (OOAD) is a technical approach used in the analysis and design of an application
or system through the application of the object-oriented paradigm and concepts including visual modeling.
• This is applied throughout the development life cycle of the application or system, fostering better product quality and
even encouraging stakeholder participation and communication.
• Object-oriented approach, requirements are organized around objects, which integrate both data and functions.
• They are modeled after real-world objects that the system interacts with.
• In traditional analysis methodologies, the two aspects - functions and data - are considered separately.
Object Oriented Analysis and Design
Object-Oriented Analysis (OOA)

• It is the procedure of identifying software engineering requirements and developing software specifications in
terms of a software system’s object model, which comprises of interacting objects.
• The primary tasks in object-oriented analysis (OOA) are:
• Find the objects
• Organize the objects
• Describe how the objects interact
• Define the behavior of the objects
• Define the internals of the objects
Object-Oriented Design (OOD)

• It involves implementation of the conceptual model produced during object-oriented analysis.


• In OOD, concepts in the analysis model, which are technology−independent, are
mapped on to implementing classes, constraints are identified and interfaces are designed, resulting
in a model for the solution domain, i.e., a detailed description of how the system is to be built on concrete
technologies.
• The implementation details generally include:
• Restructuring the class data (if necessary).
• Implementation of methods, i.e., internal data structures and algorithms.
• Implementation of control.
• Implementation of associations (Relationship between two or more objects).
Object-Oriented Programming

• Object-oriented programming (OOP) is a programming paradigm based upon objects (having both data and
methods) that aims to incorporate the advantages of modularity and reusability.
• Objects, which are usually instances of classes, are used to interact with one another to design applications
and computer programs.
• The important features of object–oriented programming are:
• Bottom–up approach in program design.
• Programs organized around objects, grouped in classes.
• Focus on data with methods to operate upon object’s data.
• Interaction between objects through functions.
• Reusability of design through creation of new classes by adding features to existing classes.
• Some examples of object-oriented programming languages are C++, Java, Smalltalk, Delphi, C#, Perl, Python,
Ruby, and PHP.
About Object Oriented Technology

• Object oriented (OO) means that we organize software as a collection of discrete


objects that incorporate both data structure and behaviour.
• Car is an object (Real World Entity).
• There are four aspects (characteristics) required by an OO approach's:
• Identity
• Classification
• Inheritance
• Polymorphism
About Object Oriented Technology

• Identity: Identity means that data is quantized into discrete, distinguishable


entities called objects.
• E.g. for objects: personal computer, bicycle, queen in chess etc.
• Objects can be concrete (such as a file in a file system) or conceptual (such as
scheduling policy in a multiprocessing OS).
• Each object has its own inherent identity. (i.e two objects are distinct even if all
their attribute values are identical).
About Object Oriented Technology

• Classification means that objects with the same data structure (attributes) and
behavior (operations) are grouped into a class.
• Paragraph, Monitor, and ChessPiece are examples of classes.
• A class is an abstraction that describes properties important to an application and
ignores the rest.
• Any choice of classes is arbitrary and depends on the application.
About Object Oriented Technology

• Each class describes a possibly infinite set of individual objects.


• Each object is said to be an instance of its class.
• An object has its own value for each attribute but shares the attribute names and
operations with other instances of the class.
• An object contains an implicit reference to its own class; it “knows what kind of
thing it is.”
About Object Oriented Technology

• Inheritance is the sharing of attributes and operations (features) among classes


based on a hierarchical relationship.
• A superclass has general information that subclasses refine and elaborate.
• Each subclass incorporates, or inherits, all the features of its superclass and adds
its own unique features.
• For example, ScrollingWindow and FixedWindow are subclasses of Window.
About Object Oriented Technology

• Polymorphism means that the same operation may behave differently for
different classes.
• The move operation, for example, behaves differently for a pawn than for the
queen in a chess game.
• An operation is a procedure or transformation that an object performs or is
subject to.
• Right Justify, display, and move are examples of operations.
• An implementation of an operation by a specific class is called a method.
Object Oriented Technology
OO Development

• Software based on abstractions that exist in the real world as well as in the program.
• In this context development refers to the software life cycle: analysis, design, and implementation .
• OO development is the identification and organization of application concepts, rather than their final
representation in a programming language.
• It‘s a conceptual process independent of programming languages.
• OO development is fundamentally a way of thinking and not a
programming technique.
OO Modeling History

• The history of object-oriented modeling (OO) can be traced back to the 1960s.
• The development of Simula and Smalltalk were key events in the evolution of OO.
• Simula developed between 1961–1967, Simula was the first programming language to be widely
recognized as "object oriented“.
• Smalltalk developed in the 1970s at Xerox PARC, Smalltalk advanced OOP by emphasizing
encapsulation and polymorphism.
• In 1982, Booch wrote the first paper titled Object-Oriented Design, which may have coined the term.
• Unified Modeling Language (UML) developed in 1994 by the Three Amigos of Rational Software, UML
was a collaboration between Grady Booch, James Rumbaugh, and Ivar Jacobson.
Modelling

• Model: A model is an abstraction of something for the purpose of understanding it before building it.
• Modelling: Designers build many kinds of models for various purposes before constructing things.
• Because a model omits nonessential details, it is easier to manipulate than the original entity.
• Abstraction is a fundamental human capability that permits us to deal with complexity.
• Models are abstractions built to understand a problem before implementing a solution.
• All abstractions are subsets of reality selected for a particular purpose.
• The state model describes the control structure of a system in terms of events and states.
• The interaction model describes how individual objects collaborate to achieve the behavior of the system
as a whole.
• Different problems place different emphasis on the three kinds of models.
Modelling

• Models serve several purposes –


• Testing a physical entity before building it: Medieval built scale models of Gothic Cathedrals to test the forces
on the structures.
• Engineers test scale models of airplanes, cars and boats to improve their dynamics.
• Scale model is a physical model that is geometrically similar to an object (known as the prototype).
• Communication with customers: Architects and product designers build models to show their customers (note:
mock-ups are demonstration products that imitate some of the external behavior of a system).
• Visualization: Storyboards of movies, TV shows and advertisements let writers see how their ideas flow.
• Reduction of complexity: Models reduce complexity to understand directly by separating out a small number of
important things to do with at a time.
Modelling

• We use three kinds of models to describe a system from different viewpoints:


• Class Model: For the objects in the system and their relationships.
• The class model represents the static, structural, “data” aspects of a system
• State Model: For the life history of objects. Shows how systems behave internally
• The state model represents the temporal, behavioral, “control” aspects of a system.
• Interaction Model: For the interaction among objects. Show the behavior of systems in terms of how
objects interact with each other.
• The interaction model represents the collaboration of individual objects, the “interaction” aspects of a
system.
• How individual objects collaborate to achieve the behavior of the system as a whole.
• A typical software procedure incorporates all three aspects: It uses data structures (class model), it sequences
operations in time (state model), and it passes data and control among objects (interaction model).
• Each model contains references to entities in other models.
Modelling

• For example, the class model attaches operations to classes, while the state and interaction models elaborate the
operations.
• The three kinds of models separate a system into distinct views.
• The different models are not completely independent—a system is more than a collection of independent parts— but
each model can be examined and understood by itself to a large extent.
• The different models have limited and explicit interconnections.
• Each of the three models evolves during development.
• First analysts construct a model of the application without regard for eventual implementation.
• Then designers add solution constructs to the model.
• Implementers code both application and solution constructs.
• The word model has two dimensions
• A view of a system (class model, state model, or interaction model)
Three Models

• Class Model
• The class model shows all the classes present in the system.

• The class model shows the attributes and the behavior associated with the objects.

• The class diagram is used to show the class model.

• The class diagram shows the class name followed by the attributes followed by the functions or the methods that
are associated with the object of the class.

• Goal in constructing class model is to capture those concepts from the real world that are important to an
application.

• The class model describes the structure of objects in a system, their identity, their relationships to other objects, their
attributes and their operations.

• The class model provides context for the state and interaction models.
Class Model
Three Models

• State Model
• The state model describes those aspects of objects concerned with time and the sequencing of operations also
events that mark changes, states that define the context for the events, and the organization of events and
states.

• The state model captures control, the aspect of a system that describes the sequences of operations that
occur, without regard for what the operations do, what they operate on, or how they are implemented.

• The state model specifies and implements control with state diagrams.

• A state diagram is a graph whose nodes are states and whose arcs are transitions between states caused by
events.

• Actions and events in a state diagram become operations on objects in the class model.

• References between state diagrams become interactions in the interaction model.


Three Models

• Interaction Model
• The interaction perspective model explains how components of the system interact with each other.
• Interaction model is used to show the various interactions between objects, how the objects collaborate to
achieve the behavior of the system as a whole.
• There are three types of interactions:

• User interaction: It involves user input and user output. It interacts with the user and helps to identify user
requirements.

• System interaction: It is the interaction between the system which is to be developed and other systems. It
interacts from system to system and highlights the problems that may arise in communication.

• Component interaction: It interacts with different components of the same system and helps understand
whether the proposed system can provide the required system performance.
Three Models

• Interaction Model – Represents the collaboration of individual objects, the “interaction” aspects
of a system.
• Interaction model describes interactions between objects – how individual objects collaborate to achieve
the behavior of the system as a whole.
• The state and interaction models describe different aspects of behavior, and you need both to describe
behavior fully.
• The interactive model start with use case with activity and sequence.
• Use cases, sequence diagrams and activity diagrams document the interaction model.
• A use case focuses on the functionality of a system- that is, what a system does for users.
• A sequence diagram shows the objects that interact and the time sequence of their interaction.
• Activity diagrams show the flow of control among the processing steps of a computation.
Relationship Among the Models

• Each model describes one aspect of the system but contains references to the other models.
• The class model describes data structure on which the state and interaction models operate.
• The operations in the class model correspond to events and actions.
• The state model describes the control structure of objects.
• It shows decisions that depend on object values and causes actions that change object values and state.
• The interaction model focuses on the exchanges between objects and provides a holistic overview of the
operation of a system.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy