You are on page 1of 58

Systems Analysis and Design

Plan
Introduction
Structured Methods
Data Flow Modelling

Data Modelling
Relational Data Analysis
Feasibility
Maintenance

Plan
Introduction
Structured Methods
Data Flow Modelling

Data Modelling
Relational Data Analysis
Feasibility
Maintenance

Data Flow Modelling

What are Data Flow Models?


A model of the system
Software modelling is unlike other types of modelling

A communication tool
Should be clear and unambiguous

An analysis tool
Should help us to understand systems

A design tool
Should help us to develop and improve systems

What are Data Flow Models?


They only represent a single view of the
system
We cannot describe the system fully in a
single diagram
Represents the Process View
What processes act on data as it flows
through our system

When do we use them?


Feasibility
High Level of abstraction
Enough Detail to estimate Data/Processing
requirements

Analysis
Analysis of Current System and Requirements

Design
Used as source for design of new system

Structured Analysis + Design


User
Requirements
Existing
Physical
System DFD

Convert to
Logical View

New Logical
System DFD

Repository

Repository

Existing
System ERD

New System
ERD
Technical
Options +
Constraints

New Physical
System

What do they look like?


As usual there are a number of
standards for drawing DFDs
They share a set of common elements
Data Flows
Processes
Entities
Data Stores

Example 1 Gane and Sarson

Example 2 DeMarco/Yourdon

Example 3 - SSADM

What do they look like?


We will use the SSADM style
Used in Lejk and Deeks, 2002
You should be able to read diagrams
using another style

How do we build one?


Top down
More likely to be done in Tutorials
Good way of learning the technique
More detail added in successive iterations

Bottom up
More likely to be done in practice
Interviews provide localised detail not context

Building a Data Flow Model

Understand the system


Establish the context
Identify major processes
Identify Data Flows:
What do processes produce as output
What Data is required to produce output

Identify other elements


Where does data come from/go to

Check against System Description

Document Flow Diagram (DocFD)

A precursor to DFDs
A good way of establishing the context
Identify the entities in the system (departments)
Identify documents flowing between them
Establish system boundary

Bottom up and top down?

DocFD Elements
Entity (also called Agencies)
Symbol

a
customer

Duplicate symbol
a
customer

DocFD Elements
Document Flow

Sales Order

Example Diagram (CD Hotel)


a
guest

booking+deposit

payment

confirmation

weekly statement

b
booking
dept

final statement

deposit
vouchers

d
bar/restaura
nt

weekly statement
(copy)

c
accounts
dept

Identifying the system boundary


This is rarely an easy task
There may be different opinions on this
boundary
Unless it is finalised development will fail
Once identified, the boundary will be
clearly stated in the terms of reference for
the project

Example Diagram (CD Hotel)


a
guest

booking+deposit

payment

confirmation

weekly statement

b
booking
dept

final statement

deposit
vouchers

d
bar/restaura
nt

weekly statement
(copy)

c
accounts
dept

Example Diagram (CD Hotel)


a
guest

booking+deposit

payment

confirmation

weekly statement

b
booking
dept

final statement

deposit
vouchers
d

bar/restaura
nt

weekly statement
(copy)

c
accounts
dept

Example Diagram (CD Hotel)


a
guest

booking+depos
it
confirmation

weekly
statement
final statement

payment

b
booking
dept

deposit
vouchers

d
bar/restaura
nt

weekly
statement
(copy)

c
accounts
dept

Document Definitions
It is important at this stage to identify the
information in the documents that flow
across the system boundary
These will inform us of the interface
between the system and external entities
Data Interface and possibly GUI

These will form the basis of our data


dictionary

Data Dictionary Entry

(Mason and
Wilcocks,
1994)

DFD Context Diagram


Now that the system boundary has been
established we can show the context in
which our system operates
All internal details are removed
System boundary is changed to a process
box
All input and output data flows have been
identified

Example Diagram (CD Hotel)


a
guest

booking+deposit

payment

confirmation

weekly statement

b
booking
dept

final statement

deposit
vouchers

d
bar/restaura
nt

weekly statement
(copy)

c
accounts
dept

Example Diagram (CD Hotel)


a
guest

booking+deposit

payment

confirmation

weekly statement

b
booking
dept

final statement

deposit
vouchers
d

bar/restaura
nt

weekly statement
(copy)

c
accounts
dept

Example Diagram (CD Hotel)


a
guest

booking+deposit
confirmation

payment

weekly statement

b
booking
dept

final statement

deposit
vouchers
d

bar/restaura
nt

weekly statement
(copy)

c
accounts
dept

Example Diagram (CD Hotel)


a
guest

booking+deposit
confirmation

weekly statement

CD Hotel
Bookings
b
booking dept

final statement

deposit
vouchers

d
bar/restaura
nt

weekly statement
(copy)

c
accounts
dept

DFD Context Diagram

We now know what System


we are going to develop

Adding More Detail


Now we have established the system
context we can start adding more detail
To do this we create a Data Flow Diagram
(DFD)
Identify Processes
Identify Data Flows
Identify Data Stores
Connect them to External Entities

Elements of a DFD
Process Box
Symbol

Indicates Process at
lowest level of detail

2 Accounts
Sales Assistant
Dept
1

