0% found this document useful (0 votes)
16 views90 pages

Sad Notes Final Notes

The document provides an overview of System Analysis and Design, defining a system as an organized group of interdependent components aimed at achieving specific objectives. It discusses system characteristics, components such as input, output, processor, and control, as well as the roles and qualities of a system analyst. Additionally, it classifies systems into various types, including hard vs. soft and open vs. closed systems, highlighting their interactions with the environment.

Uploaded by

hopehoppie8
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views90 pages

Sad Notes Final Notes

The document provides an overview of System Analysis and Design, defining a system as an organized group of interdependent components aimed at achieving specific objectives. It discusses system characteristics, components such as input, output, processor, and control, as well as the roles and qualities of a system analyst. Additionally, it classifies systems into various types, including hard vs. soft and open vs. closed systems, highlighting their interactions with the environment.

Uploaded by

hopehoppie8
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd

SYSTEM ANALYSIS & DESIGN

System Analysis and Design

2011

Compiled by Joan karani 1


System Analysis and Design
SYSTEM ANALYSIS AND DESIGN
System
An orderly grouping of interdependent components linked together according to a plan to achieve a
specific objective.
We can further describe a system as a set of items, equipments, and people working jointly with an
aim of achieving a common goal.
Other definitions of a system
a) A group of things or parts working together in a regular relation i.e. transport systems, digestive
systems, respiratory systems
b) An orderly set of ideas, theories, principles i.e. Archimedes principle, Judicial system,
Constitution etc
c) An organized or complex unit i.e. Music systems, [Link], computers etc

~ An analysis of many such definitions above reveals the following characteristics of systems
Characteristics of systems
i. A system is defined to fulfill a predetermined objective
ii. A system comprises of multiple components e.g. input, processor, output e.t.c
iii. This different components are interdependent and interlinked i.e. information must be flowing
from one component to another
iv. The different components of a system form a sub-system
v. A good system must have some control and this control helps it not to operate beyond its
boundaries
vi. A system must give priority to the objectives of the organization as a whole as compared to the
objectives of a sub-system

SYSTEM THEORY
~ This is a body of knowledge that allows study of systems in order to explain and in some
circumstances predict the behaviour of complex systems.
~ It looks at a system as an entity that is composed of many interactive components called
subsystems, which are interdependent and operate jointly in an effort to achieve a common
objective. The subsystems are separated from one another by boundaries.
Components of a system
~ A system is made up of different components and this components are inter-linked and work
together with an objective to achieve. We may identify components as follows:
a) Input
An operational system takes in some form of input from the environment. The nature of input is
influenced by the nature of the system. The input is described as a data collection, data capture or just
data entry point.
b) Output
Output is the component that receives information that has been processed by the system. The major
objective of a system is to produce output that is of value to its users. The output measures the system
efficiency and usefulness.
c) Processor
Is the element of a system that is involved in the actual transformation of the input data into
information that is given out by output. This processor is the operational element of a system.
d) Storage
Component that stores data that is not currently being used. In addition it supports the other
components by storing the processed information that is not required by the output.

Compiled by Joan karani 2


STORE
System Analysis and Design
e) System control
Is in charge of co-ordinating the different components that make up the system. It is a decision
INPUT PROCESSOR OUTPUT
making unit that governs the input, output and the actual processing.

CONTROL

The system control in a system is done in two ways i.e feedback (A feedback is a check within a
system to see whether predetermined goals are being met. The checks are conducted on a system to
determine deviation. When a deviation is detected it is reported to the appropriate component
and a corrective measure is taken

All systems require feedback usually compare the current behaviour with predetermined
goals , and gives back the information describing the gap between actual and intended
performance .Feedback may be positive or negative.).
i. Positive feedback
Is an attempt to increase a detected deviation. It helps the system to adjust but acting in the
same direction in which the deviation has occurred i.e. if a business organization is making a
profit in a day, it can increase the amount of stock, advertisements or open more branches and
this is a positive feedback that would sustain the system for longer years.
ii. Negative feedback
Works on the principle of trying to reduce the fluctuation around a set standard. This enables
the business if it is making loses, the management will take a negative direction so as to stop
or prevent this fluctuation e.g. they would stop selling on credit, would recover all the money
that is outside, would also retrench people, would cut on expenses etc.
Note: in addition to the above feedbacks, there is a special type of feedback known as feed-forward.
It refers to making adjustments on the system in advance to face expected deviations. While feedback
monitors the post results to detect and correct the disturbance to the plan

Feed forward reacts to further coming changes by making adjustment to the system in
advance in order to alleviate foreseen problem in good time.
Information used here are changes in environment i.e. anticipated inflation in a country

Importance of feedback in a system


~ Find out any deviation. Occurrence of any deviation (positive or negative leads to taking
appropriate steps
~ Helps increase efficiency of the system
~ Monitors past results of the system
~ To know the future outcomes and enable deal with them

Compiled by Joan karani 3


Controller
System Analysis and Design
f) Interdependence Standards
For a systemEffector
to be effective and efficient, its components or subsystems must be coordinated and
linked together. Thus no subsequent can function in isolation because it is dependent on the data
(input) .It receives from other systems performed required tasks.
g) Environmental Comparator
Consists of all external elements and features which have significant effects on nature and working of
the system. The environment is the system within which in organization operates, i.e. Environment
provides a reason for the existence of the system. It is the source of external elements that affect
the system. in fact it often determines how a system must function .
h) System Boundaries and interface
Input Boundary is the dividing line between systems
Processing or systems and the environment.
Measurements Output Interface is a link
between systems or subsystems and the environment.
System boundaries are the external element whose changes in attitudes behavior and property
affect their state and are affected respectively . Boundaries may also refer to the limit of a
system.

System analysis Terms and concepts


Sensoring
This is measuring and recording done by a system device called a sensor
Comparator
This is the way the comparison of the actual result and the plan is achieved .Modern systems
the comparison is done by computer programs
Effecter
Actions to be taken are affected after the study of comparison has been done by the time
comparator.
Activator
This is a decision element that evaluates in the light of feedback , alternative course of action
design to eliminate the deviant behaviour of the operating system
Sub-optimization
This is a situation where the objectives of a subsystem conflict with the objectives of the
main system or a situation where the sub-system achieve their objectives of the higher
system.
Compiled by Joan karani 4
System Analysis and Design
Synergy
It is where two systems operate as one and produce more results that each would achieve
independently.
Symbiosis
It is where two systems operate as one , and if one ceases to exist , the other cannot
function . It is thus based on take and give relation.
Redundancy
It is where there is application between sub-systems such that if and specific sub-subsystem
ceased to exist , the whole system would continue
Factoring
Is the process of splitting disintegrating a system into sub systems/ units as a mean of
focusing on specific subsystem requirements
Decoupling
This is a process which in the subsystems are given autonomy and independence ie the sub
system operate independently thereby pursuing own objectives and enhancing flexibility

Importance of System Theory


i. Recognizes that conflicts can arise within a system which may cause the system not to achieve its
goals
ii. Allows an individual to recognize that he or she is a sub-system within a larger system
iii. Stresses that sub-systems should work together harmoniously for a system to achieve its goals
iv. Allows systems to be studied

S\\YSTEM ANALYSIS AND DESIGN


~ Refers to the investigation of a system and subsequent design of a replacement system.
~ System analysis is the investigation into a system operation so as to identify the short comings on
this system with the aim of solving them. It is necessary to set up the right procedures, acquire the
proper equipments and write solutions inform of programs/systems that can solve the
shortcomings in those equipments. It is also the process of collecting and analyzing facts in
respect of existing system so that an effective system may be designed and implemented if proved
feasible. System analysis is necessary so that can be kept in a good working condition.
~ System Design refers to the process of designing a new better system after a thorough system
analysis solving the problems that were identified.
~ System Analyst is the person who investigates computer systems to identify a problem with an
aim of solving it. He is an expert in computer analysis and design. The system analyst uses
understanding of existing system and its problems and eventually build a better system.
Role of a system analyst
1. As an advisor
~ He is an advisor to the management about computer systems. Such decisions are based on how
suitable the systems would be, their nature, their function and their usefulness etc.
~ He advices the management and computer users of what can be done and what cannot be done.
2. As an educator
~ The system analyst deals with users who have little knowledge or none on computers and
therefore he has the responsibility of educating the staff/users on how to use their computer
systems. He is able to support other members of the organization to enable them to understand the
computer technology.
3. As a salesman
~ A system analyst sells ideas that are new into the computer technology. He decides the best types
of system that would be suitable to the organization.

Compiled by Joan karani 5


System Analysis and Design
~ He convinces users that a new system will be an improvement and not a hindrance to job
satisfaction and performance.
4. As a catalyst
~ He provides opportunity for users to examine carefully their job functions. He speeds up
operations by use of computer systems. He enables the organization to save on time, resources
etc.
5. As a communicator
~ A good system analyst needs to put across his ideas and skills. For that to be possible, he should
be able to communicate orally and in writing to enable people appreciate his ideas.
6. As an agent of change
~ A system analyst is seen as a person who brings change to the organization. He enables people to
turn away from manual systems and switched over to computerized systems which are faster,
efficient and more satisfying. He enables them to overcome the change and stop fearing loss of
jobs etc.
7. As an architect
~ New requirement or law or planning or even new management may be planned by architect
8. As a consultant
~ If the present is not functioning , as required , the system analyst may be called upon to
correct malfunction

Duties of a system analyst


1. He is in charge of the whole system development. System development is steps followed while
coming up a new system.
2. He carries out a feasibility study on whether it is possible to use a computer system to solve the
problems in the organization.
3. Assesses the resources required for development, installation and maintenance of the system.
4. He prepares reports on proposals that are necessary for the new system and present them before
the management
5. Checks operations of computed systems and compare actual result against the expected benefit
6. He coordinates the operations of the new system
7. Trains new users on the system and reviews the performance of the users.
8. He lays down standards and techniques to be observed while using the system e.g user guide
system administration guide
9. Organizing and managing the theme that is involved in system development, maintenance and
review e.g programmers, system designers, systems administrators and technician.
Note: if you ask the average system analyst to describe and define the work he does, you will
probably receive a vague answer. This is not because his work is particularly complex or difficult to
describe but simply because many system analysts themselves do not have a clear idea of the
structure of their work. Depending on day to day demands, they follow a series of short term goals.

Qualities of a system analyst


The ideal system analyst will indeed be a person of unique qualities. Beside basic technical
qualifications, this job demands a person with certain personal qualities for effectiveness. This is
because he deals extensively with people, procedures and technology. Example of qualities are:
i. Discipline: He should have a disciplined approach to problem solving and apply the
methodologies of system analysis. Examples of methodologies are SDLC, Prototyping etc
ii. Patience: The system analyst must seek ideas and opinions of others during the various stages of
his work. He must be a good listener, patiently waiting for new ideas to unfold. He must not jump
into conclusion before the other people he is working with.

Compiled by Joan karani 6


System Analysis and Design
iii. Perception: The analyst must be able to discover the fundamental logic of a system, produce
sound plans and appreciate the effects of new facts in planning.
iv. Confidence: He should have confidence while presenting his proposals and reports on the
progress of the system while in development. This will enable the organization and other bodies
to have confidence in his work.
v. Good communication and inter-personal skills: A system analyst work demands the ability to
communicate, express ideas and proposals clearly, both orally and in writing. In addition, he
needs to be able to get along with different types of people with different background, attitude
and therefore should have the skills that will enable him to do his work professionally.
vi. Motivation: He must be persistent in overcoming difficulties and other obstacles that he meets
while designing a system. He must keep on redesigning a plan of action in spite of many set
backs.
vii. Technical qualification: He should have gone to school and got the skills that relate to computer
systems. He must be trained on computer based processing techniques and principles. In addition,
the analyst should have skills on the latest programming techniques e.g FoxPro, Database, C++,
Pascal, Visual Basic etc.
He should be capable of managing resources, computers, softwares and other personnel that work
under him. He should be able to manage time well so as to meet the deadlines.

Necessary skills for a system analyst


1. analytical skills: to break into components subsystems and assemble together
2. communication skills: To convey concepts and ideas across to people in the organization
3. listening skills/inter-personal skills: allow users and management to give their suggestions and
possible solutions to problems
4. Technical skills: He should have gone to school and got the skills that relate to computer
systems. He must be trained on computer based processing techniques and principles. In
addition, the analyst should have skills on the latest programming techniques e.g FoxPro,
Database, C++, Pascal, Visual Basic etc.
5. Managerial skills: To plan and manage projects, resources, computers, softwares and other
personnel that work under him. He should be able to manage time well so as to meet the
deadlines

CLASSIFICATION OF SYSTEMS
Systems are classified in various ways i.e. open or closed, hard or soft systems.
Hard versus soft systems
A hard system refers to a system whose goals and objectives are clearly defined and the outcomes
from the systems processes are predictable and can be modelled accurately. Example – Stock
Management System.

A soft system refers to a system whose goals and objectives are not clearly defined (conflicts) and
whose outcome is unpredictable. The boundaries keep on changing. They depend on human factors.
Example – Political system.

Open versus closed system


An open system is able to communicate with its environment. It receives inputs from the environment
and gives output to the environment. It adapts to changes in the environment. Examples include
Banking system, business system, Education systems etc.

Compiled by Joan karani 7


System Analysis and Design
A closed system does not interact with its environment. It does not receive any input nor does it give
output. They do not receive modification from the environment examples include Scientific systems,
computer programs.

Abstract and Physical Systems.


Abstract systems are logical representation of actual systems. They can be in form of simulations of
actual systems or design models that represent the system.
e.g. Ahouse plan, DFD ERD, computer simulated games (for kids e.g. driving)

Physical systems are actual systems. This is a simple representation of a group of both tangible and
non tangible components. E.g. An organisation, A Car e.t.c.

TYPES OF SYSTEMS
1. Deterministic/mechanistic
Is a system where the end product is exactly known from their input. Theses systems function
according to some predetermined procedures and hence their future behaviour can be predicted
accurately depending on the situations prevailing.
Examples – Orbit system (Future behavior of the planet can be accurately predicted), computer
systems etc.

2. Probabilistic/stochastic
Are systems whose output can only be predicted but not known precisely. Theses systems operate on
probability i.e chances, events and hence their future behaviour cannot be predicted definitely.
Examples – Social systems (Business and Economic systems) which can be affected by factors
which are unpredictable.

3. Cybernetic/adaptive/self-controlling
Are systems which adapt to their environment. They must react in order to survive. They regulate
their own behaviour by assessing the feedback i.e assess their output and adjust the input. If they
don’t react they die/perish.
Examples – Human, Plants, Organizations.

INFORMATION SYSTEMS
 Refers to a set of procedures and technologies and other resources that collects, transforms and
disseminates information in the system.
 A system that transforms raw facts into information which is used for decision making
 Set of devices , procedures and operations with the aid a user to produce information and
communicate it to the user for planning , control and performance .
Data in a business organization consists of events, transactions and records. This data is voluminous
and would be difficult for a manager to use to make decisions. A manager requires information which
is received from the data that is processed. A system therefore is needed to transform raw data into
meaningful information. Such a system is called an information system or a data processing system.

Types of information systems


1. Formal information system
Is modeled formal information system such as payroll, stock control irradiators which generates
formed information via performance reports , financial statements or interrogation responses
to form on information which is formally designed for a purpose .

Compiled by Joan karani 8


Environment
System Analysis and Design
Structured information system is manifested by document and other records , usually indicating
compliance with pre-specified Toprules and procedures
Level
2. Informal informationMgt
Information which is not specifically structured e.g. Making a phone call to a friend, colleague or by
conversing to a group of people
Information received from Middlesources outside the input system is considered informal e.g.
electrical mail, telephone calls conversation
Level management

LEVELS OF MANAGEMENT Operational


Management is divided intoManagement
Level 4 major levels which interact with each other for decision making. They
are:
a. Operational Level Clerical
Information
levelSystem./ Low level
b. Knowledge/ tactical Level Information System./ Middle level
c. Strategic Level Information Systems. / Top level

Environment includes laws of Kenya, Trade Union, government policies.

