0% found this document useful (0 votes)
8 views

Unit 1- SMD

The document provides an overview of Object-Oriented Modeling (OOM) and Unified Modeling Language (UML), focusing on Object-Oriented Analysis (OOA) and Object-Oriented Design (OOD). It discusses various methodologies such as Booch, Rumbaugh's Object Modeling Technique (OMT), and Jacobson's Object-Oriented Software Engineering (OOSE), highlighting their strengths and processes. The Unified Approach combines these methodologies and emphasizes iterative design, continuous testing, and use case modeling.

Uploaded by

Ashwin singh
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)
8 views

Unit 1- SMD

The document provides an overview of Object-Oriented Modeling (OOM) and Unified Modeling Language (UML), focusing on Object-Oriented Analysis (OOA) and Object-Oriented Design (OOD). It discusses various methodologies such as Booch, Rumbaugh's Object Modeling Technique (OMT), and Jacobson's Object-Oriented Software Engineering (OOSE), highlighting their strengths and processes. The Unified Approach combines these methodologies and emphasizes iterative design, continuous testing, and use case modeling.

Uploaded by

Ashwin singh
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/ 40

Software Modelling and

Design

UNIT 1

INTRODUCTION TO OOM & UML


INTRODUCTION
INTRODUCTION TO OOA

 Object Oriented analysis is a process of identifying and describing the objects for
a given problem instance

 Example: For designing a banking systems; customer, account and branch are
the objects that must be described.
Introduction to OOD
 Object Oriented Design is a process of defining the objects and their collaboration
with other objects in order to fulfill the requirements.

 Example: In banking systems; getCustmoerInfo, Withdraw_Amount,


Deposit_Amount and so on are the methods that help in collaboration one object
with another.

 These methods actually help in fulfilling requirements.

 The methods of objects represent the behavior of the object.


Introduction
What is object-oriented?

 Software is organized as a collection of discrete objects that incorporate both


data structure and behavior.

 In general it includes- identity, classification, polymorphism and inheritance.


Object-oriented development?

 The theme is the identification and organization of application concepts


rather than final representation in a Programming Language.

 OOD approach encourages software developers to work and think in terms of


the application domain through most of the software engineering life cycle.

 It is a conceptual process independent of a programming language until the


final stage.
Object Oriented Methodologies
 The Object methodologies use a more iterative process where the requirements
and specifications are reviewed repeatedly and the users are heavily involved.

 Object oriented methodologies are set of methods, models, and rules for
developing systems.

 Modeling can be done during any phase of the software life cycle. A model is a an
abstraction of a phenomenon for the purpose of understanding the methodologies
.Modeling provides means of communicating ideas which is easy to understand
the system complexity .
Object Oriented Methodologies
 Object Technology has many different methodologies to help analyze and design
computer systems.

 Object-Oriented Methodologies are widely classified into three:

 1.The Rumbaugh et al. OMT (Object modeling technique)

 2.The Booch methodology

 3.Jacobson's methodologies
Comparisons Object Oriented Methodologies

Sr. Booch Method Rumbaugh Method Jacobson Method


No. (OMT) (OOSE)
1 It is based on Object centered It is based on Object centered It is based on User centered
approach approach approach
2 It works in following phases- It works in following phases- It works in life cycle phases such
Analysis, Design and Analysis, Design and as requirement gathering,
Implementation Implementation analysis, design, implementation
and Testing
3 The strength of this method is- The strength of this method is- The strength of this method is-
Design Analysis Requirements

4 This is the strongest method This is the strong method for This is the strong method for
for producing detailed OOD producing object model static producing user driven
models structure of the system requirements and OOA model
5 Diagrams: Class Diagram, Diagrams: Data Flow Diagrams, The focus of this method is
state Diagram , Timing Class Diagram, Object Diagram, on use case diagram
Diagram, Process Diagram state-transition diagram
OBJECT ORIENTED METHODOLOGIES

A methodology is explained as the science of methods. A method is a set of


procedures in which a specific goal is approached step by step.

 In 1986, Booch came up with the object-oriented design concept, the Booch
method.

 In 1991, Jim Rumbaugh led a team at the research labs of General Electric to
