0% found this document useful (0 votes)
5 views7 pages

Unit-3 Notes

The document discusses Object-Oriented Analysis (OOA) and Object-Oriented Design (OOD), highlighting their roles in identifying software requirements and implementing solutions. It outlines the three models of Object Modeling Technique (OMT) - object, dynamic, and functional models - and their interrelations. Additionally, it covers the importance of documentation, structured analysis and design, and optimization in software development.

Uploaded by

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

Unit-3 Notes

The document discusses Object-Oriented Analysis (OOA) and Object-Oriented Design (OOD), highlighting their roles in identifying software requirements and implementing solutions. It outlines the three models of Object Modeling Technique (OMT) - object, dynamic, and functional models - and their interrelations. Additionally, it covers the importance of documentation, structured analysis and design, and optimization in software development.

Uploaded by

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

Unit -3

Object Oriented Analysis And Object Oriented Design

Object-oriented analysis :

• 1. Object-Oriented Analysis (OOA) is the procedure of identifying software


engineering requirements and developing software specifications in terms of
a software system’s object model, which comprises of interacting objects.
• 2. The primary tasks in object-oriented analysis (OOA) are:
• a. Identifying objects
• b. Organizing the objects by creating object model diagram.
• c. Defining the internals of the objects, or object attributes.
• d. Defining the behavior of the objects, i.e., object actions.
• e. Describing how the objects interact.
• 3. The common models used in O0A are use cases and object models.
Object-Oriented Design:

• 1. Object-oriented Design (OOD) involves implementation of the conceptual


model produced during object-oriented analysis.
• 2. In OOD, concepts in the analysis model, which are technology independent,
are mapped onto implementing classes, constraints are identified and
interfaces are designed, resulting in a model for the solution domain, i.e., a
detailed description of how the system is to be built on concrete technologies.
• 3. The implementation details include:
• a. Restructuring the class data (if necessary),
• b. Implementation of methods, i.e., internal data structures and
algorithms,
• c. Implementation of control, and d Implementation of
associations.W
Three Models of OMT:
Following are the three models in OMT:
• Object model:
• a. Object model encompasses the principles of abstraction,
encapsulation, modularity, hierarchy, typing, concurrency and
persistence.
• b. Object model emphasizes on the object and class.
• c. Main concepts related with object model are classes and their
association with attributes.
• d. Predefined relationships in object model are aggregation and
generalization (multiple inheritance).
• 2. Dynamic model :
• a. Dynamic model involves states, events and state diagram
(transition diagram) on the model.
• b. Main concepts related with dynamic model are states, transition
between states and events to trigger the transitions.
• c. Predefined relationships in object model are aggregation
(concurrency) and generalization.
• 3. Functional model:
• a. Functional Model focuses on the how data is flowing, where data
is stored and different processes.
• b. Main concepts involved in functional model are data, data flow,
data store, process and actors.
• c. Functional model describes the whole processes and actions with
the help of data flow diagram (DFD).
OOAD attachment with OMT:

• 1. Object Modeling Technique (OMT) combines the three views of modeling


systems.
• 2. The object model represents the static, structural, “data” aspects of a
system.
• 3. The dynamic model represents the temporal, behavioral, “control” aspects
of a system.
• 4. The functional model represents the transformational, “function” aspects of
a system.
• 5. A typical object oriented software procedure incorporates all three aspects:
It uses data structures (object model), it sequences operations in time
(dynamic model), and it transforms values (functional model). Each model
contains references to entities in other models.
• 6. For example, operations are attached to objects in the object model but
more fully expanded in the functional model.
• Object model:
• a. Object model encompasses the principles of abstraction,
encapsulation, modularity, hierarchy, typing, concurrency and
persistence.
• b. Object model emphasizes on the object and class.
• c. Main concepts related with object model are classes and their
association with attributes.
• d. Predefined relationships in object model are aggregation and
generalization (multiple inheritance).
• 2. Dynamic model :
• a. Dynamic model involves states, events and state diagram
(transition diagram) on the model.
• b. Main concepts related with dynamic model are states, transition
between states and events to trigger the transitions.
• c. Predefined relationships in object model are aggregation
(concurrency) and generalization.
• 3. Functional model:
• a. Functional Model focuses on the how data is flowing, where data
is stored and different processes.
• b. Main concepts involved in functional model are data, data flow,
data store, process and actors.
• c. Functional model describes the whole processes and actions with
the help of data flow diagram (DFD).
OOAD attachment with OMT:

• 1. Object Modeling Technique (OMT) combines the three views of modeling