Maintain Sales
Create
Account
Reservation
*

Active Component
What goes in must come out or be transformed
Physical or Logical?

Elements of a DFD
Data Flow
Sales Order

Does not change data from end to end


Changes imply there is a process so add
one

Used to create the data model must be


labelled

Elements of a DFD
Data Store
Symbol
M1

Sales File

M1

Sales File

Duplicate

Passive Component
Does not process data
Manual or Digital (M/D)

Elements of a DFD
External Entity
also called Agencies, source and sink
Symbol
a
customer

Duplicate symbol
a
customer

Example - SSADM

Example (CD Hotel)


When a guest sends us a booking, with
deposit, we change the vacancy list to
show one less and enter the customer
details into the reservation file. The cash
from the deposit is sent to the accounts
department. A letter of confirmation is
sent to the customer and we also open a
guest account in our ledger

Example (CD Hotel)


When a guest sends us a booking, with deposit,
we change the vacancy list to show one less
and enter the customer details into the
reservation file
The cash from the deposit is sent to the
accounts department
A letter of confirmation is sent to the customer
and we also open a guest account in our
ledger

Example (CD Hotel)


a
guest

booking+deposit
confirmation

weekly statement

CD Hotel
Bookings
b
booking dept

final statement

deposit
vouchers

d
bar/restaura
nt

weekly statement
(copy)

c
accounts
dept

Identifying Processes
High Level Processes
can often be identified
as business functions
Accounts
Sales
Purchasing

Lower level
Processes will be
implied by verbs such
as

Create
Sort
Compile
Change

Example (CD Hotel)


When a guest sends us a booking, with deposit,
we change the vacancy list to show one less
and enter the customer details into the
reservation file
The cash from the deposit is sent to the
accounts department (splitting documents)
A letter of confirmation is sent to the customer
and we also open a guest account in our
ledger

Example (CD Hotel)


a
guest

booking+deposit
confirmation

weekly statement

CD Hotel
Bookings
b
booking dept

final statement

deposit
vouchers

d
bar/restaura
nt

weekly statement
(copy)

c
accounts
dept

Example (CD Hotel)


a
guest

a
guest

b
accounts
dept

CD Hotel Bookings

Reception

Create Booking

Identifying data Stores


These may be
obvious:

File
Catalogue
Tray
Folder
Database

..or implied
Check against
Put into
Read

Example (CD Hotel)


When a guest sends us a booking, with deposit,
we change the vacancy list to show one less
and enter the customer details into the
reservation file
The cash from the deposit is sent to the
accounts department
A letter of confirmation is sent to the customer
and we also open a guest account in our
ledger

Example (CD Hotel)


a
guest

a
guest

b
accounts
dept

CD Hotel Bookings

Reception

Create Booking

Example (CD Hotel)


a
guest

CD Hotel Bookings

M1 Vacancy List
a
customer

Reception

Create Booking

M2 Reservation file

M3 Guest account
b
accounts
dept

Identifying data flows


These will be present wherever there is
movement of data between:
A data store and a process
An entity and a process
Two processes

But Never:
Between data Stores
From an entity to a data store

Example (CD Hotel)


When a guest sends us a booking, with deposit,
we change the vacancy list to show one less
and enter the customer details into the reservation
file
The cash from the deposit is sent to the accounts
department
A letter of confirmation is sent to the customer
and we also open a guest account in our ledger

Example (CD Hotel)


a
guest

CD Hotel Bookings

M1 Vacancy List
a
customer

Reception

Create Booking

M2 Reservation file

M3 Guest account
b
accounts
dept

Example (CD Hotel)


a
guest

CD Hotel Bookings

booking+depo
sit
a
customer

confirmation

room details
Reception

Create Booking

deposit

deposit
guest details
b
accounts
dept

M1 Vacancy List

M2 Reservation file

M3 Guest account

Errors
Do not join data stores to data stores
Do not join data stores to entities
Any change in data implies a process so
add one
If data comes out of a process it must
have got in somehow
Do not give any impression of time
Do not show triggers (e.g. start)

Guidelines
Draw one to throw away youll never get
it right first time
Identifying the entity that starts the system
process can help
Develop one process at a time
A process is always on
Read Lejk and Deeks from cover to cover

Plan
Introduction
Structured Methods
Data Flow Modelling

Data Modelling
Relational Data Analysis
Feasibility
Maintenance

References
Whiteley, D. (2004) Introduction to
Information Systems, Palgrave, 2004.
Lejk, M. and D. Deeks (2002) Systems
Analysis Techniques, Addison Wesley
2002
Mason, D. and L. Willcocks (1994),
Systems Analysis, Systems Design, Alfred
Waller, 1994.

References
Yeates, D. and T. Wakefield (2004)
Systems Analysis and Design, FT/Prentice
Hall 2004
Gane, C. and T. Sarson (1979) Structured
Systems Analysis, Prentice Hall, 1979
Eva, M (1994) SSADM Version 4: A users
guide, McGraw hill, 1994

References
DeMarco, T. (1979) Structured Analysis
and System Specification, Yourdon, 1979
Royce, W. (1970) Managing the
development of large software systems,
In: Proceedings of IEEE WESCON, 1970
pp1-9.

You might also like