0% found this document useful (0 votes)
48 views8 pages

OOSD Unit-3

unit 3 notes oosd

Uploaded by

kshamatomer2004
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)
48 views8 pages

OOSD Unit-3

unit 3 notes oosd

Uploaded by

kshamatomer2004
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/ 8

UNIT-3

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 OOA 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.
Object Design.
1. After the hierarchy of subsystems has been developed, the objects in the
system are identified and their details are designed.
2. Here, the designer details out the strategy chosen during the system design.
3. The emphasis shifts from application domain concepts toward computer
concepts.
4. The objects identified during analysis are etched out for implementation
with an aim to minimize execution time, memory consumption, and overall
cost.
5. Object design includes the following phases :
a. Object identification
b. Object representation, i.e., construction of design models
c. Classification of operations
d. Algorithm design
e. Design of relationships
f. Implementation of control for external interactions
g. Package classes and associations into modules

How can we design an algorithm ?


1. The operations in the objects are defined using algorithms.
2. An algorithm is a stepwise procedure that solves the problem laid down in
an operation. Algorithms focus on how it is to be done.
3. There may be more than one algorithm corresponding to a given operation.
4. Once the alternative algorithms are identified, the optimal algorithm is
selected for the given problem domain.
5. The metrics for choosing the optimal algorithm are :
a. Computational Complexity : Complexity determines the efficiency of an
algorithm in terms of computation time and memory requirements.
b. Flexibility : Flexibility determines whether the chosen algorithm can be
implemented suitably, without loss of appropriateness in various
environments.
c. Understandability : This determines whether the chosen algorithm is easy to
understand and implement.

What are the three models in OMT ? How to combine 3 models.


Following are the three models in OMT :
1. 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).
Combining three models:-
1. 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.

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. 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.

Describe implementation of control in object oriented design.


1. The object designer may incorporate refinements in the strategy of the
state-chart model. In system design, a basic strategy for realizing the dynamic
model is made. During object design, this strategy is aptly embellished for
appropriate implementation.
2. The approaches for implementation of the dynamic model are :
a. Represent state as a location within a program :
i. This is the traditional procedure-driven approach whereby the location of
control defines the program state.
ii. A finite state machine can be implemented as a program.
iii. A transition forms an input statement, the main control path forms the
sequence of instructions, the branches form the conditions, and the backward
paths form the loops or iterations.
b. State machine engine :
i. This approach directly represents a state machine through a state machine
engine class.
ii. This class executes the state machine through a set of transitions and actions
provided by the application.
c. Control as concurrent tasks :
i. In this approach, an object is implemented as a task in the programming
language or the operating system.
ii. Here, an event is implemented as an inter-task call.
iii. It preserves inherent concurrency of real objects.
What do you mean by object representation ?
1. Once the classes are identified, they need to be represented using object
modeling techniques.
2. This stage essentially involves constructing UML diagrams.
3. There are two types of design models that need to be produced :
a. Static Models : To describe the static structure of a system using class
diagrams and object diagrams.
b. Dynamic Models : To describe the dynamic structure of a system and show
the interaction between classes using interaction diagrams and state-chart
diagrams.

Describe physical packaging with example.


1. A component is a physical and replaceable part of the system that confirms
and provides the realization of a set of interfaces.
2. It represents the physical packaging of elements like classes and interfaces.
3. A package is an organized group of elements. A package may contain
structural things like classes, components, and other packages in it.
4. For example, a package is represented by a tabbed folder.
5. A package is generally drawn with only its name. However, it may have
additional details about the contents of the package.

What are the different aspects of packaging ?


The different aspects of packaging are :
1. Hiding internal information from outside view :
a. It allows a class to be viewed as a "black box" and permits class
implementation to be changed without requiring any clients of the class to
modify code.
2. Coherence of elements :
a. An element, such as a class, an operation, or a module, is coherent if it is
organized on a consistent plan and all its parts are intrinsically related so that
they serve a common goal.
3. Construction of physical modules : The following guidelines help while
constructing physical modules :
a. Classes in a module should represent similar things or components in the
same composite object.
b. Closely connected classes should be in the same module.
c. Unconnected or weakly connected classes should be placed in separate
modules.
d. Modules should have good cohesion, i.e., high cooperation among its
components.
e. A module should have low coupling with other modules, i.e., interaction or
interdependence between modules should be minimum.

What do you mean by documentation? What are the various considerations


in documentation designing? Explain.
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.

You might also like