develop the object modeling technique (OMT).

 In 1994,Ivar Jacobson introduced the concept of the use case.


OBJECT ORIENTED METHODOLOGIES

Advantages /Characteristics

 The Rumbaugh et al. method is well-suited for describing the object model or
static structure of the system.

 The Jacobson et.al method is good for producing user-driven analysis models

 The Booch method detailed object-oriented design models


OBJECT MODELING TECHNIQUE (OMT) BY RUMBAUGH

 The Object Modelling Technique is a technique proposed


by Rumbaugh.

 This technique describes a method for analysis, design


and implementation of a system using object modelling
technique.

 It is a fast technique of identifying objects. Class,


attributes, methods, inheritance, and association also
can be expressed easily.
OBJECT MODELING TECHNIQUE (OMT) BY RUMBAUGH

 The Object Modelling Technique is described by three models:


 Object Model
 Dynamic Model
 Functional Model

 This techniques describes three aspects of the system: Static, Dynamic and
Functional behavior of the system.

 The OMT Software Development process has four phases:


 Analysis
 System Design
 Object Design
 Implementation
OMT MODEL
OBJECT MODELING TECHNIQUE (OMT) BY RUMBAUGH

Object Model

 The object model represents the static modelling and describes the
structure of objects in a system.

 Main concepts are classes and associations, their identity,


relationships to other objects, attributes, and operations.

 The object model is represented graphically with an object diagram.


The object diagram contains classes interconnected by association
lines.

 Aggregation and generalization are predefined relationships.


OBJECT MODELING TECHNIQUE (OMT) BY RUMBAUGH

Object Model
OBJECT MODELING TECHNIQUE (OMT) BY RUMBAUGH
Object Model
OBJECT MODELING TECHNIQUE (OMT) BY RUMBAUGH

Dynamic Model

 The dynamic model represents a state/transition view on the model.

 OMT dynamic model depict states, transitions, events, and actions.

 OMT state transition diagram is a network of states and events. Each


state receives one or more events, at which time it makes the
transition to the next state.
 Aggregation and generalization are predefined relationships.
OBJECT MODELING TECHNIQUE (OMT) BY RUMBAUGH
OBJECT MODELING TECHNIQUE (OMT) BY RUMBAUGH

Functional Model

 The functional model handles the process perspective of the model,


by designing the data flow diagrams.

 The OMT DFD shows the flow of data between different process.

 DFD use four primary symbols: Process, Data store, Data flow and
Actors
OBJECT MODELING TECHNIQUE (OMT) BY RUMBAUGH

Functional Model

 Process is any function being performed ; For Ex, verify password or


PIN in the ATM system.

 Data flow shows the direction of data element movement: for Ex. PIN
code.

 Data store is a location where data are stored: for ex. Account is a
data store in the ATM example.

 External entity is a source or destination of a data element; for ex.


The ATM card Reader
OBJECT ORIENTED TECHNIQUE BY BOOCH

 It is a widely used object oriented method that helps us to design the


system using object paradigm.

 The Booch methodology covers the analysis and design phases of


systems development.

 Booch sometimes is criticized for his large set of symbols.

 The design start with class and object diagram in the analysis phase
and refine these diagrams in various steps.
OBJECT ORIENTED TECHNIQUE BY BOOCH

The Booch method consists of the following diagrams:

 Class diagrams

 Object diagrams The Booch methodology prescribes:

 State transition diagrams  macro development process

 Process diagrams  micro development process

 Interaction diagrams
OBJECT ORIENTED TECHNIQUE BY BOOCH
Macro Process
A macro development process serve as a controlling framework for the micro process and can
take weeks or even months. The primary concern of the macro process is technical management
of the system.

The macro process consists of the following steps:


1. Establish core requirements (Conceptualization)
2. Develop a model of desired behavior (Analysis)
3. Create an architecture (Design)
4. Evolve the implementation (Evolution)
5. Manage post delivery evolution (Maintenance)
OBJECT ORIENTED TECHNIQUE BY BOOCH
Micro Process

The micro development process consists of the


following steps:

1. Identify classes and objects.

2. Identify class and object semantics.

3. Identify class and object relationships.

4. Specify class and object interfaces and