a. Top Level Management (EIS, DSS, MIS)


This is the highest level high level of planning is done. Strategic decisions concerned with overall
organizational goals are made. They are long term (5 – 10 yrs), risk oriented (outcome is not
predictable) and normally unpredictable.
Their functions include
 Set the long term strategy of the organization
 They define the policy in order to fulfill desired objectives
 Specify corporate objectives to be achieved

b. Middle level Management (DSS, MIS)


Short term planning is done. Decisions made are tactical. They involve co-ordination, controls
against overall organizational objectives set at strategic level.
Tactical decisions usually involve a shorter time frame than strategic decisions. They are concerned
with internal operation of the organization and therefore rely on information generated by the
Compiled by Joan karani 9
System Analysis and Design
organization. The personnel at this level assemble required materials in order to meet objective and
make sure duties are attended to. Their functions include
 Identify specific tasks to be accomplished
 Budget requirements for the functional units
 Implement policies and objectives given by the top level

c. Low Level Management (MIS)


Is the lowest level of management. Decisions made at this level are known as operations decisions.
They are used on day to day basis. They ensure that necessary tools and materials are available. They
track down costs that are spent on daily basis. Duties are normally competitive and can easily be
programmed. Their functions include
 Supervise the operations of the clerical level
 Compare performance of staff and products
 Give operational feedback to the tactical level
d. Clerical level
Defines the daily repetitive tasks that normally deal with transaction handling

CLASSIFICATION OF INFORMATION SYSTEMS


There are various ways of classifying information systems. One common approach is to classify
according to its main functions. This method gives us TPS, IRS, DSS, ES, EIS and OA which are
described briefly below.
(a) Transaction Processing Systems (TPS)
These systems automate clerical and operational functions and track data at the most
elementary level in the organisation.
(b) Decision Support Systems (DSS)
An interactive, highly “user-friendly” system that supports management decisions that are
semistructured or that cannot be specified in advance.
(c) Expert Systems (ES)
An expert system is a computer system programmed to use knowledge that has been supplied
by a human expert to solve a problem that normally requires human expertise.
(d) Executive Information Systems (EIS)
An executive Information System (EIS) is a system for senior managers that utilizes heavy
graphic displays, draws together data from numerous internal and external sources and has
“drill-down” capabilities.
(e) Office Automation (OA)
Office Automation (OA) refers to a wide variety of computer-based technologies that make
office workers more productive at their jobs. (Operational level)
(f) Management Information Systems
It is an information system that supports the timely use, management and processing of data
or information pertaining to an organisation’s operations.

Transaction Processing Systems (TPS)


The information system that involved at operational level of an organization.
 A TPS is a computerized system that performs and records the daily routine transactions
necessary to the conduct a business.
 A TPS is any system that records transaction (a business event: a sale, a purchase, the hiring
of a new employee).

Compiled by Joan karani 10


System Analysis and Design
TPS is the entry point where data are entered at its source at the time transactions take place. TPS’s
are interfaced with applications that provide clerical workers and operational managers with up-to-
date information

A transaction processing system (TPS) is a system that supports the processing of a firm’s business
transactions. For example, a trading company’s TPS will comprise systems that handle purchasing,
sales, warehousing, accounts payable, accounts receivable, general ledger and so on.

These systems are designed to keep an organisation running smoothly by automating the processing
of the huge amounts of paperwork that must be handled daily.

Examples of TPS include:


(a) Order Entry
This is the TPS which processes customer orders. Orders may arrive by a variety of means e.g mail,
phone, fax etc. In cases of repeat orders, a trigger within the system will be the source.
(b) Inventory
An inventory system monitors the quantity of each product available for sale and helps ensure that
the proper amount of stock is maintained. All movement of goods in and out of the store or
warehouse will be recorded.
(c) Distribution
This involves ensuring the best mode of transport is selected to deliver goods to the customer on
time. Customs clearance, insurance and freight forwarding are the areas of concern here.
(d) Sales Invoicing
The main role of the sales invoicing system is to receive delivery information from the Distribution
System and to prepare invoices to be sent to the customer. Discounts are applied where appropriate.
In some systems, monthly statement of accounts are also prepared.
(e) Accounts Receivable
Records the amount owed by customers and the payments made. The data comes from the sales
invoicing system. In companies with cash sales, there is little or no receivables. A large amount of
money may be tied in A/R and the results of this system often receive close attention.
(f) Purchasing
Many companies have central department to handle procurement of its goods and services. The
advantages are to gain maximum volume discounts, obtain the lowest price or best deal from various
vendors and to achieve standardization where necessary.
(g) Receiving
The role of the receiving system is to record the receipt, inspection, acceptance or rejection of goods.
The inspection serves to identify damaged or incomplete goods which must be rejected.
(h) Accounts Payable
This system records the invoices received from vendors, determines the optimum time to pay and
prepares and prints cheques. Cash forecasting is another important task of the A/P system.
(i) Payroll
This system calculates the salary to be paid to employees, taking into account any relevant deductions
(e.g. pension fund) or additions (e.g. allowances). In addition, the payroll system must produce
income tax reports and should also keep track of pension fund or union fees which have to be
credited to another organization.

Office Automation Systems (OAS).


OAS is information technology applications designed to increase the productivity of data workers by
supporting the coordinating and communicating activities of the typical office. OAS coordinates
diverse information workers, geographic units and functional area. The system communicates with
Compiled by Joan karani 11
System Analysis and Design
customers, suppliers and other organization outside the firm and serves as a clearing-house for
information and knowledge flows.

Examples of OAS are word processing systems, desktop publishing systems and document imaging
systems. Word processing systems are an office automation technology that facilitates the creation of
documents. Desktop publishing systems is a technology that produces professional quality documents
combining output from word processors with design, graphics and special layouts features.
Document imaging systems is the systems that convert documents and images into digital form so
that they can be stored and accessed by the computer.

Expert System
 Are computerized systems which simulate human knowledge by making deductions from given
facts using the rules of logical inference.
 Is a specialized application that performs tasks that would normally be done by human expert.
 An expert system is a computer program that simulates the judgment and behavior of a human or
an organization that has expert knowledge and experience in a particular field.
 Expert Systems are systems that aid knowledge workers in the creation and integration of new
knowledge in the organization.
It consists of a database and software that simulate the human knowledge and analystical ability of an
expert in a particular field such as medical diagnosis, chemical analysis, geological exploration and
computer systems configuration.

An expert system requires a large collection of human expertised in specific areas entered into a
database known as knowledge-based system. It also requires software known as Inference Engine
that examines users requests and write of knowledge base and release the most appropriate response.

An expert system consists of:


a. Inference Engine
Inferencing is the process of reaching a solution or decision by reasoning. It acts as a rule interpreter.
It’s a component that directs the search knowledge and determines the sources required for input i.e
responses to questions from users, databases or spreadsheets to infer a solution to a problem.

The inference Engine questions the user and interprates the rules of relationships. It then matches
rules in the knowledge base with the information in the database. It can communicate with the
existing corporate database programs or files in the processs of seeking its goal.

b. Knowledge Base
An element that stores the specialized knowledge of a specific subject inform of rules consisting of
facts and relationships. Its concerned with the explanation of the system.

It contains both declarative knowledge and procedural knowledge. Declarative knowledge deals with
facts about objects, events and situations. Procedural knowledge has the information concerning
courses of action to be [Link] two types of knowledge are separate in most expert systems.

c. User Interface
An element that allows dialogue between users and the system. The user interface are divided into
two depending on the type of users i.e expert system designer and the end users. The designer of the
expert system requires to communicate with the system in order to have control directly on how the
knowledge is represented and stored in the system.

Compiled by Joan karani 12


System Analysis and Design
The system should also be easy for end users for easiers communication. It is therefore important to
ensure that the system is easy to use for the user who only cosnults the system but doesn’t build it.

Examples of expert systems


MYCIN : For diagnosis of blood and menengitis infections. Developed in the early 1970s at Stanford
University.

DENDRAL :Analyzes an unidentified chemical components and after interprating data from
spectometers and then produces models of the molecular structure of the components. Developed in
the late 1960s at Stanford.
ISIS: Factory automation system designed to produce job schedules. It considers variables such as
productivity, goals, resource requirements and machine preferences in order to construct schedules,
monitor performance and avoid bottleness.

Management Information System


 A system that is used by managers to get them information that they require to make decisions. It
supplies managers or management with the information they need to govern the organization and
to make decisions.
 A system to convert into information and to communicate this information, in an appropriate
form, to managers at all levels in all functions to enable them to make timely and effective
decisions for planning, directing and controlling the activities for which they are responsible.
 A computerized system intergrating equipments, procedures and personnel that develops and
provides information used by management for decision making.

MIS at the management level of an organization that serve the functions of planning, controlling and
decision making by providing routine summary and exception reports. It provides managers with
reports and in some cases with on-line access to organization’s current performance and historical
records. Most of the systems oriented almost exclusively to internal, not environmental or external
events.

MIS primarily serve the functions of planning, controlling and decision making at the management
level. Generally, they are dependant on underlying TPS for their data. MIS summarize and report on
the basic operations of the company.

Components of MIS
1. Information technology: It’s a collective term for the computer and communication hardware
and the system application software
2. Human resources and procedures needed to help people within the organization put the
information to work.

Compiled by Joan karani 13


System Analysis and Design
SYSTEM DEVELOPMENT LIFE CYCLE 1
~ System development is defined as the steps that are followed in developing a new system. A
system consists of many sub systems and it requires more people to develop. It could take six
months or more to develop making it more complex.
~ System development exists in two forms
a. During development
b. Operational stage
Methods used to develop systems
1. Traditional methods
~ In this method an improvement is made on the existing system i.e by increasing the storage
capacity, increasing the number of files. However, many of the defects are carried over to the new
improved system. This method is not suitable in the modern system development.

2. Structured methods
~ In structured programming, a system is broken down into its individual components which are
then developed/designed. In this method, the aim is to build a new better system that is easily
understood. Some of the common structured methods are: SSADM, STRADIS, JSD, JSP, YSM.
~ There are several components used i.e. structured charts to show the organizational layout, data
flow diagrams to show how instructions flow from one sub system to another etc.

3. Dbase methods
~ This method is based on the idea that the basic building block of any system is data. This contrast
with the structured method which uses procedures as the basic building block.
~ Ms Access is used in developing systems using Visual Basic.

4. Rapid Application Development


~ In this method, we use object oriented programming where the user doesn’t need to write the
code, all he does is to integrate the stored codes into his system. This approach depends on the
experience of the user, the nature of the organization and the environment in which it operates.

~ SDLC can be broken down into several stages


i. System analysis
ii. System investigation
iii. System design
iv. System coding and testing
v. System implementation
vi. System post-implementation and review
vii. System maintenance
~ The seven stages are contained into two phases namely:
1. analysis phase
a. preliminary study/problem recognition
b. feasibility study
c. investigation and fact recording
d. Analysis
2. design phase
a. design
b. coding and testing
c. implementation
d. maintenance and review
Compiled by Joan karani 14
System Analysis and Design

1. ANALSYIS PHASE
a) PRELIMINARY STUDY
Refers to a description detailing why an investigation has to be carried on. It’s carried out to
ascertain whether there is need for change. If its necessary, an investigation is carried out and terms
of reference are drawn.
The preliminary study should meet the following objectives
i. Define the scope and constraints of the proposed project
ii. Identify the benefits that are likely to occur if the proposed project is completed
iii. Specify time and cost estimates for the subsequent stages
iv. Present a report to the management describing the problems of the existing
system and providing a strong case for the proposed system
During this investigation, the analyst with his team of developers should be handled a formal
document known as terms of reference(document agreed between the system analyst and user
department of the system.). Its also known as project brief./initial assignment brief.
This document consists of the following aspects:
i. Title of the project
ii. Subject of the study
iii. Purpose
iv. Personnel
v. Time scale
vi. Costs and any other relevant information
After receiving the terms of reference, then the system investigation begins.

b) FEASIBILITY STUDY
Study carried out to determine whether it is possible or feasible to carry out a given task on computer.
The system analyst and his team collect facts in the organization about the system. The facts are then
recorded and analysed. An estimate of the proposed new system in terms of benefits and cost is then
made.
Aims of a project feasibility study
A well conducted feasibility study will achieve the following aims:
i. Will allow the management to decide whether or not to commit more resources to a project,
by showing whether or not a full system study is justified
ii. It will outline the present system and summarize it in terms of cost
iii. It will outline the proposed new system and justify it in terms of cost
iv. It will provide a standard against which future performance can be monitored
Carrying out project feasibility study
The system analyst and his team collects facts in the organization about the system. The facts are then
recorded and then analyzed. An estimate of the proposed new system in terms of benefits and cost is
then made. Four areas of feasibility must be considered i.e
1. Technical feasibility: This answers the question whether the organization technology in terms
of hardware & software is sufficient and capable to support the project.
2. Operational feasibility: addresses the issue whether the new system operations are acceptable
to the user.
3. social feasibility: necessary skills
4. economic feasibility : monetary terms/cost of the project e.g equipment costs, installation
costs, development costs, personnel costs and operation costs.

Compiled by Joan karani 15


System Analysis and Design
After carrying out the study, you then write a report called project feasibility report.
Contents of project feasibility report
i. Introduction
In this, the system analyst explains the intended new system based on the terms of reference.
ii. Description of the existing system
In this section, the analyst outlines the problems and difficulties identified. In addition, he
outlines the cost of running the system.
iii. Description of the proposed new system
The system analyst designs a proposal showing how the new system would work. In addition, he
shows the output and processing to be carried out.
iv. Justification
The analyst draws out the benefits of the proposed system in terms of time, costs and employees
satisfaction.
v. Developmental plan
Is a plan showing how the system analyst intends to achieve his objectives of designing a new
better system. This plan shows the stages, costs and resources required.
The system analyst presents his reports to a committee set up by the organization they are
working for.

Members of the committee


i. Representative of the management
ii. Finance representative – advise committee on any financial matters
iii. Auditor – to verify if the intended money is spend on the job.
iv. Prospective user
v. System analyst and his team
Once the system analyst presents his report, a decision is made on to go ahead with a full system
study.

c) FACT FINDING
This involves going into the area of operation and carrying out a fact finding exercise on the current
system.
Objectives of fact finding
i. To identify what the present system is used to do and its objectives
ii. To study the input into the present system i.e. data items, where it originates, volume of input etc.
iii. To study the files maintained by the present system i.e. sequential random, indexed etc.
iv. To study the processing carried out by the system i.e. time-sharing, real-time processing, on-line
processing etc.
v. To study the organization structure showing the departments, sections and personells.
vi. To study the problems and difficulties encountered as the system operates i.e. errors, duplication
of tasks, weaknesses, bottle-necks (problems which affect the smooth operation of a system, they
keep on occurring each time it is in operation).
vii. Need to study the costs incurred in running the present system so that he can make a decision of
whether it is cost effective or not.
While the system analyst is carrying out the fact finding exercise, he will meet with resistance from
the employees working in the organization.

Reasons for resistance


1. This is because human beings dislike change
2. Ignorance from the employees
3. Threatened to loose their jobs.
Compiled by Joan karani 16
System Analysis and Design
Solutions for resistance
The system analyst needs to educate them on the reasons of the fact finding exercise. If this is done,
then an atmosphere of trust is created. If an atmosphere of trust is created, then the work of an analyst
is made simple. He will get cooperation from the employees. They will probably give him the correct
information which will lead to design of a correct system.
Importance of user involvement in system development
a. Guarantees acceptance of the final system developed
b. Makes training of the new system easier during implementation
c. Ensures the new designed system meets all the users needs

Methods of fact finding


