Software System Design
Methods
Software Systems: Planning & Design
27/06/2016
Remember, Dilbert is real life
1
Haiku for CMSCD3005
Weak sun rises late
Melancholic hearts are warmed
By S.S.P.D.
27/06/2016
Remember, Dilbert is real life
2
27/06/2016
Remember, Dilbert is real life
3
Overview of Part II
Historical review
Yourdon System Method
Jackson System Development
SSADM
STRADIS
Information Engineering
27/06/2016
Remember, Dilbert is real life
4
Aims
Deepen your understanding of system
design philosophy/methodology
Understand the roles of different
methods and know where & when to
apply them
27/06/2016
Remember, Dilbert is real life
5
Caution
We are dealing with opinion (and some
facts). Opinions vary.
For matters relating to truth see your
metaphysician or spiritual advisor.
27/06/2016
Remember, Dilbert is real life
6
Suggested Reading
Brooks, F.P, The Mythical Man Month,
Addison-Wesley, 1995
Davies, C.G. and Layzell P.J., The
Jackson Approach to System
Development, Chartwell-Bratt, 1993
Jackson, M.A. Software Requirements
& Specification, ACM Press, 1995
27/06/2016
Remember, Dilbert is real life
7
More Suggested Reading
Yourdon Inc, Yourdon Systems Method,
Prentice-Hall International, 1993
Avison, D.E. & Fitzgerald G, Information
Systems Development, McGraw-Hill,
1995
Adams, D, Dirk Gently’s Holistic
Detective Agency,Pan, 1988
Asimov, I., Prelude to Foundation,
Voyager, 1989
27/06/2016
Remember, Dilbert is real life
8
27/06/2016
Remember, Dilbert is real life
9
Historical Development
Development of design methods
followed a much criticised path (unfairly)
Methods allow building of large &
complex systems
Problem is that user requirements for
change have occured at an alarming
rate.
27/06/2016
Remember, Dilbert is real life
10
Problems of System Design
What are the data to be stored?
How, when & where to capture & check
the data?
How many processes to provide info &
keep data current
Matching h/ware & s/ware to the desired
solution
27/06/2016
Remember, Dilbert is real life
11
A little problem
In environment where there is little
change, these factors give us
something of a problem.
But...
27/06/2016
Remember, Dilbert is real life
12
Dynamic Environment
New data requirements = many
changes (esp. to s/ware)
Effect of new processes unpredictable
Business environment is not as simple a
structure as collect data & transform it
into information
27/06/2016
Remember, Dilbert is real life
13
Emergence of Graphics
Helped to focus thinking & express
ideas unambiguously (?)
– e.g. JSP diagrams
– E-R diagrams
– DFDs
– State Transition Diagrams
Emergence of C.A.S.E.
27/06/2016
Remember, Dilbert is real life
14
What is a SSDM?
“A collection of procedures, techniques,
tools and documentation aids which will
help the systems developers in their
efforts to implement a new system.”
27/06/2016
Remember, Dilbert is real life
15
6 Reasonable Objectives
– Accurate recording of requirements
– A systematic development method that
allows effective progress monitoring
– Provision of an I.S. in reasonable time at
reasonable cost
– Production of well-documented & easily
maintainable system
– Identification of changes early in the
development process
– Final system to be liked by users
27/06/2016
Remember, Dilbert is real life
16
3 Design Philosophies
Over time, three philosophies to system
design have emerged:
– Data-flow oriented
– Data-structure oriented
– Object oriented
JSD fits into #2 but also, in part, in #3.
SSADM sits in #1.
27/06/2016
Remember, Dilbert is real life
17
NCC Bastion of Tradition
The National Computing Centre (NCC)
in Manchester devised an approach to
system development.
This method is often known (in the UK)
as the traditional approach.
Follows a waterfall lifecycle model
27/06/2016
Remember, Dilbert is real life
18
NCC Outline
Feasibility study
System investigation
System analysis
System design
Implementation
Review and maintenance
27/06/2016
Remember, Dilbert is real life
19
Criticisms of the approach
– Fails to meet management needs
– Unambitious system design
– Models of processes are unstable
– Output-driven design inflexibility
– User dissatisfaction
– Documentation problems
– Incomplete systems
– Application backlog
– Maintenance workload
27/06/2016
Remember, Dilbert is real life
20
SSDM Domain
Which aspects of lifecycle are covered?
Is a lifecycle=SSDM?
27/06/2016
Remember, Dilbert is real life
21
Functional Decomposition
Most early methods and many of
today’s are based around the notion of
development by functional
decomposition.
What is functional decomposition?
27/06/2016
Remember, Dilbert is real life
22
27/06/2016
Remember, Dilbert is real life
23
Functional Decomposition
Also known as top-down development
Widely deemed to be a “good thing”
Regard thing to be developed as a
hierarchy
State top level, and decomposing into
smaller objects.
Decomposition continues until code
level.
27/06/2016
Remember, Dilbert is real life
24
Scenario
A car hire firm recently installed a
terminal which is used to record the
dates when cars are hired out and
returned. When a car is taken out the
reg. no. is keyed in prefixed by ‘[‘ and
the date (no. of days since system
commissioning) is automatically
entered. For returns, no. is keyed in with
a ‘]’ and date added.
27/06/2016
Remember, Dilbert is real life
25
Functional Requirements
Manager wants a system to:
– display number of separate hire contracts
– display the average number of days for
which a car is hired.
Thus we need to:
– Compute the information
– Output it
27/06/2016
Remember, Dilbert is real life
26
Computation
Computation comprises three parts:
– Count number of separate contracts (i.e.
count the ‘[‘s).
– Total the number of days for which cars are
hired
– Compute the average.
Now write the structured English...
27/06/2016
Remember, Dilbert is real life
27
BEGIN
Initialise #contracts, total days = 0
Get 1st transaction
WHILE not end of transactions DO
IF car taken out THEN
Inc #contracts
total days = total days - taken out date
ELSE
total days = total days + return date
Get next transaction
Display #contracts
IF #contracts <> 0
Display total days/#contracts
END
27/06/2016
Remember, Dilbert is real life
28
Changed Requirements
Now amend the system so that it also
displays the longest period of hire.
27/06/2016
Remember, Dilbert is real life
29
Changed Requirements #2
Now produce two separate reports:
– 1 for hire periods < 1 week
– 1 for hire periods >= 1 week
27/06/2016
Remember, Dilbert is real life
30
Changed Requirements #3
Now allow the system to run even when
there are contracts outstanding.
27/06/2016
Remember, Dilbert is real life
31