Вы находитесь на странице: 1из 19

Devendra Singh Institute of Technology & Management OOSUnit 3

Unit::3

Interaction Modelling
• It’s the 3rd leg of modelling tripod and describes interaction with system.

• If we analyse three models we can see that class model describes objects in a system
and their relationship, state model describes the life cycle of objects and the
interaction model describes how the objects interact & how objects interact to produce
useful results.

• Both the state model and the interaction model are needed to explain behaviour fully.

Levels of interaction:

1. Use case: Use case describes how a system interact with outside actors. Each use
case represents a piece of functionality that a system provides to it’s user. Use case
are helpful in capturing informal requirements.

2. Sequence Diagrams: these are used to more details and show the message
exchanged among a set of objects over time. Message may be asynchronous signals
and procedure calls.

NOTE: sequence diagrams are useful and good for showing the sequences seen by
users of a system.

3. Activity diagram:: These diagram provide further details and show flow of
control and flow of data. Activity diagrams document the steps necessary to
implement an operation or a business process referenced in a sequence diagram.

Data flow diagram-A Data Flow diagram is a graph that shows the flow of
information. It is used in the functional model to specify the meaning of operations and
constraints and show functional dependencies. The data flow diagram is a technique which is
graphical and concise, thus more easily understood. The data flow diagram also provides the
ability to abstract to the level of detail required. Thus it is possible to examine a system in
overview and at a detailed level, whilst maintaining the links and interfaces between the
different levels. A logical DFD represents logical information, not the physical aspects. A
data flow diagram is a graphical representation and it contains four elements:

• The data flow


• The process

• The data store