i. Interviews
A face to face interviews with the members of staff of the department or sections involved in the
existing system is the common method of fact gathering. Before an interview commences, the
following points should be taken into consideration:
a. System analyst must have a basic background knowledge about the system. This will
enable him to ask the right questions to the right people.
b. System analyst should select a suitable venue for the interview. A neutral venue is the
most appropriate so that the interview does not feel “summoned” e.g conference room.
c. Before interviews are commenced, the interviewee must be made aware of the purpose of
the investigation i.e. 2 weeks to a month.
d. Individual interviews should be arranged well in advance, to allow a suitable time, to be
chosen. Busy periods of the week or month or sessions immediately before lunch should
be avoided.
Carrying out a face to face interview
A face to face interview is carried out in 3 phases
a. Initial phase
When the two parties involved becomes accustomed to each other and overcome their preliminary
awkwardness
b. Phase two
Main part of the interview. A previously prepared list of questions with plenty of space for
answers to be entered is required. This will enable the system analyst to ask questions. He will
record the answers.
c. Final phase
In this phase, the analyst allows the interviewee to raise any further points which the analyst may
have missed. This enables him to confirm all the answers he has given to the system analyst.
Advantages of interviews
a. Immediate response
b. Non-verbal communication can be observed e.g. facial expressions
c. Easy to confirm ideas since questions can be instantly rephrased
Disadvantages of interviews
a. Expensive to organize
b. Time consuming
c. Interviewee may not fully open on some personal/sensitive issues.

NOTE: Interviews allows users to be involved in system development.

Compiled by Joan karani 17


System Analysis and Design
Types of interviews
There are two types of interviews
a. Structured interviews
Uses specific questions which are directed to the interviewee. In addition, answers are required for
each question. Some of the questions are either closed or open ended.
Open ended questions allow the interviewee to respond in any way he/she deems appropriate while
close ended questions restrict answers to either specific choices or short direct responses.
b. Unstructured interviews
In this method, the interviewer carries out the interview with only a general goal/subject in mind but
with few or no specific questions. The interviewer depends solely on the interviewee to give him the
framework and direct the interview.
This type of interview has the dangers of running off the track and for this reason it doesn’t work
well for system analysis and design

ii. Observation
This is where the system analyst moves into the organization, he is given a desk where he can
observe the system in operation.
Advantages of observation
a. Data collected is highly reliable
b. Cheap as compared to interviewing and other methods
c. The system analyst can see clearly all the system operation, since complex tasks are sometimes
difficult to explain. This method enables him to identify tasks which have been omitted,
inaccurate, data loses etc.
d. Enables the system analyst to measure how busy the organization is or idle i.e. one gets close to
the system.
Disadvantages of interviews
a. This method is affected by pretenders in the organization who perform their work differently
compared to when they are not being observed. Employees may alter behaviour leading to wrong
observations.
b. Observation may be affected by interruptions e.g. power failure, social interruptions, strikes etc.
c. Staff who dislike being observed may feel antagonize
Solutions to these problems
For the system analyst to overcome these problems, he needs to make random observations rather
than continuous observation. While the system analyst is carrying out observation, he needs to do the
following
a. Determine who, what, where, when, why and how to observe
b. Ask for permission from respective managers
c. Inform those users under observation
d. He should keep low profile/be humble
e. Take notes during or immediately
f. Review the observation notes with appropriate individual
iii. Reading/record inspection
This is used as a fact finding method whereby all documents and records relating to the system is
done. This enables the system analyst to have basic information about the data, procedures and
functions in the present system.
Documents to be read
~ Procedure manuals
~ Job description manuals
~ User guides
Compiled by Joan karani 18
System Analysis and Design
~ Organizational charts
~ Files maintained by the system
~ All forms used within the system
~ All output data
~ Any documentation generated by the system
Advantages of reading
a. Gives the analyst basic background knowledge about the system
b. Helps in designing interview questions and questionnaires
c. Helps in deciding whom to interview
Disadvantages of reading
a. Boring and time consuming
b. Can give out of date information because human systems are dynamic. Written documentation
becomes out of date over time.
c. The documentation may be poorly done and incomplete thus giving false information. i.e
documents only give official state of affairs.

iv. Questionnaire
Refers to short questions prepared by system analyst then sent to all people involved in the system
investigation to collect information and opinion.. If the respondents are far from each other, they
answer the questions and send back the questionnaire to the analyst for recording and analysis.
They give the respondents privacy when filling them which may enhance sincerity of information
given.
Advantages of questionnaires
a. Respondents fill them at their own pace
b. More responses are responsible due to privacy when filling them
c. Inexpensive when dealing with large numbers (no traveling, hiring conference rooms etc)
d. Response can be easily tabulated and analysed quickly
Disadvantages of questionnaires
a. Likehood of some questions being misunderstood and therefore wrong answers given
b. No guarantee that respondents will answer all questions
c. There is no opportunity to clarify a vague or incomplete answers to any questions. They do
not give face to face communication making them inflexible and no confirmation is possible.
d. Its difficult to prepare good questionnaires.
Note: When preparing questionnaires, one should carefully plan the questions so that they are polite,
easy to understand, short and direct. Preferably Yes/No.
Types of questionnaires
i. FREE FORMAT
The respondent is given an opportunity to express opinion, suggestions or complains. The answer
given is open ended.
ii. FIXED FORMAT
Contains questions that require a fixed specific response from individuals. This can be either
multiple choices where you select a specific answer.
v. Automated methods

Fact recording
After fact finding, the analyst will need to record the facts. This is to enable individual facts to be
retrieved when needed. The analyst is required to record facts and come up with a report. The report
is then presented to the management for evaluation and further guidance. It has the following details:
1. cover letter addressed to the management
2. title page which contains project name, analyst name and date of submission
Compiled by Joan karani 19
System Analysis and Design
3. table of contents
4. executive summary
5. methods used to study the system
6. detailed results of the study – problems, opportunities etc
7. summary – brief report on the contents and recommendations .
Common methods of fact recording include;
~ narratives
~ decision tables
~ flowcharts
~ Procedure charts.
After recording the facts, these facts should then be analysed. This leads to analysis.

d) ANALYSIS
System analysis stage involves the evaluation of the current system using the gathered information in
order to ascertain whether the system meets the users’ current needs and projected needs. The
system analyst then recommends what is to be done.
System analysis is the investigation into a system operation so as to identify the short comings on this
system with the aim of solving them. It is necessary to set up the right procedures, acquire the proper
equipments and write solutions inform of programs/systems that can solve the shortcomings in those
equipments
Objectives of system analysis
~ To examine carefully the existing system making sure that their weaknesses, duplications,
omissions and redundant elements in the system are identified
~ To establish the detailed objectives of the proposed new system in a clear and attainable terms
~ To obtain a clear specification of the new proposed system
~ To evaluate all possible alternative solutions obtained in the feasibility study report
~ To prepare a statement of system requirement for the approval of the management.
Activities of system analysis
The system analyst recommends what is to be done. In system analysis, the existing information
processing procedures are documented in details. The system analyst and his team attempts to learn
what the users expect a new system to do. During this stage, the system analyst aims at determining
the following;
a. The information needs of the organization and the users
b. The output of the intended system
c. The activities of the intended system
d. The capabilities required by the new system in order to meet the organizational needs.
The system analyst analyzes in detail the format, type of systems and user level of education of the
present system. This enables him to identify the strength and weaknesses so that he can know how to
make improvements or changes.
Aspects analyzed in detail include;
~ Inputs
~ Outputs
~ Control
~ Software
~ Hardware
~ Data files
This enables him to identify;
a. Minimum, maximum and average levels of activities carried out by the system
b. Determine the redundant activity
c. Determine tedious activities that should be easily computerized
Compiled by Joan karani 20
System Analysis and Design
d. Determine those activities that require complex or repetitive compilation
e. Determine procedures that have become obsolete
Requirement specification
After analysis, a report i.e. statement of requirement is produced. It has the following aspects
i. Input requirements
ii. Output requirements
iii. Processing requirements
iv. Storage requirements – media, capacity, frequency of updating records etc
v. Control requirements – checks and measures that enable a system to be secure.
~ After finishing up the system analysis stage, the system analyst presents his proposal (the
statement of requirements) to the committee in charge of system development. They are discussed
and if a decision to go ahead with the development process is taken then he goes to the system
design.

Compiled by Joan karani 21


System Analysis and Design
2. DESIGN PHASE
a) DESIGN
 The stage during which a system is developed to meet the requirements defined during system
analysis stage. Design usually implements one of three basic alternatives to solve the problem.
a) Modify the existing system
b) Replace the existing system by developing a new system
c) Replace the existing system by purchasing a new system
~ System Design refers to the process of designing a new better system after a thorough system
analysis solving the problems that were identified.
Objectives of system design
i. Produce a system that is simple to use
ii. Produce a system that has sufficient flexibility so that it can be easily maintained throughout its
life
iii. To design a system within the constrains laid down in terms of reference
iv. To design a system that process data accurately and it is strong to withstand attempts to abuse it
i.e. use of passwords, virus protection modes etc.

 System design can be categorized into two sections


i. Logical design
ii. Physical design
i) Logical design
 The analyst creates a model of the proposed system that shows the user what the system will look
like. It is developed based on the analyst’s interpretation of the problem and other related
information gathered during the analysis phase.
 Analysts should develop the logical design with little regard for how the system will be physically
implemented.
 The logical design is developed from the analysts understanding of how the various elements of
the business system logically fit together. It may include definition of input and processes that
must be performed.
 Major activities of logical design include
i. Identifying the logical user requirements
ii. Modifying the analysis diagrams for easier evaluation of the analysts’ proposed solution
to the identified problem
iii. Identifying the major data structures necessary to support the proposed solution
iv. Identifying the input and output forms to be used by the proposed system
v. Create a design dictionary. This is a comprehensive collection of the design specifications
used to define and describe all the components of a system
 The design dictionary becomes an extremely valuable source of information because it permits
another analyst to gain a comprehensive knowledge of the system. It is also an excellent source of
data during the analysis of an existing system.

ii) Physical design


 It is devoted to creating specifications that establish the working environment within which the
system will operate i.e the way to fulfill the users desire. It includes diagrams and text
descriptions of the data flows and physical data structures required.
 Also includes documentation of procedures for the processing to be done and a detailed program
specification.
 The physical design involves the following steps
i. Identifying resources to meet users needs (hardware and software)
ii. Identifying procedures to meet users needs
Compiled by Joan karani 22
System Analysis and Design
iii. Describing the procedures so that appropriate computer code can be developed or
acquired
iv. Describing data so that stored data can be created or modified
v. Identifying additional technology necessary for the new/modified system
 The output of physical design is a physical design specification which also includes the ignition
of resources, identification of all tasks necessary for development and implementation of the
system, detailed plan for completing those tasks, a n estimate of the expense and effort needed to
develop the system, an estimate of on-going costs associated with using and maintaining the
system.
 During design, different approaches have been used i.e bottom –up design and top-down design.
A new approach currently being used is the modular design.
i) Bottom up design
 Refers to identifying the processes that need computerization as they arise, analyzing them as
systems and either coding them or purchasing packaged software to meet the immediate problem.
 The problems that require computerization most frequently are on the lowest level of the
organization. The sub programs are coded first and the main menu later.
ii) Top down design
 Means looking at the large picture of the system and exploding it into smaller parts or sub-
systems. Allows the system analyst to ascertain overall organization objectives first along with
ascertaining how they are best met in an overall system. The analyst then moves to dividing the
system into sub-systems.
 A design which the programmer codes the main program and later the sub-programs.
iii) Modular design
 It is specifically used in programming and it means breaking the system into logical manageable
portions. This type fits well with top down design because it emphasizes the interfaces between
modules rather than neglecting them until later in systems development.
Question:
Advantages and disadvantages of the above three mentioned approaches

One approach is to design these individual components using the following format;
i. Nature of the system
ii. Its input
iii. Its output
iv. Files maintained by the system
v. The processing tasks
vi. System flowcharts
vii. Controls of the system
Input design
Under this, all input documents are designed. They could include invoices, forms, purchase order,
input screen etc. there are three main ways in which source data can be input to a computer system
i.e.
~ Keyboard
~ Read directly by a computer input devices such as scanners which use OCR or MICR
~ Can be produced as a bi-product through the use of other official documents such as form design,
receipt books. This process of keying in data is labour intensive.
This process of designing the input documents should be simplified so as to enable the input process
be simple.
Objectives of input design
i. To produce the most cost effective way of inputting data
ii. To have a high degree of accuracy
Compiled by Joan karani 23
System Analysis and Design
iii. To ensure that the input data is acceptable to the user
For these objectives to be achieved, decisions must be made about the following when it comes to
input design
i. Volume of input. In real-time systems, enquiries and transactions will be input as and when
required. In batch systems, input will need to be catered for on a cyclic basis.
ii. Contents of records which are to be input
iii. Device and medium to be used for a particular piece of input.
iv. Data verification and validation – to verify is to confirm the transaction while validate is to
check for accuracy
v. Frequency of input
vi. Sequence of data input

Form design (hard copy)


When designing forms, four major aspects need to be considered
i. Printing – paper size, rules laid down by the organization, volume of printing
ii. Their completion by clerical staff
iii. Preparation of data from the forms
iv. Subsequent use of the form for information reference
Form filling screens (soft copy)
These may consist of interactive screens that assist in the capturing of data. The interactive system
can be made up of the following:
i. Greeting screen e.g. company logo
ii. Password screen – to prevent unauthorized access
iii. Main menu – to allow choice of several available applications
iv. Intermediate menus- which further delineate choice of functions
v. Help screen – how to perform a task
vi. Escape options – allow a user to escape from a particular screen or the application.
Directions for designing form filling screens
i. Fields on the screen should be in the same sequence as on the source document
ii. Provide default values
iii. Edit all entered fields for transaction errors
iv. Move the cursor automatically to the next entry field
v. Highlighting should be used for gaining attention and should be limited to critical
information, unusual values, high priority messages or items that must be changed
vi. Avoid problems associated with overuse of colours
Checks in the validate program
Checks are divided into four types
i. Character checks
a) Format – alphabetic or numeric
b) Special character – Those representing given status e.g
M – Married
S – Single
D - Divorced
c) Presence test – null or not null
ii. Field checks
a) Size test – length or number of characters
b) Limit test – maximum acceptable value e.g. limit <=5000
c) Range test – Lower and upper limits e.g age 20 – 25
d) Special values – character representing a department
e) Presence test – Null or not null
Compiled by Joan karani 24
System Analysis and Design
Types of human errors made when transcribing numeric fields to machine sensible form can be
a) Transcribing – e.g. 12345 becomes 12545
b) Transposition - e.g. 12345 becomes 12435
c) Double transposition - e.g. 12345 becomes 12543
d) Omission – e.g. 12345 becomes 1345
e) Addition - e.g. 12345 becomes 125745
f) Random – combination of two or more errors.
iii. Record checks
iv. Batch/file checks

Output design
Output is the primary purpose of any system. Output design is often discussed before other aspects of
design because from a client’s point of view, the output is the system.
This is concerned with what emerges from the computer system for the user to work upon. The
output could be in form of print out, screen displays, micro-film, speech etc.
When the system analyst is considering the type of output design, the following factors should be
considered;
i. The volume – high volume output requires high speed printers
ii. Output medium – depends on the quality of the output desired
iii. Frequency of output
iv. Content and format – the layout and contents of the output must be clear and to the highest
standard presentation.
v. Sequence – you can arrange your output either in ascending or descending depending on
priority
vi. Target of audience

Output Design Objectives


a) Assure purposeful output
b) Provide appropriate quality and quantity
c) Assure timeliness
d) Appropriate distribution
e) Choose effective output method

A part from meeting the above stated objectives in determining output design, decisions on the
following aspects must be made:-
1. The medium and device to be used for a particular piece of output e.g types of printers, VDU etc
2. Contents of reports and the format
3. Frequency of production
4. The volume of output
5. Conditions of production
6. Sequence of items in a report

Output documents
a. External reports – for use or distribution outside the organization
b. Internal reports – For use within the organization
c. Periodic reports – These are produced with a set frequency (daily, weekly, monthly, every 5 th
Tuesday etc)

Compiled by Joan karani 25


System Analysis and Design
d. Ad Hoc (on demand reports) – Produced on irregular intervals. They are normally produced
upon user demand.
e. Detail reports – They provide details about transactions
f. Summary reports – Give an overview
g. Exception reports – Only show errors or problems e.g due to out – of range values or
unexpected conditions or events.
File design
When designing a file, you consider the access methods i.e. random access, serial access and
sequential access. In addition, consider hit-rate (the percentage of records which can be accessed in
one run). These files which can access high numbers of records are said to have a high hit-rate.

