Object-Oriented System
Analysis and Modeling
[Link] Kumar Mohapatra
[Link]/ood/
[Link]@[Link]
+251-944740135
Thinking in Objects
• The Unified Modeling Language (UML) is a standard
diagramming notation; sometimes referred to as a blueprint.
• It is NOT OOA/OOD or a method
• Only a notation for capturing objects.
• Blueprints serve as a tool for thought and as a form of
communication with others.
2
Thinking in Objects
• But it is far more essential to ‘think’ in terms of objects as
providing ‘services’ and accommodating ‘responsibilities.’
• Discuss: What is meant by ‘services?’ How indicated?
– How might you think these ‘services’ impact the design of classes?
– How might a client access these services?
• Discuss: What is meant by ‘responsibilities?’
– Encapsulation of data and services?
3
Thinking in Terms of Objects
• Object-Oriented Analysis (Overview)
– An investigation of the problem (rather than how a solution is defined)
– During OO analysis, there is an emphasis on finding and describing the
objects (or concepts) in the problem domain.
– For example, concepts in a Library Information System include Book,
and Library.
4
Thinking in Terms of Objects
• Object-Oriented Design
– Emphasizes a conceptual solution that fulfills the requirements.
– Need to define software objects and how they collaborate to fulfill the
requirements.
– For example, in the Library Information System, a Book software object
may have a title attribute and a getChapter method.
• Designs are implemented in a programming language.
– In the example, we will have a Book class in Java.
5
Thinking in Terms of Objects
From Design to Implementation
Analysis
Design Construction
investigation
logical solution code
of the problem
Book public class Book {
Book public void print();
(concept) title private String title;
print() }
Domain concept Representation in Representation in an
analysis of concepts object-oriented
programming language.
6
Can you see the services / responsibilities in the Book class?
Thinking in Objects
• Then too, there are sets of proven design solutions to problems
that are considered ‘best practices.’
– Certain ‘groupings’ of classes with specific responsibilities / interfaces.
– These provide specific solutions to specific problems.
– Called Design Patterns
• We will discuss (much later) these patterns and how to apply
them to develop solutions to problems.
7
Object Oriented Modeling
OOM approach is a encouraging approach in which software
developers have to think in terms of the application domain
through most of the software engineering life cycle.
8
Object Oriented Modeling
In OOM the modeling passes through the following processes:
• System Analysis
• System Design
• Object Design, and
• Final Implementation
9
System Analysis
In this stage a statement of the problem is formulated and a model
is build by the analyst in encouraging real-world situation.
10
System Design
At this stage, the complete system architecture is designed. This is
the stage where the whole system is divided into subsystems,
based on both the system analysis model and the proposed
architecture of the system.
11
Object Design
At this stage, a design model is developed based on the analysis
model which is already developed in the earlier phase of
development.
12
Final Implementation
At this stage, the final implementation of classes and relationships
developed during object design takes place a particular
programming language, database, or hardware implementation
(if needed).
13
Object Oriented Modeling
These models are:
• Object model
• Dynamic model
• Functional model
14
Models
• Object models are used for describing the objects in the system
and their relationship among each other in the system.
• The dynamic model describes interaction among objects and
information flow in the system.
• The data transformations in the system are described by a
functional model.
15
Difference between OOD and Structured Development
Object Oriented Development Structured Development
The basic focus of object-oriented approach •In the structured approach, the main
is to identify objects from the application emphasis is on specifying and
domain, and then to associate procedures decomposing system functionality.
(methods) around these identified •Structured approach is seen as the most
objects. direct way of implementing a desired
goal.
16
Basic Philosophy of Object Orientation
Now, let us discuss about the basic characteristics around which
object oriented systems are developed.
• Abstraction
• Encapsulation
• Polymorphism
• Sharing of Structure and Behaviour
• Emphasis on Object Structure, not on Operation
Implementation
17
Characteristics of Object Oriented Modeling
Now will discuss these features, which include:
• Class and Objects
• Links and Association
• Generalization and Inheritance
18
Class & Object
A class is a collection of things, or concepts that have the same
characteristics. Each of these things, or concepts is called an
object.
The characteristics a classes
• Attributes
• Operations
19
Class & Object
The notation for a class is a box with three sections.
You can, also show a class without its attributes or its operations.
20
Class & Object
The naming convention for classes are as follow:
• Class names are simple nouns or noun phrases.
• Attribute names in a class are simple nouns or noun phrases.
The first word is not capitalized, but subsequent words may be
capital.
• Operation names are simple verbs. As with attributes, the first
word is not capitalized and subsequent words may be capital.
21
Class & Object
The notation for an object is the same in basic form as that for a
class. There are three differences between the notations, which
are:
• Within the top section of the class box, the name of the class to
which the object belongs appears after a colon. The object may
have a name, which appears before the colon, or it may be
anonymous, in which case nothing appears before the colon.
• The contents of the top compartment are underlined for an
object.
• Each attribute defined for the given class has a specific value
for each object that belongs to that class.
22
Class & Object
23
Thank You
Any Questions
24