systems.
• 2. The object model represents the static, structural, “data” aspects of a
system.
• 3. The dynamic model represents the temporal, behavioral, “control” aspects
of a system.
• 4. The functional model represents the transformational, “function” aspects of
a system.
• 5. A typical object oriented software procedure incorporates all three aspects:
It uses data structures (object model), it sequences operations in time
(dynamic model), and it transforms values (functional model). Each model
contains references to entities in other models.
• 6. For example, operations are attached to objects in the object model but
more fully expanded in the functional model.
Relation of functional model, object model, dynamic model
• The functional model shows what “has to be done” by a system. The leaf
process are the operation on objects.
• 2. The object model shows the “doers” the objects. Each process is
implemented by a method on some object.
• 3. The dynamic model shows the sequences in which the operations are
performed. Each sequence is implemented as a sequence, loop or alteration of
statements within some method.
• 4. The processes in the functional model correspond to operations in the
object model.
• 5. Actors are explicit objects in the object models. Data flows to or from actors
represent operations on or by the objects.
• 6. Because actors are self-motivated objects, the functional model is not
sufficient to indicate when they act. The dynamic model for an actor object
specifies when it acts.
Relationship between OOA and OOD:

• 1. When object orientation is used in analysis as well as design, the boundary


between OOA and OOD is blurred. This is particularly true in methods that
combine analysis and design.
• 2. One reason for this blurring is the similarity of basic constructs (i.e., objects
and classes) that are used in OOA and OOD.
Difference between OOA and OOD:

• 1. The fundamental difference between OOA and OOD is that OOA models the
problem domain, leading to an understanding and specification of the
problem, while the OOD models the solution to the problem.
• 2. That is, analysis deals with the problem domain, while design deals with the
solution domain.

Optimization of design:

• 1. Design optimization is an engineering design methodology using a


mathematical formulation of a design problem to support selection of the
optimal design among many alternatives.
• 2. Design optimization involves the following stages:
• a. Variables: Describe the design alternatives.
• b. Objective: Elected functional combination of variables (to be
maximized or minimized).
• c. Constraints: Combination of variables expressed as equalities or
inequalities that must be satisfied for any acceptable design
alternative.
• d. Feasibility: Values for set of variables that satisfies all constraints
and minimizes/maximizes objective.
For example : Consider the design of a company’s employee skills database. Fig. shows a
portion of the analysis class model. The operation companyfindskill() returns a set of persons
in the company with a given skill. For example, an application might need all the employees
who speak Japanese.

Documentation :

• 1. Documentation is a software development process that records the


procedure of making the software.
• 2. The design decisions need to be documented for any non-trivial software
system for transmitting the design to others.
• 3. Though a secondary product, a good documentation is indispensable,
particularly in the following areas:
• a. In designing software that is being developed by a number of
developers.
• b. In iterative software development strategies.
• c. In developing subsequent versions of a software project.
• d. For evaluating a software.
• e. For finding conditions and areas of testing.
• f. For maintenance of the software.
Various Consideration of documentation designing:

• 1. It is a roadmap:
• a. It allows standardization, and it helps to identify the stages that
can be improved.
• b. Process documentation also facilitates the training of new
employees.
• 2. It is everyone’s task:
• a. The members of an area or project are responsible for
documenting their processes.
• b. Every employee knows their own functioning, their strength, and
their weakness, so they are the ones better indicates to document
their processes.
• 3. Make them public:
• a. The documentation of the processes must be available to all
team and company members.
• b. Restricting access to documentation creates the false illusion
that it’s only relevant to a particular group.
• 4. Flexible documentation:
• a. Companies change, update, improve, so their processes are also
subject to constant changes. To improve the effectiveness of the
process, incorporate the necessary adjustments to the
documentation of the process.
• b. Document the date of the last update.
• c. Save a backup copy of the files that document the process.
• d. Review the documents at least once a year.
Structured analysis and structure design:

• 1. Structured Analysis and Structured Design (SAVSD) is diagrammatic notation


which is design to help people understand the system.
• 2. The basic goal of SA/SD is to improve quality and reduce the risk of system
failure.
• 3. It establishes concrete management specification and documentation.
• 4. It focuses on solidity, pliability and maintainability of system.
• 5. The approach of SA/SD is based on the Data Flow Diagram.
• 6. It is easy to understand SA/SD but it focuses on well defined system
boundary whereas JSD approach is too complex and does not have any
graphical representation.
• 7. SA/SD is combined known as SAD and it mainly focuses on following three
points:
• a. System
• b. Process
• c. Technology
• 8. SA/SD involves two phases:
• a. Analysis Phase: It uses Data Flow Diagram, Data Dictionary. State
Transition diagram and ER diagram.
• b. Design Phase: It uses Structure Chart and Pseudo Code.
• 9. For example:
• i. During structured design, data flow diagram processes are
grouped into tasks and allocated to operating system processes and
CPUs.
• ii. Data flow diagram processes are converted into programming
language functions, and a structure chart is created showing the
procedure call tree.

You might also like