File design particularly looks at file organization and the medium that will be used to maintain
records that are to used by the system. File design may be determined by:
a) Hit rate – Percentage of records which need to be accessed in one run. This will also
determine the file organization method and file medium to be used.
b) Nature of the system – It is batch, Real-time or a combination.

Nature of the system Hit rate File organization File medium


Real time Low Random Disc
Batch High Sequential Tape, disc
Low Random Disc
High + low Indexed sequential Disc

Hybrid
Batch High Indexed sequential Disc
Real time Low Indexed sequential Disc

Units used for storage medium


8 bits = 1 byte
1000bytes = 1KB
1000 000 bytes = 1000KB = 1MB
1000,000,000 = 1GB (1000MB)
1000,000,000,000 = 1000GB (1TeraByte (TB))
1000,000,000,000,000 = 1PB (Pico Byte)

Database
Is a group of related files. This collection is usually organized to facilitate efficient and accurate
inquiry and update. A DBMS is a software package that is used to organize and maintain a database.
The software allows data and file relationships to be created, maintained and reported. A DBMS
offers a number of advantages over file oriented systems (separate files) including:
 Reduced data duplication
 Easier reporting
 Improved security
 More rapid development of new applications.
Data models
Network
Hierachichal
Relational
Designing the file of database
The objectives in design of data storage organization are:
Compiled by Joan karani 26
System Analysis and Design
i. The data must be available when the user wants to use it
ii. The data must be accurate and consistent
iii. Efficient storage of data as well as efficient updating and retrieval. It is necessary that
information retrieved be purposeful.
iv. The information obtained from the stored data must be in an integrated form to be useful for
managing, planning, controlling or decision-making.

Processing tasks/design
When considering this design module, check for the following tasks,
~ Design systems that check their transactions and report on any error, and make immediate
correction
~ Design systems that have validate programs. These validate programs are used to filter out
unreasonable transactions, only passing forward to the next stage those records which are thought
to be correct
~ To design a system that is able to update the master record at any time. In addition, the system
should have a master file which is the main file. This should be updated any time the transaction
is entered into the system.

System flowcharts
Shows an overall view of the data processing in the system. It shows this by showing the tasks carried
out, the devices and media used to hold the files and the data in them.

Controls
Deals with reliability of data captured and stored as well as protection of data from accidental
corruption or access. There different types of system controls
a. Character checks – includes formats, numerical, alphabetical etc
b. Field checks – includes checking for the size or the limits or the range
c. Record checks – includes record format (ascending, descending)
d. Consistency checks – used to check for consistency in transactions i.e. credit limit, age of
employees etc.
After carrying out all the design aspects, the system analyst documents the proposal in a system
specification. This is also called system definition/system report/system proposal.

Functions of system specification


1. Acts as a contract – the system specification is the final definitive statement of the system that is
to be developed. It acts as a contract between the system analyst and user department of the new
system.
2. A reference document – acts as a reference document during the later stages (testing and
implementation). If any dispute arises between he system analyst and the users, this document
will be taken as an authoritative.
3. Procedure manual – is used as a procedure manual laying down how the new users should make
the new system work.
4. Operating manual – The system analyst report can act as the basis for the operators when they
are running the programs which make up the system.

Compiled by Joan karani 27


System Analysis and Design
Contents of the system specification
A. Introduction – shows all the necessary background details. It also includes the objectives of the
system
B. Justification – this will include the costs and benefits of the new system. Should be in financial
terms
C. System description – should show the flow charts and procedures used by the system.
D. Input – describe the source documents and volumes of the input data
E. Files – should show types of files and their organization. In addition records maintained by these
files.
F. Output – shows the output media and volume expected
G. Controls – the inbuilt controls and action to be taken
H. Implementation – shows details of how the new system is to be implemented including costs
I. Equipments – hardware and other equipments for running the system
J. Glossary – special list showing special terms used in the report.
Once the report is discussed in the steering committee and accepted, then the next stage can begin.

b) CODING AND TESTING


System programming begins once the system specifications have been approved by all parties. In this
stage, the design is translated into sets of instructions which are coded into the machine
The system analyst gives out the program design for all the modules that make up the system. He
works closely with the programmers so as to clarify any doubtful design structures. Codes are written
for each individual component that makes up the entire system. These codes need to be interfaced to
create the entire system.
This is the actual process of creating a program in a programming language. Techniques have to be
followed that are both easy to maintain and as error free as possible.
Some of these techniques include;
a. Coding standards
b. Re-usable code
c. Data dictionaries
A. CODING STANDARDS
In early days, programmers were largely left to code programs in their own way. The result was often
SPAGHETTI CODE i.e a tangled jumble of statements that while producing correct results was
different for anyone except the original programmer to understand.
Example:
Structured code Spaghetti code
START: START:
PERFORM DOG GO TO MAMMALS
PERFORM CAT DOG:
PERFORM FISH WALK THE DOG
EXIT GO TO CAT
DOG: MAMMALS:
WALK THE DOG GO TO DOG
RETURN FISH:
CAT: FEED THE FISH
PUT OUT THE CAT COVER THE BIRD
RETURN EXIT
FISH:
FEED THE FISH
RETURN

Compiled by Joan karani 28


System Analysis and Design
 Today any organizations follow a set of coding standards i.e a list of rules designed to standardize
programming style. They may cover items such as acceptable program structure, field naming
conventions and comment conventions. Theses rules help make programs more universally
readable and easier to maintain.
 Coding concepts important towards developing high quality programs includes:
A. Readability :is achieved by
Internal documentation: comments used to describe segments of code modules
Self documenting codes: use of Mnemonics for objects referred to within the program e.g find, edit,
update, delete etc
Use of indentation: e.g
If Name = Peter Then
If Pass = Yes Then
Start
Else
Exit
Endif

B. Structured programming
This involves use of limited set of programming constructs or structures in coding the program.
Control structures regulate the order in which program statements are executed e.g selection,
sequence, iteration etc.

C. Modular programming
It adopts the techniques of developing program suites of related programs. The overall program I
divided into modules each of which is developed separately but on a co-ordinated basis.

D. Defensive programming
This requires ensuring checking of:
I. Input data from the outside world
II. Calls from other modules including parameters
III. Data received from files which are accessed by other programs
IV. Operator errors
NOTE: Defensive programming may also involve use of error trapping codes.

B. RE-USABLE CODE
These are program segments that can be reused over and over again in the construction of application
programs. Rather than having programmers code each program or program piece from scratch, most
organizations keep libraries of re-usable code available.
Benefits of reusable code
a) Leads to increase in programmer productivity (allows programmers to focus on more specialized
code of the application)
b) Testing need not be vigorous as new code developed for the application
c) Cuts down on creating same routines over and over
d) Contributes to creating programs in a standard format rather than re-doing a code from place to
place
e) Reduction in amount of storage required for company’s programs

Compiled by Joan karani 29


System Analysis and Design
C. DATA DICTIONARIES
Is a facility that informs users ad programmers about characteristics of data and programs in a
database or a computer system. Most data dictionaries are active i.e they are on-line to the
applications that they support.

If say a programmer attempts to use a field name improperly or inconsistently, the active data
dictionary will immediately warn the programmer and will prohibit the alleged error from being part
of the finished application.

The data dictionary can be a reference work of data about data compiled by a system analyst to guide
them through analysis and design. It collects, co-ordinates and confirms what a specific data term
means to different people within the organization. Its contents may include the descriptions and
specifications of system data but not the actual data itself.

In recording the data elements, the DD will contain information like:

Data Names The data of the data item


Data Description A brief description of the data item
Aliases Is the data name referred by another name?
Data Type The data type of the data item
Length The size of the data item
Data Values Permissible values that can be stored
Used In Which process(es) uses it

Factors to consider in choosing a programming language


Suitability: Suitability of the application under consideration
Intergration: If it has to link to programs already written, then use the same language
Standards: information systems departments may have standards that dictate use of given languages
e.g Cobol for transaction processing or ORACLE for sever database
Programmer availability:
Portability: If application can run on several computer platforms e.g Windows, Macintosh and unix
based systems.
Speed of execution
Cost: The initial cost of developing the program as well as on-going support and maintenance cost.

After this stage we go to system testing.

TESTING
Is a process that tries to identify if the program code is performing as expected in the system
specification document.
It involves checking each component of a system individually to ensure that its procedures produce
correct output and that this output meets the requirement specified for the system.
Testing ensures that the code is complete, reliable, correct and maintainable.
Levels of testing
Approaches in testing can either be top-down or bottom up approach. These procedures and levels
used include:

Compiled by Joan karani 30


Calculations
   
Comparisons
   
System Analysis and Database accesses
 Design  
A. PROGRAM TESTING
In this test, individual modules are checked to find out whether they have errors and their
effectiveness in addition; you test the elements of these modules for errors and effectiveness.
B. SYSTEM TESTING
Sometimes referred to as integration testing. Its used to determine whether all the different programs
interface correctly. The objective is to ensure that system performs as promised in the user
requirements phase. It is said to consist of two major parts:
 Integration testing
 Acceptance testing
Testing can also be determined by file organization and access methods e.g for a batch processing
system, the ability of a system to process a given number of transactions within a given time frame
and to produce timely reports should be done. For online systems, tests on response times, number of
users that access a system, security measures and user friendliness should be tested.

C. UNIT TESTING
Its used to remove errors both syntactical and logical from a single module or unit of a program e.g
sub-routine used to calculate totals. It involves testing the system interface to check its compatibility
with other modules that make up the system

. Approaches in unit testing include:-


 Black-box approach
Its output oriented. The analyst knows what the output should look like from the input submitted to
the program. If output given is what was expected then, the system is considered to be functionally
correct.
It checks inputs and outputs without analyzing the way the processing that converts them actually
performs. Its used for functional tests where results are known.

Inputs outputs

Black box

 White-box approach
Inner workings of the module are explicitly tested. The analyst is interested

Inputs outputs

White box

When carrying out testing the following should be involved


1. users
2. system analyst
3. programmers
4. auditors
Compiled by Joan karani 31
System Analysis and Design
The importance of involving users is that when they see the system working, they get confidence on
how to use the new system. In addition, it makes training easier at later stages of system development
(system implementation).
Aspects that need testing;
i. details of all input files
ii. all transactions in the master file
iii. all screen displays
iv. all output forms

c) IMPLEMENTATION
Implementation of a system will involve 3 major aspects:-
d) Training
e) Conversion
f) Change-over

A) Training
Is a recognized component of the corporate environment. How users operate a system can determine
its success or failure and this can be achieved through training users. Users should not feel
intimidated by the system due to poor training on how to use it. Training could be successful it its
done throughout the life cycle.
It can involve assisting users in identifying errors of an old system and giving possible suggestions.

Functions of staff training


Staff training has several functions:
 To convince the user department staff that the new system is an effective and efficient one
 To enable the staff to carry out the task required of them in support of the system.
 To overcome their fear of change and any feeling that they may not be able to cope with
the demand of the new system.
Training consists of a sequence of experiences designed to modify behavior. People are trained to
change, on how to interpret outputs that is necessary in decision making etc.

The extent of training which is to be undertaken before implementation depends on:


 Amount of computer awareness
 Complexity of the system
 Caliber of the staff (management or low-level personnel)
Those to be trained include:
~ The management and staff of the departments whose work is being computerized
~ Staff of any other department which is to be affected by the system
~ Auditors
~ Staff in electronic data processing department such as operators and data preparation staff
For training to appeal to hearing a friendly and intimidating voice should be used and users should
feel free to ask questions and express concerns. Visual aids should be used to reinforce hearing e.g
LCD Panels, CD-ROM, Presentation files, Movies, blackboard etc. To appeal t touch, trainees should
receive hands on experience with the system. Methods that can be used in training include;
 Lectures
 Group discussions
 Case studies
 Literature
 Role playing

Compiled by Joan karani 32


System Analysis and Design
B) Conversion
This denotes transferring all data, programs and procedures from the old system to the new system.
Some use the term to mean actual operation change from the old system to the new system.

Systems conversion can take place as a result of replacing a manual system or computerizing an old
computerized system.
Type of conversion Changes required
Data conversion Keyboard entry, use of scanners, conversion of file processing to
database processing
Program conversion Special input and editing routines, conversion of some code into higher
versions
Business Complete replacement of forms and reports, less extensive training of the
practices/procedures employees

C) Change-over
It consists of replacing the existing system with the new system. It may be all at once or gradual.
Users can determine the method to be used however; the project team must make users aware of the
options available, their strengths and weaknesses.

Changeover strategies
They include:
 Direct/crash changeover
 Pilot changeover
 Phased changeover
 Parallel changeover
Direct/crash changeover
Refers to “out” with the old and “in” with the new philosophy. The new system has to work
immediately because the old system is not available to fall back on.
Conversion takes place all at once, rapidly (perhaps overnight). This method of conversion require
much more careful and detailed planning than the other alternatives. This is the cheapest but most
dangerous way.
Advantages
i) It’s the simplest method
ii) No extra work in running the two systems together for a time therefore cheap method.
iii) Leads to thorough planning and testing
Disadvantages
i) There is high risk i.e. if the new system is disastrously prompt its difficult to recreate the old
system.

Pilot changeover
Produces a working version of the system that is installed in only part of the organization. Its used
specifically for new applications which the company has no previous experience and they do not
know what to expect.

Only a small piece of the business is converted to the new system. The rest of the old system remains
in place for the time being. Review the new system at the branch until you are satisfied with the
performance. Then start implementing the new system with the whole organisation. This method
takes a longer time to implement but it has a backup system

Compiled by Joan karani 33


System Analysis and Design
Advantages
i) Considerable control is retained and no risks are taken even if direct changeover is applied to
each area.
ii) It can aid the personnel to assist each other in understanding the system i.e those involved I
the pilot can assist others.
Disadvantages
Time is needed to collect and collate the data to be used.

Phased changeover
It means changing over different parts of the system at various times i.e it involves the gradual
implemenation of parts of a much larger system over an extended period of time. Its appropriate for
very large applications that are simply too big and complex to instal all at once e.g an accounting
system that includes various sub-systems such as payroll, accounts receivable, accounts payable and
inventory control.

Instead of installig all these at one time, the company might decide to bring them on line one at a
time. The actual order is dtermined by the needs of the business. The old system is replaced by the
new one gradually over time. This allows an organisation to begin taking advantage of the newly
developed support tool while retaining flexibility to cope with any deficiencies.
Advantages
i) Users do not have to wait until the entire system is finished to use a portion of it.
ii) The system is checked in phases for the correctness and suitability of its use.
Disadvantages
i) The system may not easily be split into phases
ii) The implementation using phased changeover can be dangerous since the interface with other
systems can be overlooked.

Parallel changeover
It’s the safest method and it runs both the existing system and the new system sidfe by side. One
acts as a back-up to the other and as a benchnmark for comparison of how well they function. If one
fails, the other continues.

When satisfied with the performance of the new system, the old system will be discontinued . This is
the most costly method, but the safest.

Its suitable for critical operations i.e if one fails the other continues.
Advantages
i) It’s the most secure method
Disadvantages
i) Most expensive method since it may require additional personnel and resources
ii) Its time consuming
iii) Users may resist using both since they know one can make their work easier
iv) The responsibility of staff may change between systems leading to confusions.

Note: Deciding on a particular changeover strategy will depend on a particular situation and the
needs of the users.

Compiled by Joan karani 34


System Analysis and Design
d) MAINTENANCE AND REVIEW
Post implementation review determines whether or not the system has been successfully
implemented. There should be enough time between implementation and review for the users to
thoroughly examine the system. The post implementation review team reviews the project, prepares a
post implementation review work plan, conducts fact finding activities, prepares and presents reports
to the steering committee.
Maintenance represents the greatest expenditure of effort and resources for computerized systems.
Its necessary due to change in business information needs to external and internal factors. All systems
contain inadequacies and errors overlooked during system development. Modifications aim at:
 Improving and enhancing the system
 Correcting errors
 Interfacing systems with other application systems and technologies.

