0% found this document useful (0 votes)
20 views9 pages

CHAPTER THREE - Object Oriented Analysis-1

Chapter Three discusses Object Oriented Analysis (OOA), focusing on identifying objects, their relationships, and behaviors within a software system. It outlines the subprocesses of eliciting and specifying requirements, conceptual modeling, and the three analysis techniques: object, dynamic, and functional modeling. The chapter also compares the advantages and disadvantages of OOA with traditional structured analysis, highlighting the focus on data and encapsulation in OOA.

Uploaded by

kiddosatoru
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views9 pages

CHAPTER THREE - Object Oriented Analysis-1

Chapter Three discusses Object Oriented Analysis (OOA), focusing on identifying objects, their relationships, and behaviors within a software system. It outlines the subprocesses of eliciting and specifying requirements, conceptual modeling, and the three analysis techniques: object, dynamic, and functional modeling. The chapter also compares the advantages and disadvantages of OOA with traditional structured analysis, highlighting the focus on data and encapsulation in OOA.

Uploaded by

kiddosatoru
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

CHAPTER THREE- OBJECT ORIENTED ANALYSIS

Object analysis identifies the objects, their relationship and behavior using the conceptual model.
In the system analysis or object-oriented analysis part of software development, the system needs
are determined, the classes are identified and the relationships among classes are known.

The object analysis sub-processes include:

i. Elicit requirements- define what the software will do and what problem the software is trying
to solve.

ii. Specify requirements – describe the requirements using use cases and scenarios or user
stories.

iii. Conceptual modelling – identify the important objects, refine them and define their
relationships and behavior and draw them in a simple diagram.

The 3 analysis techniques that are used in conjunction with one another for object-oriented
analysis are:

i Object modelling
ii Dynamic modelling
iii Functional modelling

i. Object modelling

Object Modelling Technique is a methodology that deals with object oriented development in
analysis and design phases. In analysis phase, a problem statement carries list of goals and key
ideas within a domain.

Object modelling develops the static structure of the software system in terms of objects. It
identifies the objects, the classes into which the objects can be grouped into and the relationships
between the objects. It also identifies the main attributes and operations that characterize each
class.
The process of object modelling can be visualized in the following steps −

i Identify objects and group into classes


ii Identify the relationships among classes
iii Create user object model diagram

1
iv Define user object attributes
v Define the operations that should be performed on the classes
vi Review glossary

An object model shows artifacts of system showing static and stable phenomena in model
domain. The idea behind it's classes and associations with attributes and operations. Aggregation
and generalization are predefined relationships.

There are three key elements used in object diagram notation.

Object Name

An object is represented by a rectangular symbol, as shown, generally with two rows.

The object name is shown at the top row of the rectangular symbol.

Attributes

Object attributes are shown in the bottom row of the rectangular symbol.

They must have a value assigned to them.


Links

2
Use links when there are instances of association between objects.

*Note: The most commonly used link is the first link - a solid, straight line.

The following three links are composition, generalization, and aggregation.

Association

If two classes in a model need to communicate with each other, there must be a link between
them, and that can be represented by an association (connector).
Association can be represented by a line between these classes with an arrow indicating the
navigation direction. In case an arrow is on both sides, the association is known as a
bidirectional association.
We can indicate the multiplicity of an association by adding multiplicity adornments to the line
denoting the association. The example indicates that a Student has one or more Instructors:
A single student can associate with multiple teachers:

The example indicates that every Instructor has one or more Students:

3
We can also indicate the behavior of an object in an association (i.e., the role of an object)
using role names.

 Aggregation implies a relationship where the child can exist independently of the
parent. Example: Class (parent) and Student (child). Delete the Class and the Students
still exist.
 Composition implies a relationship where the child cannot exist independent of the
parent. Example: House (parent) and Room (child). Rooms don't exist separate to a
House.

Composition Example:

We should be more specific and use the composition link in cases where in addition to the part-
of relationship between Class A and Class B - there's a strong lifecycle dependency between
the two, meaning that when Class A is deleted then Class B is also deleted as a result

