SystemsAnalysisandDesign ASimplifiedApproach
SystemsAnalysisandDesign ASimplifiedApproach
____________________________________________________________________
By
2015 Harey Publications Coy. All rights reserved. No part of this publication
may be reproduced or distributed in any form or by any means, or stored in a
database or retrieval system, without the prior written consent of the publisher,
including, but not limited to, in any network or other electronic storage or
transmission, or broadcast for distance learning.
ISBN: 978-978-53272-2-2
Systems Analysis and Design (SAD) is an exciting, active field in which analysts
continually learn new techniques and approaches to develop systems more
effectively and efficiently. However, there is a core set of skills that all analysts
need to know no matter what approach or methodology is used. All information
systems projects move through the four phases of planning, analysis, design, and
implementation; all projects require analysts to gather requirements, model the
business needs, and create blueprints for how the system should be built; and all
projects require an understanding of organizational behavior concepts like
change management and team building.
This book captures the dynamic aspects of the field by keeping students focused
on doing SAD while presenting the core set of skills that we feel every systems
analyst needs to know today and in the future.
Each chapter describes one part of the process, provides clear explanations on
how to do it, gives a detailed example, and then has exercises for the students to
practice. In this way, students can leave the course with experience that will form
a rich foundation for further work as a systems analyst.
I wish to thank all those who helped in one way or the other during the
preparation and production of this book. Let me specially acknowledge the staff
of sondanet systems for the diligence exhibited in the production of this book. I
also wish to acknowledge all the authors listed in the bibliography for the
materials I use in preparing this book.
Special thanks to my wife, Goodness, for her support and encouragement and my
son, Noble, for his understanding and companionship. Above all, I thank the
Almighty God for life, guidance and the gift of knowledge.
Preface vi
1 | Introduction to Systems 1
1.0 Introduction 1
1.1 Defining a System 1
1.2 Characteristics of a System 2
1.3 Elements/Components of a System 5
1.4 Classification of a System 8
1.5 Systems Models 12
1.6 Examples of Systems 14
1.7 Summary 14
1.8 Review Questions 14
Introduction to Systems
1.0 Introduction
Systems are created to solve problems. One can think of the systems approach as
an organized way of dealing with a problem. A system exists because it is
designed to achieve one or more objectives. We come into daily contacts with the
transportation system, the telephone system, the accounting system, the
production system, and for over three decades, the computer system. Similarly,
we talk of the business system and of the organization as a system consisting of
interrelated departments (subsystems) such as production, sales, personnel, and
an information system. None of these subsystems is of much use as a single,
independent unit. When they are properly coordinated, however, the firm can
function effectively and profitably.
The term system is derived from the Greek word systema, which means
an organized relationship among functioning units or components.
There are more than a hundred definitions of the word system, but most seem to
have a common thread that suggests that a system is an orderly grouping of
interdependent components linked together according to a plan to achieve a
specific objective. The word component may refer to physical parts (engines,
wings of aircraft, car), managerial steps (planning, organizing and controlling),
or a system in a multi-level structure. The component may be simple or complex,
basic or advanced. They may be single computer with a keyboard, memory, and
printer or a series of intelligent terminals linked to a mainframe. In either case,
each component is part of the total system and has to do its share of work for the
system to achieve the intended goal. This orientation requires an orderly
grouping of the components for the design of a successful system.
Systems Analysis and Design: A Simplified Approach | 2
____________________________________________________________________
Basically there are three major components in every system, namely input,
processing and output. As an abstraction we symbolically represent a system as a
simple entity by using a rectangular box as shown in Figure 1.1. In general,
inputs such as stimuli and cues are fed into a system that processes the inputs and
produces an output.
In a system the different components are connected with each other and they are
interdependent. For example, Human body represents a complete natural system.
We are also bound by many national systems such as political system, economic
system, educational system and so forth. The objective of the system demands
that some output is produced as a result of processing the suitable inputs.
Our definition of a system suggests some characteristics that are present in all
systems: organization (order), interaction, interdependence, integration and a
central objective.
Systems Analysis and Design: A Simplified Approach | 3
____________________________________________________________________
a. Organization:
Organization implies structure and order. It is the arrangement of components
that help to achieve objectives. In the design of a business system, for example,
the hierarchical relationships starting with the president on top and leading
downward to the blue – collar workers represents the organization structure.
Such an arrangement portrays a system – subsystem relationship, defines the
authority structure, specifies the formal flow of communication and formalizes
the chain of command. Like – wise, a computer system is designed around an
input device, a central processing unit, an output device and one or more storage
units. When linked together they work as a whole system for producing
information.
b. Interaction:
Interaction refers to the manner in which each component functions with other
component of the system. In a computer system, for example, the central
processing unit must interact with the input device to solve a problem. In turn,
the main memory holds the program and data that the arithmetic unit uses for
Systems Analysis and Design: A Simplified Approach | 4
____________________________________________________________________
c. Interdependence:
Interdependence means that parts of the organization or computer system depend
on one another. They are coordinated and linked together according to a plan.
One subsystem depends on the input of another subsystem for proper
functioning: that is, the output of one subsystem is the required input for another
subsystem. This interdependence is crucial in systems work. An integrated
information system is designed to serve the needs of authorized users
(department heads, managers, etc.) for quick access and retrieval via remote
terminals. The interdependence between the personnel subsystem and the
organization‘s users is obvious. In summary, no subsystem can function in
isolation because it is dependent on the data (inputs) it receives from other
subsystems to perform its required tasks. Interdependence is further illustrated by
the activities and support of systems analysts, programmers, and the operations
staff in a computer center. A decision to computerize an application is initiated
by the user, analyzed and designed by the analyst, programmed and tested by the
programmer, and run by the computer operator. None of these persons can
perform properly without the required input from others in the computer center
subsystem.
d. Integration:
Integration is concerned with how a system is tied together. It is more than
sharing a physical part or location. It means that parts of the system work
together within the system even though each part performs a unique function.
Successful integration will typically produce a synergistic effect and greater total
impact than if each component works separately.
e. Central Objective:
The last quality is central objective. Objectives may be real or stated. It is very
common for an organization to state one objective and operates to achieve
another. This important point is that users must know the central objective of a
computer application early in the analysis for a successful design and conversion.
Systems Analysis and Design: A Simplified Approach | 5
____________________________________________________________________
b. Processing:
The processing is the element of a system that involves the actual transformation
of input into output. It is operational component of a system. Processing may
modify the input totally or partially, depending on the specifications of the
output. This means that as the output specifications change, so does the
processing.
c. Control:
The control element guides the system. It is the decision making subsystem that
controls the pattern of activities governing input processing and output. In an
organizational context, management as a decision making body controls the
inflow and outflow of activities that affect the welfare of the business. In
Systems Analysis and Design: A Simplified Approach | 6
____________________________________________________________________
computer system, the operating system and accompanying software influence the
behavior of the system.
In system analysis, knowing the attitude of the individual who controls the area
for which a computer is being considered can make a difference between the
success and failure of the installation.
Closed Loop Systems: In these systems output is fed back to input and there is
no input from the environment. The output thus initiates the control activity to
alter the system's input or its activities.
d. Feedback:
Feedback is an important element of systems. The output of a system needs to be
observed and feedback from the output taken so as to improve the system and
make it achieve the laid standards. Control in a dynamic system is achieved by
feedback. Feedback measures output against a standard in some form of
cybernetic (automatic, electronic, streamlined) procedures that includes
communication and controls. Output information is fed back into the input and/or
to management (controller) for consideration, calculation, or reflection. After the
output is compared against performance standards, change can result in the input
or processing and, consequently, the output.
Another form of feedback comes after the system is implemented. The user
informs the analyst about the performance of the new installation. This feedback
often results in enhancements to meet the user's requirements.
Types of Feedback:
Negative Feedback: Negative feedback shows that the system is deviating from
the intended path and that some change is therefore required to correct this
situation. The control action to be taken generally reverses the trend.
e. Environment:
A system should be defined by its boundaries, the limits that identify its
components, processes, and interrelationships when it interfaces with another
system. Systems are normally delimited by boundaries, which separates them
from its environment. Anything within the boundary is part of system; anything
outside is part of the environment. What is included in the system and what is
included in the environment depend on the particular problem being studied.
Every system has defined boundaries within which it operates. Beyond these
limits the system has to interact with the other systems. For instance, Personnel
system in an organization has its work domain with defined procedures. If the
financial details of an employee are required, the system has to interact with the
Accounting system to get the required details.
Interfaces are another important element through which the system interacts with
the outside world. System interacts with other systems through its interfaces.
Users of the systems also interact with it through interfaces. Therefore, these
should be customized to the user needs. These should be as user friendly as
possible.
Systems Analysis and Design: A Simplified Approach | 8
____________________________________________________________________
Open Systems: These are systems that interact with their environment.
Practically most of the systems are open systems. An open system has many
interfaces with its environment. It can also adapt to changing environmental
conditions. It permits interaction across its boundary; it receives inputs from and
delivers outputs to the outside of system. An information system is an example
of this category, since it must adapt to the changing demands of the users.
Closed Systems: They are systems that don't interact with their environment. It
is independent of its environment; changes in the environment and adaptability
are not issues for closed systems. The system is neither influenced by, nor
influences, its environment. It does not take in from, or give to it. It does not
exchange information, energy or material. In reality, a completely closed system
is rare. In systems analysis, organizations, applications and computers are
invariably open, dynamic systems influenced by their environment. In the
business world closed systems do not exist. Closed systems exist in concept only.
Depending on the system input and the output, the open systems can be further
categorized as deterministic or mechanistic.
The workings of a motor car, a steam engine or a mechanical lift are reasonably
easy to predict and control as long as they are operating efficiently. Unexpected
modes of working may develop as a result of excessive wear, in which case the
system becomes probabilistic rather than deterministic. Whether a system is
regarded as falling into the deterministic or probabilistic category depends upon
how closely the system can be examined.
All computer base information systems (CBIS) like financial accounting system,
inventory control system, payroll system etc. may be described as deterministic,
and they are consequently much easier to control than systems involving people,
whose behavior may be unpredictable.
For example, budgets or targets and sale are subject to a number of variables in
the environment, including availability of stock, price of the product, market
trends etc. In such instances, where the information is of a probabilistic nature, a
Systems Analysis and Design: A Simplified Approach | 11
____________________________________________________________________
Formal Information Systems: It deals with the flow of information from top
management to lower management. Information flows in the form of memos,
instructions, etc. But feedback can be given from lower authorities to top
management.
In no field are models used more widely and with greater variety than in systems
analysis. The analyst begins by creating a model of the reality (facts,
relationships, procedures, etc.) with which the system is concerned. Every
computer system deals with the real world, a problem area, or a reality outside
itself. For examples, a telephone switching system is made up of subscribers,
telephone handsets, dialing, conference calls, and the like. The analyst models
this reality before considering the functions that the system is to perform.
Various business system models are used to show the benefits of abstracting
complex system to model form.
The major models are schematic, flow, static and dynamic system models.
Flow System Models. A flow system model shows the flow of the material,
energy and information that hold the system together. There is an orderly flow of
Systems Analysis and Design: A Simplified Approach | 13
____________________________________________________________________
Static System Models. This type of model exhibits one pair of relationships such
as activity – time or cost – quantity. The Gantt chart, for example, gives a static
picture of an activity- time relationship. Planned activities (stamping, sanding
etc.) are plotted in relation to time are shown in figure 1.4. The date column has
light lines that indicate the amount of time it takes to complete a given activity.
The heavy line represents the cumulative time schedule for each activity. The
stamping department, for example, is scheduled to start working on order number
25 Wednesday morning and complete the job by the same evening. One day is
also scheduled for order number 28, two days for order number 28, two days for
order number 22 and two days (May 10-11) for order number 29. The heavy line
opposite the stamping department represents the total of six days. The broken
line indicates that the department is two days behind schedule. The arrowhead
indicates the date when the chart is to be in effect.
1.7 Summary
1. Define the term ‗System‘. What are the various elements of system?
2. Differentiate between a) Open and closed systems b) Physical
and Abstract systems
3. A system leads to a lot of planning and less of implementation. Do you
agree, justify your answer.
Systems Analysis and Design: A Simplified Approach | 15
____________________________________________________________________
CHAPTER TWO
2.0 Introduction
Till now we have studied what systems are, their components, classification of
systems. Now we will look into the different aspects of how these systems are
built.
Any change in the existing policies of an organization may require the existing
information system to be restructured or complete development of a new
information system. In case of an organization functioning manually and
planning to computerize its functioning, the development of a new information
system would be required.
The development of any information system can be put into two major phases:
Analysis and Design. During analysis phase the complete functioning of the
system is understood and requirements are defined which lead to designing of a
new system. Hence the development process of a system is also known as
System Analysis and Design process.
System design is the process of planning a new business system or one to replace
or complement an existing system.
Analysis specifies what the system should do. Design states how to accomplish
the objective.
After the proposed system is analyzed and designed, the actual implementation
of the system occurs. After implementation, working system is available and it
requires timely maintenance.
2) System analysis and design: Here apart from the analysis work, Analyst is
also responsible for the designing of the new system/application.
Due to the various responsibilities that a system analyst requires to handle, he has
to be multifaceted person with varied skills required at various stages of the life
cycle. In addition to the technical know-how of the information system
development a system analyst should also have the following knowledge.
Systems Analysis and Design: A Simplified Approach | 17
____________________________________________________________________
The system end users of the system refer to the people who use computers to
perform their jobs, like desktop operators. Further, end users can be divided into
various categories.
Very first users are the hands-on users. They actually interact with the system.
They are the people who feed in the input data and get output data. Like person
at the booking counter of a gas authority. This person actually sees the records
and registers requests from various customers for gas cylinders.
Other users are the indirect end users who do not interact with the systems
hardware and software. However, these users benefit from the results of these
systems. These types of users can be managers of organization using that system.
Systems Analysis and Design: A Simplified Approach | 18
____________________________________________________________________
There are third types of users who have management responsibilities for
application systems. These oversee investment in the development or use of the
system.
Fourth types of users are senior managers. They are responsible for evaluating
organization's exposure to risk from the systems failure.
Now we know what systems are and what is systems analysis and design. So let
us take a case in which we‘ll apply the concepts we have learned in the chapter.
The case would be referred to where necessary throughout the book and in this
process we will be developing the system required.
Noble Public Library is the biggest library in Port Harcourt! Currently it has
about 500 members. A person who is 18 years or above can become a member.
There is a membership fee of N500 for a year. There is a form to be filled in
which person fills personal details. These forms are kept in store for maintaining
members‘ records and knowing the membership period.
A member can issue a maximum of three books. He/she has three cards to issue
books. Against each card a member can issue one book from library. Whenever a
member wishes to issue a book and there are spare cards, then the book is issued.
Otherwise that request is not entertained. Each book is to be returned on the
specified due date. If a member fails to return a book on the specified date, a fine
of N10 per day after the due return date is charged. If in case a card gets lost then
a duplicate card is issued. Accounts are maintained for the membership fees and
money collected from the fines. There are two librarians for books return and
issue transaction. Approximately 100 members come to library daily to issue and
return books.
There are 5000 books available out of which 1000 books are for reference and
cannot be issued. Records for the books in the library are maintained. These
records contain details about the publisher, author, subject, language, etc. There
are suppliers that supply books to the library. Library maintains records of these
suppliers.
Systems Analysis and Design: A Simplified Approach | 19
____________________________________________________________________
Many reports are also produced. These reports are for details of the books
available in the library, financial details, members‘ details, and supplier‘s details.
Currently all functions of the library are done manually. Even the records are
maintained on papers. Now day by day members are increasing. Maintaining
manual records is becoming difficult task. There are other problems also that the
library staff is facing; like in case of issue of duplicate cards to a member when
member or library staff loses the card. It is very difficult to check the genuity of
the problem.
Sometimes the library staff needs to know about the status of a book as to
whether it is issued or not. So to perform this kind of search is very difficult in a
manual system.
Also management requires reports for books issued, books in the library,
members, and accounts. Manually producing the reports is a cumbersome job
when there are hundreds and thousands of records.
Due to the problems faced by the library staff and its expansion plans, the
management is planning to have a system that would first eradicate the needs of
cards. The system will automate the functions of record keeping and report
generation, which could help in executing the different searches in a faster
manner. The system will also handle the financial details.
Systems Analysis and Design: A Simplified Approach | 20
____________________________________________________________________
The first thing we studied is system. In our case study Noble Public Library is
our system. Every system is a set of some functional units that work together to
achieve some objective. The main objective of library system is to provide books
to its members without difficulty. Figure 2.1 depicts our library system
pictorially.
Our system has many functional units. Books issue and return section, books
record unit, members‘ record unit, accounts, and report generation units are the
different functional units of the library. Each functional unit has its own task.
However, each of these works independently to achieve the overall objective of
the library.
Now that the management has decided for an automated system the analyst
would perform the above tasks. As the analyst did the study of the system, the
following problems were identified
Now that the analyst has studied the system and identified the problems, it is the
responsibility of the analyst to provide a solution system to the management of
the library.
2.7 Summary
CHAPTER THREE
3.0 Introduction
The Systems Development Life Cycle (SDLC) is the process of understanding
how an Information System (IS) can support business needs, designing the
system, building it, and delivering it to users.
The key person in the SDLC is the systems analyst who analyzes the business
situation, identifies opportunities for improvements, and designs an information
system to implement them. Being a systems analyst is one of the most
interesting, exciting, and challenging jobs around. As a systems analyst, you will
work with a variety of people and learn how they conduct business. Specifically,
you will work with a team of systems analysts, programmers, and others on a
common mission. You will feel the satisfaction of seeing systems that you
designed and developed make a significant business impact, while knowing that
your unique skills helped make that happen.
The SDLC has a similar set of four fundamental phases: planning, analysis,
design, and implementation. Different projects may emphasize different parts
of the SDLC or approach the SDLC phases in different ways, but all projects
have elements of these four phases. Each phase is itself composed of a series of
steps, which rely on techniques that produce deliverables (specific documents
and files that provide understanding about the project).
For example, when you apply for admission to a university/polytechnic, there are
several phases that all students go through: information gathering, applying, and
accepting. Each of these phases has steps: information gathering includes steps
like searching for schools, requesting information, and reading brochures.
Students then use techniques (e.g., Internet searching) that can be applied to steps
(e.g., requesting information) to create deliverables (e.g., evaluations of different
aspects of universities). Figure 3.1 suggests that the SDLC phases and steps
proceed in a logical path from start to finish. In some projects, this is true, but in
many projects, the project teams move through the steps consecutively,
incrementally, iteratively, or in other patterns. In this section, we describe the
phases, steps, and some of the techniques that are used to accomplish the steps.
1. Planning:
o Preliminary/System Study
o Feasibility Study
2. Analysis
3. Design
4. Implementation
o Coding
o Testing/Integration
o Implementation/Installation/Deployment
o Maintenance/Evaluation
The different phases of system development life cycle are shown in this diagram
and attempts to answer the question Why build this system? The main aim of
preliminary analysis is to identify the problem. First, need for the new or the
enhanced system is established. Only after the recognition of need, for the
proposed system is done then further analysis is possible.
In the first step, the preliminary survey of the system is done which helps in
identifying the scope of the system. The second step of the system study is more
detailed and in-depth study in which the identification of user‘s requirement and
the limitations and problems of the present system are studied. After completing
the system study, a system proposal is prepared by the System Analyst (who
studies the system) and placed before the user management. The proposed
system contains the findings of the present system and recommendations to
overcome the limitations and problems of the present system in the light of the
user‘s requirements.
The management may accept the proposal and the cycle proceeds to the next
stage. The management may also reject the proposal or request some
modifications in the proposal. In summary, we would say that system study
phase passes through the following steps:
Once the initial investigation is done and the need for new or improved system is
established, all possible alternate solutions are chalked out. All these systems are
known as "candidate systems". All the candidate systems are then weighed and
the best alternative of all these is selected as the solution system, which is termed
as the "proposed system". The proposed system is evaluated for its feasibility.
Feasibility for a system means whether it is practical and beneficial to build that
system.
Systems Analysis and Design: A Simplified Approach | 26
____________________________________________________________________
The main goal of feasibility study is not to solve the problem but to achieve the
scope. In the process of feasibility study, the cost and benefits are estimated with
greater accuracy to find the Return on Investment (ROI). This also defines the
resources needed to complete the detailed investigation. The result is a feasibility
report submitted to the management. This may be accepted or accepted with
modifications or rejected. The system cycle proceeds only if the management
accepts it.
The result of the feasibility study is a formal document, a report detailing the
nature and scope of the proposed solution.
Systems Analysis and Design: A Simplified Approach | 27
____________________________________________________________________
Once the feasibility study is done then the project is approved or disapproved
according to the results of the study. If the project seems feasible and desirable
then the project is finally approved otherwise no further work is done on it.
The major objectives of systems analysis are to find answers for each business
process: What is being done, How is it being done, Who is doing it, When is he
doing it, Why is it being done and How can it be improved, Who will use the
system, What the system will do, Where and When it will be used? It is more
of a thinking process and involves the creative skills of the System Analyst. It
attempts to give birth to a new efficient system that satisfies the current needs of
the user and has scope for future growth within the organizational constraints.
The result of this process is a logical system design. Systems analysis is an
iterative process that continues until a preferred and acceptable solution emerges.
In the design stage, the programming language and the hardware and software
platform in which the new system will run are also decided. The system design
involves.
(e) Coding
The system design needs to be implemented to make it a workable system. This
demands the coding of design into computer understandable language, i.e.,
programming language. This is also called the programming phase in which the
programmer converts the program specifications into computer instructions,
which we refer to as programs. It is an important stage where the defined
procedures are transformed into control specifications by the help of a computer
language. The programs coordinate the data movements and control the entire
process in a system. It is generally felt that the programs must be modular in
nature. This helps in fast development, maintenance and future changes, if
required.
(f) Testing
Before actually implementing the new system into operation, a test run of the
system is done to remove bugs, if any. It is an important phase of a successful
system. After codifying the whole programs of the system, a test plan should be
developed and run on a given set of test data. The output of the test run should
match the expected results. Sometimes, system testing is considered a part of
implementation process. Using the test data following test run are carried out:
Unit/Program test
System test
When it is ensured that the system is running error-free, the users are called with
their own actual data so that the system could be shown running as per their
requirements.
Systems Analysis and Design: A Simplified Approach | 29
____________________________________________________________________
(g) Implementation
After having the user acceptance of the new system developed, the
implementation phase begins. Implementation is the stage of a project during
which theory is turned into practice. The major steps involved in this phase are:
(i) Maintenance
Maintenance is necessary to eliminate errors in the system during its working life
and to tune the system to any variations in its working environments. It has been
seen that there are always some errors found in the systems that must be noted
and corrected. It also means the review of the system from time to time. The
review of the system is done for:
The table below summarizes the different phases of System Development Life
Cycle, their purposes, tool used and deliverables.
Systems Analysis and Design: A Simplified Approach | 30
____________________________________________________________________
plan
Systems Repair and improve the IS utility New and
evaluation/Maint system improved
enance systems
This section discusses the most popular methods for developing computer-based
information systems. A software development methodology (also known as
a system development methodology, software development life cycle, software
development process, and software process) is a division of software
Systems Analysis and Design: A Simplified Approach | 31
____________________________________________________________________
development work into distinct phases (or stages) containing activities with the
intent of better planning and management. It is often considered a subset of
the systems development life cycle. The methodology may include the pre-
definition of specific deliverables and artifacts that are created and completed by
a project team to develop or maintain an application.
A popular, traditional method is called structured analysis, but a newer strategy
called object-oriented analysis and design also is used widely. Each method
offers many variations. Some organizations develop their own approaches or
adopt methods offered by software vendors or consultants. Most IT experts agree
that no single, best system development strategy exists. Instead, a systems
analyst should understand the alternative methods and their strengths and
weaknesses.
Waterfall Model
The waterfall model is a sequential design process, used in software development
process, in which progress is seen as flowing steadily downwards (like
a waterfall), through several phases, typically:
Requirement Analysis; resulting in a software requirements specification
and models, schema, and business rules.
Design: resulting in the software architecture
Implementation: the development, proving and integration of software
Testing: the systematic discovery and debugging of defects
Integration, if there are multiple subsystems
Deployment (or Installation): the installation, migration, support.
Maintenance; maintenance of complete systems
Figure 3.3: The activities of the software development process represented in the
waterfall model. Progress flows from the top to the bottom, like a cascading
waterfall.
Prototyping
Software prototyping is the activity of creating prototypes of software
applications, i.e., incomplete versions of the software program being developed.
A prototype typically simulates only a few aspects of, and may be completely
different from, the final product.
The process of prototyping involves the following steps
1. Identify basic requirements
Determine basic requirements including the input and output information
desired. Details, such as security, can typically be ignored.
2. Develop Initial Prototype
The initial prototype is developed that includes only user interfaces.
3. Review
The customers, including end-users, examine the prototype and provide
feedback on additions or changes.
4. Revise and Enhance the Prototype
Using the feedback both the specifications and the prototype can be
improved. Negotiation about what is within the scope of the
contract/product may be necessary. If changes are introduced then a
repeat of steps #3 and #4 may be needed
Systems Analysis and Design: A Simplified Approach | 36
____________________________________________________________________
Spiral Model
The spiral model is a risk-driven process model generator for software projects.
Based on the unique risk patterns of a given project, the spiral model guides a
team to adopt elements of one or more process models, such as incremental,
waterfall, or evolutionary prototyping.
3.4 Summary
CHAPTER FOUR
4.0 Introduction
The first step in the system development life cycle is the identification of a need.
This is a user‘s request to change, improve or enhance an existing system.
Because there is likely to be a stream of such requests, standard procedures must
be established to deal with them. The objective of project selection is to
determine whether the request is valid and feasible before a recommendation is
reached to do nothing, improve or modify the existing system or build a new one.
The user request identifies the need for change and authorizes the initial
investigation. It may undergo several modifications before it becomes final. The
success of a system depends largely on how accurately a problem is defined. The
user‘s request must be communicated if the organization‘s personnel and other
resources are to be successfully mobilized to build and maintain a viable
information system plan.
Each problem has generally more than one solution. Each such approach has
costs and benefits that are compared with those of other approaches before a final
recommendation is made. The result is a project proposal. The findings of the
analysis are summarized and the design is recommended.
Asking:
This strategy obtains information from users by simply asking them about the
requirements. It assumes a stable system where users are well informed and can
overcome biases in defining their problems. There are three key asking methods:
Systems Analysis and Design: A Simplified Approach | 41
____________________________________________________________________
needs that are not linked to organizational objectives. In the decision analysis
method, information needs are clearly linked to decision and organizational
objectives. It is useful for unstructured decisions and information tailored to the
user‘s decision-making style. The major drawback, though, is that information
requirements may change when the user is promoted or replaced.
4.3.3 Prototyping
The third strategy for determining user information requirements is used when
the user cannot establish information needs accurately before the information
system is built. The reason could be the lack of an existing model n which to
base requirements or a difficulty in visualizing candidate systems. In this case,
the user needs to anchor on real life systems from which adjustments can be
made. Therefore, the iterative discovery approach captures an initial set of
information requirements and builds a system to meet these requirements. As
user gain experience in its use, they request additional requirements or
modifications (iterations), in the system in essence, information requirements are
discovered by using the system.
1. Clarify and understand the project request. What is being done? What is
required?
2. Determine the size of the project.
3. Assess costs and benefits of alternative approaches.
4. Determine the technical and operational feasibility of alternative
approaches.
5. Report the findings to management, with recommendations outlining the
acceptance or rejection of the proposal.
This analytical tool used during the project planning process shows how a
business would operate under a set of assumptions - the technology used (the
facilities, equipment, production process, etc.) and the financial aspects (capital
needs, volume, cost of goods, wages etc.). The study is the first time in a project
development process that the pieces are assembled to see if they perform together
to create a technical and economically feasible concept. The study also shows the
sensitivity of the business to changes in these basic assumptions.
The feasibility study evaluates the project‘s potential for success. The perceived
objectivity of the evaluation is an important factor in the credibility placed on the
study by potential investors and financiers. Also, the creation of the study
requires a strong background both in the financial and technical aspects of the
project. For these reasons, outside consultants conduct most studies.
Systems Analysis and Design: A Simplified Approach | 45
____________________________________________________________________
A feasibility study could be used to test a new working system, which could be
used because:
TITLE PAGE Defines the name of the project and who it is for
I. TABLE OF CONTENTS
a. List various parts, features and exhibits, showing page numbers
II. SCOPE/TERMS OF REFERENCE
a. Present a brief explanation of the system boundaries, objectives and
constraints.
III. STATEMENT OF PROBLEM
a. Describe current system (including any problems and the projected
costs), Describe proposed system
b. Describe the criteria (essential requirements and desirable features of
the proposed system)
c. Indicate how proposed system will solve the problem(s)
IV. SUMMARY/ ABSTRACT
a. (optional) Give executive a summary of project, high-lighting
benefits
V. THE PREFERED ALTERNATIVE - COST/BENEFIT STATEMENT
a. List benefits and savings in quantitative terms
b. Present figures of savings versus costs
c. Summarize cost of new equipment, one – time charges, etc.
d. Quantify net savings and expected returns.
VI. IMPLEMENTATION SCHEDULE
a. Submit implementation plan
b. Specify human resources requirements, systems and procedures, etc.
Include PERT-CPM or Gantt Chart.
VII. HARDWARE CONFIGURATION (optional)
a. Lay out computer configuration.
b. Describe terminal network and equipment (CRTs, printers, etc.).
c. List communication equipment (data sets, lines, etc.)
VIII. CREDITS Give credit to those who contributed to the project study.
Effective reports follow carefully these planned formats that management can
understand and evaluate without having to read the entire document. There is no
standard format for preparing feasibility reports. Analysts usually decide on a
format that suits the particular user and system. Most reports, however, contain
the following contents and format:
Systems Analysis and Design: A Simplified Approach | 47
____________________________________________________________________
The outcome of the feasibility study should be very clear, yet detailed enough to
provide the basis for system design. It should answer the following issues.
If the feasibility study is accepted then the systems analyst moves to the next
stage which is a full analysis of the system
Although few businesses would not benefit from a computerized system at all,
the process of carrying out this feasibility study makes the purchaser/client think
carefully about how it is going to be used.
After request clarification, analyst proposes some solutions. After that for each
solution it is checked whether it is practical to implement that solution.
This is done through feasibility study. In this, various aspects like whether it is
technically or economically feasible or not are evaluated. So depending upon the
aspect on which feasibility is being done it can be categorized into five classes.
The acronym TELOS refers to the five areas of feasibility - Technical,
Economic, Legal, Operational, and Scheduling.
Technical Feasibility
Economic Feasibility
Legal Feasibility
Operational (Organizational) Feasibility
Scheduling Feasibility
1. Technical Feasibility
For example, if the proposal includes a printer that prints at the rate of 15,000
lines per minute, a brief search shows that this specification is technically
feasible. (Whether it should be included in the configuration is an economic
decision). On the other hand, if a user is requesting voice input to write, read, and
change stored data, the proposal may not be technically feasible.
2. Economic Feasibility
A system that can be developed technically and that will be used installed must
still be a good investment for the organization. For any system if the expected
benefits equal or exceed the expected costs, the system can be judged to be
economically feasible. In economic feasibility, cost benefit analysis is done in
which expected costs and benefits are evaluated. Economic analysis is used for
evaluating the effectiveness of the proposed system.
Thus in economic feasibility the following issues are taken into consideration
and an estimation done.
To be judged feasible, a project proposal must passed all these tests. Otherwise, it
is not a feasible project. For example, a personnel record feasible if the necessary
technology does not exit. A medical system that can be developed at reasonable
costs but that nurses will avoid using cannot be judged operationally feasible.
3. Operational Feasibility
Proposed projects are beneficial only if they can be turned into information
systems that will meet the organization‘s operating requirements. Simply stated,
this test of feasibility asks if the system will work when it is developed and
installed. Are there major barriers to implementation?
Systems Analysis and Design: A Simplified Approach | 50
____________________________________________________________________
Operational feasibility is mainly concerned with issues like whether the system
will be used if it is developed and implemented. Whether there will be resistance
from users that will affect the possible application benefits? The essential
questions that help in testing the operational feasibility of a system are following.
Is there sufficient support for the project from management? From users?
If the system is developed, will it be used? If the current system is well
liked and used to the extent that persons will not be able to see reasons for
a change, there may be resistance.
Are the users not happy with current business practices? Will it reduce the
time (operation) considerably? If yes, then they will welcome the change
that will bring about a more operational and useful system.
Have the users been involved in the planning and development of the
project? Early involvement reduces the probability of resistance towards
the new system. change in general and increases the likelihood of
successful projects.
Will the proposed system really benefit the organization? Does the overall
response increase? Will the proposed system cause harm? Will it produce
poorer result in any respect or area? Will loss of control result in any
area? Will accessibility of information be lost? Will individual
performance be poorer after implementation than before? Will customers
be affected in an undesirable way? Will the system slow performance in
any areas?
Issues that appear to be relatively minor in the beginning have ways of growing
into major problems after implementation. Therefore, all operational aspects
must be considered carefully.
4. Legal Feasibility
This determines whether the proposed system conflicts with legal requirements,
e.g. a data processing system must comply with the local Data Protection Acts. It
includes study concerning contracts, liability, violations, and other traps
frequently unknown to the technical staff.
5. Schedule Feasibility
A project will fail if it takes too long to be completed before it is useful.
Typically this means estimating how long the system will take to develop, and if
Systems Analysis and Design: A Simplified Approach | 51
____________________________________________________________________
it can be completed in a given time period using some methods like payback
period. Schedule feasibility is a measure of how reasonable the project timetable
is.
Given our technical expertise, are the project deadlines reasonable? Some
projects are initiated with specific deadlines. You need to determine
whether the deadlines are mandatory or desirable.
Is it possible to build a solution in time to be useful?
o What are the consequences of delay?
o Any constraints on the schedule?
o Can these constraints be met?
because in some cases an estimate can be wrong. And the project might not
actually turn out to be beneficial.
Cost benefit analysis helps to give management a picture of the costs, benefits
and risks. It usually involves comparing alternate investments. It determines the
benefits and savings that are expected from the system and compares them with
the expected costs.
Certain costs and benefits are more easily identifiable than others. For example,
direct costs, such as the price of a hard disk, are easily identified form company
invoice payments or canceled checks. Direct benefits often relate one-to-one to
direct costs, especially savings from reducing costs in the activity in question.
Other direct costs and benefits, however, may not be well defined, since they
represent estimated costs or benefits that have some uncertainty. An example of
such costs is reserve for bad debt. It is a discerned real cost, although its exact
amount is not so immediate. A category of costs or benefits that is not easily
discernible is opportunity costs and opportunity benefits. These are the costs or
benefits forgone by selecting one alternative over another. They do not show in
the organization‘s accounts and therefore are not easy to identify.
Systems Analysis and Design: A Simplified Approach | 53
____________________________________________________________________
In a broad sense the cost of an information system can be divided into two types:
development cost and operating cost. The development costs are one time
investment whereas operating costs are recurring.
2. Operating costs: Operating costs are the expenses required for the day to day
running of the system. This includes the maintenance of the system. That can be
in the form of maintaining the hardware or application programs or money paid
to professionals responsible for running or maintaining the system.
Benefits:
We can define benefit as:
Profit or Benefit = Income – Costs
Benefits can be accrued by increasing income, or decreasing costs, or both.
The system will provide some benefits also. Benefits can be tangible or
intangible, direct or indirect. In cost benefit analysis, the first task is to identify
each benefit and assign a monetary value to it.
The two main benefits are improved performance and minimized processing
costs.
Tangible cost and benefits can be measured. Hardware costs, salaries for
professionals, software cost are all tangible costs. They are identified and
Systems Analysis and Design: A Simplified Approach | 54
____________________________________________________________________
Benefits are also tangible or intangible. For example, more customer satisfaction,
improved company status, etc are all intangible benefits. Whereas improved
response time, producing error free output such as producing reports are all
tangible benefits. Both tangible and intangible costs and benefits should be
considered in the evaluation process.
From the cost accounting point of view, the costs are treated as either direct or
indirect. Direct costs are having naira value associated with it. Direct benefits are
also attributable to a given project. For example, if the proposed system can
handle more transactions say 25% more than the present system then it is direct
benefit.
Indirect costs result from the operations that are not directly associated with the
system. Insurance, maintenance, heat, light, air conditioning are all indirect costs.
Some costs and benefits are fixed. Fixed costs don't change. Depreciation of
hardware, Insurance, etc are all fixed costs. Variable costs are incurred on regular
basis. Recurring period may be weekly or monthly depending upon the system.
They are proportional to the work volume and continue as long as system is in
operation.
Fixed benefits don't change. Variable benefits are realized on a regular basis.
Systems Analysis and Design: A Simplified Approach | 55
____________________________________________________________________
Benefits Costs
1. Tangible Benefits 1. Development costs (OTO)
Readily quantified as naira values i. Development and purchasing
Examples: costs:
o increased sales o Cost of development team
o cost/error reductions o Consultant fees
o increased throughput/efficiency o software used (buy or build)?
o increased margin on sales o Hardware (what to buy,
o more effective use of staff time buy/lease)?
o facilities (site, communication,
2. Intangible benefits power,...)
Difficult to quantify ii. Installation and conversion
o But maybe more important! costs:
o business analysts help estimate o installing the system,
$ values o training personnel,
Examples: o file conversion,....
o increased flexibility of
operation 2. Operational costs (on-going)
o higher quality products/services i. System Maintenance:
o better customer relations o hardware (repairs, lease,
o improved staff morale supplies,...),
o software (licenses and
3. How will the benefits accrue? contracts),
o When - over what timescale? o facilities
o Where in the organization? ii. Personnel:
o For operation (data entry,
backups,…)
o For support (user support,
hardware and software
maintenance,
supplies,…)
o On-going training costs
Systems Analysis and Design: A Simplified Approach | 56
____________________________________________________________________
When all financial data have been identified and broken down into cost
categories, the analyst must select a method of evaluation. Several evaluation
methods are available, each with pros and cons. The common methods are:
1. Net Benefit Analysis:- Net benefit analysis simply involves subtracting total
costs from total benefits. It is easy to calculate easy to interpret, and easy to
present. The main drawback is that it does not account for the time value of
money and does not discount future cash flow. Period 0 is used to represent the
present period. The negative numbers represent cash outlays. The time value of
money is extremely important in evaluation processes. What is suggested here is
that money has a time value. Today‘s dollar and tomorrow‘s dollar are not the
same. The time lag accounts for the time value of money. The time value of
money is usually expressed in the form of interest on the funds invested to realize
the future value. Assuming compounded interest, the formula is:
F = P (1 + i)n
Where :
controls for these problems by calculating the costs and benefits of the system in
terms of today‘s value of the investment and then comparing across alternatives.
To compute the present value, we take the formula for future value:
F = P * (1 + i)n
P = F / (1 + i)n
So the present value of N1,500 invested at 10 percent interest at the end of the
fourth year is:
P= 1,500/(1+0.10)4 = N1,027.39
3. Net Present Value:- The net present value is equal to discounted benefits
minus discounted costs. Our N3,000 microcomputer investment yields a
cumulative benefit of N4,758.51 or a net present gain of N1,758.51. This value is
relatively easy to calculate and accounts for the time value of money.
Systems Analysis and Design: A Simplified Approach | 58
____________________________________________________________________
5. Break –even Analysis:- Break–even is the point where the cost of the
candidate system and that of the current one are equal. Unlike the payback
method that compares costs and benefits of the candidate system, break-even
compares the costs of the current and candidate systems. When a candidate
system is developed, initial costs usually exceed those of the current system. This
is an investment period. When both costs are equal, it is break-even. Beyond that
point, the candidate system provides greater benefit (profit) than the old one--a
return period.
A break–even chart compares the costs of the current and candidate systems. The
attributes are processing cost and processing volume. Straight lines are used to
show the model‘s relationships in terms of the variable, fixed and total costs of
the two processing methods and their economic benefits. Intersection indicates
the point where the total cost of processing transactions by the current system is
equal to the total cost of using the candidate system. Beyond that point is the
return period. Before the intersection is the investment period. According to the
chart, then, it would be more economical to process manually when volume is
below the number of break-even point transactions. Higher processing volume
favors the candidate system.
6. Cash – Flow Analysis:- Some projects, such as those carried out by computer
and word processing services, produce revenues from an investment in computer
systems. Cash–flow analysis keeps track of accumulated costs and revenues on a
Systems Analysis and Design: A Simplified Approach | 59
____________________________________________________________________
regular basis. The ―spread sheet‖ format also provides break – even and payback
information. It is revenue minus expense on a period by period basis.
Drawbacks of the Cash flow analysis are: It ignores time value of money. For a
limited period, it does not take into account the profitability of the project. It
ignores behavioral implications of the numbers in the financial statement.
However the major advantage of the cash flow analysis is that it combines
benefits of break even and payback methods.
When the evaluation of the project is complete, the results have to be interpreted.
This entails comparing actual results against a standard or the result of an
alternative investment. The interpretation phase as well as the subsequent
decision phase is subjective, requiring judgment and intuition. Depending on the
level of uncertainty, the analyst may be confronted with a single known value or
a range of values. In either case, simpler measures such as net benefit analysis
are easier to calculate and present than other measures, although they do not
discount future cash flows. If it can be modified to include the time value of
money, the net benefit method would be comparable to the net present value
method. More complex measures such as net present value account for the time
value of money but are more difficult to evaluate and present. The decision to
adopt an alternative candidate system can be highly subjective, depending on the
analyst‘s or end user‘s confidence in the estimated costs and benefits and the
magnitude of the investment. In summary, cost/ benefit analysis is a tool for
evaluating projects rather than a replacement of the decision-maker. In real-life
business situations, whenever a choice among alternatives is considered, cost /
benefit analysis is an important tool. Like any tool, however, it has problems:
4.11 Summary
The first step in the system development life cycle is the identification of
a need. This is a user‘s request to change, improve or enhance an existing
system.
Preliminary investigations examine project feasibility, the likelihood the
system will be useful to the organization
Not all projects submitted for evaluation and review are judged
acceptable.
Data analysis is a prerequisite to cost/ benefit analysis. System
investigation and data gathering lead to an assessment of current findings.
From the analysis, the system design requirements are identified, and
alternative system evaluated.
In developing cost estimates for a system, we need to consider several
cost elements. Among them are hardware, personnel, facility, operating
and supply costs. Cost/ benefit analysis is a procedure that gives a picture
of the various costs, benefits and rules associated with a system.
Cost/ benefit analysis is a tool for evaluating projects rather than a
replacement of the decision-maker. In real-life business situations,
whenever a choice among alternatives is considered, cost/ benefit analysis
is an important tool. The final decision following cost/benefit analysis is
to select the most cost-effective and beneficial system for the user.
CHAPTER FIVE
System Requirement
Specifications and Analysis
5.0 Introduction
Analysis is the heart of the system development process. It is the key component
of the first two phases of the cycle. Systems Analysis involves detailed study of
the current system, leading to specifications of a new system. Systems analysis is
a process of collecting factual data, understanding the processes involved,
identifying problems and recommending feasible suggestions for improving the
system functioning. This involves studying the business processes, gathering
operational data, understand the information flow, finding out bottlenecks and
evolving solutions for overcoming the weaknesses of the system so as to achieve
the organizational goals.
2. The analyst is quickly overwhelmed with the business and technical details of
the system. Much of the time is spent gathering information. The details are
needed and must be available, but the analyst does not have the tools to
structure and control the details.
3. Present analytical tools have limitations.
a. English narrative descriptions of a system are often too vague and
make it difficult for the user to grasp how the parts fit together.
Furthermore, English is inherently difficult to use where precision is
needed.
b. System and program flowcharts commit to a physical implementation
of the system before on has complete understanding of its logical
requirements.
4. Problems also relate to system specifications:-
a. System specifications are difficult to maintain or modify. A simple
change in the user‘s requirements necessitates changes in several parts
of the document.
b. They describe user requirements inn terms of physical hardware that
will implement the system rather than what the user wants the system
to do.
c. They are monolithic and redundant; that is, to find out information
about a particular part of the system, the user has to search the entire
document. Furthermore, the same information is found in numerous
locations with no cross-reference.
Because of these drawbacks, the analyst needs something analogous to the
architect‘s blueprint as a starting point for system design. It is a way to focus on
functions rather than physical implementation.
The major objectives of systems analysis are to find answers for each business
process: What is being done, How is it being done, Who is doing it, When is he
doing it, Why is it being done and How can it be improved, Who will use the
system, What the system will do, Where and When it will be used? It is more
of a thinking process and involves the creative skills of the System Analyst. It
attempts to give birth to a new efficient system that satisfies the current needs of
the user and has scope for future growth within the organizational constraints.
The result of this process is a logical system design. Systems analysis is an
iterative process that continues until a preferred and acceptable solution emerges.
The detailed investigation of the system is carried out in accordance with the
objectives of the proposed system. This involves detailed study of various
operations performed by a system and their relationships within and outside the
system. During this process, data are collected on the available files, decision
points and transactions handled by the present system. Interviews, on-site
observation and questionnaire are the tools used for detailed system study.
Using the following steps it becomes easy to draw the exact boundary of the new
system under consideration:
All the data and the findings must be documented in the form of detailed data
flow diagrams (DFDs), data dictionary, logical data structures and miniature
specification. The main points to be discussed in this stage are:
Requirements Anticipation
Having had experience in a particular business area or having encountered
systems in an environment similar to the one currently under investigation will
influence systems analysts study. They may foresee the likelihood of certain
problems or features and requirements for a new system. As a result, the features
they investigate for the current system, questions they raise, or methods
Systems Analysis and Design: A Simplified Approach | 66
____________________________________________________________________
Requirements Investigation
This activity is at the heart of systems analysis. Using a variety of tools and
skills, analysts study the current system and document its features for further
analysis. Requirements investigation relies on the fact-finding techniques and
includes methods for documenting and describing system features.
Requirements Specifications
The data produced during the fact-finding investigation are analyzed to
determine requirements specifications, the description of features for a new
system. This activity has three interrelated parts: ™
Analysis of Factual Data: The data collected during the fact – finding
study and included in data flow and decision analysis documentation are
examined to determine how well the system is performing and whether it
will meet the organization‘s demands. ™
Identification of Essential Requirements: Features that must be
included in a new system, ranging from operational details to
performance criteria, are specified. ™
Selection of Requirements Fulfillment Strategies: The methods that
will be used to achieve the stated requirements are selected.
These form the basis for system design, which follows requirements
specification. All three activities are important and must be performed correctly.
5.3 Basic Requirements
Analysts structure their investigation by seeking answers to these four major
questions:
What are the limits imposed by time and the volume of work?
What performance controls are used?
Many times the easiest way to get this information is to identify the reason for
the activity: what causes the activity to be performed? Analysts sometimes refer
to the direct cause as the trigger function (it triggers the activity). Activities can
be triggered by customers of an application to open a new bank, charge, or credit
account), and by the passage of time (the ending of the day, week, or month).
Unless analysts know what triggers an activity, they may misunderstand the
reason for the activity and give it more or less importance in the system than it
merits.
The volume of items to be handled may increase the amount of time needed to
complete the activity. Savings banks prepare consumer account statements
(summaries of deposits, withdrawals, interest accumulations, and balances) only
four times a year. Although the frequency of this activity is very low, when the
calendar triggers this activity at the end of each quarter, the volume of work is
very high, sometimes running into tens of thousands of statements to be
prepared. The sheer quantity of item making up an activity can produce special
problems for the analyst to study, even though the activity occurs infrequently.
Systems Analysis and Design: A Simplified Approach | 70
____________________________________________________________________
information for decision making. For instance, summarized sales transaction data
tell managers which products sell and which do not.
Analysts investigating decision support systems should raise the same questions
about timing and frequency discussed previously. But other questions should also
be posed to determine decision requirements:
These questions also point out the relationship between transaction and decision
systems. Inventory systems capture details about ongoing ordering, receipt, sale,
and shipment of items, the data they store are further processed to produce
information periodically to analyze sales, determine pricing policy, or decide on
marketing plan for product lines. This means
(1) that analysts investigating decision systems must be aware of supporting
transaction systems and
(2) that effective decision systems require suitable transaction processing
procedures to be place first.
1. On-Site Observation:
Observation allows analysts to gain information they cannot obtain by any other
fact – finding method. On-site observation involves observing the existing
system first hand. Through observation, analysts can obtain firsthand information
about how activities are carried out. This method is most useful when analysts
need to actually observe how documents are handled, how processes are carried
out, observers know what to look for and how to assess the significance of what
they observe. The analyst watches the personnel using the existing system to find
out exactly how it works. On-site observations are one of the most effective tools
with the analyst where the analyst personally goes to the site and discovers the
functioning of the system. As an observer, the analyst can gain first hand
knowledge of the activities, operations, processes of the system on-site, hence
here the role of an analyst is of an information seeker.
This information is very meaningful as it is unbiased and has been directly taken
by the analyst. This exposure also sheds some light on the actual happenings of
the system as compared to what has already been documented, thus the analyst
gets closer to the system. This technique is also time-consuming and the analyst
should not jump to conclusions or draw inferences from small samples of
observation rather the analyst should be more patient in gathering the
information. This method is however less effective for learning about people's
perceptions, feelings and motivations.
Advantages
the analyst obtains reliable data.
it is possible to see exactly what is being done.
this is an inexpensive method compared to other techniques.
Disadvantages
people are generally uncomfortable being watched and may work in a
different way.
what they are watching may not be representative of a typical day‘s work.
if workers perform tasks that violate standard procedures, they may not do
this when being watched!!
Systems Analysis and Design: A Simplified Approach | 73
____________________________________________________________________
2. Interviews
Interview involves a one to one question and answer session (Q&R session)
between the analyst and employee/customer. A good method if the analyst wants
to probe deeply into one specific aspect of the existing system.
One very essential aspect of conducting the interview is that the interviewer
should first establish a rapport with the interviewee. It should also be taken into
account that the interviewee may or may not be a technician and the analyst
should prefer to use day to day language instead of jargon and technical terms.
This may also help the analyst to verify and validate the information gained.
Interviewing should be approached, as logically as possible and from a general
point of view the following guides can be very beneficial for a successful
interview.
Although some analysts prefer the interview to other fact – finding techniques, it
is not always the best source of application data. Because of the time required for
interviewing, other methods must also be used to gather the information needed
to conduct an investigation. It is important to remember that respondents and
Systems Analysis and Design: A Simplified Approach | 74
____________________________________________________________________
Advantages
analyst has a free hand and he can extract almost all the information from
the concerned people
opportunity to motivate the interviewee to give open and free answers to
the analyst‘s questions
allows the analyst to probe for more feedback from the interviewee
(easier to extend a topic than it is when using questionnaires)
can ask modified questions or questions specific to the interviewee based
on previous responses .
Disadvantages
can be a very time consuming exercise
can be expensive to carry out
unable to remain anonymous
Systems Analysis and Design: A Simplified Approach | 75
____________________________________________________________________
3. Questionnaires
This involves sending out questionnaires to the work force and/or to customers to
find out their views of the existing system and to find out how some of the key
tasks are carried out.
The use of standardized question formats can yield more reliable data than other
fact – finding techniques, and the wide distribution ensures greater anonymity for
respondents, which can lead to more honest responses. However, this method
does not allow analysts to observe the expressions or reactions or respondents.
The questionnaire may not yield the results from those respondents who are busy
or who may not give it a reasonable priority.
Advantages
questions can be answered quickly
an inexpensive way of gathering data from a large number of people
allows individuals to remain anonymous
it is quick to analyze data
Disadvantages
number of people returning questionnaires is often quite low
questions asked tend to be rather inflexible
no immediate way to clarify a vague/incomplete answer to a question
it is difficult to prepare a good questionnaire
4. Record Reviews
This involves Looking at existing paperwork. This allows the analyst to see how
paper files are kept, look at operating instructions and training manuals, check
accounts, etc. In record reviews, analysts examine information that has been
recorded about the system and user.
Records and reports are the collection of information and data accumulated over
the time by the users about the system and its operations. This can also put light
on the requirements of the system and the modifications it has undergone.
Records include written policy manuals, regulations and standard operating
procedures used by most organizations and a guide for managers and employees.
They do not show what activities are actually occurring, where the decision –
making power lies, or how tasks are performed. However, they can help analysts
understand the system by familiarizing them with what operations must be
supported and with formal relations within the organization.
Many kinds of records and reports can provide analysts with valuable
information about organizations and operations. The analyst may scrutinize the
records either at the beginning of his study which may give him a fair
introduction about the system and will make him familiar with it or in the end
which will provide the analyst with a comparison between what exactly is/was
desired from the system and its current working.
Systems Analysis and Design: A Simplified Approach | 77
____________________________________________________________________
Advantages
It gives the analyst some idea of the scale of the problem, memory size
requirements, type of input/output devices needed, and so on.
They will often gain information not obtained by any of the other methods
described above.
Disadvantages
There are various tools and techniques available to the analyst for this. Tools,
which are usually used, are decision trees, decision tables, Structured English and
the various CASE tools. The basic role of these tools is to depict the various
conditions, their possible combinations and the subsequent decisions.
This has to be done without harming the logical structure involved. Once all of
the parameters are objectively represented the decision process becomes much
simpler, straightforward and almost error free.
A DFD shows the flow of data through a system. It views a system as a function
that transforms the inputs into desired outputs. Any complex system will not
perform this transformation in a "single step", and a data will typically undergo a
series of transformations before it becomes the output. The DFD aims to capture
the transformations that take place within a system to the input data so that
eventually the output data is produced. The agent that performs the
transformation of data from one state to another is called a process (or a bubble).
So a DFD shows the movement of data through the different transformation or
process in the system.
DFDs are basically of 2 types: Physical and logical DFDs. Physical DFDs are
used in the analysis phase to study the functioning of the current system. Logical
DFDs are used in the design phase for depicting the flow of data in proposed
system.
Data Flow Diagrams are composed of the four basic symbols shown below.
The Data Flow symbol represents movement of data (data moves from one place
of the system to another)
The Data Store symbol represents data that is not moving (delayed data at rest).
The Process symbol represents an activity that transforms or manipulates the data
(combines, reorders, converts, etc.).
Any system can be represented at any level of detail by these four symbol.
1. External Entities
2. Processes
3. Data Flow
the minimum essential data the process needs. Using only the minimum essential
data reduces the dependence between processes. Data flows must begin and/or
end at a process.
Data flows are always named. Name is not to include the word "data". Should be
given unique names. Names should be some identifying noun. For example,
order, payment, complaint.
4. Data Stores
or
Data Stores are repository for data that are temporarily or permanently recorded
within the system. It is an "inventory" of data. These are common link between
data and process models. Only processes may connect with data stores.
There can be two or more systems that share a data store. This can occur in the
case of one system updating the data store, while the other system only accesses
the data.
Data stores are named with an appropriate name, not to include the word "file",
Names should consist of plural nouns describing the collection of data. Like
customers, orders, and products. These may be duplicated. These are detailed in
the data dictionary or with data description diagrams.
Balancing DFDs
A process must have at least one input and one output data flow
A process begins to perform its tasks as soon as it receives the necessary
input data flows
A primitive process performs a single well-defined function
Never label a process with an IF-THEN statement
Never show time dependency directly on a DFD
Be sure that data stores, data flows, data processes have descriptive titles.
Processes should use imperative verbs to project action.
All processes receive and generate at least one data flow.
Begin/end data flows with a bubble.
Figure 5.2: Level-0 diagram for the cap and gown order processing
Figure 5.3: Level-1 diagram for cap and gown order processing
Systems Analysis and Design: A Simplified Approach | 85
____________________________________________________________________
DFD rules
Elements Rules
DFD At least one process
No more than 9 processes
Context Contains only one process numbered 0
diagram At least one input from an external entity and one output to
an external entity
External Appears only on the context diagram
entity Connected to a process
Labeled with noun phrase
Process At least one input data flow and one output data flow
Inputs to process are different from outputs of that process
Labeled with verb phrase
Data flow Has only one flow direction
No split
No loop
Labeled with noun phrase
Data store An interface between two processes
Labeled with noun phrase
Elements Rules
DFD A parent diagram must exist unless it is a context diagram
Process Decompose to either another diagram or a primitive process
specification
Numbered with respect to its parent
Data flow An input (output) data flow on a parent diagram must appear
on a child diagram as input (output)
An input (output) data flow on a child diagram must appear
on a parent diagram as input (output)
Data store Decompose to either a file definition or a record definition
Systems Analysis and Design: A Simplified Approach | 86
____________________________________________________________________
Figure 5.4: DFD for the cap and gown order processing
Systems Analysis and Design: A Simplified Approach | 87
____________________________________________________________________
1. Data flow
2. Data structure
3. Data elements
4. Data stores
Systems Analysis and Design: A Simplified Approach | 88
____________________________________________________________________
In our data flow diagrams, we have given names to data flows, processes and
data stores. Although the names are descriptive of the data, thy do not give
Systems Analysis and Design: A Simplified Approach | 89
____________________________________________________________________
details. So following the DFD, our interest is to build some structures place to
keep details of the contents of data flows, processes and data stores.
To define the data structure, different notations are used. These are similar to the
notations for regular expression. Essentially, besides sequence or composition
(represented by +) selection and iteration are included. Selection (represented by
vertical bar "|‖) means one or the other, and repetition (represented by "*‖)
means one or more occurrences.
Most of the data flow in the DFD are specified here. Some of the most obvious
ones are not shown here. The data dictionary entry for weekly timesheet specifies
that this data flow is composed of three basic data entities - the employee name,
employee ID and many occurrences of the two-tuple consisting of regular hours
and overtime hours. The last entity represents the daily working hours of the
worker. The data dictionary also contains entries for specifying the different
elements of a data flow.
Once we have constructed a DFD and its associated data dictionary, we have to
somehow verify that they are "correct". There can be no formal verification of a
DFD, because what the DFD is modeling is not formally specify anywhere
against which verification can be done. Human processes and rule of thumb must
be used for verification. In addition to the walkthrough with the client, the
analyst should look for common errors. Some common errors are
A decision table (DT) is a table of contingencies for defining a problem and the
actions to be taken. It is single representation of the relationships between
conditions and actions. A decision table presents a set of conditions and their
corresponding actions. It displays the possible actions that a decision-maker can
follow according to the outcome of a number of relevant conditions.
Technique:
Decision tables represent complex business rules based on a set of
conditions.
Systems Analysis and Design: A Simplified Approach | 95
____________________________________________________________________
all possible choices and conditions the choices depend on are represented
in tabular form: condition, actions, and rules
The general form/structure is shown in Figure 5.1
Problem area
Conditions and Actions Rules
CONDITION SET CONDITION
SPACE/ALTERNATIVE
ACTION SET ACTION SPACE/ENTRIES
Condition Stubs - Condition stubs describe the conditions or factors that will
affect the decision or policy. They are listed in the upper section of the decision
table.
Action Stubs -Action stubs describe, in the form of statements, the possible
policy actions or decisions. They are listed in the lower section of the decision
table.
Rules
Conditions and Actions 1 2 3 4
Under N50 Y Y N N
Pays by check with 2 forms of ID Y N Y N
Uses credit card N Y N Y
Ring up sales X
Decline sales X
Call supervisor for approval X
Call bank for credit authorization X
delivery by offering a two percent discount for this method of payment. Another
two percent discount is given on orders of 50 or more units. Each column
represents a certain type of order.
The Decision Table records the conditions for discounts in the top left quadrant
along with the ranges for the conditions in the top right quadrant. The bottom
half of the table lists the actions taken, i.e., the discount rates that apply, based on
the conditions. Each column represents a certain type of order. For example,
column two represents cash on delivery orders of less than 50 units from
retailers.
Systems Analysis and Design: A Simplified Approach | 99
____________________________________________________________________
In the previous chapter, we discussed how the analyst performed the preliminary
analysis. But we didn't look into the actual methods that the analyst employed to
gather the information about the system. In our case the analyst used on-site
observations, interviewed the staff members and used questionnaires for both
staff and members of the library.
Now we'll look at the techniques that the analyst employed to document the
various business rules of the library. Analyst identified the following business
rules.
The decision tree and decision table illustrating the business rule are given
below.
Is Age < 18 Y . .
Age > = 18 . Y Y
Is Membership for 6 months? . Y .
Is Membership for 12 months? . . Y
Grant Membership . X X
Deny Membership X . .
Charge Membership N500 . X .
Charge Membership N1000 . . X
Figure 5.11: Decision table for membership rule
2) Rule for Issuing Books
If the number of books already issued is equal to 4 then no more books is issued
to that member. If it is less than 4 then that book is issued.
Now the analyst has a good understanding of the requirements for the new
system, we can move to the designing. Design of the system will be discussed in
the later chapters.
Systems Analysis and Design: A Simplified Approach | 102
____________________________________________________________________
Having collected as much information about the present system as possible, the
systems analyst now looks though it all to understand how the system works, and
to try and identify problems that need to be fixed.
Every system has inputs and outputs and the systems analyst needs to identify the
data input to the present system, and the data output. This is because any new
system that is designed will have to deal with similar inputs and outputs as the
present system.
For example, the payroll system in a business might have the following inputs
and outputs.
Identifying the inputs, outputs and processes helps the Systems Analyst really
understand how a system works:
Any new system that is created will need to take in the same input data (the
number of hours worked by employees), and will have to produce the same three
outputs.
Systems Analysis and Design: A Simplified Approach | 103
____________________________________________________________________
For similar reasons, the systems analyst also has to understand how the present
system works (the processes – who does what and when).
It is important to know exactly how the system works because some parts of the
present system may work very well, and it would be a waste of time and effort to
replace them.
Most large systems are actually made up of many sub-systems. We call these
sub-systems processes.
Each process takes data from the inputs or from other processes, processes the
data, and produces an output. The output is passed to other processes, and so on.
Identifying Problems
No system is perfect and it is the job of the systems analyst to try and identify
where the problems in a system are.
If these problems can be fixed, the system will work more smoothly, be more
efficient and, in the case of a business, be more profitable.
Systems Analysis and Design: A Simplified Approach | 104
____________________________________________________________________
The payroll often takes over three days to process, resulting in many
employees being paid late
Timesheets sometimes get lost before being processed. This means that
sometimes pay has to be estimated
The reports sent to management do not show enough information.
Hopefully you have realized why all of the research and analysis is necessary.
Unless we really understand how a system works, we can't begin to identify the
parts that are broken and need fixing / replacing
Systems Analysis and Design: A Simplified Approach | 105
____________________________________________________________________
Now the problems with present system are understood, the system analyst can
begin to plan how the new system will fix those problems. The systems analyst
specifies a list of requirements for the new system (‗requirements‘ simply means
targets or aims).
The whole point of any system analysis is to end up with a better system than
presently exists. The Requirements Specification is the document that lists all of
the improvements that we hope the new system will bring.
The systems analysts will now need to decide what hardware and software will
be required for the new system.
Hardware
Software
Off-the-shelf software:
Cheaper
More reliable (because most problems will have been found by one of the
many users)
Has lots of support and help available (because lots of other people are
using it)
Custom-written software:
Very expensive
Provides exactly what the customer needs (a „perfect fit‟)
Only has one user, so little help is available
5.14 Summary
In the analysis of the present system, the analyst collects a great deal of
relatively unstructured data through interviews, questionnaires, on–site
observations, procedures manuals, and the like.
Requirements determination involves studying the current business
system to find out how it works and where improvements should be
made.
The specific methods analysts use for collecting data about requirements
are called fact – finding techniques. These include the interview,
questionnaire, record inspections (on – site review) and observation.
Analysts usually employ more that one of these techniques to help ensure
an accurate and comprehensive investigation.
The traditional approach focuses on cost/benefit and feasibility analysis,
project management, hardware and software selection and personnel
considerations.
Systems Analysis and Design: A Simplified Approach | 107
____________________________________________________________________
CHAPTER SIX
System Design
6.0 Introduction
Once the analysis has taken place and the systems analyst has some idea of the
scale of the problem and what needs to be done, the next stage is to design the
key parts of the recommended system. The analyst designs all aspects of the
system from the data collected. System design allows you to define the ―look and
feel‖ of all system outputs, inputs, interfaces, dialogues, and data requirements.
This chapter introduces techniques for the design of interfaces, menus, and
databases, based on the requirement specification worked out during the analysis
phase (functioning diagram, relationship diagram, data flow diagram...). At the
end of this phase, you need to identify the borderline between the computer
system and human being and find the answer to the question of how to attain the
system's objectives.
Based on the user requirements and the detailed analysis of the existing system,
the new system must be designed. The design phase attempts to answer the
question: How will this system work? It is the most crucial phase in the
Systems Analysis and Design: A Simplified Approach | 109
____________________________________________________________________
In the design stage, the programming language and the hardware and software
platform in which the new system will run are also decided. There are several
tools and techniques used for describing the system design of the system. These
tools and techniques, also used in analysis, include: Flowchart , Data flow
diagram (DFD), Data dictionary, Structured English, Decision table and Decision
tree.
Design Approach
Consider Users, Data and Processing – in that order
v) Architectural Design:
select/design the hardware requirements for the new system
select/design the software requirements
select/design the network infrastructure
6.5 Summary
CHAPTER SEVEN
7.0 Introduction
As discussed earlier, inputs and outputs are an important part of any system, so
while designing a system inputs and outputs of the system as a whole need to be
identified and the inputs and outputs for the various processes of the system need
to be listed down. We need to define the manner (method and sequence) in which
humans and computers exchange information.
There are various types of user-computer interface designs, each of which has a
typical character and ability. The design type is required to be suitable to the
system‘s duties and to its users who will interact directly with the computers.
Use of a consistent format for menu, command input, and data display.
Provide the user with visual and auditory feedback to ensure that two-way
communication is established.
Provide undo or reversal functions.
Reduce the amount of information that must be memorized between
actions.
Provide help facilities that are context sensitive.
Use simple action verbs or short verb phrases to name commands.
Display only that information that is relevant to the current context.
Produce meaningful error messages.
Use upper and lower case, indentation, and text grouping to aid in
understanding.
Produce meaningful error messages.
Maintain consistency between information display and data input. The
visual characteristics of the display (e.g., text size, color, and placement)
should be carried over to the input domain.
Interaction should be flexible but also tuned to user's preferred mode of
input.
Deactivate commands that are inappropriate in the context of current
actions.
Provide help to assist with all input actions
Form: Filling in the form is a popular type of dialogue on data and data
processing. Forms are displayed on the screen similarly to the way tables are
arranged. The screen also displays form name, field name and instruction
information. The pointer controlled by a software moves automatically among
fields or by using TAR or carriage return – enter keys. The advantage of form is
its close contact with users. This type of design is suitable to all users.-
Language command: This is a wide but simple area consisting of both simple
commands and grammatically complicated commands. A command will result in
a move of the system when it is entered by the user. The most significant
advantage of language command is that its flexibility is limited by the language‘s
grammar only. However, it takes time for users to learn by heart the commands
and users are required to have background knowledge of the system in case there
are no information displayed on the screen. Language command asks for great
efforts while developing it. It is suitable for users who are professionals.
The design decisions for handling input specify how data are accepted for
computer processing. During design of input, the analyst should decide on the
following details:
1. Data must first be ‗captured‘ (collected in a way that then makes it easy
to input)
2. Data must be input into the computer
The systems analyst will select a data capture method and data input method that
best suit the requirements of the new system.
Sometimes the two steps of data capture and data input are performed at the
same time. For example a barcode reader captures the data (the numeric code
on the barcode) and inputs it to a computer in one go.
7.3.4. Choosing the Best Data Capture and Data Input Methods for the
System
Collecting data into a form that is ready for input to a computer system can be
done in many ways:
Paper Forms
Form can be a simple one with spaces for numbers and text to be written in.
The data form this form would then be typed into the computer
Camera
Capture still or moving images which can then
be input to a computer for processing
In the payroll example, the hours worked by the employees could be captured
using...
A paper form (a timesheet) - simple and
cheap, but the needs to be manually input
(slow) and the form can be lost
Barcode reader - employees could have ID
cards and swipe them at the start and end of
work (can cheat easily)
Fingerprint reader - employees could put a
finger on the reader at the start and end of work
(hard to cheat)
Systems Analysis and Design: A Simplified Approach | 118
____________________________________________________________________
Much of the data that enters computer systems needs to typed in. A well-
designed on-screen form can make this task easier and quicker.
As data is entered into the form, it needs to be checked for accuracy. Two
techniques help us do this: validation and verification...
When data is input to a computer, it is a good idea for the computer to check that
the data is sensible (no dates of birth in the future, etc.)
Checks like this are called validation checks (is the data valid?)
Presence Check
o Is data actually present in a field, or has it been missed out?
Range Check
o Is the data value within a set range?
(E.g. an exam mark should be between 0% and 100%, a month
should be between 1 and 12)
Length Check
o Is an item of text too short or too long?
Type Check
o Is the data the correct type?
(E.g. the letter ‗A‘ should not be allowed in a numeric field)
Format Check
o Is the data in the correct format?
(E.g. a date of birth should be entered as dd/mm/yyyy)
If one of the validation checks fails (because the data entered is invalid) the
computer should show a nice, friendly error message such as...
“You have forgotten to enter a name”
Data validation only checks whether the data entered is sensible - it does not
mean that the data is the right data.
For example, if you are entering a date of birth and you mis-type it…
You would not see an error, since 12/11/1928 is a valid date of birth.
To check that data is the correct value, we use a system called data verification.
1. Proof Reading
After the data has been entered a person compares the original data with the data
in the computer (either on the screen or using a print-out). If mistakes are spotted
they can be corrected by the person. Proof-reading is quick and simple, but
doesn‘t catch every mistake.
2. Double-Entry
The data is entered into the computer twice (preferably by two different people).
The computer compares the two sets of data to see if they match. If not it
generates an error and a person will need to correct the mistake. Double-entry
takes more time and effort, but it catches almost every mistake.
Systems Analysis and Design: A Simplified Approach | 122
____________________________________________________________________
Output refers to the results and information that are generated by the system. In
many cases, output is the main reason for developing the system and the basis on
which the usefulness of the system is evaluated. Most end-users will not actually
operate the information system or enter data through workstations, but they will
use the output from the system.
on layout forms, sheets that describe the location characteristics (such as length
and type), and format of the column heading, etc.
Make good use of colours and fonts to make the data clear
Text
Images
Bar charts
Pie charts
Animations
Video
Systems Analysis and Design: A Simplified Approach | 125
____________________________________________________________________
Designing a printed report is just like designing an on-screen report (see above),
except that the report needs to fit a piece of printer paper, rather than the
screen. The report might also include page numbers, a header / footer, etc. This
is an example of a well-designed printed report used to show details of an
employee.
7.5 Summary
Inputs and outputs are an important part of any system, so while
designing a system inputs and outputs of the system as a whole need to be
identified and the inputs and outputs for the various processes of the
system need to be listed down.
We need to define the manner (method and sequence) in which humans
and computers exchange information.
Systems are designed for human beings to make their work simpler and
faster. Hence interaction of any system with the human being should be
an important area of concern for any system analyst.
The analyst should be careful enough to design the human element of the
system in such a manner that the end user finds the system friendly to
work with.
Interface design implies deciding upon the human computer interfaces.
The design decisions for handling input specify how data are accepted for
computer processing. During design of input, the analyst should decide on
what data to input, methods for capture, entry and input, medium to use,
etc
As data is entered into the form, it needs to be checked for accuracy. Two
techniques help us do this: validation and verification.
CHAPTER EIGHT
8.0 Introduction
Once the analyst has decided onto the basic processes and inputs and outputs of
the system, he also has to decide upon the data to be maintained by the system
and for the system. The data is maintained in the form of data stores, which
actually comprise of databases.
Each database may further be composed of several files where the data is
actually stored. The analyst, during the design of the system, decides onto the
various file-relating issues before the actual development of the system starts.
The design of files includes decisions about the nature and content of the file
itself such as whether it is to be used for storing transaction details, historical
data, or reference information.
The designer also needs to consider which backing storage device and media
will be suitable to store the data:
So, for example, if there is a large amount of data that needs to be accessed
quickly, and regularly, then a hard drive would be the best storage device to use.
Figure 8.1: A table consisting of rows and columns in a relational database model
All information systems create, read, update and delete data. This data is
stored in files and databases.
Files are collections of similar records.
Databases are collections of interrelated files.
The key word is interrelated.
The records in each file must allow for relationships (think of them as
‗pointers‘) to the records in other files.
In the file environment, data storage is built around the applications that
will use the files.
In the database environment, applications will be built around the
integrated database.
Systems Analysis and Design: A Simplified Approach | 129
____________________________________________________________________
Byte:- It is the smallest addressable unit in computer. A byte is a set of 8 bits and
represents a character.
Record: - The elements related to are combined into a record. An employee has
a record with his name, designation, basic pay, allowances, deductions etc. as its
fields. A record may have a unique key to identify a record e.g. employee
number. Records are represented as logical & physical records. A logical record
maintains a logical relationship among all the data items in the record. It is the
way the program or user sees the data. In contrast a physical record is the way
data are recorded on a storage medium.
File: - It is a collection of similar records. The records will have the same fields
but different values in each record. The size of a file is limited by the size of
memory available.
Entities - abstract data that you save in a database. For example: customers,
products.
Key - a key is used to point out records. The most well-known key is the Primary
Key (see Primary Key).
Systems Analysis and Design: A Simplified Approach | 130
____________________________________________________________________
Foreign key (FK) - a referral to the Primary Key of another table. Foreign Key-
columns can only contain values that exist in the Primary Key column that they
refer to.
Primary key - one or more columns within a table that together form a unique
combination of values by which each record can be pointed out separately. For
example: customer numbers, or the serial number of a product.
A file is organized to ensure that records are available for processing. It should
be designed in the line with the activity and volatility of the information and the
nature of the storage media and devices.
• Inverted list organization uses an index for each key type. Records are not
necessarily in a particular sequences.
• Direct access organization has records placed randomly throughout the file.
Records are updated directly and independently of the other records.
Most fundamental entities from the data model would be designed as master or
transaction records. The master files a typically fixed length records. Associative
entities from the data model are typically joined into the transaction records to
form variable length records (based on the one-to-many relationships). Other
types of files (not represented in the data model) are added as necessary.
Systems Analysis and Design: A Simplified Approach | 131
____________________________________________________________________
Two important considerations of file design are file access and organization.
Other considerations are
(1) cost of file media (highest for disk, lowest for tape)
(2) inquiry requirements (real – time versus batch processing) and
(3) file privacy, integrity, security, and confidentiality.
The systems analyst usually studies how each program will access the records in
the file (‗sequentially‘ or ‗randomly‘), and then select an appropriate file
organization.
Introduction
The design of any database will usually involve the DBA and database staff.
They will handle the technical details and cross-application issues.
It is useful for the systems analyst to understand the basic design principles
for relational databases.
A database should provide for the efficient storage, update, and retrieval
of data.
A database should be reliable – the stored data should have high integrity
to promote user trust in that data.
A database should be adaptable and scaleable to new and unforeseen
requirements and applications.
The data model may have to be divided into multiple data models to
reflect database distribution and database replication decisions.
Data distribution refers to the distribution of either specific tables,
records, and/or fields to different physical databases.
Data replication refers to the duplication of specific tables, records, and/or
fields to multiple physical databases.
Each sub-model or view should reflect the data to be stored on a single
server.
Certain principles guide the database design process. The first principle is
that duplicate information (also called redundant data) is bad, because it
wastes space and increases the likelihood of errors and inconsistencies.
The second principle is that the correctness and completeness of
information is important. If your database contains incorrect information,
any reports that pull information from the database will also contain
incorrect information. As a result, any decisions you make that are based
on those reports will then be misinformed.
Systems Analysis and Design: A Simplified Approach | 133
____________________________________________________________________
Cons:
Database technology is more complex than file technology.
Special software, called a database management system (DBMS), is
required.
A DBMS is still somewhat slower than file technology.
Database technology requires a significant investment.
The cost of developing databases is higher because analysts and
programmers must learn how to use the DBMS.
In order to achieve the benefits of database technology, analysts and
database specialists must adhere to rigorous design principles.
Another potential problem with the database approach is the increased
vulnerability inherent in the use of shared data.
Fields
Fields are common to both files and databases.
A field is the implementation of a data attribute.
Fields are the smallest unit of meaningful data to be stored in a file or
database.
There are four types of fields that can be stored: primary keys, secondary
keys, foreign keys, and descriptive fields.
o Primary keys are fields whose values identify one and only one
record in a file. Secondary keys are alternate identifiers for a
database.
Systems Analysis and Design: A Simplified Approach | 135
____________________________________________________________________
o A single file in a database may only have one primary key, but it
may have several secondary keys.
o Foreign keys are pointers to the records of a different file in a
database.
o Foreign keys are how the database ‗links‘ the records of one type
to those of another type.
o Descriptive fields are any other fields that store business data.
Records
When a computer program ‗reads‘ a record from a database, it actually
retrieves a group or block of records at a time.
This approach minimizes the number of actual disk accesses.
A blocking factor is the number of logical records included in a single
read or write operation (from the computer‘s perspective). A block is
sometimes called a physical record.
Today, the blocking factor is usually determined and optimized by the
chosen database technology, but a qualified database expert may be
allowed to fine tune that blocking factor for performance.
Databases
Databases provide for the technical implementation of entities and
relationships.
The history of information systems has led to one inescapable conclusion:
o Data is a resource that must be controlled and managed!
Systems Analysis and Design: A Simplified Approach | 136
____________________________________________________________________
Microsoft Office Access 2007 organizes your information into tables: lists of
rows and columns reminiscent of an accountant‘s pad or a Microsoft Office
Excel 2007 worksheet. In a simple database, you might have only one table. For
most databases you will need more than one. For example, you might have a
table that stores information about products, another table that stores information
about orders, and another table with information about customers.
Each row is also called a record, and each column, is also called a field. A
record is a meaningful and consistent way to combine information about
something. A field is a single item of information — an item type that appears in
every record. In the Products table, for instance, each row or record would hold
information about one product. Each column or field holds some type of
information about that product, such as its name or price.
Designing a database is in fact fairly easy, but there are a few rules to stick to. It
is important to know what these rules are, but more importantly is to know why
these rules exist, otherwise you will tend to make mistakes!
Standardization makes your data model flexible and that makes working with
your data much easier. Please, take the time to learn these rules and apply them
A good database design starts with a list of the data that you want to include in
your database and what you want to be able to do with the database later on. This
Systems Analysis and Design: A Simplified Approach | 138
____________________________________________________________________
can all be written in your own language, without any SQL. In this stage you must
try not to think in tables or columns, but just think: "What do I need to know?"
Don't take this too lightly, because if you find out later that you forgot
something, usually you need to start all over. Adding things to your database is
mostly a lot of work.
Identifying Entities
The types of information that are saved in the database are called 'entities'. These
entities exist in four kinds: people, things, events, and locations. Everything you
could want to put in a database fits into one of these categories. If the
information you want to include doesn't fit into these categories, than it is
probably not an entity but a property of an entity, an attribute.
To clarify the information given in this article we'll use an example. Imagine that
you are creating a website for a shop, what kind of information do you have to
deal with? In a shop you sell your products to customers. The "Shop" is a
location; "Sale" is an event; "Products" are things; and "Customers" are people.
These are all entities that need to be included in your database.
But what other things are happening when selling a product? A customer comes
into the shop, approaches the vendor, asks a question and gets an answer.
"Vendors" also participate, and because vendors are people, we need a vendors
entity.
Identifying Relationships
The next step is to determine the relationships between the entities and to
determine the cardinality of each relationship. The relationship is the connection
between the entities, just like in the real world: what does one entity do with the
Systems Analysis and Design: A Simplified Approach | 139
____________________________________________________________________
other, how do they relate to each other? For example, customers buy products,
products are sold to customers, a sale comprises products, a sale happens in a
shop.
The cardinality shows how much of one side of the relationship belongs to how
much of the other side of the relationship. First, you need to state for each
relationship, how much of one side belongs to exactly 1 of the other side. For
example: How many customers belong to 1 sale?; How many sales belong to 1
customer?; How many sales take place in 1 shop?
You'll get a list like this: (please note that 'product' represents a type of product,
not an occurrence of a product)
Did we mention all relationships? There are four entities and each entity has a
relationship with every other entity, so each entity must have three relationships,
and also appear on the left end of the relationship three times. Above, 12
relationships were mentioned, which is 4*3, so we can conclude that all
relationships were mentioned.
Systems Analysis and Design: A Simplified Approach | 140
____________________________________________________________________
Now we'll put the data together to find the cardinality of the whole relationship.
In order to do this, we'll draft the cardinalities per relationship. To make this easy
to do, we'll adjust the notation a bit, by noting the 'backward'-relationship the
other way around:
The second relationship we will turn around so it has the same entity order as the
first. Please notice the arrow that is now faced the other way!
Customers --> Sales; 1 customer can buy something several times; 1:N.
Customers <-- Sales; 1 sale is always made by 1 customer at the time; 1:1.
The true cardinality can be calculated through assigning the biggest values for
left and right, for which 'N' or 'M' are greater than '1'. In thisexample, in both
cases there is a '1' on the left side. On the right side, there is a 'N' and a '1', the 'N'
is the biggest value. The total cardinality is therefore '1:N'. A customer can make
multiple 'sales', but each 'sale' has just one customer.
Between the entities there may be a mutual dependency. This means that the one
item cannot exist if the other item does not exist. For example, there cannot be a
sale if there are no customers, and there cannot be a sale if there are no products.
The relationships Sales --> Customers, and Sales --> Products are mandatory, but
the other way around this is not the case. A customer can exist without sale, and
also a product can exist without sale. This is of importance for the next step.
Recursive Relationships
Sometimes an entity refers back to itself. For example, think of a work hierarchy:
an employee has a boss; and the bosschef is an employee too. The attribute 'boss'
of the entity 'employees' refers back to the entity 'employees'.
Systems Analysis and Design: A Simplified Approach | 142
____________________________________________________________________
In an ERD (see next chapter) this type of relationship is a line that goes out of the
entity and returns with a nice loop to the same entity.
Redundant Relationships
Sometimes in your model you will get a 'redundant relationship'. These are
relationships that are already indicated by other relationships, although not
directly.
In the case of our example there is a direct relationship between customers and
products. But there are also relationships from customers to sales and from sales
to products, so indirectly there already is a relationship between customers and
products through sales. The relationship 'Customers <----> Products' is made
twice, and one of them is therefore redundant. In this case, products are only
purchased through a sale, so the relationships 'Customers <----> Products' can be
deleted. The model will then look like this:
This can be done by creating a new entity that is in between the related entities.
In our example, there is a many-to-many relationship between sales and
products. This can be solved by creating a new entity: sales-products. This entity
has a many-to-one relationship with Sales, and a many-to-one relationship with
Products. In logical models this is called an associative entity and in physical
database terms this is called a link table or junction table.
In the example there are two many-to-many relationships that need to be solved:
'Products <----> Sales', and 'Products <----> Shops'. For both situations there
needs to be created a new entity, but what is that entity?
For the Products <----> Sales relationship, every sale includes more products.
The relationship shows the content of the sale. In other words, it gives details
about the sale. So the entity is called 'Sales details'. You could also name it 'sold
products'.
The Products <----> Shops relationship shows which products are available in
which the shops, also known as 'stock'. Our model would now look like this:
Systems Analysis and Design: A Simplified Approach | 144
____________________________________________________________________
Identifying Attributes
The data elements that you want to save for each entity are called 'attributes'.
About the products that you sell, you want to know, for example, what the price
is, what the name of the manufacturer is, and what the type number is. About the
customers you know their customer number, their name, and address. About the
shops you know the location code, the name, the address. Of the sales you know
when they happened, in which shop, what products were sold, and the sum total
of the sale. Of the vendor you know his staff number, name, and address. What
will be included precisely is not of importance yet; it is still only about what you
want to save.
Systems Analysis and Design: A Simplified Approach | 145
____________________________________________________________________
Derived Data
Derived data is data that is derived from the other data that you have already
saved. In this case the 'sum total' is a classical case of derived data. You know
exactly what has been sold and what each product costs, so you can always
calculate how much the sum total of the sales is. So really it is not necessary to
save the sum total.
So why is it saved here? Well, because it is a sale, and the price of the product
can vary over time. A product can be priced at 10 euros today and at 8 euros next
month, and for your administration you need to know what it cost at the time of
the sale, and the easiest way to do this is to save it here. There are a lot of more
elegant ways, but they are too profound for this article.
Assigning Keys
Primary Keys
A primary key (PK) is one or more data attributes that uniquely identify an
entity. A key that consists of two or more attributes is called a composite key. All
attributes part of a primary key must have a value in every record (which cannot
be left empty) and the combination of the values within these attributes must be
unique in the table.
In the example there are a few obvious candidates for the primary key.
Customers all have a customer number, products all have a unique product
number and the sales have a sales number. Each of these data is unique and each
record will contain a value, so these attributes can be a primary key. Often an
integer column is used for the primary key so a record can be easily found
through its number.
Link-entities usually refer to the primary key attributes of the entities that they
link. The primary key of a link-entity is usually a collection of these reference-
Systems Analysis and Design: A Simplified Approach | 148
____________________________________________________________________
attributes. For example in the Sales_details entity we could use the combination
of the PK's of the sales and products entities as the PK of Sales_details. In this
way we enforce that the same product (type) can only be used once in the same
sale. Multiple items of the same product type in a sale must be indicated by the
quantity.
In the ERD the primary key attributes are indicated by the text 'PK' behind the
name of the attribute. In the example only the entity 'shop' does not have an
obvious candidate for the PK, so we will introduce a new attribute for that entity:
shopnr.
Foreign Keys
The Foreign Key (FK) in an entity is the reference to the primary key of another
entity. In the ERD that attribute will be indicated with 'FK' behind its name. The
foreign key of an entity can also be part of the primary key, in that case the
attribute will be indicated with 'PF' behind its name. This is usually the case with
the link-entities, because you usually link two instances only once together (with
1 sale only 1 product type is sold 1 time).
If we put all link-entities, PK's and FK's into the ERD, we get the model as
shown below. Please note that the attribute 'products' is no longer necessary in
'Sales', because 'sold products' is now included in the link-table. In the link-table
another field was added, 'quantity', that indicates how many products were sold.
The quantity field was also added in the stock-table, to indicate how many
products are still in store.
Systems Analysis and Design: A Simplified Approach | 149
____________________________________________________________________
The standard data types that every database knows, and are most-used, are:
CHAR, VARCHAR, TEXT, FLOAT, DOUBLE, and INT.
Systems Analysis and Design: A Simplified Approach | 150
____________________________________________________________________
Text:
Numbers:
Other types:
Normalization
Normalization makes your data model flexible and reliable. It does generate
some overhead because you usually get more tables, but it enables you to do
many things with your data model without having to adjust it.
Normalization, the First Form: The first form of normalization states that there
may be no repeating groups of columns in an entity. We could have created an
entity 'sales' with attributes for each of the products that were bought. This would
look like this:
Systems Analysis and Design: A Simplified Approach | 152
____________________________________________________________________
What is wrong about this is that now only 3 products can be sold. If you would
have to sell 4 products, than you would have to start a second sale or adjust your
data model by adding 'product4' attributes. Both solutions are unwanted. In these
cases you should always create a new entity that you link to the old one via a
one-to-many relationship.
Normalization, the Second Form: The second form of normalization states that
all attributes of an entity should be fully dependent on the whole primary key.
This means that each attribute of an entity can only be identified through the
whole primary key. Suppose we had the date in the Sales_details entity:
This entity is not according the second normalization form, because in order to
be able to look up the date of a sale, I do not have to know what is sold
(productnr), the only thing I need to know is the sales number. This was solved
by splitting up the tables into the sales and the Sales_details table:
Now each attribute of the entities is dependent on the whole PK of the entity. The
date is dependent on the sales number, and the quantity is dependent on the sales
number and the sold product.
Normalization, the Third Form: The third form of normalization states that all
attributes need to be directly dependent on the primary key, and not on other
attributes. This seems to be what the second form of normalization states, but in
the second form is actually stated the opposite. In the second form of
normalization you point out attributes through the PK, in the third form of
normalization every attribute needs to be dependent on the PK, and nothing else.
In this case the price of a loose product is dependent on the ordering number, and
the ordering number is dependent on the product number and the sales number.
This is not according to the third form of normalization. Again, splitting up the
tables solves this.
Normalization, More Forms: There are more normalization forms than the
three forms mentioned above, but those are not of great interest for the average
user. These other forms are highly specialized for certain applications. If you
stick to the design rules and the normalization mentioned in this article, you will
create a design that works great for most applications.
Normalized Data Model: If you apply the normalization rules, you will find that
the 'manufacturer' in de product table should also be a separate table:
Systems Analysis and Design: A Simplified Approach | 155
____________________________________________________________________
Figure 8.21: Data model in accordance with 1st, 2nd and 3d normal form.
Process modeling
Views a system from an input-process-output perspective
DFD is the technique used to represent the hierarchical decomposition of
the real-world system under investigation.
DFD achieves top-down partitioning by decomposing the system first into
subsystems, then into processes performed within a subsystem.
Data modeling
Views a system from a reality-metadata-date modeling perspective. ERD
is used to capture the meaning of data from the users‘ point of view
(reality level)
Systems Analysis and Design: A Simplified Approach | 156
____________________________________________________________________
Finding:
Process modeling is easier to learn and apply than data modeling
8.12 Summary
CHAPTER NINE
9.0 Introduction
No program or system design is perfect. Communication between the user and
the designer is not always complete or clear and time is usually short. The result
is errors. The number and nature of errors in a new design depend on several
factors:
1. Communication between the user and the designer.
2. The programmer‘s ability to generate a code that reflects exactly the
system specifications.
These factors put an increasing burden on systems analysts to ensure the success
of the system developed. The quality of a system depends on its design,
development, testing and implementation.
Approaches to Reliability
There are two levels of reliability. The first is that the system is meeting the right
requirements. For instance, a system might be expected to have specific security
features or controls built into it by the users. But if the design fails to specify
them and permits the loss of funds or merchandise for a lengthy time before
someone detects the problem, the system is not reliable. Reliability at the design
level is possible only if the analyst performed a thorough and effective
determination of systems requirements. A careful and thorough systems study is
needed to satisfy this aspect of reliability.
The second level of systems reliability involves the actual workings of the
system delivered to the user. At this level, systems reliability is interwoven with
software engineering and development.
An error occurs whenever the system does not produce the expected output.
While it is true that no program is ever fully debugged or fully tested, nor proven
correct – a fact that startles many users and aspiring programmers – errors are not
limited to the correct use of programming syntax alone.
The computing industry, has come to distinguish between error and failures. A
failure is the occurrence of a software error, weighted by its seriousness. For
example, if an inventory program is developed to truncate rather than round half
– the amount when calculating the value of materials on handed, it is an error if
specifications call for rounding. But it may be of no consequence to the user,
who in fact does not consider this a failure. However, if the program regularly
skips certain items or indicates they are out of stock when in fact the records
show they are in stock, there is a serious failure.
Error Avoidance
There are three approaches to reliability namely, error avoidance, error detection
and error tolerance. Under error avoidance, developers and programmers make
every attempt to prevent errors from occurring at all. The emphasis on early and
careful identification of user requirements in another way this objective is
pursued.
Analysts must assume that it is impossible to fully achieve this objective. Errors
will occur despite the best efforts of very competent people.
Systems Analysis and Design: A Simplified Approach | 159
____________________________________________________________________
Error Tolerance
Error tolerance strategies keep the system running even in the presence of errors.
The United States National Aeronautics and Space Administration (NASA), for
example, designs its systems to be error – tolerant through the use of redundant
hardware. In one space program, redundant on – board computers and computer
voting are used to process data in parallel, so results can be compared. Two
computers process the data on location, course correction and compare the results
with those produced by two other computers processing the same data. A fifth
computer is available to break a tie should one occur. If needed, a sixth computer
stored away in an accessible storage compartment can quickly replace one of the
other computers that has been damaged or failed.
Another manner of error tolerance is the use of degraded processing. With this
strategy, the user receives less service than the system was designed to provide,
but that is considered a better alternative in some cases than having no service at
all. For example, many electric power generation and distribution facilities in
North America are computer – controlled. Suppose that on a record – breaking
hot day the system becomes overloaded and the computer control centre is
unable to correctly process allocation data and keep up with the power demands.
Rather than risk damaging the power distribution network, the computer
automatically shuts down part of the network. By providing degraded service, the
computer tolerates a software error without failing.
Systems Analysis and Design: A Simplified Approach | 160
____________________________________________________________________
Causes of Errors
The software aspects of systems design are different from concerns about
hardware reliability. In hardware, for example, any design errors are reproduced
in every copy of the item manufactured. However, application systems are often
unique and design errors are not widely distributed. Of course, if you are
working on a system that will be sold commercially, there is considerable
concern over development and marketing of software packages that is rampant
with design errors.
Manufacturing errors are introduced during the actual production process. They
are not a property of the design and, in fact, may not be in every item produced.
Manufacturing errors may exist only in items made during a specific time period,
either because of unknown problems with material quality or mistakes made by
people newly assigned to a step in the process. In software systems, the
equivalent of manufacturing errors is the small chance that, when disk or tape
copies of programs are made for distribution, errors will be introduced. This
problem seldom occurs, however, and should not be a major concern to the
analyst.
Hardware failures occur as equipment is used and begins to wear out. There is no
equivalent in software; that is, we do not find software unusable because it is
worn out. The medium on which it is carried (such as magnetic tape or disk) may
become worn or damaged, but the software will not. Therefore, the primary
software problem is designing and developing software that will not fail. It is
impossible to prove that there are no errors in a particular system. The causes of
errors that interest the analyst are:
(1) not obtaining the right requirements,
(2) not getting the requirements right, and
(3) not translating the requirements in a clear and understandable manner
so that programmers implement them properly.
The transition from systems design to software development is an additional
opportunity for introducing translation errors. These are the result of the
programmer‘s not properly understanding or interpreting the design
specifications produced by analysts. Conversely, they also occur when analysts
force programmers to translate specifications that are incomplete. In the latter
case, the programmer is forced to make design decision while coding the
software. When such misunderstanding exists and implementation occurs before
they are detected, the result is a need for maintenance.
Systems Analysis and Design: A Simplified Approach | 161
____________________________________________________________________
Maintenance Issues
Many private, university and government studies have been conducted to learn
about maintenance requirements for information systems. The studies have
generally concluded the following:
1. From 60 to 90 percent of the overall cost of software during the life of a
system is spent on maintenance.
2. Often maintenance is not done very efficiently. In documented cases, the cost
of maintenance, when measured on the basis of the cost of writing each
instruction in code form, is more than 50 times the cost of developing a system in
the first place.
3. Software demand is growing at a faster rate than supply. Many programmers
are spending more time on systems maintenance than on new development.
Studies have documented that in some sites, two – thirds of the programmes are
spending their time on the maintenance of software. There is a backlog of new
development work..
Several studies of maintenance have examined the type of tasks performed under
maintenance. The broad classes maintenance found in information systems
environments are corrective, adaptive and perfective. Once systems are installed,
the need for debugging and correcting errors or failures on an emergency basis is
comparatively low: less than 20 percent of the tasks are for correction.
Information systems and the organizations they serve are in a constant state flux.
Therefore, the maintenance of systems also involves adaptations of earlier
versions of the software. Approximately 20 percent of all maintenance is
performed to accommodate changes in reports, files and data. This also includes
adaptations required when new hardware or software is installed in a particular
processing center.
Systems Analysis and Design: A Simplified Approach | 162
____________________________________________________________________
Maintainable Designs
The keys to reducing the need for maintenance, while making it possible to do
essential tasks more efficiently, are these:
Coupling
Modules should have little dependence on other modules in a system.
Cohesion
Modules should carry out a single processing function.
Span of Control
Modules should interact with and manage the functions of a limited number of
lower-level modules.
Size
The number of instructions (called line of code – LOC) contained in a module
should be limited to that module size is generally small.
Shared Use
Functions should not be duplicated in separate modules, but established in a
single module that can be invoked by any other module when needed.
9.4 Coupling
Coupling refers to the strength of the relationship between modules in a system.
In general, good designers seek to develop the structure of a system so that one
module has little dependence on any other module. Loose coupling minimizes
the interdependence between modules. We can achieve this in the following
ways.
Consider the manner in which data are passed in an accounting system. In editing
a vendor record (for the accounts payable portion), two alternative designs for
editing a vendor record (for the accounts payable portion) are available. In the
first, typified by tight coupling, which is undesirable, the calling module passes
the vendor name, vendor identification number, address, tax status and date. The
called module returns the customer record, along with an end – of – file flag.
Systems Analysis and Design: A Simplified Approach | 164
____________________________________________________________________
Compare this with the preferred loosely coupled version in which only the
vendor ID is passed to retrieve the same record of information. Not only does
this design move less data (only non-superfluous data), but also there is far less
dependence between modules. Only the vendor identification is needed to
distinguish one vendor‘s record from another. Since it is likely to be the record
key, it is also unlikely to change. Other items in the record may change. Hence,
the loosely coupled alternative is better suited to achieving the stated design and
maintenance objectives.
Several poor design features should be avoided. Passing too little data can make
it impossible to perform the task. For example, if the calling module does not
pass the vendor ID, how does the subordinate module know which record to
locate?
Systems Analysis and Design: A Simplified Approach | 165
____________________________________________________________________
Designs that create floating data should also be avoided. This occurs when one
module produces data that are not needed by the calling module but by another
elsewhere in the system. The details are passed through the system (hence the
term ―floating‖), until they finally reach the function that requires them.
Redesigning, to establish loose coupling, along with the creation of more
cohesive modules, will avoid this difficulty.
Process:
A rectangular box, the process symbol, represents Simple processes or steps in a
program. This symbol represents initialization of values, input and output
activities, and calls to execute other procedures.
A name of brief description written in the box states the purpose of the process.
The succession of steps is shown using several process boxes.
Decision
The decision symbol represents alternative conditions that can occur and that the
program must have a manner of handling. They show the equivalent of the IF-
THEN-ELSE structures common in many programming languages. As examples
will show, the decision symbol may show actions for more than two alternatives
at the same time.
Iteration
The iteration symbol represents looping and repetition of operations while a
certain condition exists or until a condition exists. The form of the iteration
symbol clearly shows the scope of the iteration, including all processes and
decisions that are contained within the loop. The left – hand portion of the
symbol shows the path of repetition to follow until the conditions controlling the
iteration are satisfied.
Systems Analysis and Design: A Simplified Approach | 167
____________________________________________________________________
9.5.2 HIPO
HIPO is another commonly used method for developing systems software. IBM
developed this method of Hierarchical Input Process Output (HIPO), for large,
complex operating systems.
Purpose of HIPO
The assumption on which HIPO is based is that is easy to lose track of the
intended function of a system or component in a large system. This is one reason
why it is difficult to compare existing systems against their original
specifications (and therefore why failures can occur even in systems that are
technically well formulated). From the user‘s view, single functions can often
extend across several modules. The concern of the analyst then is understanding,
describing, and documenting the modules and their interaction in a way that
provides sufficient detail but that does not lose sight of the larger picture. HIPO
diagrams are graphic, rather than prose or narrative, descriptions of the system.
They assist the analyst in answering three guiding questions:
1. What does the system or module do? (Asked when designing the system).
2. How does it do it? (Asked when reviewing the code for testing or
maintenance).
3. What are the inputs and outputs? (Asked when reviewing the code for
testing or maintenance.)
A HIPO description for a system consists of the visual table of contents and the
functional diagrams.
Functional Diagrams
There is one diagram for each box in the VTOC. Each diagram shows input and
output (right to left or top to bottom), major processes, movement of data, and
Systems Analysis and Design: A Simplified Approach | 168
____________________________________________________________________
A solid arrow shows control paths, and open arrow identifies data flow. Some
functional diagrams contain other intermediate diagrams. But they also show
external data, as well as internally developed data (such as tables in the invoice
example) and the step in the procedure where the data are used. A data dictionary
description can be attached to further explain the data elements used in a process.
HIPO diagrams are effective for documenting a system.
Figure 9.5 – The structured chart for the Cap and gown ordering system example
Systems Analysis and Design: A Simplified Approach | 171
____________________________________________________________________
9.5.5 Pseudo-code
It shows processing logic specification in each module of a program.
Pseudocode provides the programmers with a text description of the contents of
each module.
MODULE: Get_Student()
SET EOF = no, VALID = 0, TYPE="student"
READ student_ID
IF student_ID = null
THEN EOF = yes
ELSE Verify_Data(TYPE)
ENDIF
RETURN student_ID, EOF, VALID
MODULE: Get_Order()
SET TYPE = "order"
READ cap_size, gown_size
Verify_Data(TYPE)
RETURN cap_size, gown_size, VALID
Systems Analysis and Design: A Simplified Approach | 172
____________________________________________________________________
MODULE: Process_Invalid_Order(valid)
IF VALID = 1
error = "Student not found"
ELSE IF VALID = 2
error = "Student is not graduating in spring"
ELSE IF VALID = 3
error = "Cap size out of stock"
ELSE IF VALID = 4
error = "Gown size out of stock"
ENDIF
ENDIF
ENDIF
ENDIF
DISPLAY error
Levels of Assurance
Analysts use four levels of quality assurance: testing, verification, validation, and
certification.
Testing
System testing is an expensive but critical process that can take as much as 50
percent of the budget for program development. The common view of testing
held by users is that it is performed to prove that there are no errors in a program.
However, this is virtually impossible, since analysts cannot prove that software is
free and clear of errors. Therefore, the most useful and practical approach is with
the understanding that testing is the process of executing a program with explicit
intention of finding errors that is, making the program fail. The tester, who may
be an analyst, programmer, or specialist trained in software testing, is actually
trying to make the program fail. A successful test, then, is one that finds an error.
Analysts know that an effective testing program does not guarantee systems
reliability. Reliability is a design issue. Therefore, reliability must be designed
into the system. Developers cannot test for it.
Certification
Unit/Program test
System test
Program test: When the programs have been coded, compiled and brought to
working conditions, they must be individually tested with the prepared test data.
Any undesirable happening must be noted and debugged (error corrections)
System Test: After carrying out the program/unit test for each of the programs
of the system and errors removed, then system test is done. At this stage the test
is done on actual data. The complete system is executed on the actual data. At
each stage of the execution, the results or output of the system is analyzed.
Systems Analysis and Design: A Simplified Approach | 176
____________________________________________________________________
During the result analysis, it may be found that the outputs are not matching the
expected output of the system. In such case, the errors in the particular programs
are identified and are fixed and further tested for the expected output.
When it is ensured that the system is running error-free, the users are called with
their own actual data so that the system could be shown running as per their
requirements.
Test plans are very detailed, and contain many tests. Each test is specified very
precisely. A typical test would contain:
Details of what is being tested
The test data to use
What is expected to happen when the test is performed
Systems Analysis and Design: A Simplified Approach | 177
____________________________________________________________________
When choosing what data to use to test a system, you need to think about why
we are testing the system: to see if it works and to check it doesn't break. It is
necessary to develop a proper testing strategy to ensure all possible scenarios are
covered and that all error trapping techniques are fully tested; for example if
inputting data to represent somebody‘s age, the test plan may include: 0, 5, -2,
fred, 3.5, 215, 85 etc. to see whether each piece of data is correctly dealt with;
test data often falls into 3 types:
E.g. In a system that was designed to accept and process test marks
(percentages), then normal test values would include:
10
25
63
89
E.g. In a system that was designed to accept and process test marks
(percentages), then extreme test values would be:
Systems Analysis and Design: A Simplified Approach | 178
____________________________________________________________________
In systems that deal with text, the extreme values are defined by how long the
text can be. The limits would be:
E.g. In a system that was designed to accept and process test marks
(percentages), then abnormal test values would include:
-1
101
200
-55
There are two major phases of system testing. These two phases of testing are
often referred to as Alpha Testing (testing by the designers/engineers) and Beta
Testing (testing by real users, with real data).
The first phase of testing is done by the designers and engineers who created the
system, usually before the system is delivered to the customer.
Systems Analysis and Design: A Simplified Approach | 179
____________________________________________________________________
The test data that is used in this first phase is similar to data that would be used
by the actual customer.
The second phase of testing is done after the system has been delivered and
installed with the customer.
The data used in the second phase is usually 'live' data - data that is actually part
of the customer's business /organization.
The whole point of testing is to try and find areas that don't work as they
should, or areas that can be improved.
If any failures are found, the systems analyst goes back and does some further
research, analysis and design to fix these areas.
1. Data record may be combined into small groups to control totals. If in batch
processing, error is encountered, the batch may be held and reviewed to
correct the error.
2. Completeness check ensures that all fields in a record are present and are read
in the proper sequence. In a multiple record check, the program verifies the
self-checking number of the records that make up the transaction. If an error
is detected, the entire group of records is rejected.
3. Consistency check refers to the relevance of one type of data to another. Data
being accepted through various means need to be checked for its uniformity.
All critical paths need to be checked for its proper path selection.
4. Reasonableness check evaluates a transaction against a standard or maximum
/ minimum value to determine its validity. For example an employee may not
have age less than 21 and not more than 60 years.
5. Sequence check verifies that data records are in sequence prior to processing.
Duplicate records need to be checked.
It is a feature of data processing systems that allows for the study of data as
processed from step to step, an auditor may then trace all transactions that affect
an account. In a manual system, the audit trail includes journals, ledgers and
other documents used by auditor to trace transactions. In a computerized system,
record content and format frequently make it difficult to trace a transaction
completely. Some reasons are the following:
1. Files stored on the tape or disk can be read only by a computer, which
limits the auditing function. A data dump is possible, though, to compare
the data against a data map.
2. Direct data entry eliminates the physical documentation for an audit
program.
3. Data processing activities are difficult to observe, since they take place
within the computer system.
For the audit trail to show its impact a detailed file of the transactions need to be
maintained. During evaluation of a system following steps should be considered.
Systems Analysis and Design: A Simplified Approach | 181
____________________________________________________________________
1. Define the control objectives as separate design and test requirements. Input
preparation and transmission by the user are important control areas that are
viewed with an emphasis on audit trails and adequate documentation during
testing.
2. Examine budget costs to see whether system testing is within the limits.
3. Review specifications. The auditor should evaluate program acceptance test
specifications and assist the programmer in developing test standards, levels
of testing and actual test conditions.
9.11 Summary
The number and nature of errors in a new design depend on several
factors. The two operational design objectives continually sought by
developers are systems reliability and maintainability.
There are three approaches to reliability namely, error avoidance, error
detection and error tolerance.
Software design should be guided by modularity and partitioning ,
coupling, cohesion, span of control , size and shared use.
Well – designed, modular software is more likely to meet the
maintenance, reliability, and testing requirements.
Quality assurance is the review of software products and related
documentation for completeness, correctness, reliability, and
maintainability.
The philosophy behind testing is to find errors. The analyst must perform
both unit and integration testing.
A well-designed system should have controls to ensure proper operation
and routine auditing.
CHAPTER TEN
10.0 Introduction
After having the user acceptance of the new system developed, the
implementation phase begins. Implementation is the stage of a project during
which theory is turned into practice. The major steps involved in this phase are:
The hardware and the relevant software required for running the system must be
made fully operational before implementation. The conversion is also one of the
most critical and expensive activities in the system development life cycle. The
data from the old system needs to be converted to operate in the new format of
the new system. The database needs to be setup with security and recovery
procedures fully defined.
During this phase, all the programs of the system are loaded onto the user‘s
computer. After loading the system, training of the user starts.
10.1 Documentation
The documentation of the system is also one of the most important activities in
the system development life cycle. This ensures the continuity of the system.
There are generally two types of documentation prepared for any system. These
are:
Systems Analysis and Design: A Simplified Approach | 183
____________________________________________________________________
User Documentation
The user documentation is a complete description of the system from the end-
users‘ point of view detailing how to use or operate the system. The users are
usually non-technical people, who don't need to know how the system works.
They just need to know how to use it. It also includes the major error messages
likely to be encountered by the users and their meanings. In summary, the user
documentation usually consists of:
existing system to satisfy new user needs. In summary, the system or technical
documentation consists of:
Program listing/coding
Programming language(s) used
Diagrams showing how data moves through the system
Flowchart/Pseudocode/algorithm
Purpose of the system/program/software
Input formats and expected inputs
Details of Hardware/Software requirements
Minimum memory requirements
Known ―bugs‖ in the system
List of variables used (and their meaning/description)
File structures
Sample runs (with results and actual test data used)
Output formats
Validation rules/checks
Details of data structures (data types, field names, etc.)
Details of how data is processed
10.2 Installation
Install the hardware and, if necessary, the new software
Fully test the new system once installed
10.3 Training
Even well designed and technically elegant systems can succeed or fail because
of the way they are operated and used. Therefore, the quality of training received
by the personnel involved with the system in various capacities helps or hinders,
and may even prevent, the successful implementation of an information system.
Those whose will be associated with or affected by the system must know in
detail what their roles will be, how they can use the system, and what the system
will or will not do. Both systems operators and users need training (User
Training).
The training of operators and users can be achieved in several different ways.
Training activities may take place at vendor locations; at rented facilities, for
example, in hotels or on university campuses (Vendor and In-Service Training);
or in-house at the employee‘s organizations (in-house training). The methods and
Systems Analysis and Design: A Simplified Approach | 185
____________________________________________________________________
content of the training often vary, depending on the source and location of the
training.
10.4 Conversion
After the users are trained about the computerized system, working has to shift
from manual or old system to computerized working or new one. The process is
called conversion or ‗Changeover‘.
(ii) Parallel run: In parallel, we run both systems (old and new systems) side-
by-side for a period of time, i.e., computerized and manual, are executed
simultaneously for certain defined period. The same data is processed by both the
systems. All of the data that is input into the old system is also input into the new
one.
Eventually, the old system will be stopped, but only when the new system has
been proven to work.
If anything goes wrong with the new system, the old system will act as a
back-up.
The outputs from the old and new systems can be compared to check
that the new system is running correctly
It gives you time to gradually train staff/time to get used to the new
system
Systems Analysis and Design: A Simplified Approach | 187
____________________________________________________________________
(iii) Pilot run: with this technique, the new system is introduced into one part of
the company (e.g. in just one office, or in just one department) and its
performance assessed. The new system is first of all piloted (trialed) in one part
of the business / organisation. It is then run with the data from one or more of the
previous periods for the whole or part of the system. The results are compared
with the old system results. Once the pilot system is running successfully, the
new system is introduced to the all of the business / organization.
For the office / department doing the pilot, there is no back-up system if
things go wrong
Systems Analysis and Design: A Simplified Approach | 188
____________________________________________________________________
A 'pilot' is someone who guides others - someone who leads the way.
On an airplane, the pilot guides all of the passengers safely to their destination.
In a port, the pilot is a person on a small boat who guides large ships safely into
the harbour.
(iv) Phased run. The new system is introduced in phases (stages, or steps),
gradually replacing parts of the old system until eventually, the new system has
taken over. That is only part of the new system is introduced and only when it
proves to work satisfactorily is the next part introduced, and so on, until the old
system is fully replaced
If a part of the new system fails, there is no back-up system, so data can
be lost. However, failure isn‘t disastrous, compared to direct changeover,
because if the latest part fails, only need to go back in the system to the
point of failure.
More expensive than direct since it is necessary to evaluate each phase
before moving to the next stage
The following table summarizes the risks involved in all four methods:
Systems Analysis and Design: A Simplified Approach | 189
____________________________________________________________________
The conversion plan should anticipate possible problems and ways to deal with
them. Among the most frequently occurring problems are missing documents,
mixed data formats between current and new files, errors in data translation,
missing data or lost files, and situations that were overlooked during systems
development. The conversion manager must guard against the omission of steps
in the conversion. A checklist will prevent missed steps. Personnel absences
must also be expected and adequate fallback plans specified.
Systems Analysis and Design: A Simplified Approach | 190
____________________________________________________________________
10.5 Summary
CHAPTER ELEVEN
11.0 Introduction
Once the new system has been implemented and is in full use, the system should
be evaluated (this means that we take a long, critical look at it) and maintained.
The systems analyst will use this document to check the new system. Going
through the requirements one-by-one the analyst will check if they have been
met.
Check the Users' Responses
It is essential to get feedback from the users of the system...
Do they like it?
Does it make their work easier?
What, if anything, could be improved?
The systems analyst can get this feedback in the same way they collected
information about the original system:
Questionnaires
Interviews
Observations
The fact that the process of Systems Analysis is often repeated over and over
(constantly building upon and improving systems) means that it is often referred
to as a cyclic (repeating) process.
The results obtained from the evaluation process help the organization to
determine whether its information systems are effective and efficient or
otherwise. The process of monitoring, evaluating, and modifying of existing
information systems to make required or desirable improvements may be termed
as System Maintenance.
11.2.1 Definitions
Software maintenance is a very broad activity often defined as including all
works made on a system after it becomes operational. This covers the correction
of errors, the enhancement, deletion and addition of capabilities, the adaptation to
changes in data requirements and operation environments, the improvement of
performance, usability, or any other quality attribute. It is defined as follows:
This definition reflects the common view that software maintenance is a post-
delivery activity: it starts when a system is released to the customer or user and
encompasses all activities that keep the system operational and meet the user‘s
needs.
It refers to changes that originate from user requests; examples include inserting,
deleting, extending, and modifying functions, rewriting documentation,
improving performances, or improving ease of use.
Outside changes are primarily environmental changes, which may in the absence
of system maintenance, render the information system ineffective and inefficient.
These environmental changes include:
11.3 Summary
Once the new system has been implemented and is in full use, the system
will be evaluated and maintained.
Systems Analysis and Design: A Simplified Approach | 195
____________________________________________________________________
All practice exercises (1-12) refer to the following scenario: Assume you have
graduated! In addition to a full-time job in information systems, you have started
a part-time business as an independent computer consultant working out of your
home office. You need a system to keep track of the time you spend working on
various projects for various clients, and of the hardware, software, supplies, and
other materials you purchase for a client during a given project. Currently, you
are keeping these records on scraps of paper which are scattered all over your
desk (and which are mostly inaccurate). You know you are either cheating
yourself or your clients (you suspect the former). Something has to change!
Systems Analysis and Design: A Simplified Approach | 196
____________________________________________________________________
(1) Design an initial request form that might be used by anyone from within or
without an organization to convey the existence of a problem or opportunity to
the systems analysis group. The form should be general and should request the
information needed to start work on any problem/opportunity.
Now use the form you designed to describe a real-world problem based on the
scenario given above. DO NOT DESIGN YOUR FORM AROUND THE
PROBLEM. Design a general-purpose form then USE it for your chosen
problem.
(1) A definition of whether or not there is a problem, and if so, what you think
the problem really is
(3) An estimate of the resources (time, money, personnel, materials etc.) required
to conduct a detailed investigation of this problem
(4) Draw a data flow diagram graphically depicting the consulting records
system. You must level the highest DFD at least twice, producing a total of three
sets of DFD‘s representing three different levels.
Systems Analysis and Design: A Simplified Approach | 197
____________________________________________________________________
(5) Draw a data structure diagram with at least three record/file structures which
might be used in the consulting records system. Draw directed arrows to show
possible data access relationships between these record/file structures.
(6) Write structured English specifying procedures used in the consulting records
system. Remember that structured English should focus on what must be done
(not how to do it), and that it should use only vocabulary accessible to typical
users of the system (in this case, the consultant and the clients).
(7) Develop a decision table showing decision procedures used in the consulting
records system.
(8) Develop a decision tree showing the decision procedures you used in Practice
Exercise (7).
(9) Develop some sample Data Dictionary entries for the consulting records
system.
(10) Draw a structure chart documenting the processes in the consulting records
system.
(11) Draw a structured flowchart for one of the processes in your structure chart
from Practice Exercise (10).
CD/DVD. The shop assistant locates the files for the item the customer has
requested and,
(i) checks if it is stock
(ii) checks the price of the CD/DVD
(iii) finds where the CD/DVD is in the shop
If the customer has already found the CD/DVD in the shop s/he takes it to the
desk and the shop assistant finds the item file to check for its price. The customer
pays for the CD/DVD and the following then happens:
- shop assistant fills out a sales receipt and puts it into a file
- at the end of the day, all the sales are recorded and the number of each
item in stock is updated
- if the number of items are low a request for new stock is filled out
- the value of the day‘s sales are recorded in an accounts book.
The new system
The system is to be computerised. The following will be created:
(i) all CD and DVD data will be stored on a database
(ii) all items for sale will have a bar code on them
(iii) a sales file will be set up
(iv) a database will be created showing supplier and customer details
A customer goes into the shop and finds a CD/DVD s/he wants to buy. The shop
assistant scans the bar code on the item and the CD/DVD details have been found
including its price. The stock files are updated (i.e. 1 is reduced from the number
in stock) and the takings file updated. The stock levels for that item are checked
and an automatic order is sent out after accessing the supplier database.
If the customer has requested the assistant to find a particular CD/DVD the
assistant keys in the name/artist and finds out if the item is in stock, where it can
be found and it‘s price (the next stage is the same as above). If the item isn‘t in
stock, the assistant takes the customer details and updates the database and adds a
request for the item to be ordered and this is added to the customer‘s file.
(a) Draw the systems flow charts to show how the above system will work.
(b) Perform analysis and design of the new system using the concepts in Exercise
A above (practice exercises 1-12).
(b) Discuss the advantages of the new computerized system when compared to
the manual paper-based system.
(c) Why would the new system reduce the shop‘s costs?
(d) Implement your design.
Systems Analysis and Design: A Simplified Approach | 199
____________________________________________________________________
Various book sellers, libraries, institutions, etc., order books. If the required
number of copies is available the publisher sends the books and updates his stock
level. If they are not available, he may send a partial consignment provided it is
acceptable to the customer. Payments may be either cash/credit, subject to
suitable credit limits. The publisher may decide to reprint a popular book if he
holds the copyright. Otherwise he approaches the author for consent. The author
may also revise it and the publisher brings out a new edition.
Assume that the publisher has published roughly 10,000 books of various titles in
various subjects and that roughly 100 new books are published every year and
that 100 new editions are also brought each year. Assume that 200 reprints of
various books are also published. The minimum number of copies published is
1000. On an average about 5000 copies of each book is published.
Your system should provide the following information:
A list of various customers, libraries, etc., placing orders has to be
maintained, with relevant details.
For each customer the list of books ordered with details such as cost,
address of customer, date of order, date of delivery, quantity. delivered,
etc.
Details of reprints, new editions of books.
Details of current stock, books and their quantity in publication etc.
Books published by an author.
List of books in a given subject
The books that get sold out fast, the authors who are popular, etc.
The publisher would also like to send a list of new books published every
year to various customers/libraries, etc., with relevant details such as title
and author.
Systems Analysis and Design: A Simplified Approach | 200
____________________________________________________________________
Bibliography
Dennis, A., Wixom. B.H. & ROTH, R.M. (2012). Systems Analysis and Design. 5th
Edition. Hoboken, NJ: John Wiley & Sons, Inc.
Dennis, A, Wixom, B.H & Tegarden, D.P. (2002). Systems Analysis and Design:
An Object-Oriented Approach with UM . Boston: Pearson.
Martin, J., and McClure, C (2009). Diagramming Techniques for Analysis and
Programming. Englewood Cliffs: Prentice Hall.
Rowley, J.E. (1990). The Basics of Systems Analysis and Design for Information
Managers. Wokingham: Addison-Wesley.
Satzinger, J.W., Jackson,R.B. & Burd, S.D. (2008). Systems Analysis and
Design in a Changing World. 2nd Edition. Boston: Pearson.
Valacich, J., George J. & Hoffer, J.A. (2011). Essentials of Systems Analysis and
Design. 5th Edition. Boston: Pearson.
Yeates, D. & Wakefield, T. (2003). Systems Analysis and Design. 2nd Edition.
New Jersey: Prentice Hall
Systems Analysis and Design: A Simplified Approach | 202
____________________________________________________________________
Web Resources
[Link]
[Link]/view/tutorial/Systems-Analysis/31659
[Link]
[Link]
[Link]
[Link]
[Link]/
[Link]/sdlc/documents/sys_design_doc.doc
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]/~lxn/CMPSC_174/systems_analysis_exercises.htm
[Link]
[Link]
[Link]
[Link]
[Link]
Systems Analysis and Design: A Simplified Approach | 203
____________________________________________________________________
Index
Case tools · 74 E
Closed loop systems · 7
Closed systems · 11, 12 Economic feasibility · 53, 55
Coding · 34, 43, 142 Educational system · 2
Computer system · 1, 3, 4, 6, 7, 41, Entity · 2, 67, 141
85, 87, 99, 153 Environment · 9
Computer-based information
systems · 16 F
Control · 5, 6, 8
Conversion · 45, 149 Feasibility study · 34, 37, 48, 50, 51,
Cost-benefit analysis · 55 52
Custom-written · 83 Feedback · 8
Field · 124
File and database design · 89, 112
D
File design · 115
Data capture · 97, 99 Fingerprint reader · 101
Data dictionary · 42, 74, 87, 126, Flowchart · 42, 87, 152, 166
139 Form · 94
Data entry · 97 Formal information systems · 11, 16
Systems Analysis and Design: A Simplified Approach | 204
____________________________________________________________________
H O
R T
Record · 27, 28, 67, 97, 113, 119, Table · 75, 94, 114, 122, 123, 124,
121, 122, 124, 131, 132, 136 158
Record reviews · 72 Technical feasibility · 39
Return on investment · 38 Telephone system · 1
Revolutions per minute · 14 TELOS · 53
Testing · 34, 43, 142, 147
S Transportation system · 1
Scheduling feasibility · 53 U
Screen design · 96
Semi-closed systems · 13 User training · 45, 149, 153
Stochastic systems · 15, 18 Users of system · 23
Structured english · 42, 74, 87
Symbols · 94
System analysis · 7, 20, 30, 47, 82,
162
System analyst · 20, 21, 22, 23, 28,
29, 30, 37, 81, 92, 162
System design · 41, 85, 86, 90, 165
System flowcharts · 89
System proposal · 36
System requirements specification ·
81
System specification · 90
System test · 44, 143
Systema · 1
Systems · 1, 9, 11, 12, 18, 20, 21,
41, 47, 86, 90, 92, 120, 158, 161,
162, 164, 165
Systems analysis · 19, 20, 21, 29, 40
Systems development life cycle · 30,
35
Systems Analysis and Design: A Simplified Approach | 206
____________________________________________________________________