Types of maintenance
1. Corrective maintenance
This entails actions to eliminate errors and failures. This can be achieved through changes in
procedures, techniques, computer code and documentation. The principle type of corrective
maintenance is correcting problems associated with integrity and/or reliability of system programs.
Integrity problems may be due to inadequate data validation, invalid data usage, improper or invalid
processing. Reliability refers to error free execution with minimal downtime.
Corrective maintenance can be in form of audit checking which tracks the processing of data
following maintenance activities to compare processing results with values in form of benchmark
testing which involves testing a system to determine whether it performs according to expectations.

2. Perfective maintenance
This seeks to enhance system performance, improve system cost-effectiveness and improve system
maintainability. This can involve having well written algorithms or processing techniques in
programs, well designed forms for input and output, updated computer languages and language
translation, improved storage format, faster communication software and hardware and faster
computer processors.
Perfective maintenance involves redesigning and or developing an existing system. It aims at
improving:
 System performance
 Cost effectiveness e.g. the number of reports produced
 Maintainability

3. Adaptive maintenance
Refers to responds to changes in internal and external environment and may involve enhancements to
related systems. External factors can be competition, regulations from the government etc. internal
factors can be software, communication hardware, storage media etc.

Factors that influence maintenance activities


 Type of application
 The size of the system
 Complexity of the systems and programs
 Dependency within and between systems
 Level of user understanding
 Level of user involvement in the project
 Quality and completeness of the development documentation.

Compiled by Joan karani 35


System Analysis and Design
e) SYSTEM DOCUMENTATION
Includes a wide range of technical and non-technical books, manuals, descriptions and diagrams
relating to the use and operation of a computer system.
Standardizing the documentation
Standardizing the documentation rather than allowing a system analyst to provide the information in
whatever way s/he chooses has several advantages i.e:
i. Aid to analysis – Information recorded in a standard way makes it easy for the analyst to
absorb the facts about a system more quickly. It also helps the joint analysis of a system by
two or more system analyst working together.
ii. Aid to communication – It reduces the likelihood of ambiguity and misunderstanding and so
helps the system analyst to communicate clearly with each other, programmers and computer
operating staff.
iii. Aid to design – Because the design works to a standard specifications, the system analyst
would be less likely to loose track of his/her thoughts over time
iv. Aid to completeness – a standard provides a check list of items to cover in the design. It
ensures that the design is completed in full.
v. Aid to control – Preparing standards is a stage in the design process and so they help with
management control of a project to design a new system. A target date can be set for the
production of the documentation standards for the planned system.
vi. Aid to training and learning – New data processing staff can learn a system more quickly if it
has been specified and documented in a standard way. This facilitates continuity, given the
inevitability of staff turn-over over a time in data processing department.

Types of documentation
1. System Specification
It’s a complete documentation of the whole system and must always be properly maintained as parts
of the system are changed. The documentation contains:
 Introduction – background details, objectives of the system etc
 System description – clerical and computer procedures
 Input design – forms or screen designs
 File design/database structure
 Implementation procedures
 Controls
 Equipments for running the system/hardware

2. Program Specification/documentation
Is a complete description of a program. It consists of flowcharts, program listing, test data and
expected results of each functional program testing.

3. Computer Operational Manual/Operational Documentation


It provides full documentation of the operational data processing procedures necessary for the
“hands on” running of the system. It covers:
 System set-up procedure – full details for each application of the necessary file handling and
stationery requirements
 Security procedures – stress placed on the need for checking the proper authorization for
particular processing operations and the need to restrict use of the machines by unauthorized
operators.
 System messages – A listing of all messages likely to appear on the operators console
together with an indication of the responses which they should invoke.

Compiled by Joan karani 36


System Analysis and Design
 Operating software manual – These are manuals describing an operating system that is being
used with the system.
 Reconstruction control procedures – Precise instructions given in relation to matters such as
file damping and also the recovery procedures to be adopted in the event of a system failure.

4. User Manual
This gives users information necessary for the successful running of the program but do not include
the program specification. Its written to explain the system to user departments whose staff need to be
aware of their own responsibilities e.g. in relation to input and output. It covers:
 Input – Responsibilities and procedures for preparation of input
 Error reports – Full explanation of the nature and form of error reports and instructions on the
necessary actions to be taken
 Output – Different types of outputs from the system, how its produced etc.
 File management – The types of files used, changing and saving the files.

5. System Changes Manual


Amendments to the original system specification will almost inevitably occur, in addition to the
computerization of additional company activities. The objective of the system changes manual is to
ensure that such changes are just as strictly controlled as was the case with the original system
development. Four matters covered are:
 Recording of the request and reason for a change
 Procedures for the authorization of changes
 Procedures for the documentation of changes
 Procedures for the testing of changes.

Compiled by Joan karani 37


System Analysis and Design
ALTERNATIVE APPROACHES TO SDLC
1. WATERFALL MODEL
~ Refers to a set of predefined steps followed in developing a system. It centers around planned
work. The cycle shows how the stages are inter-related and how the whole cycle constantly
involves referring back and going back to what has already been done. This cycle is a form of
recycling, reworking of a previous stage in the light of subsequent work.
~ There is constant referring back to the requirement specification. This process of referring back is
known as Iterative process.
Components of the cycle
1. Feasibility study
Is the study carried to find out whether it is possible to develop a system to solve the organization
problem. This is an initial study that must be undertaken before any work can commence.

2. Requirement specification
This will contain a general description of the system which has to be designed. It will act as a general
guide to the rest of the document and it consist of the following
a) What is the system expected to do? This will show the objective of the system. It should
also give measure to this objectives
b) Who will use the system? It should show the list of users and their competence
c) What is the minimum the system must do? This will specify the minimum requirements
and keep the designer from developing an over complex system that is not necessary

3. System design
In this step, the requirements are translated into a suitable system showing the flowcharts, structure
charts, sub systems, procedures and functions

4. Programming
In this stage, the design is translated into sets of instructions which are coded into the machine

5. System testing and implementation


Testing involves locating of errors and correcting them.
Implementation is to set the system into work. This can be done by installing the new system and
training the users.
6. system operation and maintenance
in this stage, we keep the system in good working condition and if a problem occurs, it must be
corrected so as to maintain the system working.

Compiled by Joan karani 38


Feasibility
study
System Analysis and Design
Waterfall model (iterative i.e. has feedback)
Requirement
specification

System
design

Detailed
design

Programming

System testing
and
implementation

System operation
& maintenance

2. PHASED APPROACH
Its an approach that specifies that one can develop and specify precisely a system in a top-down
approach. Successful phases elaborate the system in increasing detail with each phase defining partial
solution then calling for more detailed evaluation in the next phase. One phase must be completed
before the next phase start. A phase cannot be reviewed or repeated.
It sets the direction to the remainder of the project and must be completed before the project can
continue. It has five phases namely:

Phase 1: Initiation of systems projects


This phase defines the user requirements of the new system. It defines the proposed business solution
and any new or changed business process, usually with sample scenarios.
Provides a broad statement of user requirements in user words on what the user expects the system to
do thus set direction for the whole project. It also sets bounds which define what parts of the system
can be changed by the project and what parts are to remain the same. The resources are also made
available at this phase.
The major factors are identified at this phase are
a) project goal
b) project bounds
c) Terms of reference for the project.
Resource limitations are also specified to indicate the funds and personnel available for the project.
His will include a rough idea of the resource requirements of each of the subsequent project phases.
It will also contain tentative start and completion dates for each phase and number of personnel
expected to be involved in each phase.

Compiled by Joan karani 39


System Analysis and Design
Phase 2: Detailed systems investigation and analysis
During this phase, it is necessary to find out more about what the systems problems are and what
users require of any new or changed system.
The system analyst carries out the following activities:
a) Producing a detailed analysis model describing how the current system works
b) Using the statement of requirement together with the more detail system analysis to state what
is needed from the new system
c) Producing a detail model in subject terms of what the new system would do and how it will
work
d) Producing a high-level description of the system requirements
The analyst must gather information regarding the system through fact finding techniques in order to
produce the analysis model.
It entails spending considerable time examining components such as the various forms ued in the
system, the operation of the existing system etc. the goal is to produce clear statements about the
current system and how the new system will be developed and work.
A number of output reports are generated at this phase i.e:
a. Analysis model: It describes the existing system
b. A requirement model: It specifies resources necessary to design the new system and how it
will work
c. A design model: It shows what and how it is expected to work
d. Project development plan: Defining the expected completion dates
e. Test plan: Defining any tests that are to be carried when and how for each detailed
requirement.

Phase 3: System design


Here the system analyst produces a design specification for the new system. He selects equipments
needed to implement the system. The requirements are translated into a suitable system showing the
flowcharts, structure charts, sub systems, procedures and functions
The analyst identifies the main architecture of the proposed system; he produces detailed procedures
that describe how the system will be developed. Necessary forms such as input, output, files,
databases are also developed during this phase.

Phase 4: System development


Individual system components design are built at this phase.. Programs are written basing on the
design procedures, user interfaces developed and database initiated with data.
System testing is also carried out during the development phase to ensure the system developed
performs as expected to. Individual modules are tested then combined and tested again together.

Phase 5: Implementation and evaluation


The components built during development are now put into operational use. Any changeover strategy
can be used to put the developed system into work.
Users are trained on how to use and work with the developed system before they start using it.
The system is considered to be working when phase 5 has been completed. However, a number of
activities still take place i.e post implementation and maintenance.
Post implementation refers to evaluating the new system to see if it satisfies user requirements and
goals set. It may also suggest minor changes if any.
Maintenance is necessary to eliminate errors in the system during its working life time.

Compiled by Joan karani 40


CUST-ORDER
Order No
System ItemAnalysis
No and Design
SYSTEM Price APPROACHES AND METHODS
1. STRUCTURED
Quantity SYSTEM ANALYSIS
~ Structured methodology is an approach in which analysis and design and programming activities
Compute
are brokenorder
down into smaller easily managed parts. By virtue of their size, many systems and
Compute amount
programs appear complex but if they are broken down into smaller cohesive units they become
Compute
much easiertax
to design and develop.
~ The methodology helps prevent re-inventing the wheel i.e. it induces re-using some units of the
system as units of other systems thus increasing the volume of re-usable specification in
performing structured system analysis.
~ Different modeling techniques are used (these are methods used to illustrate organizational object
activities as associations). It may be graphical or textual.
Modeling techniques used
i. Data modeling – where diagrams and text entries are used to identify and provide facts about
business objects e.g. ELH, ERD
ii. Process modeling – involves the decomposition of business activities into functions,
categories of processes within functions and sub-categories of major process e.g. DFD
iii. Activity modeling – example is the system flowchart
iv. Procedure modeling – program flowchart ,HIPO (– Hierarchy Input Processing Output)
diagram, pseudocode and structured English
v. Object oriented modeling method – a relatively new technique which combines data
modeling and procedure modeling into one modeling methods. It has an entity which
represents an abstract representation of the world entity.
The object used to depict the real world entity will also list its properties as part of object. The
objects of object oriented and design also lists the procedure to be performed on a particular
object. These procedures are called object services e.g customer order object.

Advantages of object oriented and design


i. The combination of data modeling and procedure modeling
ii. Elimination of redundancy in specifying procedures to perform on data objects

Compiled by Joan karani 41


System Analysis and Design
STRUCTURED SYSTEM ANALYSIS AND DESIGN METHODOLOGY (SSADM)
This is an integrated set of standards and guides for the analysts and design of a computer system.
It came into being due to poorly-developed systems since requirements were produced in a sketchy
manner and as quickly as possible in order to get on with what was perceived to be the real work i.e.
coding. Its set of standards and guidelines consists
≈ Structured standards: Defines the structure of development project in the form of defined tasks
with clearly defined inter-phases between them and clearly defined tangible products.
≈ Technique guides: Provides the development staff with a set of proven usable techniques and
detailed rules and guidelines on when and how to use them.
≈ Documentation standards: Provides the means of recording the products of development activity
at all levels.
SSADM was introduced in 1981 as the standard method of analysis and design and was developed by
Central Computing and telecomming agency (CCTA) for UK government products. It was adapted
by system analysts and design in 1988
System development in earlier days was characterized by
 Limited user involvement
 Inadequate requirements elicitation
 Use of ad hoc analysis and design techniques
 Time consuming use of 3GL tools
 Inflexible files and 3rd generation database management systems
These systems did not satisfy business requirements. These problems led to development of
structured methodologies to introduce best practice techniques to the analysis and design
phase/process.
SSADM adopts a prescriptive approach to information systems development in that it specifies in
advance the modules, stages and tasks which have to be carried out, the deliverables to be produced
and furthermore the techniques used to produce the deliverables
SSADM adopts waterfall approach model of system development where each phase has to be
completed and signed off before subsequent phases can begin.
A variety of other structured methodologies include
a. STRADIS
b. YSM
c. MERISE
d. EUROMETHOD
Benefits of SSADM
i. Enables developers to deliver system to user on time. Timeline depends on two things i.e. good
planning and good management & control
ii. Enables developers or designers to deliver systems that meet user needs. By continuously
involving users by modeling business activities and work practice, by using proper typing, by
making the IT professionals think visible through their grammatic techniques. SSADM ensures
success on large and small projects
iii. Enables developers to deliver systems which responds to changes in business environment.
Business activity modeling ensures that the focus of the project is on what the business requires.
The system documentation produced make visible the following:
≈ Business objectives
≈ Analysis thinking and understanding of business objectives
≈ The links between the means business and the system under development
≈ A précised specification of the design, maintenance and enhancement application
iv. Improve the effectiveness and economic use of the skills that are available. Due to the use of
most commonly available skills e.g DFD & JSP, SSADM promotes the effective use by aiding
forward planning and building up the skills based in the organization and on particular projects.
Compiled by Joan karani 42
SSADM
System Analysis and Design Feasibility Study
Problem definition
v. Improve quality by reducing error rates. Quality can be improved by detecting errors early in
the life cycle especially by involving users as well as skill practitioners in checking for errors
Techniques promote accuracy with adequate checks of completeness and consistency by defining the
System Investigation
required quality of design documents and stating the tests for them SSADM promotes better quality
management.
SSADM covers only a section of the system development life cycle i.e feasibility study, system
investigation, system analysis and System Analysis
system design.

SSADM in SDLC System Design Develop testing

Implementation &
Review

Maintenance

N/B: In SSADM each stage is broken down into steps which are named and have unique numeric
identifiers and steps are further subdivided into tasks which are identified by numbers.

Compiled by Joan karani 43


Feasibility
Requirements Stage
Study 0
Specification Technical system
Logical
Physical Systems
Business Specification
Stage
Investigation
Design
Stage
Stage
Physical
Requirements 4632ofoptions
1
Design
Analysis
Stage 5
systems current
Feasibility
Definition
Environment of options
Logical Design
System Analysis and Designrequirements

Modules and stage of SSADM

What SSADM will not do


i. It does not replace the skills and expertise of the system analysts i.e the method should not be
used as a substitute for trained and experienced staff.
ii. It does not produce coding nor does it cover the use of program design methods.
iii. It does not cover other activities associated with system design and implementation e.g
equipment procurement, site preparation etc which must take place in parallel to the SSADM
tasks.
Disadvantages of SSADM
i. A lot of time may be spent on investigation of the current system particularly where there are
a multiple of the current system
ii. Difficulties may be encountered in using design tools for communicating purposes.

Compiled by Joan karani 44