implementation.
OBJECT ORIENTED SOFTWARE ENGINEERING BY JACOBSON

 Object Oriented Software Engineering (OOSE) is object oriented modelling technique


proposed by Ivar Jacobson.
 OOSE is the first object-oriented design methodology that employs use cases in
software design.
 Use cases are scenarios for understanding system requirements. A use case is an
interaction between users and a system.
 The use-case model captures the goal of the user and the responsibility of the
system to its users.
 This technique is implemented by using requirements model, analysis model, design
model and a testing model.
OBJECT ORIENTED SOFTWARE ENGINEERING BY JACOBSON

Use Case
Diagrams
OBJECT ORIENTED ANALYSIS BY CODD YOURDON
 The focus of Object Oriented analysis method proposed by Codd Yourdon is on
system analysis. This method is based on five steps for performing analysis. This is
popularly known as “SOSAS”.

Subject Structur Attribut Service


Objects
s es es s
OBJECT ORIENTED ANALYSIS BY CODD YOURDON
 The first step in system analysis is called Subjects. These are
basically the data flow diagrams for objects.

 The second step is called Objects. In this step object classes and
class hierarchies are identified.

 The third step is called Structures. In this step, the structures


are decomposed into two types-Classification structure and
Composition structure. Classification structure handle the
inheritance connection between related classes, while
composition structures handle all of the other connections
among classes.

 The next step in analysis is called Attributes and final step is


called Services, where all of the behaviors or methods for each
class are identified.
OBJECT ORIENTED ANALYSIS BY CODD YOURDON
After analysis the design is performed. The step of system design are:
 The problem domain components: This step defines the classes that should
be in problem domain.

 The human interaction components: This step is for defining the interface
classes between the objects.

 The task management components: In this step the system-wide


management classes are identified.

 The data management components: This is the method in which the classes
needed for database access methods are identified.
UNIFIED APPROACH
 Unification of Booch, Rumbaugh and Jacobson Methodologies

 Object Oriented Analysis

 Object Oriented Design

 Iterative Design and Continuous Testing

 Modelling Based on UML

 The Layered Approach to Software Development


UNIFIED APPROACH
 Unification of Booch, Rumbaugh and Jacobson
Methodologies

 Object Oriented Analysis

 Object Oriented Design

 Iterative Design and Continuous Testing

 Modelling Based on UML

 The Layered Approach to Software Development


THE UNIFIED APPROACH
Unification of Booch, Rumbaugh and Jacobson
Methodologies
 The Unified Approach (UA) is a methodology for
software development based on methodologies
by Booch, Rumbaugh and Jacobson.
THE UNIFIED APPROACH
Unification of Booch, Rumbaugh and Jacobson Methodologies

 This method combines the best practices, processed and guidelines along with
the Object Management Group’s (OMG) Unified Modeling Language.

 The Unified Modeling Language (UML) is a set of notations and conversations


used to describe and model an application.

 The heart of unified approach is use case modeling. The use case represents a
typical interaction between a user and a computer system to capture the users
goals and needs.
THE UNIFIED APPROACH
Unification of Booch, Rumbaugh and Jacobson Methodologies

 The unified approach consists of following processes,


 Use-case driven development
 Object-oriented analysis
 Object-oriented design
 Incremental development and prototyping
 Continuous Testing

 The UA allows iterative development for object oriented analysis and design
phase.
UNIFIED APPROACH
 Unification of Booch, Rumbaugh and Jacobson Methodologies

 Object Oriented Analysis

 Object Oriented Design

 Iterative Design and Continuous Testing

 Modelling Based on UML

 The Layered Approach to Software Development


THE UNIFIED APPROACH
Object Oriented Analysis
 Analysis is the process of extracting the needs of the system and what the system
must do to satisfy the user’s requirements.

 The goal of OOA is to first understand the domain of the problem and the
system’s responsibility by understanding how the users use the system.

 It focuses on describing what the system does rather than how it does it.
THE UNIFIED APPROACH
Object Oriented Analysis
 OOA process consists of the following steps:
1. Identify the actor’s
2. Develop a simple process model using UML activity Diagrams
3. Develop the use-case
4. Develop the Interaction Diagrams
5. Identify the classes

You might also like