OOSE Unit-1 & 2
OOSE Unit-1 & 2
Software
Burn-in
phase Wear out
phase
Failure Intensity
Useful life
phase
Time
Software Characteristics
Flexibility of Software
Reusability of Software
What is Object Orientation?
o Why is object oriented software
development taking centre stage in
software industry?
o Why object oriented version of
existing software products are
coming in the market?
What is Object Orientation?
o We feel that real strength of object
oriented approach is its modeling ability
to represent real world situations.
o A model helps us to visualize and
understand a real situation along with its
behavior.
o Architects use models to demonstrate
their conceptual constructs which may
also increase the confidence of their
clients in terms of design, aesthetics and
feel of the proposed project.
What is Object Orientation?
Classes & Objects
o All book types may be combined to form a group called class.
o All objects are instances of a class.
o The class describes the structure of the instance which include
behaviour and information.
Class
Book
addmember()
deletemember()
updatemember()
viewmember()
public:
addmember();
deletemember();
updatemember();
viewmember();
};
Inheritance
class employee : public Member //publicly derived
class
{
long int employeeID;
char branch[60];
};
Class A
{
………
A B };
Design of
architecture
Maintenance of Evolution in
delivered the form of
functionality refinements
Object Oriented
Methodologies
Booch Methodology
In first phase the requirements are established using
context diagrams and prototypes.
The outcomes of this phase are core requirements of
the system.
Analysis process involves requirement capturing and
understanding. It involves “what of the system”. This
phase consists of construction of use cases,
identification and prioritization of risks.
Object Oriented
Methodologies
Booch Methodology
Design phase focuses on construction of architecture of
the system and involves:
Identification of horizontal layers
Mapping classes to subsystems
Release planning
Attaching risks identified in analysis phase to releases
Evolutionary phase involves implementation of the
system and each release adds to the functionality of the
system.
Maintenance phase consists of post deployment
activities.
Object Oriented
Methodologies
Booch Methodology
It is the lower level process. The following recursive
steps are followed in OOD micro process
Identification of classes and objects
Identification of semantics of classes and objects
Identification of relationship amongst classes and objects
Specification of interfaces and implementation of classes and
objects
Object Oriented
Methodologies
Rumbaugh Methodology
Rumbaugh developed a technique
that focuses on analysis, design
and implementation of the system.
This technique is popularly known
as Object Technique (OMT).
The OMT consists of four phases:
analysis, system design, object
design and implementation.
Object Oriented
Methodologies
Rumbaugh Methodology
Analysis phase: Analysis phase is composed of three
submodels given below:
Object model: It captures the static aspect of the system.
Dynamic model: It captures the behavioral aspects of the
object models and describes state of the objects.
Functional model: It represents the functional aspects of the
system in terms of operations defined in the classes.
Object Oriented Methodologies
Rum Baugh Methodology
System design phase: In this phase high level design is
developed taking the implementation environment including
DBMS and communication protocols into account.
Object design phase: The goal of this phase is to define the
objects in details. The algorithms and operations of the
objects are defined in this phase. New objects may be
identified to represent the intermediate functionality.
Implementation phase: Finally the objects are implemented
following coding standards and guidelines.
Object Oriented
Methodologies
Jacobson Methodology
All the methodologies described above still lack of a
comprehensive architecture to develop a software
project.
The Jacobson’s methodology known as “Object
Oriented Software Engineering (OOSE)” consists of
five models:
The requirement model: The aim of the model is to gather
software requirements.
The analysis model: The goal of this model is to produce
ideal, robust and modifiable structure of an object.
Object Oriented
Methodologies
Jacobson Methodology
The design model: It refines the objects keeping the
implementation environment in mind.
The implementation model: It implements the objects.
The test model: The goal of the test model is to validate
and verify the functionality of the system.
Object Oriented Modeling
Object oriented modeling is a way of constructing visual
models based on real world objects.
Modeling helps in understanding the problems,
developing proper documents and producing well
designed programs.
Modeling produces well understood requirements,
robust designs, high quality and maintainable systems.
Object Oriented Modeling
UML represents the combination of the notations used
by Booch, Rumbaugh and Jacobson.
The best concepts and processes were extracted from
all the methodologies till date and combined into UML.
UML was adopted by Object Management Group
(OMG) in November, 1997.
UML is defined as language for visual modeling that
allows to specify, visualize, construct, understand and
document the various artifacts of the system.
Some Terminologies
Customers, Developers and Users
Customers are persons who request the system,
approve the system and pay for the system.
Developers are the persons at the supplier side
who are responsible for the development of the
system. Users are the persons who will actually
use the system.
For example in the library management system
developed for a university, the customer is the
university, developer is the one at the supplier side
who develops the system and the users are the
persons in the library staff who will actually work
on the system.
Some Terminologies
Product and process
Product is what is delivered to the customer. It may include Software
Requirement Specification (SRS) document, source code, test reports, user
manuals and system guide.
Process is the way in which the software is produced. A process is like a
tunnel through which the project goes in order to produce a product
product
process
Some Terminologies
Actor, Use Case, Use Case Model and Use Case Scenario
An actor represents the role of a user that interacts
with the system. Some of the examples of the actors
used in “Library Management System” are
administrator, data entry operator, student, library
staff and faculty.
A use case describes who (any user) does what
(interaction) with the system, for what goal, without
considering the internal details of the system. The
use case model depicts actors, use cases and the
relationship between them.
A use case scenario is an instance of a use case or
a complete path through the use case.
Some Terminologies
System and Subsystems
System is an organized and arranged structure as a whole that consists of
interrelated and well defined procedures, processes and methods. All systems
consist of inputs, outputs, feedback mechanisms and boundaries.
Collaborations are the other classes that a class calls in order to achieve the
functionality.
“the probability of failure free operation for the specified time in a specified
environment”
To produce good quality product, a software tester must verify and validate
throughout the software development process.
Some Terminologies
Quality Assurance and Quality Control
The purpose of quality assurance activities is to enforce standards and
techniques to improve the development process and prevent bugs from ever
occurring.
Quality assurance group monitors and guides throughput the software
development life cycle. Examples are reviews, audits, etc.