System Analysis and Design
2. CONVENTIONAL APPROACH
It aims at ensuring that the process product and the resources investigated are managed responsibly. It
was introduced by a man called Roger Clarke.
The principles of the approach include:
≈ It deals with all components of the system hardware, software and human activity
≈ There are many review activities that check the product, the process and resource usage
≈ The process is cyclical i.e each version of a product becomes part of the environment within
which the next version is developed (applications are not developed from scratch)
Important elements of conventional approach
Phase: Is a broad set of related tasks
Task: A specific activity within a defined phase.
Checkpoint milestone/deliverable: A defined outcome whose delivery signals completion of a
phase/task.
Phases of conventional approach
1. Project planning: Establish purpose scope and stakeholders. Cost and benefit analysis is also
done.
Checkpoint : Agreed terms of reference
2. requirement analysis : What the product is to do
Checkpoint : An agreed system requirement statement
3. System design: How product is to perform functions
Checkpoint : An agreed system design specification
4. Construction : Evaluation and acquisition of existing software, writing additional software
and integration of parts
Checkpoint : An integrated application that satisfies defined quality standards
5. Implementation: Introduction of series into usage by the intended clients
Checkpoint : an accepted operational service
6. Operation: On-going use of the system
Checkpoint : Provision of incident reporting and dealing with errors
Note: Review is taken at completion of all phases and of major tasks on a periodic basis
Purpose of review
≈ To asses progress and delays
≈ To account for resource usage
≈ To explain material variances from resource allocations and elapsed time schedule
≈ To identify any remedial action that may be necessary
≈ To assist in planning of future phases and tasks
≈ In case of serious negative variances, review provides the management with information to
support a “go on” or “no go on” decision about construction of the project.
Important points about conventional approach
1. It provides for incremental versions from initial versions of a particular product called releases.
Release numbers allow for multiple minor release within a major release
2. It provides a valuable framework for project management. It establishes the basis on which
experienced project managers can perform risk assessment and establish a risk management
strategy

Compiled by Joan karani 45


Problem situation Action to improve the
considered
System Analysis and Design problem situation
problematic
3. SOFT SYSTEM METHODOLOGY
 It was developed by Prof. Peter Checkland and it is a way of dealing with problem situation on
which there is no high socio-political and human activity components.
Changes: It was published in 1981. it
systematically
deals with soft problems which are difficult desirable,
to define,culturally
have a feasible
large social and political
components.
 Prof. Peter Checkland had worked with a number of hard system methodologies and saw how
inadequate they were dealing with extremely complex problems and thus he did a research in
1960, in attempt to build soft systems.
Problem situation Comparison models Real world
STAGES OF SSM
expressed of real world

Systems
thinking about
real world

Conceptual models of
Root definitions of the systems named in
relevant purposeful root definitions
activity systems

Compiled by Joan karani 46


System Analysis and Design
1. Problem situation
Involves finding out about the problem situation i.e who are the key players and how does the process
work. It also entails assessing the general area of interest

1. Problem situation expressed in rich pictures


Refers to expressing the situation in all its richness through rich pictures (showing social, political
interaction between stakeholders).
Structures, processes, climate, people, issues expressed by people and conflicts should be included in
rich pictures i.e key questions are asked e.g what are the structures..?

2. Root definitions of relevant systems/naming relevant systems


Refers to root definitions because it is a stage out of which everything else grows. It moves out of the
real world into the systems world.
It involves selecting how to view the situation and producing different perspectives of looking at a
problem situation (root definitions)
CATWOE analysis is carried out at this phase.
C- Customer: - refers to those untrained or to be trained
A – Actor: - Project evaluators
T – Transformation: - The need for trained, experienced people is transformed to a full filed need
W- WorldView/ Weltanschauung : - Training can emerge from a careful planning of work with
view to provide suitable experience
O- Owner:- The organization/company
E- Environmental constraints: - Core tasks.

3. Developing/building conceptual models


Involves developing conceptual models of what the system must do at each root.

4. Comparison of models and real world


The model developed is compared with reality, insights drawn from comparisons and ideas for
improvements determined.
It looks at each component for model and ask questions such as:
 Does it exist in the real world?
 How does it behave?
 How is its performance identified and measured?
 Is this process any good?

5. Develop desirable and feasible interventions/changes


Possible interventions are explored. Identify feasible and desirable changes i.e.
 System based analysis
 Who has the authority to take action
 Social systems analysis – How do the various roles, norms and values present in the real
world relate to the conceptual model
 Political analysis – How is the power expressed in the situation being studied?

6. Action to improve the situation


Recommendation for taking action to improve the problem situation are made and changes
implemented.

Compiled by Joan karani 47


System Analysis and Design
4. COST-BENEFIT ANALYSIS
Classification of costs and benefits
Costs and benefits must be measured and quantified to justify a project or a new system. Typically,
costs and benefits falls into 3 categories
a. Fixed versus variables
b. Tangible versus intangible
c. Direct versus indirect
The analyst has a demanding task in assigning amounts to many types of costs and benefits in a
system. This task should be undertaken with a great deal of care.
a. Fixed versus variable costs or benefits
~ Fixed costs or benefits exists across different time periods but may increase in amount from
period to period. Examples of fixed cost are employee salaries, hardware charges. Example of
fixed benefits includes reduction of total employees because of a new system.
~ Variable costs or benefits changes both in its existence and in its amount depending on
circumstances. Examples of variable costs include amount charged in using a computer. Variable
benefits – time saved in processing a sales invoice (Total amount of time saved would depend on
the number of invoices processed.)

b. Tangible versus intangible costs and benefits


~ Tangible means touchable and non-abstract thus a tangible cost or benefit is concrete and easily
identified and measured. Example of tangible cost is cost of new hardware or equipment.
Example of tangible benefit is expected employees time savings from using this new equipment.
~ Intangible means something abstract/vague. An intangible cost or benefit is generally easy to
identify but difficult to measure. Example of intangible cost – lost confidence in information
systems or dissatisfaction caused by changes in the way end users must use the system.
~ Intangible benefits includes elevated user self esteem resulting from being able to function with a
more elaborate human/machine interface and an improved corporate image.

c. Direct versus indirect costs or benefits


~ A direct cost or benefit relates directly top a particular action. Example of a direct cost – salaries
of 3 programmers assigned 100% to a particular project. Example of direct benefit – Ability to
ship orders two days sooner because of a new order entry system.
~ An indirect cost or benefit is difficult to associate with any particular project. An example of
indirect cost is electricity used by a firm (its difficult to allocate a fair amount of total cost to any
single user of electricity).
~ Indirect benefits e.g. improved decision making as a result of installing a new system (its difficult
to measure quantitatively)

Evaluation methods used in cost/benefit analysis


~ Costs and benefits analysis is where each cost or benefit is evaluated in relation to each
alternative. Numerous methods are used to accomplish these tasks. Methods used include
a. Payback analysis
b. Break – even analysis
c. Net present value analysis
d. Present value analysis
e. Cash flow analysis
f. Return on investment
g. Depreciation model

Compiled by Joan karani 48


System Analysis and Design
a. Payback analysis
~ This determines the time it takes for the benefits to equal the initial investment. The analyst
calculates how long it takes for the benefits to pay back the costs incurred during development
and usage. The simplest form of this determination is
Pay –back = investment .
After tax yearly savings

Example : Assume a project requires an initial investment of 1,000,000 shillings with a yearly after
tax savings of shs. 250,000 resulting from completion of the project. Using pay back analysis
Pay –back = 1,000,000 . = 4yrs.
250,000

Example: Suppose a company ABC ltd has identified a project whose cost is 100,000 and will
generate the following returns
Years shs
1 30 000
2 20 000
3 40 000
4 20 000
5 0 000
The pay back period will be:
To obtain the actual period =
Cost = 100,000
Year 1 = 30,000
Year 2 = 20,000
Year 3 = 40,000
Total = 90,000
The project needs 10,000 in the fourth year to payback cost of the project. To obtain this actual
period from the 4th year :
Part of the outstanding cost . X 12months
Total return for that financial year

i.e 10,000 x 12
20,000
= 6months.
Therefore payback period = 3years + 6months
= 3 ½ years.

Note: Using payback analysis, a venture should be accepted if its payback period is less or at most
equal to the term of the loan raised to finance the venture e.g if a loan is for 3 years term, payback
period should be less than or equal to 3yrs.

Advantages of payback approach


1. Simple to understand and easy to use in evaluating the viability of a venture
2. The approach dose not entail any cost on the part of the company thus cheaper use to gauge
the viability of a venture
3. For companies operating in high risk areas, it’s a powerful tool as it will choose the venture
that pay back earliest which minimizes the risks associated with returns which will be
generated some time in future and which may be uncertain.

Compiled by Joan karani 49


Cost kshs 20,000
System Analysis and Design
4. Allows the company to identify those Current system
ventures which can pay earlier which will improve the
liquidity position of the company
Disadvantages of payback approach
1. Ignores time value of money. Money looses value with time. A shilling now will have lesser
value than a shilling received five years from now. It ignores this fact and adds together a
shilling received now to a shilling to be received five years from now.
2. Ignores all returns generated
Returnafter the payback period as these are not part of the payback.
on investment
3. Incase a project does not yield uniform returns, its payback period will not be accurate as it
will assume that the last returns needed to pay off the cost of the investment will be generated
on a uniform basis.
Investment
b. Break – even analysis
~ This determines the point at which the cost of the proposed system equals the cost of the current
system or the cost of a new system equals its benefits.
~ After determining the break even point, the analyst subjectively evaluates conditions evidenced in
1000its
the project to access units
acceptability.
Generalized break even diagram for a proposed system and the current system

~ A thousand units constitute the break even point or the point at which both systems cost the same.
After reaching the break even point, the company experiences a profit.
~ Up to 1000 units the old system is more economical than the new system. After 100 units, the
proposed system becomes more economical.
Note: The first two costs and benefits analysis methods do not allow for the time value of money,
present value and net present value do.
~ In evaluating project costs and benefits, the value of money over the period required to develop
and install the system must be taken into account. Analysts should consider real value of money
relative to the prevailing interest rates when analyzing alternatives. This real value of money
reflects using money for investment purposes rather than for financing development projects. In
addition, firms often find it necessary to borrow money to finance development projects as a
result; the firm must bear the cost associated with the interests being charged.

Compiled by Joan karani 50


System Analysis and Design
Present value analysis
~ Assume a company will need 25,000 at the end of 3 years to make a hardware purchase. How
much money do you need to invest now at an annual compound interest rate of 10% to produce
the amount in 3 years using present value formulae;
P=F .
(1+i)n
Where:
P = Principal sum/present Value
F = Future Value
i = Intrest rate
n = No. of years/interest period
~ Using present value analysis to evaluate alternatives, assume an analyst considers two alternatives
that provide identical services to a project. Each system is expected to have a useful life of five
years. Costs vary from year to year and between projects. Assume an annual interest rate of 10%
Year Project costs Present value Calculated Present costs
multiplier value
A B 1/(1+i)n A B
1 10,000 16,000 0.909 9090 14544
2 10,000 10,000 0.826 8260 8260
3 15,000 11,000 0.751 11265 8261
4 12,000 10,000 0.683 8196 6830
5 4,000 3,000 0.621 2484 1863
51,000 50,000 39295 39758

~ Alternative A has a lower present cost. If the analyst considered only future costs, using present
value analysis, it shows that initial impressions can be misleading. The analyst would prefer the
alternative with the lowest present value cost estimate of a full lifetime of the project. The
accumulated present value cost of A is lower thus the best alternative.

c. Net Present value analysis


~ The method determines the present value of benefits derived from the alternatives. It calculates
the net present value or benefits less costs for each alternative

NPV = . A1 + . A2 + . An . -C
(1+ i)1 (1+ i)2 (1+ i)n

Where:
A1, A2, An represents future cash flow or returns from a project
i represents discounting rate/ interest rate
n represents expected life of investment
C represents cost of the investment
Example: Assume an active and useful lifespan of 10years

Compiled by Joan karani 51


System Analysis and Design

YEAR ALTERNATIVE A ALTERNATIVE B MULTIPLIER NET PRESENT


VALUE
Costs Benefits Costs Benefits A B
1 10,000 1,000 16,000 0 0.909 -8181 -14544
2 10,000 4,000 10,000 3000 0.826 -4956 -5782
3 15000 6000 11000 5000 0.751 -6759 -4506
4 12000 7000 10000 6000 0.683 -3415 -2714
5 4000 7000 3000 8000 0.621 1863 3015
6 5000 20000 3000 18000 0.565 8475 8475
7 6000 24000 5000 22000 0.514 9252 8738
8 6000 24000 6000 25000 0.467 8406 8873
9 7000 22000 7000 22000 0.425 6375 6375
10 8000 4000 9000 19000 0.386 5418 3866
16078 11780

~ The accumulated NPV for A is 16078 and B is 11780. Since A has the highest NPV, it should be
the selected alternative.

Assignment:
An analyst received the current system for handling retail mail order sales in a big company. After
analysing the situation and deciding on what to do, the project team identified several alternatives i.e
a. An IBM personal computer token ring network with specially developed software
b. An IBM personal computer token ring network with purchased software
c. A Compaq tower 32 mini computer system
For analysis, the project leader chose a discount value of 18%. Given below are estimated costs
and benefits over a number of years.

Alternative A
Year benefit cost
0 0 86,298
1 850,000 86,298
3 “ “
4 “ “
5 “ “

Alternative B
Year benefit cost
0 0 77,050
1 971,296 150,300
3 “ “
4 “ “
5 “ “

Compiled by Joan karani 52


System Analysis and Design
Alternative C
Year benefit cost
0 0 111,869
1 971,296 23,928
3 “ “
4 “ “
5 “ “
Use an appropriate evaluation method to determine the best alternative.
Which other factors are likely to influence the decision on the best alternative

Compiled by Joan karani 53


Driver Drives
Drives
Driver
Driver Drives Car Car
Car
System Analysis and Design
SYSTEM DEVELOPMENT LIFE CYCLE II
DESIGN TOOLS
1. Entity Relationship Diagrams (ERD)
Is a major data modeling tool which helps organize the data into entities and define relationship
between the entities. Information found in ERDs include;
i. Entity: anything real or abstract about which we want to store information employees books,
towns etc
ii. Relationship: A natural association that exists between one or more entities.
Cardinality defines the number of occurrences of one entity for a single occurrence of the related
entity. Relationships can either be
a. One to many (1:M)

Example: A driver drives many cars.

b. Many to Many (M:M)

A driver drives many cars. A car is driven by many drivers.

c. One to One (1:1)

A driver drives one car. A car is driven by one driver.


iii. Attribute: Is a characteristic common to all or most instances of a particular entity e.g for
entity employee attributes may include employee number, name, address etc.
The primary key (identifier) is an attribute or combination of attributes that uniquely identifies
one and only one instance of an entity. Attributes can be shown inside an entity box or below the
ERD. Once the ERD has been drawn, there is need to break down the many to many relationships
for easier interpretation.
Steps followed in developing ERD include:
1. identify entities
2. find relationships
3. draw a rough ERD
4. fill in cardinality
5. define primary keys
6. identify attributes
7. draw a fully attributed ERD
8. check results

Compiled by Joan karani 54


DEPARTMENT Run SUPERVISOR
by
System Analysis and Design
Example:
A company has several departments each department has a supervisor and at least one employee.
Employees are assigned to at least one but possibly more departments. At least one employee is
assigned to a project but employee may be on vacation.
Assi Solution: EMPLOYEE Wor PROJECT
gne ks
d Identify entities
on
Department
Supervisor
Project
Employee

Identify relationships
Department: supervisor 1:1
Employee: department M:M
Employee: project  M:M

Draw a rough ERD

Define primary keys (pk)


Department – dept name
Supervisor – supervisor no
Project – project no
Employee – employee no

Identify all attributes


Entities attributes
Department – dept name
Supervisor – supervisor no, supervisor name
Project – project no, project name
Employee – employee no, employee name

Note: once the ERD has been drawn, there is need to break down the many to many relationships for
easier interpretation.

Compiled by Joan karani 55


DEPARTMENT Run SUPERVISOR
by
System Analysis and Design

Assi EMPLOYEE - Invol EMPLOYEE


gne DEPARTMENT ves
d

Wor
ks
on

PROJECT Wor EMPLOYEE - PROJECT


ks
on

Assignment:
Consider a, hospital patients are treated in a single ward by the doctors assigned to them. Usually
each patient will be assigned a single doctor but in rare cases they will have two. Health care
assistance also attends to the patients and a number of these are associated with each ward. Use an
ERD to illustrate the situation.

