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