You are on page 1of 14

OBJECT ORIENTED ANALYSIS AND DESIGN

(UNIFIED MODELING LANGUAGE)

UNIT-1
Ch-1 Why We Model
 Successful software

 Why Model?
Why Model?

 The Primary product of a development team is good software


that satisfies the needs of its users and the business.

 To develop software rapidly, efficiently, effectively and minimum


software rework, we need right people, right tools, and right focus.
Importance
 To maximize ROI
ROI depends on the effort we put in each
phase of the product.
ROI 1:1 in production
1:10 in process
1:100 in development
1:1000 in analysis
 Modeling is a central part of all the activities that lead to the
development of good software.

 We build models to
1) To Communicate the desired structure and behavior of our
system.
2) To visualize and control the systems architecture.
3) To better understanding the system we are building often
exposing opportunities for simplification and reuse.
4) To manage risk.

 Modeling is a proven and well accepted engineering tech.


Importance of Modeling
 What is a model?

A Model is a simplification of reality.


It provides the blue prints of a system.
 Why do we model?

The fundamental reason to have a model is “we can


better understand the system we are developing”.
 Through modeling, we can achieve the following
4 aims:-

1) Models help us to visualize a system.

2) Models permits us to specify the structure or behavior of a


system.

3) Models give us a template that guides us in constructing a


system.

4) Models document the decision we have made.


Principles of Modeling
 The use of modeling has a rich history in all the engineering
disciplines.
 The four basic principles of modeling are:

1. The choice of what models to create has a profound


influence on how a problem is attacked and how a
solution is shaped.
2. Every model may be expressed at different levels of
precision.

3. The best models are connected to reality.

4. No single model is sufficient. Every non trivial system is


best approached through a small set of nearly
independent models.
 To understand the architecture of a system, you need several
complementary and interlocking views:-

 A Use Case view


 A Design process view
 A Process view
 An implementation view
 A Deployment view
 A Use Case view: Exposing the requirements of the system.

 A Design process view: Capturing the vocabulary of the problem


space and the solution space.

 A Process view: Modeling the distribution of the systems processes


and threads.

 An Implementation view: Addressing the physical realization of the


system.

 A Deployment view: Focusing on systems engineering issues.


These views represent the blueprints of the software system.
Object-Oriented Modeling
 In software, the two most common approaches used are algorithmic
perspective and an object-oriented perspective.

 In algorithmic perspective, the main building block of all software is


the procedure or function.
 In object-oriented perspective, the main building block is the object
or the class.

 Visualizing, specifying, constructing and documenting object-


oriented system is exactly the purpose of UML.

You might also like