• The source or sink (external entity

o DATA FLOW: The data flows from its source object trough processes which,
transforms the data. A data flow represents intermediate values within a

Prepared By: Himanshu Tyagi Page 1


Devendra Singh Institute of Technology & Management OOSUnit 3

computation. It connects the output of an object or process with the input of


another object or process. The data flow does not change the value of the
intermediate result. Data flows are internal to the diagram and do not necessary
have a meaning in the real world.

o PROCESS: A process may or may not have side effects. The functional model
indicates the possible functional paths.

o ACTOR: An actor is an active object that consumes or produces values. It drives


the data flow graph. Actors attached to the inputs and outputs of the Data Flow
Diagram.

o DATA STORE: Data is stored for later access in data stores. Data stores are
passive objects that merely respond to requests to store or access data.

o Data Flow Diagrams are useful to show the high-level functionality of a system
but can also be nested to show more detail when needed. They can be nested to
arbitrary level.

o CONTROL: A control flow is a Boolean value that is used to determine whether


a process is evaluated or not. Control flows are sometimes useful but a Data Flow
diagram is relay only concerned with showing possible computation paths

By using DFD the analyst will be able to specify a system at the logical level. This means
that he´ll be able to describes what a system will do, rather than how it will be done.

Context diagram

Prepared By: Himanshu Tyagi Page 2


Devendra Singh Institute of Technology & Management OOSUnit 3

• The top level diagram is called the context diagram.


• It contains one activity node denoting the overall function of the
system.
• It can help to define the boundaries of the system to be built.

Data dictionary:
• Every arc in the data flow diagram indicates a flow of data.
• A data dictionary allows more precise description of the data
to be made e.g. textual information and data types can be
specified.
• Sometimes it is desirable to indicate that a data flow needs to be
captured and saved.
• Typically all labelled data in DFD should appear in the data
dictionary.

Example DFD using repositories

Prepared By: Himanshu Tyagi Page 3


Devendra Singh Institute of Technology & Management OOSUnit 3

Specifying Operation:
In the data flow diagrams processes are eventually implemented as operations on objects
.Each bottom level process of data flow diagram, is an operation .higher level process may
also be considered operations, but an implementation may be organized differently as
represented in data flow diagrams.
Each operation may be specified in various ways as following
• Mathematical functions or equations.
• Tables for input and output values.
• Equation specifying outputs in terms of input.
• Pre-conditions and post conditions .(constraints)
• Decision tables.
• Pseudo code.
• Natural language.
Specification of an operation contains a signature and a transformation .the signature defines
the interface to the operation : arguments(number , order, types) and the value it returns
(number,order,types)/the operation is usually listed in object model to show the pattern of
inheritance . the signature of all methods implementing an operation must match ,the
transformation defines the effect of an operation : the output values as functions of the input
values and side effects of the operation on its operand objects.

Specification of an operation

Signature Transformation

Argument Return type Output as input Effect on


values operand object

Operations can be divided into three categories-


1. Queries
2. Actions.
3. Activities.
• Queries- A query is an operation that has no side effect on the externally
visible state or any object; it is a pure function.
• Actions-an action is a transformation that has side effect on the target object
or other objects in the system reachable from the target object.
• An action has no duration in time, it is logically instantaneous.
• Activity-an activity is an operation to or by an object that has duration in
time, as opposed to queries and actions, which are considered as

Prepared By: Himanshu Tyagi Page 4


Devendra Singh Institute of Technology & Management OOSUnit 3

instantaneous. An activity inherently has side effects because of its extension


in time.

Functional constraint-A constraint shows the relationship between


two objects at the same time (such as frequency and wavelength) or
between different values of the same object at different times.

• a constraint may be expressed as a total function (one value is


completely specified by the another) or a partial function (one value is
restricted, but not completely specified by another) .
o for example, a co-ordinate transformation, might specify that the
scale factor for the x – coordinate and the y- coordinate will be
equal; this constraint totally defines one value in terms of the
other.

o The second law of thermodynamics expresses a partial


constraint; it states that the entropy of the universe can never
decrease.

Constraint can appear in each of the kinds of the model. Object constraint specifies that some
objects depend entirely or partially on objects. The dynamic constraints specify relationship
among the states or events of different objects. Functional constraint specifies restrictions on
operations such as scaling transformation described above.

• A constraint between values of an object over time is often called invariant.


Conservation law in physics is invariants; the total energy, or change, or angular
momentum of a system remains constant. Invariants are useful in specifying the behavior
of operations.

Nested data flow diagrams: A data flow diagram is particularly


useful for showing the high level functionality of a system and its
breakdown into smaller functional units .a process can be expanded into
another data flow diagram.

• Each input and output of the process is input and output of the new
diagram.
• The new diagram may have data stores that are not shown in the
higher level diagram. The display icon process of the fig corresponds
to the data flow diagram of the figure. Nesting of a data flow diagram
permits each level to coherent and understandable yet the overall
functionality can be arbitrary depth.

• the entire set of nested diagrams forms a tree. Yet the overall
functionality can be arbitrarily complex. A diagram that references
itself represents a recursive computation. (The nesting of diagrams is
also called levelling since the diagrams are organized into different
levels.)

Prepared By: Himanshu Tyagi Page 5


Devendra Singh Institute of Technology & Management OOSUnit 3

• Eventually the nesting of diagrams terminates with simple functions


.These functions must be specified as operations.

OMT – Object Modelling Technique


The dynamic model describes the aspects of the system that change over time. The dynamic
model is used to specify and implement the control aspects of a system. The dynamic model
contains state diagrams. A state diagram is a graph whose nodes are states, and whose arcs
are transitions between states caused by events.

The functional model describes the data value transformations within a system. The
functional model contains data flow diagram. A data flow diagram represents a computation.
A data flow diagram is a graph whose nodes are processes and whose arcs are data flows.

The object model is the most fundamental, because it is necessary to describe what is
changing or transforming before describing when or how it changes.
• OMT is an object-oriented design method. In OMT, one constructs
several kinds of diagrams.

• The focus is on the construction of class association diagrams (in


short Class Diagrams), that show the static structure of the object
classes and their relations.
For each phase one constructs an appropriate class diagram.

• The dynamical behaviour of a system is first described by means of


event trace diagrams (message sequence charts).
The next step is to define a state transition diagram (in short State
Diagram) for each class that has a non-trivial dynamic behaviour.

• The functional model consists of Data Flow Diagrams. A data flow


diagram shows the flow of values from external inputs, via operators
and internal data structures to external outputs.

• Because the functional model is difficult to relate to the other


models, it is not used very much in practice.

The OMT methodology spans the life cycle phases from analysis, via design to code:

• Analysis delivers a logical model of the system.


(In the ESA life cycle, analysis is called Software Requirements
Definition).
• System Design delivers an architectural design.
(In the ESA life cycle, system design is called Architectural Design).

• Object Design delivers a detailed physical model.


(In the ESA life cycle, object design is called Detailed Design).

• Finally, the classes are transformed into code.

Prepared By: Himanshu Tyagi Page 6


Devendra Singh Institute of Technology & Management OOSUnit 3

The object oriented analysis models before now provide expressive


account of sophisticated class organization. The design process may
employ more prolific bottom –up methods. Object oriented design is
also fluent. Class base design frame works are almost too flexible.
Different idiomatic approaches to the same problem often lead to
different design solutions .the innermost concept of a class at the
design level is amazing stretchy and influential. Classes form a natural
central point for organizing miscellaneous expressive, emblematic and
computational properties. The traditions in which these properties are
supposed, often govern the basic plan of assault for functional design.
The different perspective normally corresponds to object oriented
analysis models that stress particular features of objects. Often
multiple perspectives may be applied to the same object oriented
analysis model. Design can look very different depending on which sets
of techniques are applied. The most central criteria revolve around
compositionality. Compositional design is simplest when the
construction of one class depends only on the abstract class
specification of its components, not their internal structure..

In compositional design framework, just about every class should be


designed to be amenable for use as a component by others.

Design issues:

(1) Decomposability: Facility of decomposing large problem in


sub problems by designers.
(2) Compos ability: facility of recombining and reusing system
components .
(3) Continuity: ability of making changes and allowing
manifesting changes themselves.
(4) Protection: To reduce size propagation an accidental use.
(5) Coupling: degree of interdependence.
(6) Cohesion: Functional strength of each sub module.

Methodologies:
(1)Object and classes.
(2)Responsibilities: data and function.
(3)Collaboration: what other classes help us carry out other
responsibilities.
(4)Inheritance: similarity among classes.
(5)Subsystems: collections of objects and classes that perform
the task.
(6) Services: an exported interface that addresses some group
of tasks.

Prepared By: Himanshu Tyagi Page 7


Devendra Singh Institute of Technology & Management OOSUnit 3

Sample DFD

volume

Compute
Radius
volume
Cylinder

Height
Surface area
Compute
surface
area

Some different ways to compute volume and area for a cylinder are
• A formula for volume= Πr*r*h.
• Surface area = 2 Πrh(r= radius ,h= height)
• A look up table: volume and surface area are listed for standard values of radius
and height.
Numerical methods : Calculate volume and surface area from differential
equations

The OMT Methodology: System Design


The ESA terminology for system design is Architectural Design.

The object-oriented viewpoint introduces no new insights into system design, but system
design is included in OMT for compete coverage of the development process.

The steps taken during system design are:

• Organize the system into subsystems (top-level components).


• Identify concurrency inherent in the problem.

• Allocate subsystems to processors and tasks (processes/threads).

• Choose the basic strategy for implementing data stores in terms of


data structures, files and databases.

• Identify global resources and determine mechanisms for controlling


access to them.

• Choose an approach to implement software control:

• use the location within the software to hold the state, or

Prepared By: Himanshu Tyagi Page 8


Devendra Singh Institute of Technology & Management OOSUnit 3

• directly implement a state machine, or

• use concurrent tasks.

• Consider boundary conditions (initialization, termination, failure).

• Establish trade-off priorities (speed, memory, portability, ...).

The OMT Methodology: Object Design


The ESA terminology for object design is Detailed Design.

Object design transforms the logical analysis model into a physical model for
implementation.
The steps taken during object design are:
1. Obtain operators for the class diagrams from the other models:

• An operator for each process in the functional model.

• An operator for each event in the dynamical model (depending on


the implementation of control).

2. Design algorithms to implement operators:

• Choose algorithms that minimize the cost of implementing


operators.

• Select data structures appropriate to the algorithms.

• Define new internal classes and operators as


necessary.

• Assign responsibility for operators that are not clearly


associated with a single class.

3. Optimize access paths to data:

• Add redundant associations to minimize access cost and


maximize convenience.

• Rearrange the computations for greater efficiency.

• Save derived values to avoid recomputation of complicated


expressions.

4. Implement software control by refining the approach chosen during


system design.

5. Adjust class structure to increase inheritance:

Prepared By: Himanshu Tyagi Page 9


Devendra Singh Institute of Technology & Management OOSUnit 3

• Rearrange and adjust classes and operators to increase


inheritance.

• Abstract common behavior out of groups of classes.

• Use delegation to share behavior where inheritance is


semantically invalid.

6. Design implementation of associations:

• Analyze the traversal of associations.


• Implement each association as a distinct object or by
adding object-valued attributes to one or both classes in
the association.

7. Determine the exact representation of attributes.

8. Package classes and associations into modules.

Managing implementation-

In the implementation phase, the team builds the components either from scratch or by
composition. Given the architecture document from the design phase and the requirement
document from the analysis phase, the team should build exactly what has been requested,
though there is still room for innovation and flexibility. For example, a component may be
narrowly designed for this particular system, or the component may be made more general to
satisfy a reusability guideline. The architecture document should give guidance. Sometimes,
this guidance is found in the requirement document.

The implementation phase deals with issues of quality, performance, baselines, libraries, and
debugging. The end deliverable is the product itself.

There are already many established techniques associated with implementation. This thesis
does not depend on which .

Implementation is the realization of an application, or execution of a plan, idea, model,


design, specification, standard, algorithm, or policy.

In computer science, an implementation is a realization of a technical specification or


algorithm as a program, software component, or other computer system. Many
implementations may exist for a given specification or standard. For example, web browsers
contain implementations of World Wide Web Consortium-recommended specifications, and
software development tools contain implementations of programming languages.

In the IT Industry, implementation refers to post-sales process of guiding a client from


purchase to use of the software or hardware that was purchased. This includes
Requirements Analysis, Scope Analysis, Customizations, Systems Integrations, User
Policies, User Training and Delivery.

Prepared By: Himanshu Tyagi Page 10


Devendra Singh Institute of Technology & Management OOSUnit 3

In political science, implementation refers to the carrying out of public policy.


Legislatures pass laws that are then carried out by public servants working in
bureaucratic agencies. This process consists of rule-making, rule-administration and
rule-adjudication. Factors impacting implementation include the legislative intent, the
administrative capacity of the implementing bureaucracy, interest group activity and
opposition, and presidential or executive support.

RELATIONSHIP b/w Functional, state , and object


model :

The functional model shows what has to be done by the system .the
leaf processes are the operations on the objects .each process is
implemented by a method on some object .the dynamic model shows
the sequence in which the operations are performed .each sequence is
implemented as a sequence,loop,or alteration within some method.

The process in the functional model corresponds to the operations in the


object model. Often there is the direct correspondence at each level of
nesting .A top level process corresponds to operations on more basic
object that are part of the complex object or that implement it. Some
times one process corresponds to several operations and vise-versa.

Processes in the functional model show objects that are related by


function .a process is usually implemented as method. if the class of
object is an input and an output then the object is usually the target , and
the other inputs are arguments .if the output of the process is a data
store .the data store is the target. Frequently a process with an input from
or to a data store corresponds to two methods .one of them being an
implicit selection or output of the data. If an input or output is an actor,
then it is the target .if an input is an object and an output is a part of the
object or neighbor of the object in the object model, then the object is the
target.

Data stores are also objects in he object model. Data flows to or from the
actors represents operations on or by the objects. The data flow values
are the arguments or the results of the operations .because actors are self
motivated objects the functional model is nit sufficient to indicate when
they act .each flow into a data store is a query operation with no side
effects on the data store objects.

Relative to the functional model, the object model shows the structure of
the actors, data stores and flows in the functional model. The dynamic
model shows the sequence in which process is performed.

Prepared By: Himanshu Tyagi Page 11


Devendra Singh Institute of Technology & Management OOSUnit 3

Relative to the object model, the functional model show the operations on
the classes and the arguments of each operation. The dynamic model
performs as it receives events and changes state.

Relative to dynamic model, the functional model shows the definitions of


the leaf actions and activities that are undefined with the dynamic model.
The object model shows what changes state and undergoes operations

SA/SD(Structure Analysis / Structure Design)

Structure analysis / structure design (SA/SD) includes a variety of


notations for formally specifying software.

In analysis phase, data flow diagrams, process specification, a data


dictionary, state transition diagrams, and entity relationship
diagrams are used to logically describe a system.
In design phase, details are added to the analysis model and the data
flow diagrams are converted into structure chart descriptions of
programming language code.

Data flow diagram- data flow diagram model the transformation of


data as it flows through the system and are the focus of the Structure
analysis / structure design. A data flow diagram consists of

(i) processes,

(ii) data flows

(iii) actors and

(iv) data stores.

Structure analysis/ structure design recursively divide complex processes


into sub diagrams until many small processes are left that are easy to
implement. When the resulting processes are simple enough ,the
decomposition stops , and a process specification is written for each
lowest level process .process specification may be expressed with
decision tables ,pseudo code or other techniques.

Prepared By: Himanshu Tyagi Page 12


Devendra Singh Institute of Technology & Management OOSUnit 3

Data dictionary: the data dictionary contains missing from data flow
diagram. The data dictionary defines data flows and data stores and
the meaning of various names.

Entity –relationship (ER) Diagrams: it highlights relationship


between data stores that otherwise would only be seen in the process
specification. Each ER data element corresponds to one data flow
diagram.
Data store, the object modelling notation is an enhancement over ER
diagram.

The above tools are used during the process of structure analysis.
Structured design follows structured analysis and address low level
details. Data flow diagram processes are converted into programming
language functions and a structure chart is created showing the
procedure call tree.

Jackson Structured Development:


Jackson structured development (JSD) is another mature methodology
which has a different style than SA/SD or OMT. The JSD methodology
was developed by Michel Jackson and is especially popular in Europe. JSD
does not distinguish between analysis and design and instead
lumps analysis and design as specification.JSD divides system
development into two stages

(1) Specification
(2) Implementation.
• JSD first determines the “what” and then the “how”.

• JSD is intended especially for application in which timing


is important.

• A JSD model begins with consideration of the real world.


the purpose of the system is to provide functionality, but
Jackson feels that one must first consider how this
functionality fits in with real world.

• JSD model describes the real world in terms of entities,


actions or ordering of actions .entities usually appear as
noun in requirement statements and actions appear as verbs
.JSD software development consists of six sequential steps:

(1)Entity Structure Step


(2)Entity Action Step

Prepared By: Himanshu Tyagi Page 13


Devendra Singh Institute of Technology & Management OOSUnit 3

(3)Initial Model Step


(4)Function Step
(5)System Timing Step
(6)Implementation

1. Entity Structure Step: Jackson presents several examples one of


which is the design of elevator control system. The elevator control
system controls two elevators which services six floors. Each floor has six
inside buttons (one for each floor). Each floor has up and down buttons in
the waiting area .Jackson identifies two entities for elevator control
example: Button and elevator.

2. Entity Action Step: Action occurs in the real world and is not an
artefact of the system. Action takes place at a point in time are atomic
and not decomposable. The entity structure step partially orders the
actions of each entity by time. The elevator control system illustrate
the importance of ordering actions .it is permissible for an elevator to
arrive at floor 3 leaving floor 3 , arrive at floor 2, leave floor 2 and
so on. It does not make sense for two arrive actions to occur in
succession; arrive and leave operations must be alternate.

3. Initial Model Step: The initial model step states how the real world
connects to the abstract model. JSD supports state-vector and data
stream connection. The elevator user does not want the control system to
remember each button pressed and send an elevator fine to service
request .the JSD model of the computer system is unaware of the number
of presses and only communicates with the real world in the “up-flag”.

4. Function step:
It uses pseudo code to state output of actions. At the end of this step the
developer has a complete specification of the required system in the
elevator example, turning the display panel lights on or off as an elevator
arrives at each floor is a function that must be specified.

5. System timing step: this step considers how much the model is
permitted to lag the real world. For the most part, the result of the
timing step is a set of informal notes on performance constraints. For
example an elevator control system must detect when up and down
buttons are pressed.
6. Implementation step: this focuses on the problems of process
scheduling and allocates processors to processes. The number of
processes may be different from the number of processors. Jackson’s
elevator control model has 50 processes. The developer must decide

Prepared By: Himanshu Tyagi Page 14


Devendra Singh Institute of Technology & Management OOSUnit 3

whether to match each process to one or 50 CPU or how to get several


processes to share the same CPU. After the six JSD steps comes writing
of code and database design.

CASE STUDY (To be studied by Student themselves):

Structured analysis and structured design (SA/SD) is a structured process


in which a problem is partitioned into manageable units. The logical
and physical design details are differentiated to reduce the
amount of time required for maintenance it is usually a good
idea to separate the logical and physical or implemented,
design of a system because logical details are less susceptible
to change than implementation details. This separation is
especially important in the software industry, where the technology
changes so rapidly.

There are two main approaches to SA/SD. the top-down approach .the four
step process focused on a top down approach and included a
context diagram , functional decomposition , and functional
primitives .the four steps consists of the development of the
following items in order : current physical model ,new logical
model and finally new physical model. The new logical model
could be very similar to the current logical model in some projects,
such as when a system is being automated, the advantages of this
approach are that the complexity is reduced and an overview of the
system is developed even when there are a large no of tasks. Some of
the disadvantages include the difficulty to find a suitable abstraction
level, the user may be unclear on how to begin, and it is sometimes
difficult to split a node completely into sub nodes.
The bottom–up approach consists of the following models: essential,
environment, behavioural and implementation. the essential model
leads into the environmental and behavioural models , and then both of
three models lead into the implementation. The essential model presumes
an ideal situation where there are no costs issues .it is in effect a model of
that system must do.

Prepared By: Himanshu Tyagi Page 15


Devendra Singh Institute of Technology & Management OOSUnit 3

The environmental model is representation of the scope and


interaction between the system and the world. It describes where
the boundary between the system and the world exists .the
environmental model includes a statement of purpose is a short
statement about what the system should do and can be , viewed as a
statement what will be read by top management and so should not be
too technical or detailed .the context diagram is special form of a DFD and
is used to find out system boundaries .external actors ,or terminators are
connected to the single node system by events . The event list is a
narrative list of the events that originate from the outside world and
which interact with his system .events can be unexpected, or flow driven,
which includes fundamental events such as placing an order. Expected
events can be triggered by other events, temporarily or by a control event
when something does not happen for example, if a customer does not pay
an invoice within a specified period of time. Non –events are usually
temporal or control events, the event list is created from the context
diagram, or system related documents.

Use cases are used to identify system boundaries, just like context
diagrams. Use cases include the message a system will respond to, or the
message generated by the system, the behavior of the system and the
actions triggered by actors which are outside of the system.

The behavior model includes a data dictionary, DFD, s, entity relationship


and state transition diagrams .the data dictionary is also known as a
repository or an encyclopedia because all the data is listed alphabetically.
It describes all of the data roguishly or precisely .the meaning and
decomposition of all data flows and stores are also represented .the data
dictionary is helpful in detecting synonyms, homonyms, and for the
identification of discrepancies. the content of the data dictionary is a
name , an alias ,the use is the process ,or processes ,that use the item
and how, the content description is a notation for representing the
content.

The DFD is functional oriented view of a network of processes used for


modeling workflows. DFD’s are used to reduce the complexity of the data
dictionary; leveled DFD’s are used to help avoid overly complex DFD by
partioning processes into sub processes. Avoiding the following items can
check the consistency of DFD, spontaneous generators (i.e. no input data
flow to process), unlabeled flows and processes and read-only or write
only data stores.

The state transition diagram begins with an arrow (originating) from


nothing and going to the first state

Prepared By: Himanshu Tyagi Page 16


Devendra Singh Institute of Technology & Management OOSUnit 3

The final state has no arrows leaving it .the consistency of the state
transition diagram can be checked by verifying the following: have all
states been defined, can all states be reached, and does each state
respond appropriately to all possible conditions.

The design phase begins with the user implementation model .this model
includes concrete system boundaries , the interfaces, (i.e. input/output
formats, devices , and timings) and constraints ,including data volume
,hardware ,political ,security and reliability.

Some of the advantages of SA/D are that the model is a structured


approach, there are a several techniques that can be used, and it requires
a substantial amount of analysis of requirement .some disadvantage
include the following items. Because it requires extensive analysis, it is
quite a heavy weight process. Further more, a requirements process, it
does not emphasizes customer relationships, quality aspects or iterations.

COMPARISON OF METHODOLOGIES:

• Comparison of JSD with OMT: JSD as being object


oriented .no JSD does begin with consideration of the real world and
in this sense is the object oriented .rather an object oriented model
should have a rich mixture of data structure and relationship.

Due to its real time approach and heavy reliance on pseudo code JSD is
complex compared to data flow and object oriented approaches on the
other hand graphical models are easy to understand .JSD approach is
found unnecessary complex for simpler problems.

JSD approach complex and difficult to fully comprehand.we think that JSD
is more obscure than data flow and object oriented approaches. it is
basically designed to handle difficult real time problems. For these
problems, JSD may produce a superior design and be worth the effort
.however, JSD’s complexity is unnecessary and a bit overwhelming for the
more common simpler problems.

Jackson places more emphasis on actions and less on attributes than we


do. So JSD actions look similar to OMT associations. For example, a clerk
allocates product to an order, we call allocates an association; Jackson call
it an action. Jackson finds attributes confusing and prefers to avoid them,
in much the same way that attributes diminish the importance of
operations in OMT object models.

Prepared By: Himanshu Tyagi Page 17


Devendra Singh Institute of Technology & Management OOSUnit 3

JSD is a useful methodology for the following types of applications:

• Concurrent software where processes must synchronized with each


other.
• Real time software .JSD modeling is extremely detailed and focuses
on time.
• Microcode: JSD is thorough, make no assumptions about the
availability of the operating system, and considers processing and
timing.
• Programming parallel computers. The JSD paradigm of many
processes may be helpful here.

JSD is ill suited for some other applications


• High level analysis.JSD does not foster broad understanding of a
problem. JSD is ineffective at abstraction and simplification. JSD
meticulously handles details but does not help a developer grasp the
essence of the problem.
• Databases, database design are more complex topic than Jackson
implies.JSD modeling is biased towards actions and away from entities
and attributes .as a natural consequence, it is a poor technique for
data base design.
• Conventional software running under an operating system. JSD’s
abstraction of hundred or thousands of processes is confusing and
unnecessary.

• SA/SD & OMT:

SA/SD and OMT modelling have much in common .both methodology use
similar modelling construct and support the three orthogonal views of a
system .the difference between SA/SD and OMT is primarily a matter of
style and emphasis .In the SA/SD approach, the functional model
dominates ,the dynamic model is next important , and the object
model least important. In contrast, OMT modeling regards the object
model as most important, then dynamic model, and finally the
functional model.

SA/SD organizes a system around procedures. In contrast, an object


model design technique (such as OMT) organizes a system around
real –world objects, or conceptual objects that exist in the user’s
view of the world. Most changes in requirements are changes in function

Prepared By: Himanshu Tyagi Page 18


Devendra Singh Institute of Technology & Management OOSUnit 3

rather than in object, so change can be terrible in procedure based


design.

SA/SD is useful for problems where function is important and


complex than data.SA/SD assumes that this often occurs.

An SA/SD design has a clearly defined system boundary, across which the
software procedures must communicates with the real world. The
structure of the SA/SD design is derived in part from the system boundary,
so it can be difficult to extend a SA/SD design to a new boundary. It is
much easier to extend an object oriented design; one merely adds objects
and relationship near the boundary to represent objects that that existed
previously only in the outside world. An object oriented design is more
resilient to change and more extensible.

In SA/SD decomposition of a process into sub processes is somewhat


arbitrary .different people will produce different decomposition .in object
oriented design the decomposition is based on objects in the problem
domain. So developers of different programs in the same domain tend to
discover similar objects .this increases the reusability of components from
one object to next.

An object-oriented approach better integrates data bases with


programming code. One uniform paradigm, the object, can model both
database and programming structure. Research on object-oriented
databases may further improve this situation. In contrast in procedural
design approach is inherently awkward at dealing with databases. it is
difficult to merge programming code organized about data.

There are many reasons why data flow approaches are in such wide
uses/SD was one of the first well thought out ,formal approaches to
software and system development ,we believe the benefits of an object –
oriented approach and the maturation of object oriented technology will
gradually promote its wide use for analysis ,design and implementation.

Prepared By: Himanshu Tyagi Page 19