Professional Documents
Culture Documents
JSD model
Considered 2nd generation as it came
out in late 70’s early 80’s
Encompassed analysis and design
Meant for data processing systems
ch11jacksnSysDevt 2
Top level JSD
ch11jacksnSysDevt 3
JSD Representation form
Has TWO diagrammatical description
Entity-Structure Diagram (ESD)
○ Adaptation of the Jackson Structure Diagram
ch11jacksnSysDevt 4
2nd representation: System
Specification Diagram (SSD)
A network diagram that identifies the
entities that makes up the model of the
system
Two basic mechanism for interposes
communication:
Data flow stream
State vector
ch11jacksnSysDevt 5
Data flow stream
Messages are passed asynchronously
Use pipeline mechanism
Acts as a FIFO queue, with infinite
buffer
Producer is never blocked on a write
Consumer is blocked if it reads from a
buffer with no message
ch11jacksnSysDevt 6
State vector
ch11jacksnSysDevt 7
Describes the local state of a process
Upon inspection, one entity can obtain
information from a second entity,
contained in its current state. The state
vector consist of the local variables of a
process, including its program counter.
ch11jacksnSysDevt 8
• Circle – data flow arc
• Entity – oblong box
• Diamond – describes the
state vector associated
with a particular entity
ch11jacksnSysDevt 9
JSD Process - 1983
ch11jacksnSysDevt 10
JSD Process 1986
ch11jacksnSysDevt 11
3 stage JSD process
ch11jacksnSysDevt 12
[A] Modelling phase
Correspond to the analysis phase in
Structured SAD
Black box model of a problem
Major objective is to identify the entities
in the problem through analysing the
requirements
Verbs = actions, nouns=entities
ch11jacksnSysDevt 13
ch11jacksnSysDevt 14
[B] Network phase
1. Initial model
Link all entities in the previous step
Produce a combination of SSD (System specification
diagram) and ESD (Entity structure diagram)
A model is created by seeking the input that triggers
an action of an entity
○ Input corresponds to an event external or internal to the
system
Identify external action of the model, then find
the corresponding event for each
Inputs can be data streams or state vectors
ch11jacksnSysDevt 15
1. Initial model
ch11jacksnSysDevt 16
2. Elaboration phase
Creates the basic model of the problem, and
creates a model of the solution by adding
processes to the network
○ Interaction step – identifying events that affect
the system and that cannot be derived from
external actions, additional processes needed
○ Information function step – adds the
processes and data flows that are required for
generating the eventual system outputs
ch11jacksnSysDevt 17
a. Interaction function step
Requires original requirements to be
examined again in order to identify
issues not dealt with in the initial model
Consider each action that needs to be
generated internally and when it
happens
Refinements to the model from this step
involves adding ESD, and revising SSD
ch11jacksnSysDevt 18
JSD at the end of the interactive
function step
ch11jacksnSysDevt 19
b. Information function step
Concerned with how outputs are
generated
Identify information to be extracted from
the processes
Start by identifying how information is
best obtained, and to assume that it is
done in a single process
JSP is used to design that process
ch11jacksnSysDevt 20
c. System timing step
At this point JSD assumes the
processes are equally important – not
realistic
Needs to consider scheduling of
processes
ch11jacksnSysDevt 21
ch11jacksnSysDevt 22
[C] Implementation stage
How the abstract model is developed in
terms of mapping long running
processes onto a physical system
More of physical design rather than
code writing
Concerned with the forms that can
realize components of the design model,
scheduling, hierarchy
ch11jacksnSysDevt 23
ch11jacksnSysDevt 24
JSD heuristics
Almost analogous to the heuristics in
JSP
Program inversion
State vector separation
Backtracking
ch11jacksnSysDevt 25
Program inversion
Provides means of transforming a model
process into a routine invocable by
another process
One difference between JSP and JSd is
that a JSD can have both data stream
and state vector
Inversion can only be done on data
stream
ch11jacksnSysDevt 26
State vector separation
No real analogue in JSP
Analogous to multitasking operating
system, where one solution is to
reentrancy
This involves system maintaining copies
of the data areas used by each process
but only storing one copy of the code
ch11jacksnSysDevt 27
Backtracking
Helps handles unexpected events such
as premature end
Aim at restructuring untidy nested tests
and selections and iterations whose
completions are unstable
ch11jacksnSysDevt 28