Specialization is the reverse process of Generalization means creating new sub-classes from an
existing class.
For Example, a Bank Account is of two types - Savings Account and Credit Card Account.
Savings Account and Credit Card Account inherit the common/ generalized properties like
Account Number, Account Balance, etc. from a Bank Account and also have their specialized
properties like unsettled payment etc.

4
Generalization vs Inheritance

Generalization is the term that we use to denote abstraction of common properties into a base
class in UML. The UML diagram's Generalization association is also known as Inheritance.
When we implement Generalization in a programming language, it is often called Inheritance
instead. Generalization and inheritance are the same. The terminology just differs depending on
the context where it is being used.

Examples of class and object diagrams

a)

b)

5
Example − Let us consider an object of the class Circle named c1. We
assume that the center of c1 is at (2, 3) and the radius of c1 is 5. The
following figure depicts the object.
Example − Let us consider an object of the class Circle named c1. We assume that the center of
c1 is at (2, 3) and the radius of c1 is 5. The following figure depicts the object.

ii. Dynamic Modelling

After the static behavior of the system is analyzed, its behavior with respect to time and
external changes needs to be examined. This is the purpose of dynamic modelling.

Dynamic Modelling can be defined as “a way of describing how an individual object


responds to events, either internal events triggered by other objects, or external events triggered
by the outside world”.

The process of dynamic modelling can be visualized in the following steps

 Identify states of each object

 Identify events and analyze the applicability of actions

 Construct dynamic model diagram, comprising of state transition diagrams

 Express each state in terms of object attributes

 Validate the state–transition diagrams drawn

Example of a state chart diagram

6
State charts are used to detail the transitions or changes of state an object can go through in the
system. They show how an object moves from one state to another and the rules that govern that
change. State charts typically have a start and end condition.

iii. Functional Modelling

Functional Modelling is the final component of object-oriented analysis.

The functional model shows the processes that are performed within an object and how the
data changes as it moves between methods. It specifies the meaning of the operations of
object modelling and the actions of dynamic modelling. The functional model corresponds to the
data flow diagram of traditional structured analysis.

The process of functional modelling can be visualized in the following steps

 Identify all the inputs and outputs

 Construct data flow diagrams showing functional dependencies

 State the purpose of each function

 Identify constraints

 Specify optimization criteria

Structured Analysis vs. Object Oriented Analysis

The Structured Analysis/Structured Design (SASD) approach is the traditional approach of


software development based upon the waterfall model. The phases of development of a system
using SASD are −
7
 Feasibility Study

 Requirement Analysis and Specification

 System Design

 Implementation

 Post-implementation Review

Advantages/Disadvantages of Object Oriented Analysis

Advantages Disadvantages
Focuses on data rather than the Functionality is restricted within
procedures as in Structured objects. This may pose a problem
Analysis. for systems which are intrinsically
procedural or computational in
nature
The principles of encapsulation It cannot identify which objects
and data hiding help the would generate an optimal
developer to develop systems system design.
that cannot be tampered by
other parts of the system.
The principles of encapsulation The object-oriented models do
and data hiding help the not easily show the
developer to develop systems communications between the
that cannot be tampered by objects in the system.
other parts of the system.
It allows effective management All the interfaces between the
of software complexity by the objects cannot be represented in
virtue of modularity. a single diagram.
It can be upgraded from small
to large systems at a greater
ease than in systems following
structured analysis.

8
Advantages/ Disadvantages of Structured Analysis

Advantages Disadvantages
As it follows a top-down approach In traditional structured
in contrast to bottom-up approach analysis models, one phase
of object-oriented analysis, it can should be completed before
be more easily comprehended than the next phase. This poses a
OOA. problem in design, particularly if errors crop
up or
requirements change.
It is based upon functionality. The The initial cost of constructing
overall purpose is identified and the system is high, since the
then functional decomposition is whole system needs to be
done for developing the software. designed at once leaving very
The emphasis not only gives a little option to add
better understanding of the functionality later.
system but also generates more
complete systems.
The specifications in it are written It does not support reusability
in simple English language, and of code. So, the time and cost
hence can be more easily analyzed of development is inherently
by non-technical personnel. high.

You might also like