You are on page 1of 28

ch11jacksnSysDevt 1

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

You might also like