Professional Documents
Culture Documents
Learning Objectives:
LEARNER
Current System Investigation
Data Structure
Data Flow
Problems/Requirements List
Introduction
16 | P a g e
THE ANALYSIS PROCESS
The users who may not have any idea of what a computer system can give
them know the current system in great detail. It is the development teams task
to specify the job that must be done and how that job can best be supported by
a computer system. Documenting the current system is a means of reassuring
the users that the analysts understand the nature of the problem fully and are
competent to carry the work forward into the design of the required system. The
analysts become confident that they understand the business of the system.
In order to be able to design and justify the new system, several aspects of
the system are investigated,
Fully clerical
17 | P a g e
The new system might be required to either:
Or
18 | P a g e
Partly computerized
19 | P a g e
Throughout this stage, the development team must find out about the
system by a number of fact-finding techniques designed values in this
module.
The information collected is expressed as: a set of detailed DFDs
(Data Flow Diagrams) requesting the current system, a logical Data
Structure/class diagram of the current systems data, and the initial
Problems Requirements list for the project. Also, information about the
project, especially volumetric and costs is gathered during the analysis of
the current system. This is used later for cost justification and sizing of
the new system.
Initiate Analysis
Use case diagrams / Initial DFDs / Class Diagram
DFDs
Investigate Investigate
Current System Initial Probs. System Data
List Rqmts. Structure
Probs.
Rqmts.
Problem/
Requirement
Develop Problem
Requirements Current/Class
Current Diagram
List
Physical
DFDs/UML
Diagram Problem/
Lists Requirement
Review Results
Of Investigation
This figure shows the five steps of the analysis of system operations and current
problems of the existing system.
1. Initiate Analysis
The first step of the project may be thought of or two separate, but relative
parts:
a. General project set-up.
20 | P a g e
b. Initiation of analysis.
An illustration:
Terms of Reference
It is important that some set of contract should be agreed between the users
and the developers. This is often the first formal statement by the users of what they
want and then forms the basis for the subsequent work.
This module uses modeling tools in investigating and designing the required
system. The first discussion is a traditional methodology wherein some companies
are still comfortably using. Another is a tool which is being supported by object
oriented software developers is the Unified Modeling Language (UML). To
facilitate understanding of the readers a full discussion of the previous tools will be
discussed first. A divider is used to further separate the different school of thoughts
in using system analysis and design.
21 | P a g e
Modeling Tools for Structure System Analysis and Design
Objective: To represent the workings of the current systems using Data Flow
Diagrams and to define with the users.
The users of the system and the analysts do the development of the
Data Flow Diagram jointly. Typically, the Analysts would start the Data Flow
diagram after listening to a description of the current system given by its
users.
And the users are so closely involved with the development of the Data
Flow Diagram; it follows that they must understand the notation and this purpose.
This may require some training.
DFD
Process Model
22 | P a g e
Work Flow Diagram
Function model
a picture of whats going on here
The diagram fits easily onto one page. This means two things: (1)
someone can looks at the diagram without being overwhelmed, and
(2) the system that is being modeled by the diagram is not very
complex.
Example figures:
Invalid
CUSTOMERS
Orders
WAREHOUSE
Order ORDERS
shipping books
Details details
orders
customer name,
customer address
1. 2.
RECIVE SHIP
billing ORDER BOOKS
information
CUSTOMER
RRRS books
INVOICES
customer name,
customer address Invoices,
statements
Customer name,
Invoice details Payments,
COLLECT Inquiries
PAYMENTS CUSTOMERS
23 | P a g e
In this example, the following symbols or notations are used.
Data flow
Data Store
Source or destination
It is no big deal if you prefer using this. Take note however that the next
example will
THEbeCOMPONENTS
the methodology used in this module:
External Source/Recipients (external entities)
A
custome
PROCESS r
24 | P a g e
A process transforms or manipulates data within the system.
Processes are represented by rectangles on a Data Flow Diagram.
Each process box contains the name of the process, an identifier, and
possibly a location.
The process name is an imperative statement: do this or do that.
It describes the processing performed on the data received by the
process. For example, a process may be named Register new
customer, but may not be named manager or Registration
Section.
Process identifier numerical.
In the current physical Data Flow Diagram, the location of the
process is place at the top of the box. This might be a physical
location, but is more often used to denote the staff responsible for
performing the process.
Identifier Manager
Locatio
n Register New
Customer
Name
DATA STORE
25 | P a g e
In the Current Physical Data Flow Diagram, the data stores
represent real world stores of information such as compute files, card
indexes, ledgers, etc. If the Data Flow diagram contains both
computer-based data stores and clerical data stores, it maybe helpful
to distinguish them by their identifiers, e.g. using M for the clerical
data stores and c for the computer data stores. This is to avoid
confusion when similarly name files are stored both clerically and on
the computer system.
DATA FLOW
Customer name
D1 Customer Details
Process:
Data Store:
D. Data cannot move directly from one data store to another data
store to another data store. A process must move data.
26 | P a g e
E. Data cannot move directly from an outside source to a data store.
Data must be moved by a process, which receives data from the
source and places the data into the data store.
F. Data cannot move directly to an outside sink from a data store. A
process must move data.
G. A data store has a noun phrase label.
Source/Sink:
A.
B.
27 | P a g e
D.
E.
F.
H.
J.
K. A
B A
L. A
28 | P a g e
M. A
B
B
MANAGER
B
A
B M Employe
MANAGER 3
e
CLOSE FILES
A EA
CLOSE Customer Employ
FILES Customer ee
29 | P a g e
Figure 1
Some general principles about Data Flow Diagrams are demonstrated by
this figure.
External source recipients
For the Logical and Required Data Flow Diagram only, the external
source/recipient is the last to be able to alter the information. For example, when a
customer makes a deposit at the bank counter, the clerk simply inputs information
received from the customer without changing it in any way so it is the customer that
is shown as an external source/recipient. For withdrawals, the clerk validates the
request for the withdrawal, possibly changing it before input, so it is the clerk that is
shown as the external source/recipient. Similarly, for outgoing flows, the external
source/recipient is the first that actually uses the information. The customer is
notified of the closure of his or her account. Although a bank clerk may put the
notification letter into the post, it is the customer that is the external source/recipient
as he or she is the first person to use the information.
Process numbering
Although the processes are numbered sequentially, this does not imply that
they are executed in any particular sequence. Data Flow Diagrams do not imply
sequence. Processes 1, 2 and 3 could be renumbered in another sequence and
remain meaningful. Even where a process-to-process data flow exists, this need not
imply that the second process must wait for the first to end before it is able to begin.
30 | P a g e
clarity, no more than 12 processes should be shown on a single Data Flow Diagram.
It is important to remember that one of the main purposes of a diagram is to act as a
means of communication, so legibility and clarity are as important as the technical
content of a diagram.
a
1
1.1 1.2
a
1.4
Figure 2
31 | P a g e
d
RECORD DEPOSITS AND WITHDRAWALS cler
k
A
CUSTOMER 2.1
2.2 Amount of requested
Amount RECORD CHECK
DEPOSIT RECORD
WITHDRAWAL D2
Amount of deposit Amount requested Bank
Accounts
D2 BANK ACCOUNTS Balance of account
After reading MELCARs case let us assume the facts were gathered from
some of the techniques specified in this module. The initial Data Flow Diagrams are
arrived at by:
Booking Sheet
Invoice
Customer Payment
Booking Request
Driver Request and Confirmation
32 | P a g e
Customer List
Driver Instructions
New Vehicle Documents
Obviously, these are not the full set of information flows within the system, but
they are the major ones needed to start the Data Flow Diagrams.
The relevant sources and recipients for the Yorkies system are initially identified
as being:
Driver
Driver request
Instruction
Local Local
Local request Booking Depot
Staff staff
customer
s
Head
33 | P a g e Office
Vehicle
Fleet
Maintenanc
invoice
payment
The diagram produced is shown to the users for comments or its accuracy
and to check that nothing is left out. The boundaries of the investigation may be
denoted on this diagram, showing which areas should be included in the
investigation and which should be considered as external to the system. In figure the
sources and recipients that are obviously going to be system are the Customers and
Driver Agencies, as they belong to external organizations. Also the users decide
that the activities of the Driver Administration Section should be included, but not the
activities of the Drivers themselves, making the drivers external, but Driver
Administration internal. Although an important part of the organization, it is also
decided that the Vehicle Fleet Maintenance should be excluded from the system, as
this is a large but self-contained section of the organization. The resulting system
boundary is drawn onto the diagram as shown in figure 5.
drivers
Driver agencie
Driver request s
Instruction
customer
s invoice
Head
payment Office
Vehicle
Fleet
Maintenance
FIGURE 5
In some projects this definition of system boundary will have been completed
in an earlier stage, perhaps as part of an information systems strategy or by a
feasibility study.
Sending or receiving of the major documents within the system boundary are
presented as processes, forming the basis of the top-level Data Flow Diagram.
Where these documents are held within files or other means of storage, data stores
are added to the diagram. For example, demonstrate how the Booking Request
form sent in by the Customers to Local Office Reception and Local Office Booking
Staff is now represented as being received by an Identifying processes; within the
system. The activities relating to the process, Received Booking Request,
performed by the Reception Staff. The process passes the Booking Request to
another process, Fill Bookings, performed by the Booking Staff. The Booking
Request are transformed into Booking Sheets by this process, and these Booking
Sheets are put into the Booking Sheets Files, represented here as a data store.
Note that the section responsible for performing the process is indicated as the top
of each process box. This emphasizes the physical mapping of current system
functions within the Data Flow Diagrams.
LOCAL OFFICE
D
LOCAL RECEPTION
2
OFFICE
DRIVER
RECEPTION
BOOKING LOCAL
LOCAL BOOKING
REQUEST BOOKING
STAFFSTAFF
FILL OUT
BOOKING
35 | P a g e SHEET
D
1
CUSTOMER BOOKING REQUEST
BOOKING REQUEST
CUSTOMER
BOOKING SHEETS
BOOKING SHEETS
FILE
Figure 6
This might be an appropriate way of developing the Data Flow Diagrams if the
current system consists principally of flows of goods. A Physical Resources Flow
Diagram concentrates on following the movement of the physical object interest.
This flow of goods is represented by broad arrows. The progress of the goods is
shown from when they arrive within the boundaries of the system, through the
various points at which something is done to them or recorded about them
(represented as processes), to their exit from the system.
A diagram that could be used to model the purchasing, rental, and sales of
vehicles of the MELCAR system is shown (this area is actually outside the system
boundary in the case study). In this case, the physical resources are vehicles. This
shows how the vehicles are tracked from their purchase, through to their eventual
sale. BUY CHECK
vendor
VEHICLES VEHICLES
Vehicles DEPOT
VEHICLE CUSTOMER
SERVICE RECEIVE
VEHICLE BACK
RENTED
VEHICLES
36 | P a g e
SELL
VEHICLE BUYER
VEHICLES
RET. VEHICLES
The reason for representing the physical flows is that information will normally
flow around the same paths. For example, the vehicle documents will accompany a
vehicle when it is bought and sold, and the Booking Sheets will initiate a rental, and
be sent when a rental is terminated, as shown in Fig. 7. In this way, the information
flows and processes of the current system are determined.
VEHICLES
BUY CHECK
vendor
VEHICLES VEHICLES VEHICLES
vehicle DOCS.
docs.
DOCS.
OK VEHICLES
DEPOT VHIC VEHICLES
VEHICLES
VEHICLE CUSTOME
R
BOOKING SHEET
RECEIVE
SERVICE
BACK
VEHICLE
RENTED
VEHICLES
VEHICLES
RET. VEHICLES
VEHICLES DOCUMENTS
SELL VEH. DOCUMENTS
VEHICLE BUYER
37 | P a g e
VEHICLES VEHICLE
FIGURE 8
Organization structure
Often, the simplest way to develop a top-level Data Flow Diagram is to use
the current organization structure for defining the processes. This approach starts
from the point of view of the processes that are performed in the organization, rather
than the information that is flowing around the system. When dealing with large
systems, which have many significant documents and information flows; the physical
document flow approach may lead to very complicated diagrams. By looking at the
relevant functions of different areas of the organization, a simpler initial picture may
be formed, with the detail added later.
Managing Director
Maintenance
Purchase/
Sa
les
Local
Offices
FIGURE 9
38 | P a g e
The organization structure of the MELCAR system is shown in Fig. Here, the
user has decided which of the areas of the organization should be included in the
investigation, as shown in italics. The main function of the Local Office Bookings
becomes a top-level process on the Data Flow Diagram. By a similar procedure, the
main functions of the other areas of the organization are represented as processes,
as shown in Fig.10.
LOCAL RECEPTION 4 LOCAL DRIVER ADMIN
FILL RECORD
BOOKING VEHICLE
SHEET DEPARTURE/RETURN
FIGURE 10
The information flows between these processes, and between the processes
and external source/recipients, together with the stores of information are determined
and added to the diagram to give the top-level Data Flow Diagram shown in Fig. This
is the top-level diagram that would have been derived whichever approach had been
taken. LOCAL
RECEPTION e
RECEIVE B
PAYROLL
BOOKING DRIVER
REQUESTS AGENC
Y
c
D3 DRIVER DRVER
a 4 LOCAL DRIVER S
INSTRUCTIONS
CUSTOME
Booking ADMINDriver
R
Request Instructions
FIND AND NOTIFY
Driver house
LOCAL Agency Days
BOOKING DRIVERS
Booking Request
FILL BLOCKING
SHEET
D2 BOOKING REQUESTS 4
Booking Request Driver
d Availability
Booking Sheet Driver FLEET
(Copy 1) Request MAINTCE Driver
HOT Availability
LOCAL ADMIN
ADMINISTER Booking Sheet Driver Driver
LOCAL (Courses2-4) Hours Name
UNFILLED
BOOKINGS DEPOT STAFF
D1 BOOKING Vehicle
SHEETS FILE
RECORDOut of
VEHICLE
Service
DEPARTURE AND
Booking Sheet
RETURN New Vehicle
Driver Hours (Courses 2-4) Documents
39 | P a g e 6 NO ACCOUNTS
a
INVOICE AND MAINTAIN
CUSTOMER RECORDS
CUSTOME
And Mileage
FIGURE 11
The top-level Data Flow Diagram produced by the approaches above might
become very complex and confused. It is important that the top-level Data Flow
Diagram is easily understood, as this is a very useful overview of the whole area of
investigation, to be used for discussions with users and managers.
As an initial help, if system boundaries and the scope of the system become
unclear, it may be useful to draw a context diagram. This is where the system is
represented as a single process. This is useful in ensuring that the boundaries are
correct and well understood. A context diagram for the MELCAR system is shown in
Fig.12 although trivial in this instance, this type of diagram could be very useful for
very large projects.
DRIVERS/
Instructions AGENCIE
S
Driver Availability
MELCAR
Booking Request
Booking Sheet
(Copy 1 and 2) Bookings
CUSTOME
R
Invoice Invoicing
Drivers Vehicle out of service
New Vehicle
Documents
FLEET
MAINTCE
FIGURE 12
40 | P a g e
If the top-level Data Flow Diagram is still unclear, then it should be simplified until
the overall diagram is intelligible. This simplification may be done in one of three
ways (or a combination if appropriate):
1. Combine some of the process boxes, until there are a maximum of 12 boxes on
one diagram. The processes that are combined can be split again at a level 2
Data Flow Diagram.
2. Combine data stores at level 1 only, showing them individually at lower levels.
This might be done if a number of data stores are holding very similar
information: in clerical systems, it is often necessary to hold the same information
filed under different headings. The identifiers of the new data stores are Dn,
where n is a number, and when they are broken down at lower levels, the
identifiers of the lower-level data stores are Dna, where n is the same number
as the top-level data store and a is an alpha character, as demonstrated in figure.
A1
A Treasury
Government
Department
A2
Home
Office
FIGURE 14
This tidying up of a the top-level data flow diagram is shown schematically in
figure. The fianal diagram is less cluttered and much more readable than the initial
diagram.
41 | P a g e
FIGURE 15
Decomposition to lower levels
To describe fully the current system in the form of Data Flow Diagrams, it is
necessary to expand most of the top level Data Flow Diagram process boxes to a
second level, or possibly to a third or fourth. As a general guideline, processes are
decomposed if:
There are more than eight data flows in to or out of the process;
The process name is complex or very general, e. g. Record Customer
Information, 4Send Invoices
FIND AND andNOTIFY
Receive Payment or Maintain
DRIVER
Customer Information.
driver instructions driver inst
At the bottom level, each process should have a4.2
4.4 brief specific name and have
between two and eight data flows surrounding it.
FILE BOOKING NOTIFY DRIVER
driver name driver
SHEETS
Data flows between lower level& processes
driver required address and other objects should be
reflected back up to the top level so that data flows at all levels are shown in
summary at the top level. 4.1The level Data Flow Diagram of process 4 driver of the
inst
MELCAR 4.3
driver Data Flow Diagram demonstrates this. It may be seen that all flows
driver FIND DRIVER
crossing the boundary (shown as a frame) of the lower-level Data Flow Diagram are
availability FIND AGENCY
shown as flows to and from the process box at the higher NAMESlevel. agency
driver name
driver name availability
suitable driver agency name
availability availability availability
D4 UNIVERSITY
D1 Booking REGISTRAR
sheets driver time
availability
42 | P a g e driver hours/ 4.4 driver/agency time
agency time availability
RECORD DRIVER
payroll AGENCY TIME
dr
FIGURE 16
Reading Assignment:
Link:
43 | P a g e
E-Journals/E-Books
PUP website: infotrac.galegroup.com/itweb/pup
Password: powersearch
Exercises/Written Assignment:
CASE 2
Report Requirements
44 | P a g e
A time schedule lists all sections of all courses to be offered during a given
semester. Id addition to course-related information such as course#, sec#, time,
place, faculty, etc, it includes the date the semester begins, the date the
semester ends, the date the final begins, the date the final ends, and the last
date for withdrawing a course.
Registration request forms are used to request classes for the following semester.
Students indicate the sections for which they wish to register by writing the
sections schedule codes. For each of these sections, they may also enter a
code for an alternate section.
Transaction Requirements
In addition to being able to add, change, and delete any of the entities
mentioned in the report requirements, the update requirements include the following:
When a student attempts to register for a section of a course, determine whether he
or she has received credit for all prerequisites to the course. A student can be
enrolled only when this condition is satisfied, and the number of students
currently enrolled in the section is less than the maximum enrollment.
Section information, including grades assigned by the section, is retained for two
semesters following the end of the semester, at which time the information is
removed from the database. Note that grades assigned to students are retained
by course, not by section.
Use a DFD to represent this system.
EXERCISES
1. Give a brief description of a data flow diagram? What is the difference between
45 | P a g e
2. List at least 3 synonyms for DFD.
APPLES
STUFF
11. Why would a systems analyst draw a DFD with a process consisting of the name
12. Are flows on a DFD restricted to just showing the movement of information?
46 | P a g e
14. What is wrong with this DFD?
15. How can the same chunk of data have different meanings in a DFD? Draw an
X X
COMPUTE
STUFF
18. Is there any limit to the number of inputs and outputs that a process can have in
a DFD? What would your reaction be if you saw a process with 100 inputs and
100 outputs?
A B
X Y
Y b a
47 | P a g e
21. What is wrong with the following DFD?
a
c
b
a a c
b COMPUTE
FLURP
FACTOR
23. Give a description of a dialogue flow.
24. Is the following DFD valid? Is there any other way to draw it?
Y
x
Make y
y
25. Is the following DFD valid? Is there any other way to draw it?
26. Under what circumstances would you expect to see duplicate copies of an output
28. In the diagram below, how many x and how many y elements are required to
z
y
48 | P a g e
30. What is the convention for naming stores in a DFD?
31. What are alternative names for a store? Is it acceptable to use the term fits?
32. What names are commonly used to describe packets of information in a store?
33. What are the four common reasons for showing implementation stores in a DFD?
34. Do you think implementation stores should be allowed in a DFD? Why or why
not?
36. Is there any limit to the number of flows into or out of a store? If so, state what
a.
b.
c.
d.
49 | P a g e
e.
38. What are the four possible interpretations of a dataflow from a store into a
process?
39. Does the following DFD make sense? Why or why not?
customer record
a customer
customer address
40. Give an example of a situation where a process might extract portions of more
41. Give an example of a situation where a process might extract more than one
42. Can you tell from looking only at the diagrams whether the following DFDs are
correct?
50 | P a g e
a.
b.
inventory data
customers
c.
x
43. What happens to a store after data have moved from the store, along a flow, to a
44. What are the three possible interpretations of a flow into a store?
Missile trajectory
a. CUSTOMER
ORDER
SYSTEM
51 | P a g e
CUSTOME
ORDER
R SYSTEM
b.
c.
COMPUTE COMPUTE
TAXES NET PAY
d. JOHN
SYSTEM
FRED
termination or part of her project? What if she feels strongly that it should be
changed?
52. Why should a process not show the name of the person currently performing that
function?
54. Give five examples of process names that you would not like to see in a DFD.
55. How can you tell whether the name chosen for a process is likely to be
meaningful?
52 | P a g e
56. What is the misinterpretation that a user is likely to make of process numbers in a
DFD?
57. How can you tell whether a DFD is likely to be too complex for the user to
comprehend?
58. How rigidly enforced should the complexity guideline be? Should any exceptions
60. What are the major issues that determine whether a DFD is esthetically
61. Do your colleagues prefer bubbles or rectangles for processes? Which do you
prefer?
62. Do you think the dataflow between processes should be shown as curved lines
63. What is an infinite sink? Why should it be considered an error in a typical DFD?
66. What are read-only stores and write-only stores typically an error in a DFD?
68. How many levels of DFD should the systems analyst expect to see in atypical
large system? Can you suggest an upper limit on the number of levels in a
DFD?
53 | P a g e
69. In a leveled DFD:
(a) What would we call the children processes below process 2.3?
(b) What would be the figure name of the figure in which process 2.3
appears?
(c) How many higher-level figures are there above the figure in which
70. Is it necessary for all parts of a system to be partitioned to the same level of
71. Suppose someone showed you a DFD in which process 1 was partitioned into 2
lower levels, and process 2 was partitioned into 17 lower levels. What would
72. What does balancing mean, in the context of this chapter? How can you tell
73. What is the guideline for showing stores at different levels of a DFD?
74. What is a local store? What are the guidelines for showing a local store in a
leveled DFD?
References/Bibliography
54 | P a g e
Calmorin, Laurentina P., Educational Research Measurement and Evaluation, 2 nd
Edition, Manila: National Bookstore Inc. 1994, pp 66-67
Date, Chris, An Introduction to Database Systems, Vols. I and II. Fourth Edition.
Addison-Wesley, Reading, MA, 1987.
Hoffer, J. A, George J.F Valacieh, J.S, Modern Systems Analysis and Design
Copyright 1996 by the Benjamin/Cumming Publishing Co. Inc.
Kendall, Kenneth E; Kendall Julie E, 2nd Ed. Systems Analysis and Design Copyright
1992 by Prentice Hall Inc.
Maisbith, John, Aburdeen, Patrick; The Skills of the New Information Society,
McRoval & Co. Ltd., Greater London House
S.L. Pfleeger, Software Engineering Theory and Practice. Second Edition. Prentice
Hall. Upper Saddle River, NJ, 2001.
Silver, Gerald A; Silver, Myrna L.; Systems Analysis and Design; Copyright
1989 by Addison-Wesley Publishing Company, Inc.
55 | P a g e
56 | P a g e