2. State Transition Diagram (STD)


Is a way of describing the time dependent behaviour of a system and have been used in object
oriented modeling. They describe all of the states that an object can have, the event under which an
object changes states (transitions), conditions that must be fulfilled before the transition will occur
(guards) and the activities undertaken during the life of an object (action).

The most popular variety of STD is the Harel State chart which was introduced by Rambaugh and
was adopted in UML (Unified Modeling Language) – which is a notation used to document object
oriented systems.
The UML notations for STD include:
i. State: a condition during the life of an object in which it satisfies some condition, performs
some action or waits for some event
ii. Event: This is an occurrence that may trigger a state transition. Event types include an
explicit signal from outside the system, a signal from inside the system, the passage of a
designated period of time or a designated condition becoming true.
iii. Guard(condition): is a boolean expression which if true enables an event to cause a
transition
iv. Transition: is the change of state within an object.
v. Action: one or more steps taken by an object in response of a state change.

Compiled by Joan karani 56


(acceptable)
System Analysis and Design
Example: When bidding is started a timer is set. And the bids are listed. If accepted, the bids are

Bid
made active. Active bids have to be tested to see if they are still acceptable after which they are sold.
Selling of the bids involve notifying the buyer and the seller. Listed bids can go into an ignored state
Start bid if the time is expired but later they can beBid
re-listed. Illustrate using a STD.
(acceptable)
Timer Listed Active

Bid time expired Re-listed Notify buyer


Notify seller

Listed Sold

Delete timer expired

Disadvantages of STD
i. They mean that you have to define all the possible states of a system which is only possible for
small systems. For larger systems, STDs may become far too complex for much practical use. (To
solve this, define separate STDs for each case)
ii. They are not good at describing behaviour that involves several objects.

Compiled by Joan karani 57


System Analysis and Design
3. Data Flow Diagram (DFD)
They are tools used for modeling or documenting the system as a whole in a structured way. It shows
how data moves and changes through an information system in a graphical top-down version. It’s
the most frequently used of the structured methods for modeling business processes. The DFD uses
four basic elements (symbols). Although the style of these symbols vary in different publications, the
meaning is the same.

As with other graphic techniques, there is a limit to the amount of detail that can be shown while
retaining the essential clarity of the diagram. It is therefore necessary that every symbol be given a
name that can then be looked up in the documentation to obtain more details.
Symbols of DFDs

Or Process: Refers to any activity that alters data

in any way. It modifies or changes data from one form to another e.g. process of calculating pays.
The name of the process is placed inside the symbol and it should identify the function that it
accomplishes e.g calculate, verify order, fill order etc. They can also have unique numbers.
Each process has one or more data inputs and produces one or more data outputs. A process on one
DFD may decompose into multiple sub-processes on a lower level DFD through the action known as
explosion.

Entity: May be a person or group that is an initial source or final destination of data objects. External
entities are outside the system but they either supply input data into the system or use the system
output. External entities that supply data into a system are called sources. External entities that use
system data are called sinks.
Entity names may be repeated only when they represent the same entity.

Data flow: Represents connection between processes and other data objects. They are a pathway by
which data moves from one part of the information system to another part. You place the name of the
data flow above, below or alongside the line.
Note: data does not flow from one data store to another or from a data store to an entity or vice versa
without being processed.

Data store: Is a holding area for data either permanent or temporary. They correspond to master files
of data whether they are manual, computerized or a database or indeed any unit of stored data.

Each data store has a unique name. in the design dictionary, data stores are classified as read only,
write only and read/write.
Use specific names for data stores e.g customers orders, last years receipts etc.

Explosion in DFDs
Since DFD modeling method is a top-down analysis and design method, explosion of process is
necessary and this results in a hierarchy of DFDs that represent a general to detailed decomposition
of processes.

Compiled by Joan karani 58


Order Credit Customer credit files
Customer Order processing
Delivery Status
System Analysis and Design
Types/Levels of DFDs
a) Level-0 DFD: These contain a single process or a small number of processes that
explain the area of business under study from a contextual perspective. They are also
referred toStock files level DFDs.
as context
b) Level-1 DFD: This is obtained from the exploding of level-0 DFD. It provides greater
detail for the level-0 process.
c) Level-2 DFD: It shows sub-levels of each process from level-1 DFD.
Qualities of a good DFD
i. Should have no data flows that split into a number of other data flows
ii. Should have no or less if any crossing lines
iii. Should not include data flows that act as signals to activate processes.

Rules in creating DFDs


i. Within the scenario description, only essential words and phrases need to be modeled. Synonyms
should always be rejected.
ii. Words like detect, use, accept, retrieve imply input
iii. Words like written to, display, print, operate on, update imply output
iv. In context diagram (level-0), work left to right with input to output
v. At level-1 and 2, ensure there is a balance in the data flows. This generally means that there
should be appropriate input to a process before there can be a required output. But this doesn’t
mean that every output must have a corresponding input.

Example: A warehouse operates a mail order business. Customers send an order; stock and credit is
checked and goods are dispatched to the customer. Dispatch details are also sent to the accounts
department. Goods are ordered from known suppliers when stock reaches the re-order level.

Solution:

Level -0 DFD

Compiled by Joan karani 59


Delivery
Order Warehouse
CustomerSystem Analysis andOrder
Designprocessing processing
Level -1 DFD

Credit status

Customer credit file

To be dispatched file
Stock file

Dispatch
details

Accounts
department

Compiled by Joan karani 60


System Analysis and Design
4. Decision Tables
They are graphics method for describing the logic of decisions and provides a means of documenting
procedures in which several complex decisions have to be made.
It is an attempt to replace long-wined and possibly confusing narrative with a clear and structured
definition of what happens under certain circumstances. It comprises of rows and columns separated
into four quadrands

Title
Condition stub Condition entries
Action stub Action entries

Steps in developing a decision table


1. Input an appropriate title for the decision table and then identify the number of conditions to be
taken into consideration given the stated problem. (Conditions are entered in the condition stub)
Each separate condition should be entered individually. It is best to avoid multiple conditions.
2. Determine the number of possible actions that can be taken under different circumstances. These
are entered in the action stub.
Each separate action should be entered individually.
3. The number of vertical rules which the table will contain is determined. A vertical rule is one
combination of answers to the questions which have been asked in the condition stub plus the
indication of the actions which will be carried out in response to that combination.
The number of vertical rules in a given table depends upon the number of conditions in the
condition stub i.e 2c where c represents the number of conditions.
4. The table’s condition entries are completed.
They consist of YS AND NS. To ensure all combinations to the questions asked are entered
without omission or duplication the following simple procedure should be adhered to
a. Entries opposite the second lowest condition should be completed using Y and N
alternatively until all the vertical rules have been dealt with.
b. Entries opposite the second lowest condition should be completed next using Y and N in
pairs alternatively until all rules have been dealt with.
c. Entries for the next condition are completed using Y and N in fours
The process continues using twice the number of Ys and Ns each time until all conditions
are completed
5. Action entries in the lower right hand portion of the table are completed. This involves
completing each vertical rule in turn by entering an ‘X’ against each action which has to be
carried out in that particular set of circumstances.

There are three types of decision tables.


i. Limited entry decision tables
ii. Extended entry decision tables
iii. Mixed entry decision tables

1. Limited entry decision tables


Example 1:
Orders from new customers are accepted if they are less than £100 otherwise reference has to be
made to the supervisor. Orders from existing customers are accepted. Prepare a limited entry decision
table
Compiled by Joan karani 61
System Analysis and Design
Solution:
Customers orders
New customer? Y Y N N
Order amount <£100 Y N Y N
Accept X X X
Refer to supervisor X

Example 2:
Candidates are accepted for employment if their qualifications and references are satisfactory and
they pass the interview. Where a candidate’s reference or interview (but not both) are unsatisfactory
a job for a probationally period is offered. In all other circumstances, the candidates’ application is
rejected.
Employment selection
Qualifications satisfactory? Y Y Y Y N N N N
Reference satisfactory? Y Y N N Y Y N N
Passed interview? Y N Y N Y N Y N
Accept X
Probationary period X X
Reject X X X X X

ASSIGNMENT
Students at a college are dealt with according to the following rules
a. A student who passes the exams and completes the course work and project satisfactorily
is awarded a pass
b. If the course work and or the project are not satisfactorily the student is asked to re-submit
the unsatisfactory work as long as the exams have been passed.
c. A student who fails the exams is deemed to have failed the whole course unless both the
course work and the project are satisfactory in which case the student is allowed to re-sit
the exams.
Draw a full limited entry decision table.

Compiled by Joan karani 62


System Analysis and Design
Reduction of tables (using dash rule)
This is a process aimed at getting rid of redundancies in the decision tables. The redundancies can be
eliminated by combining condition entries which lead to exactly the same vertical rules. The dash
rule is used in this case.
Example 1:
Given below is a decision table which depicts the procedure for dealing with the applicants for
motor-car insurance.
Insurance
Age>=25? Y Y N N
Clean licence? Y N Y N
Normal terms X
Loaded premium X
Refuse X X
The last two vertical rules leads to the same action and therefore can be combined into one i.e once
an applicant is younger than 25years of age, the application is refused/rejected regardless of the
condition of the applicant’s licence thus
Insurance
Age>=25? Y Y N
Clean licence? Y N -
Normal terms X
Loaded premium X
Refuse X

NOTE:
 Some decision tables will not be capable of reduction
 After reduction, carry out a rudimentary check in it as one rule by
o Counting each vertical rule without dashes in it as one rule
o Counting each vertical rule with one dash in it as two
o Confirm if all these combined gives the original number of rules in the decision table.
Example 2:
Discount calculation
Existing customer? Y Y Y Y N N N N
Cash sale? Y Y N N Y Y N N
Amount>1000 Y N Y N Y N Y N
Discount 15% X
Discount 10% X
Discount 5% X X
No discount X X X X
1 2 3 4 5 6 7 8
Compiled by Joan karani 63
System Analysis and Design

- The rules 3 and 4 are combined to form a new rule3, rules 5and 6 to form new rule 4 and 7 and 8 to
form new rule 5. New rules 5 and 4 are also combined to form new rule 4 thus the Reduced decision
table becomes as shown below:

Discount calculation
Existing customer? Y Y Y N
Cash sale? Y Y N -
Amount>1000 Y N - -
Discount 15% X
Discount 10% X
Discount 5% X
No discount X

Reduction of tables (Using the Else rule)


In some tables even after reduction has been effected, they still appear clumsily long winded e.g a
table having 5 conditions requires 32 vertical rules. After reduction, it still contains 6 rules. This can
be made simpler by use of Else rule.
Example

Selection
Qualification satisfactory Y Y Y Y Y N
Adequate experience? Y Y Y Y N -
Interview satisfactory? Y Y Y N - -
Reference acceptable? Y Y N - - -
Passed aptitude test? Y N - - - -
Offer programming job X
Refer to personnel manager X
Reject X X X X

Compiled by Joan karani 64


System Analysis and Design
Using Else rule, the above table becomes
Selection
Qualification satisfactory Y Y Else
Adequate experience? Y Y
Interview satisfactory? Y Y
Reference acceptable? Y Y
Passed aptitude test? Y N
Offer programming job X
Refer to personnel manager X
Reject X

2. Extended entry decision tables


In these tables, entries other than Y, N and X can be used.
Example : Given the following limited entry decision table:
Insurance
Age <21? Y N N N
Age <25? - Y N N
Age<30? - - Y N
No discount X
Discount 10% X
Discount 25% X
Discount 33% X

An extended entry for the above decision table becomes:


Insurance
Age <21? <25? <30? >30?
Discount 0% 10% 25% 33%

Compiled by Joan karani 65


System Analysis and Design
3. Mixed entry decision tables
Also referred to as Hybrid tables. It uses a combination of Ys, Ns, dashes and other entries in the
condition entries and a combination of Xs and other entries in the action entries.

Example:
Insurance
Clean licence? Y Y Y Y N
Age <18 <21 <25 >=25 -

Accept X X X
Reject X X
% discount 0 10 20

Assignment:
Disadvantages and advantages of decision tables

ADVANTAGES OF USING DECSION TABLES


1. It provides a clear-cut procedure for identifying conditions and actions
2. It establishes the relationship between conditions and actions in a compact and unambiguous
manner.
3. It makes it possible to examine all alternatives to a problem (since the maximum number of rules
is known).
4. It forces the programmer to think logically.
5. It is easy to construct and to understand
6. It serves as a convenient form of communication between users, systems analysts and
programmers, being readily understandable and verifiable by all.
7. It can be readily translated into a program code either by the programmer, or by software known
as a decision table pre-processor

DISADVANTAGES
Decision tables doesn’t give the sequence/order of evaluating conditions.

Compiled by Joan karani 66


System Analysis and Design
5. Decision Trees
 Are graphical representation of the decision table. They have as many branches as their logical
alternatives i.e it simply sketches the logical structure passed on by a stated policy.
 They are used when complex branching occurs in a structured decision process. They are also
useful when it is essential to keep a string of decisions in a particular sequence.
 A condition and action are placed at different branches of the tree. Each action taken depends on
the current value of the variable being tested and all previous actions that have been taken.
 In a formally defined decision tree, a variable is tested only once on any path through the tree.
This restriction is to prevent redundant testing.
 Each time a decision tree is executed; one path beginning with the root of the tree and ending
with a leaf on the tree will be followed depending on the current value of the variable being
tested.
Illustration

Example: If order amount is greater than sh 500 and credit is satisfactory, a customer is given 5%
discount but if the credit is not satisfactory, s/he is referred to the supervisor. If order amount is less
that shs500 and credit amount is satisfactory, a customer gets 3% discount but if credit is not
satisfactory s/he is referred to the supervisor. Construct a decision tree to represent this information

Solution

Compiled by Joan karani 67


System Analysis and Design

Example2: In a subscription system, subscription transactions are processed. First, each transaction
is validated. Invalid transactions are rejected with an appropriate error message. Valid transactions
are processed depending on their type i.e new subscription, renewal or cancellation. For a new
subscription, a customer record is built and a bill is generated for the balance due. For cancellation,
the record is flagged for deletion and a refund is issued. Construct a decision tree for the above.

Solution:

6. Program Flowchart

 Flowchart is a graphical representation of a solution to problem which symbols are used to


represent operations, data flow and decision. It also shows the relationship among statements in
the program. Its purpose is to show the information flow and tools used in problem solving.

Symbols
1) input-output:
The input-output symbol is a parallelogram which specifies the particular input/output operation. It is
used to enter data into the computer or to print/display information.

2) Process
The processing symbol is a general operation (rectangular in shape) symbol encompassing any type
of data manipulation or calculation. Operation such as move, multiply, add, subtract, sort, merge
manual operation etc

3) Direction
An arrow represents the flow direction of execution of defined operation. A flow
direction therefore specifies the net single operation, once the current operation has been performed.

4) Decision
Compiled by Joan karani 68
Flowchart to add three numbers Flowchart to add two numbers
System Analysis and Design
Start
Start
The decision symbol is a special diamond/rhombus symbol that is used to indicate a point in a
program where more than one direction of flow may occur after a processing operation(specify a
condition).a condition must evaluate to a Boolean valuevariables
Declare The occurrence of two or more paths is
Declare variables and the decision block will specifyA which
called branching And B of the paths will be taken, once the
Num1 num2 num3
processing activity is completed

5) Connector Input A and B


Input num1,
num2,Used
& num3
as a connecting point or interface for arrows coming from different directions.

6) Start/Stop: Ans = A + B
Average=(num1+num2+num3)/3
Ellipse. It denotes the beginning and end of the program algorithm.

Output Ans
Factors to consider when drawing flowcharts
Output
a. There should only be one entry/starting point and one exit point of algorithm.
average
b. Flowchart should be labeled at the top or bottom with the name of the system or program to
which it relates.
Stop
c. Use the correct symbol at each stage in the flowchart. The symbols should be drawn to scale as
Stop
accurately as possible. Although symbols may vary in size, their shape should remain
proportional. Use a template.
d. The logical flow should be clearly shown by use of arrows.

Examples of flowcharts

Compiled by Joan karani 69


Flowchart to add ten numbers Flowchart to determine bigger
Ynumber between two numbers
N
System Analysis and Design
Start
Start

Declare variables
Num, counter & sum Declare variables
A And B

Initialize sum= o and


counter = 1 Input A and B

Input num

If A > B
Sum=sum + num
Counter = counter +1

Output B
Output A
N Counter
=10

Output sum
Stop

Stop

Compiled by Joan karani 70


System Analysis and Design

7. Data Dictionary (DD)

The DFD and the run chart define the relationship between the data flow, data store, processes and
the various inputs and outputs. What they do not define are the details of the data flow, data store and
the various processes. All the elements mentioned need to be recorded to make the system description
complete. All the elements are documented in the data dictionary (DD). You may find that the
definition of data dictionary varies among books. One such definition could be:
“A data dictionary is a central depository of all the elements that are used in a system.”
As the name suggests, it is a place where the system analyst records all the elements of the system:
elements like data flows, data stores and processes. Just like the dictionary where you look up the
meaning of a word, its usage, spelling etc., the DD is the place where you find the details of an
element like for example, the numeric characters in data items, where the data item is used, its initial
value, data types, etc. The documenting of the DD is a complex process and requires discipline from
all members of the project team.
. The DD could either be a manual or an automated system. In general the DD could record data
structures or data elements. The data elements are the lowest level data items, which are the building
blocks for the data structure. In this study guide, we will look at only one aspect of the DD, i.e. the
recording of data elements. In recording the data elements, the DD will contain information like:

Data Names The data of the data item


Data Description A brief description of the data item
Aliases Is the data name referred by another name?
Data Type The data type of the data item
Length The size of the data item
Data Values Permissible values that can be stored
Used In Which process(es) uses it

As an example, STOCK NO, will have the following details recorded.

Data Name STOCK-NO


Data Description A unique number that identify each stock item
Aliases ITEM-NUMBER
Data Type Character
Length 5
Data Values 10000 - 99999
Used In Data-entry-proc
Check-stk-no-proc
Update-master-proc

Compiled by Joan karani 71


System Analysis and Design
A

8. JSP Introduction B

JSP is a methodology developed by Michael A. Jackson. He believed it could help to enhance the
readability and maintainability of structured programs.
There are many books that are devoted to the concepts of JSP. This study guide only focuses on two
of the two fundamental principles of structured program design:
 Three structured constructs
 Stepwise refinement in top-down methodology

Three Structured Constructs

All programs can be constructed using only the three basic constructs. It is the concept of structured
programming that a program should be developed using only these three basic constructs. It is not
wrong to use the GOTO structure but it is discouraged, because programs with the GOTO structure
are often classified as unstructured. The three basic constructs are:
 Sequence
 Selection
 Iteration/Repetition

a. Sequence Construct

In a sequence construct, the way the statements are placed implies the order in which the computer
will execute the statements. The computer will interpret the statements in a left to right, top to bottom
fashion.

Consider the following:

Calculate-Average Module
DO
Get Two Numbers
Calculate Sum
Determine Average
Print Average
ENDDO

The sequence for the above module is straightforward. You get the two numbers, calculate the sum,
determine the average and print out the result. If the statements are not in that sequence, the result
obtained will not be the answer intended!
Compiled by Joan karani 72
System Analysis and Design
Using JSP method, the sequence construction is represented as follows:

Compiled by Joan karani 73


System Analysis and Design

The calculate Average module is not a separate module away from the rest of the four modules below
it. But it actually contains all the four modules. Each process (a rectangle) represents a component
with their function/action stated in the function list. If the component does not contain or form other
constructs (i.e. other sequences, selections or iterations), it is regarded as an elementary component.
The diagram should be interpreted in a top-down, left to right manner.

The Calculate-Average Module has four elementary components. Each time it is activated, it will
activate the input number module, calculate sum module, determine average module and the print
result module in that order.

Consider another example:

The sequence of activation for the above will be:


A, B, E, F, C, D, G, I, J, H

Compiled by Joan karani 74


A
System Analysis and Design

b. B
Selection Construct

The selection construct


consists of condition(s) and one or more components. Based on the outcome of the condition(s), only
one of the components will be selected. All the other components will not be selected.

Consider the following:


Check-Age module
DO
IF Age < 21 Then
DO
Teenage module
ENDDO
ELSE
DO
Adult module
ENDDO
ENDIF
ENDDO

When the Check-Age module is activated, the Teenage module will be performed if condition is true
(i.e. Age < 21). If the condition is false, i.e. Age is > or = 21, then the Adult module will be
performed. So the condition determines which component is to be performed. There will never be the
case where both modules are activated in the same run. Using the JSP method, the Selection construct
is represented as follows:

Simple selection

Take note of the convention. For the selection construct, the process box is slightly different from the
normal process box. It has a small circle (“o”) at the top right corner of the process box, indicating

Compiled by Joan karani 75


System Analysis and Design
that it is a selection construct. There is also the condition which must be placed on the left branch of
the construct. It can be the actual condition itself or a number from a conditions list.

Compiled by Joan karani 76


System Analysis and Design
Consider another example:

CAL-NO-HOLIDAY
IF YRS-WORKED > 14
THEN
DO
CAL-EXTRA-HOLIDAY
ENDDO
ENDIF

When the CAL-NO-HOLIDAY module is activated, based on the condition (YRS-WORKED > 14),
the CAL-EXTRA-HOLIDAY module will be activated if the condition is true. Otherwise, it will do
nothing.
JSP representation:

Selection without ELSE

multiple choice selection could be expressed in schematic logic as:

CHECK TOTAL POINTS MODULE


IF TOTAL-POINTS >= 90 THEN

DO

A-Module

ENDDO

ELSE

IF TOTAL-POINTS >= 80 THEN

DO

B-Module

ENDDO

ELSE

Compiled by Joan karani 77


System Analysis and Design
IF TOTAL-POINTS >= 70 THEN

DO

C-Module

ENDDO

ELSE

IF TOTAL-POINTS >= 60 THEN

DO

D-Module

ENDDO

ELSE

DO

F-Module

ENDDO

ENDIF

ENDIF

ENDIF

ENDIF

JSP representation:

Where C1 is total points >= 90


Compiled by Joan karani 78
A
System Analysis and Design
C2 is total points >= 80
C3 is total points >= 70
C4 is total points >= 60
Multiple selection *
B

From the JSP representation, when the Check Total Points Module is activated, depending on the
condition, one of the modules (either A, B, C, D or F) will be activated. If the condition Total Points
>=90 is true, A-Module will be activated and the process will continue at the next module after the
Check Total Point Module (not shown here). If the condition is not true (i.e. false), it will then check
the condition Total Points >= 80. If the condition is true, B-module will be activated and the process
will continue at the next module after the Check Total Point >= 70 and so on. The F-module does not
have a condition associated with it because it takes the “default” condition. If all the above
mentioned conditions turn out to be false, F-module will be activated.

c. Iteration Construct

The iteration construct provides a way for the programmer to repeat a certain/whole portion of the
program until certain condition(s) is/are met. (This is also known as looping or repetition construct).
The latter is important as it will ensure that the program loop will not go on indefinitely.

Compiled by Joan karani 79


System Analysis and Design

The schematic logic for an iteration could be written as:

Main-Process Module
DO WHILE Not End Of File
DO
Detail-Process Module
ENDDO
ENDDO

Each time the Main-Process Module is activated, the Detailed-Process Module will be executed zero
to n times depending on the condition.
(Not End Of File)

Using the JSP method, the iteration construct is represented as follow:

Looping/Iteration/Repetition

Take note of the convention. For the iteration construct, the process box is slightly different from the
normal process box. It has an asterisk (“*”) at the top right corner of the process box, indicating that
it is an iteration construct. There is also the controlling condition. It can be the actual condition itself
or a number from a conditions list.
Each time the Main-Process Module is activated, it will activate the Detail-Process Module which
may contain other sub-modules depending on the controlling condition (Not End Of File). When the
Detail-Process Module is completed, it will then check the controlling condition again. If it is still not
end of file, detail-process module will be activated again. If the controlling condition returns a false
value, it will go on to the next module, (not shown here).

Stepwise Refinement

Stepwise refinement is a process to sub-divide (refine) the main program function into sub-functions.
This is done progressively at each level until the lowest level functions can be represented in a
programming language.
In the example above (Looping/Iteration/Repetition), it would be difficult for the programmer to
start coding the Detail-Process Module as it lacks too many details/steps required in the target
programming language. Further refinement of the steps involved will have to be carried out. Hence
the name Stepwise Refinement. On refinement, the Detail-Process Module will have a few other sub
modules.

Compiled by Joan karani 80


System Analysis and Design

Repetition with sub-modules

Case Study

A program is needed to help a local college to grade its students. A total weighted score is determined
for students from two midterm exam scores both weighted at 30%, and a final exam score at 40%. A
grade is assigned on the following basis:
Total weighted score Grade
<60 F
>=60 and <70 D
>=70 and <80 C
>=80 and <90 B
>=90 A
For each student, the program is to output the student number, the total weighted score and the grade
assigned. It is also required to count the number of students receiving each of the five grades. The
input will be in the form of a record, each consisting of Student Number, Midterm Test 1, Midterm
Test 2 and Final Test mark. The iteration is to be terminated by a suitable dummy record. The
summary will then be printed showing the distribution of the grades. Draw the JSP.
As the first step, list down all the main functions that is needed to carry out the tasks as mentioned in
the problem.
1. Initialise variables (counters, accumulators)
2. Getting records
3. Check loop termination condition
4. Calculate total weight score
5. Check grade
6. Assign grade
7. Increase various appropriate grade counter accordingly
8. Check page control (using line counter)
9. Output headings
10. Output result for each student
11. Get next record
12. Output summary
13. Stop program
With the main functions listed, we can start to draw the JSP. Not all the functions listed will be
represented with a module (process box). Some of the functions can be combined to form one
Compiled by Joan karani 81
System Analysis and Design
module. For a start most programs have
the following structure at the 1st level.

1st level JSP

The main control module will control three modules, namely the Initial, Body and End modules. The
Initial module could contain functions 1 and 2 while the End module functions 11 and 12. We also
need a looping structure for the unknown number of students. The controlling condition will be a
suitable dummy record. The dummy record is of a form that can be identified by your program (e.g.
one with a negative student number).

2nd level JSP

The detail process module can be further broken down into other sub modules: calculate total score,
check grade, page control, output and read next module.

3rd level JSP


Compiled by Joan karani 82
System Analysis and Design

Further refinement will result in the following diagram.


4th level JSP

Conditions List
C1. Not EOF
C2. Total Points >= 90
C3. Total Points >= 80
C4. Total Points >= 70
C5. Total Points >= 60
C6. Total Outprint > 20

Add in all the functions and conditions for a complete JSP.


Note: In creating the structure with more than one level, the following rules are applied
 Only one type of construct is allowed at any one level i.e you cannot have selection &
sequence or sequence & iteration in the same level.

Compiled by Joan karani 83


System Analysis and Design
 Only one path is allowed from the top to the lowest level element.

9. System Flowcharts

Systems flowcharts are graphic illustrations of the physical flow of information through the entire
accounting system. A systems flowchart is commonly used in analysis and design. Flowlines
represent the sequences of processes, and other symbols represent the inputs and outputs to a
process. Accountants use system flowcharts to describe the computerized processes, manual
operations, and inputs and outputs of an application system. Auditors use system flowcharts to
identify key control points in an accounting system’s internal control structure. Exhibit 1 shows the
basic flowchart symbols.

Compiled by Joan karani 84


System Analysis and Design

Example
Mikos Supermarket intends to use a computer system to manage their stock. The stock details are
keyed in by the clerks. The system validates data and generates error reports if incorrect inputs are
submitted. Valid inputs are added into a transaction file which is consequently used to update the stock
master file after being sorted, once in a week. The system produces summarized stock reports as well
as any other errors found during the update process. Draw a system flowchart to represent this
information.

Compiled by Joan karani 85


Stock
SystemDetails
Analysis and Design Keyed in

Solution:

Data validation

Valid
inputs Error report

Transaction
file

Updat So
Master File e rt
master

Stock&
error
reports

Stop

Compiled by Joan karani 86


A ENTITY
A A
System Analysis and Design
10. Entity Life History (ELH)
B CREATE
It’s
o
B AMENDo
DDELETE o
BB a diagrammatic C chart
B that * shows the activities,
D D events and functions in the life history of an
* *

individual entity which change the state of an entity. It uses graphical technique (the JSP) to enhance
understanding and communication. It gives the dynamic view of an entity. It uses the three JSP
constructs i.e sequence, selection & iteration.

Sequence:

Selection:

Iteration:

The top level node shows the name of the entity and the lower level show the events and activities
that affect the life of the entity.

Compiled by Joan karani 87


OPENCUSTOMER ACCOUNT
UPDATE CLOSE
O O
OPEN *
CLOSE
PLACE
System Analysis and Design

Example:

The ELH above shows the creation of a customer account, activities of the account and finally
closure of the account.

11 Prototyping
A prototype is:
An original or model, after which anything is formed
The first thing, or being, of its kind
A pattern, exemplar, or archetype

Prototyping in systems development is the process of creating a "cut-down" version, or part of a


system so that users can:

 Get an idea of what the system will offer; and


 Provide feedback on whether the system is what is required
Prototyping helps to identify misunderstandings between users & software developers
this may help detection of missing
not yet specified) user requirements

Advantages of prototyping:
 Identification of misunderstandings between users and developers
 Detection of missing user services
 Identification of difficult-to-use or confusing user services
 Requirements validation aid (discovering inconsistencies)
 Early availability of a working (limited) system
 May serve as a basis for specification for a "production quality" system

Compiled by Joan karani 88


System Analysis and Design

Possible Dangers of prototyping:


 Users may not give up prototype
 Prototype may become basis of implementation (but lacks safety-critical features)
 May be used as a basis for contract with software engineers - "please build one like this"
 Non-functional requirements cannot be adequately expressed
 Omission of functions in prototype may mean prototype not used in same way as fully operational
system
 AND may encourage inadequate problem analysis
 OR falsely indicate that system will work, but in fact does not when loaded with real data or large
volumes of data
May be an unacceptably large proportion of the total cost of the system development

DESIGN SYSTEM QUALITIES AND OBJECTIVES


A good design will greatly improve the performance of a system and reduce maintenance overheads
after the software product has been delivered to the client. A poor design will make improvements
difficult. Characteristics of good design/Software Quality design include:
 Functionality: The extent to which a program satisfies its specification and fulfils the customer’s mission
objectives i.e. the system performs the functions intended adequately
 Reliability: The extent to which a program can be expected to perform its intended function with the
required precision.
 Efficiency: Refers to the system meeting functional requirements within the required time.
 Usability: Refers to user friendliness or ease of use in order to reduce human discomfort. The effort
required to learn, operate, prepare input, and interpret the output of a program.
 Maintainability: The effort required to locate and fix an error in the software, or modify the software to
meet new requirements, or updates to enhance the performance of the system.
 Flexibility: Refers to the adapting of changes within the organization e.g. growth of the organization,
changes in administrative structures, organizational policy etc.
 Portability: Refers to the ability to transfer software from one computing environment to another with
minimum effort and cost. The effort required to transfer the program from one hardware and or software
system environment to another.
 Reusability: The extent to which a program (or parts of a program) can be reused in other applications.
This is related to the packaging and the scope of the functions that the program performs.
 Accuracy: The system should be able to produce acceptable levels of accuracy in processing and
performance requirements.
 Data security and control: The system must have confidentiality of stored data and privacy in access of
data by authorized people.

Compiled by Joan karani 89


System Analysis and Design
REFERENCE MATERIALS
i. Prof. Paul N. Manasseh (2004), Business Finance revised version
ii. Samuel M. Kange’ethe 1st Edition (2002), Introduction to Systems Analysis and Design.
Envision Publishers, Nairobi.
iii. N.A. Saleemi Systems Theory, Analysis and Design simplified. N. A. Saleemi publishers,
Nairobi.

Compiled by Joan karani 90

You might also like