System Development Life Cycle Notes
System Development Life Cycle Notes
1. Preliminary survey/study
2. Feasibility study
3. Facts finding and recording
4. Analysis
5. System design
6. System development
7. System implementation
This stage involves determination of whether there is need to change the existing system or business
procedures. It may require management requests for a change of the existing system to give an organization
a competitive advantage or to improve the staff morale. The user department should be involved during the
definition of the problem. The problem to be solved should be very specific, clear and precise. It should not
be too broad to cause ambiguities in its solution.
Terms of reference
It is a documentation prepared by steering committee to act as a reference document throughout system
development stages. Its contents include:
Project title
Subject of study
Purpose of study
Personnel
Departments
Sections affected or involved during the system implementation
Available resources and constraints, the analyst, the project leader should consider
The projects estimated duration and schedule
Steering committee
It is formed by two or three people to oversee the system development project from its initiation to its
completion. It comprises of the system analyst as the project leader and a representative of the user
department. They should understand all the processing objectives and procedures within the affected
department. A management representative and accountant or auditors may be incorporated to advise
initially on financial aspects on the project.
Technical Feasibility
Technical questions are those that deal with equipment and software e.g. determination of whether the new
system can be developed using the current computer facilities within the company. Technical feasibility is
thus aimed at evaluation of the following:
Social Feasibility
This is also known as operational feasibility. It mostly deals with the effect of the system on the current
society within the company. It is carried out on the following areas:
i. The reaction of individuals both inside and outside the company as a result of the new system.
ii. The effect of the system on the existing organizational structure.
iii. The effect of the system on the current working practices and management levels i.e. whether
there would be any change required and if so the cost of the change socially.
iv. Redundancy or retrenchment, implication to the company as a result of the new system.
v. Implication of the system on existing staff development programmes.
The social feasibility is carried out along with technical feasibility such that the social implications of every
alternative technical solution to the problem that emerges are evaluated. Areas to consider include:
Group relationships
Salary levels
Job titles and job descriptions
Social costs to be evaluated e.g. cost of user training, consultancy that may be engaged during
development of the new system, job improvements and salary changes.
Legal Feasibility
The new systems legal implications should be evaluated e.g. if it requires that the computer should be
insured or whether the stored data should be registered with the government registrar before use. The
copyright implication for restriction should be assessed before the new system is implemented. Generally
any legal aspects associated with the new system should be assessed, and adequate measures taken to
protect the interest of the user company.
Economic Feasibility
Economic feasibility is aimed at determination of whether or not to continue with the project, depending on
whether the project is economically viable. The systems benefits and estimated implementation cost should
be determined before any further resources can be spent on the project.
A cost benefit analysis (CBA) is carried out to determine whether the new system is economically viable.
i. Direct (Tangible)–fall under two categories: measurable benefits and direct savings.
Measurable benefits are those that can be quantified in monetary terms e.g. increase in working capital as
a result of purchasing of computer systems or reduction of delays in decision making which is obtained
through improved procedures e.g. invoicing procedures and credit control procedures.
Direct savings are those costs, reduced or eliminated as a result of introduction of computerized system.
They include reduction or elimination of clerical personnel and elimination of some specific costs e.g.
stationery costs. Like measurable benefits direct savings can be quantified in monetary terms.
ii. Intangible benefits – they are benefits that cannot be quantified in monetary terms or those that are
difficult or impossible to quantify in monetary terms.
They are clearly desirable but very difficult to evaluate in terms of money value e.g. improved customer
satisfaction, better information, improved organizational image, increased staff morale, a competitive
advantage to an organization etc.
Cost Analysis: Costs are expenses or expenditure which are incurred by a system. These may include
equipment cost, development cost, operation cost and software cost. During cost analysis one should
consider both the new and the existing system. The cost of retaining and operating the existing system
should be compared to the cost of introducing and running the computerized information system.
a) The cost of running the existing system. This is calculated from the past records. The items to consider
include:
i. Man power cost – which is extracted from the budgets and payroll reports
ii. Material cost – which includes consumables e.g. stationery, work in progress and current stock
iii. Operational cost e.g. the equipment cost expressed in terms of unit rate. Others to consider
include the duration the project takes to be completed and initial replacement cost.
iv. Overhead costs – which are direct expenses incurred by the company on behalf of all
departments e.g. rent, electricity, telephone bill etc. These can easily be extracted from
departments or centres to which they are allocated.
v. The intangible cost of existing system e.g. loss of sales or cost of sales as a result of inappropriate
stock levels or loss of interest in bank as a result of improper credit control system.
b) The cost of operating the proposed system – this is likely to include all the areas covered above i.e.
manpower, materials, overheads and the intangible costs. However there are additional costs associated
with computerized systems e.g. service contracts for the computer system, insurance of the computer
system, cost of data transmission, cost of consumables like printer cartridges, ribbons etc. All these costs
should be evaluated or estimated as accurately as possible.
c) The cost of new system development – Includes the cost incurred for any consultancy services that may
have been hired during development. Allowances given to the system development team members fall
under this category. Overall effects of the system development and implementation should be
determined and any cost associated established. These estimates are based on both time and activities
involved in the project. Staff training cost, recruitment costs and retrenchment costs should be
considered under system development cost.
Cost benefit analysis should be conducted on each alternative solution to the problem. This enables the
analyst to make recommendation on a suitable cost effective alternative solution to the problem.
The report is submitted to the management for approval. After approval a more detailed survey is
conducted on the existing system mostly to establish its weaknesses and strengths. This is called fact-finding
or fact gathering.
This involves collection of information about the existing system on which to base analysis in order to
determine whether users current needs are being met. The following are some of the activities that are
looked at:
Fact-finding techniques
a) Use of questionnaires
A questionnaire is a special document that allows the analyst to ask a number of standard questions set to
be asked to a large number of people in order to gather information from them. It is used when:
- the system analyst is located at a considerably long distance from the respondent
- there is a large number of respondents such that interviewing them will be limited by time
- the questions to be asked are simple and straight forward and require direct answers
- limited information is required from a large number of people
- it is used as a means to verify facts found using other methods.
b) Interviewing
This is a direct face-to-face conversation between the system analyst (the interviewer) and users
(interviewees). He obtains answers to questions he asks the interviewee. He gets the interviewee’s
suggestions and recommendations that may assist during the design of the proposed system.
Interviews serve the following purposes:
Acts as a method of fact-finding to gather facts about the existing system.
Used for verifying facts gathered through other methods.
Used for clarifying facts gathered through other methods.
Used to get the user involved in the development of the new system.
This method involves perusing through literature or documents to gain a better understanding about the
existing system. Examples of documents that are perused include sales orders, job descriptions, existing
systems documentation, management reports, procedure manuals, organized structure charts, trade
journals etc.
This method is best used when:
The analyst needs to have a quick overview of the existing system
The information required cannot be obtained through any other techniques
e) Sampling
Sampling is the systematic selection of representative elements of a population. The selected elements are
examined closely and the results assumed to reveal useful information about the entire population.
Disadvantages include:
The sample may not be representative enough which may lead to incorrect and bias conclusions
The expertise of the analyst is required since sampling involves a lot of mathematical computation
3.4 Analysis
A system analysis involves evaluation of the current system using the gathered facts or information. One
should evaluate whether the current and projected user needs are being met. If not, he should give a
recommendation of what is to be done. Analysis involves detailed assessment of the components of the
existing system and the requirements of the system.
The objectives or aims of system analysis are:
To determine information needs of an organization and the users of that information
Determination of the current activities of the system i.e. functions involved in conversion of inputs
to outputs
Determination of the intended systems output
Determination of the resources required for the intended system
Determine capabilities required in the system to meet information needs of the organization
Once all the facts are analysed and documented a formal report is written called statement of requirements.
There are two types of design: logical design and physical design.
Logical Design
A logical design produces specifications of major features of the new system, which meets the system’s
objectives. The delivered product of the logical design is a blueprint of the new system. It includes the
requirements of existing system components:
o Outputs (reports, displays, timings, frequencies etc)
o Inputs (dialogs, forms, screens etc)
o Storage (requirement for data to be stored in databases)
o Procedures (to collect, transform and output data)
o Controls (requirements for data integrity, security, data recovery procedures)
Note: Logical design of the system is viewed in terms of what process i.e. procedures, inputs, outputs,
storage and control the new system should have.
Physical Design
It takes the logical design blueprint and produces the program specification, physical files or database and
user interface for the selected or targeted hardware and software. Physical design is mostly concerned with
how the current system or future system works in terms of how the programs are written, files organized in
storage media and how tasks are carried out for user interface with the system.
Examples include: a purchase order, invoices and statements. A programmer then writes a program, which
controls a specific type of print and fills up the variable data on the document. The computer generated
report format is influenced by user organization standards. The user and the management should participate
in the original design draft and also approve the final printed reports or outputs. This may be done through
the use of a prototype.
Screen design
In order to produce an effective screen dialogue, several factors should be considered:
i) The hardware in which the interface will be implemented e.g. a VDU, mini computers etc. These
should include the hardware ability to use graphics, colour or touch sensitive panels.
ii) The software pre-loaded on hardware e.g. the pre-loaded operating system, whether it is DOS
based or window based.
iii) Memory capacity i.e. RAM and hard disk in order to determine the size of the application to be
developed
Interface techniques
It is important to consider the characteristics of the proposed system of input and output interface design.
Modern screen dialogue interface will always apply three types of combination i.e. form filling, menu
selection and WIMP interface.
Form filling
It is an effective form of interface where verification involves data capture. Some of the guidelines to form
filling include:
o Forms should be easy to fill
o Information should be logically organized or grouped e.g. headings identification, instructions,
body, totals and any comments
o Should be clear and attractive
o Should ensure accurate completion
Menu interface (selection)
It is designed to allow operator to select increasingly detailed options or choices with each menu screen
covering a different function. This is made clear by use of colour screen and WIMP interface. The bottom
option is usually reserved for the error message or for help facility.
Systems are broken down into modules because smaller programs (modules) are easier to specify, test and
modify than larger programs. Therefore errors of the impact of a change are confined within fewer lines of
code when modules are used. Programmers can also choose the area of the system that interests them to
code, which is motivating to them. A large number of small programs make rescheduling work easier i.e.
same programs can be assigned to someone else to write if the first programmer is taking longer than
estimated for a particular program.
For a system to be broken down into modules, a good system specification should be prepared.
System specification
It is a document prepared at the design stage of system development life cycle. It represents the conceptual
system or logical system. This is a system in paper form. Its contents are:
i) Introduction of existing system i.e. details of its objectives and a brief description of how these
objectives are met.
ii) Description of the proposed system i.e. details of its objectives and a description of how the
objectives are to be met.
iii) Justification of proposed system as a solution to the problem specified in terms of reference. Costs
and benefits justification for the proposed system should be shown.
iv) Comparison of both existing and proposed system in terms of inputs and outputs i.e.
specification of frequency, volume, timings etc.
v) Proposed system file descriptions: This should include file names, organization methods, access
methods, nature of the system, storage media, record structures and file activities.
vi) Proposed system control specifications i.e. error handling procedures, recovery procedures, in
built controls both hardware and software related.
(a) Programming
This activity involves translation of system specification into program code. A programmer should integrate
user requirements into the computer system. Programming standards should be adhered to e.g. use of a
standard programming language. Decomposition of a program into smaller units or modules should be
implemented as per the design specifications. It is important that the programming team work in
cooperation to improve the quality of programs produced.
(b) Testing
Generally all programs should be tested before system conversion. There are two major program-testing
techniques: white box and black box testing.
These methods are based on the input and output to and from a program. They do not emphasize on the
internal structure of a program.
(i) Requirement review – It is conducted to examine a proposed system as formulated by the system
analyst. If there are any inconsistencies between the requirements stated by the users and those that
the analyst is proposing, the walkthrough should be able to uncover such inconsistencies so that they
can be dealt with early enough.
(ii) Design review – Its purpose is to determine whether the proposed design will meet the requirements
of the system and user. If the review team finds any discrepancies between the design and the
requirement, they should give solutions to such discrepancies.
(iii) Program review – This is conducted to examine the program development along with its
documentation. The programs are compared with their specific design specifications to determine
whether the specifications are being satisfied. Any programming errors are detected and dealt with.
(iv) Testing review – It assists in development of test data that can be used to detect system design errors.
The system testing strategy is not to prove programmer correctness but to assess reliability and
suitability of the system through detecting critical system errors.
(c) Documentation
Software documentation is a description of software or system after its development. Software product
therefore comprises of code and documentation. Documentation includes a wide range of technical and non-
technical manuals, books, descriptions and diagrams relating to the use and operation of produced software.
It is vital for software engineering to allocate adequate time to the software engineering particularly
documentation throughout its development.
There are two major reasons why software engineers dislike producing documentation:
(i) They do not see the need for it because it may indicate that one is new to the profession and has
not yet had time to appreciate the benefits of documentation. It may indicate also that one is so
wrapped up in pressure of the moment that long-range goals have become absurd.
(ii) They do not feel capable of doing it. Although sometimes the feeling of inadequacy derives from
inability to talk about technical subjects with non-technical people.
(1) Flowcharts
A flowchart is a diagrammatic representation that illustrates the sequence of operations performed to get to
the solution of a problem. Flowcharts facilitate communication between system analysts, system designers
and programmers.
Guidelines for drawing a flowchart
Flowcharts are usually drawn using some standard symbols. Some standard symbols used in drawing
flowcharts are:
Alternate process
Data - Input or
output operation
Magnetic
tape
Magnetic disk
Flow lines
Display
Document
Multiple documents
Stored data
The following are some guidelines in flowcharting:
In drawing a proper flowchart, all necessary requirements should be listed out in logical order
The flowchart should be clear, neat and easy to follow. There should not be any room for ambiguity in
understanding the flowchart
The usual direction of the flow of a procedure or system is from left to right or top to bottom
Only one flow line should come out from a process symbol
Or
Only one flow line should enter a decision symbol, but two or three flow lines, one for each possible
answer, should leave the decision symbol
>0 <0
=0
Only one flow line is used in conjunction with the termination symbol
Write within the standard symbols briefly. As necessary, you can use the annotation symbol to describe
data or computational steps more clearly.
If the flowchart becomes complex, it is better to use connector symbols to reduce the number of flow
lines. Avoid the intersection of flow lines if you want to make it more effective and better way of
communication.
Ensure that the flowchart has a logical start and finish
It is useful to test the validity of the flowchart by passing through it with simple test data.
TYPES OF FLOWCHARTS
Flowcharts are of three types:
System flowcharts
Run flowcharts
Program flowcharts
System Flowcharts
System flowchart describes the data flow for a data processing system. It provides a logical diagram of how
the system operates. It represents the flow of documents, the operations performed in data processing
system. It also reflects the relationship between inputs, processing and outputs. Following are the features
of system flowcharts:
The sources from which data is generated and device used for this purpose
Various processing steps involved
The intermediate and final output prepared and the devices used for their storage
The figure below is a sample of system flowchart for the following algorithm (step by step instructions on
how to perform a certain task):
Prompt the user for the centigrade temperature.
Store the value in C
Set F to 32+(9C/5)
Print the value of C, F
Stop
System Flowchart
Run Flowcharts
Run flowcharts are used to represent the logical relationship of computer routines along with inputs, master
files transaction files and outputs.
The figure below illustrates a run flowchart.
Run Flowchart
Program Flowcharts
A program flowchart represents, in detail, the various steps to be performed within the system for
transforming the input into output. The various steps are logical/ arithmetic operations, algorithms, etc. It
serves as the basis for discussions and communication between the system analysts and the programmers.
Program flowcharts are quite helpful to programmers in organizing their programming efforts. These
flowcharts constitute an important component of documentation for an application.
The figure represents a program flowchart for finding the sum of first five natural numbers (i.e. 1,2,3,4,5).
Program Flowchart
It is clear from the figure that orders are placed, orders are received, the location of ordered parts is
determined and delivery notes are dispatched along with the order. It does not however tell us how these
things are done or who does them. Are they done by computers or manually and if manually who does
them?
A physical DFD shows, how the various functions are performed? Who does them? An example is
illustrated below:
The figure is opposite to that of the logical DFD, it shows the actual devices that perform the functions. Thus
there is an "order processing clerk", an "entry into computer file" process and a "run locate program" process
to locate the parts ordered. DFD(s) that shows how things happen, or the physical components are called
physical DFD(s).
Typical processes that appear in physical DFDs are methods of data entry, specific data transfer or
processing methods.
Difference between Flowcharts and DFD
The program flowchart describes boxes that describe computations, decisions, interactions and loops. It is
important to keep in mind that data flow diagrams are not program flowcharts and should not include
control elements. A good DFD should:
Have no data flows that split up into a number of other data flows
Have no crossing lines
Not include flowchart loops of control elements
Not include data flows that act as signals to activate processes.
Condition stubs
o Lists condition relevant to decision
Action stubs
o Actions that result from a given set of conditions
Rules
o Specify which actions are to be followed for a given set of conditions
An indifferent condition is a condition whose value does not affect which action is taken for two or more
rules.
The Condition stub contains a list of all the necessary tests in a decision table. In the lower left-hand corner
of the decision table we find the action stub where one may note all the processes desired in a given module.
Thus Action Stub contains a list of all the processes involved in a decision table.
The upper right corner provides the space for the condition entry - all possible permutations of yes and no
responses related to the condition stub. The yes and no possibilities are arranged as a vertical column called
rules. Rules are numbered 1,2,3 and so on. We can determine the rules in a decision table by the formula:
Number of rules = 2^N = 2N where N represents the number of condition and ^ means exponentiation.
Thus a decision table with four conditions has 16=(24 =2 2 2 2 = 16) rules. One with six conditions has
64 rules and eight conditions yield 256 rules.
The Condition entry contains a list of all the yes/no permutations in a decision table. The lower right corner
holds the action entry. X’s or dots indicate whether an action should occur as a consequence of the yes/no
entries under condition entry. X’s indicate action; dots indicate no action.
Thus Action entry indicates via dot or X whether something should happen in a decision table
The standard procedure for creating decision tables involves:
(i) Name the condition and each values each condition can assume
(ii) Name all possible actions that can occur
(iii) List all the rules
(iv) Define the actions for each rule
(v) Simplify the table
Example: Complete decision table for payroll system
Conditions / Rules
Courses of action 1 2 3 4 5 6
Condition S H S H S H
Stubs Employee Type
Hours Worked <40 <40 40 40 >40 >40
This is a graphical representation of a decision situation. Decision situation points are connected together
by arcs and terminate in ovals. The two main components are:
Decision points represented by nodes
Action represented by ovals
The decision tree defines the conditions as a sequence of left to right tests. A decision tree helps to show the
paths that are possible in a design following an action or decision by the user. Decision tree turns a decision
table into a diagram. This tool is read from left to right, decision results in a fork, and all branches end with
an outcome. Each node corresponds to a numbered choice on the legend. All possible actions are listed on
the far right.
Yes
Pay Base
1 Salary
No
Yes Pay Hourly
Wage;
2
Absence
No
Yes
Pay Hourly
Legend
Wage
1) Salaried? 3
2) Hours Worked < 40?
3) Hours Worked = 40?
No
Pay Hourly
Wage; Pay
Overtime
This is a modified form of English used to specify the logic of information processes. It uses a subset of
English.
Action verbs
Noun phrases
No adjective or adverbs
There are no specific standards and is similar to programming languages.
If conditions
CASE statements
A user may acquire the hardware and software directly from a manufacturer and developer respectively.
He may also purchase them from an intermediate supplier. Whichever way, carefully controlled purchasing
procedures should be followed. The procedures should include invitation to tender and comparative
analysis to determine the appropriate supplier of the required hardware and software.
It is issued to a range of suppliers. ITT sets out specifications for the required equipment and software and
should explore how the hardware will be used and the time scale for implementation. It sets the performance
criteria required for the new system.
Contents of ITT
ITT includes background information about the companies together with an indication of the purpose of the
system. This includes:
(i) The volume of data to be processed by the system. Complexity of the processing requirements
and system interfaces should be stated.
(ii) The number of individuals who will want to access the computer system after installation and
whether access needs to be instant or not
(iii) The speed of processing required or expected
(iv) Input and output desired
(v) The type of processing methods preferred
(vi) Estimated life of the system
(vii) Possible upgrades or expansion anticipated
(viii) Other general consideration include:
While all the above features are necessary, it is important to decide on the financing methods. These may
include:
a) Purchasing – where the buyer acquires ownership of item after payment of an agreed amount
b) Leasing – involves formation of an agreement between lessee and lessor detailing the use of
equipment, the length of time to use the equipment and the periodical payment
c) Renting – involves a single agreement where one party agrees to use another party’s resources at
certain periodical payments. The agreement is not as binding as that of a lease agreement.
(1) Benchmark tests – tests how long it takes for a machine to run through a particular set of
programs. It is carried out to compare performance of software/hardware against present criteria
such as performance speed, response times and user friendliness of the equipment.
(2) Simulation tests – it uses synthetic program written specifically for testing purposes. They are
programs incorporated with routines designed to test a variety of situations. Other features or
factors include:
Software factors
Software contracts
Software contracts include the costs, purpose and capacity of the software. The following are covered in
software contracts:
Warrant terms
Support available
Arrangement for upgrades
Maintenance arrangements
Delivery period/time especially for written software
Performance criteria
Ownership
Software licensing
Software licensing covers the following:
Number of users that can install and use the software legally
Whether the software can be copied without infringing copyrights
Whether it can be altered without the developers consent
Circumstances under which the licensing can be terminated
Limitation of liability e.g. if the user commits fraud using the software
Obligation to correct errors or bugs if they exist in the software
Hardware factors
Custom-built hardware is a rare necessity. Most hardware is standard, compatible, off-the-shelf
components. It is cheaper, easy to maintain, and ensures compatibility with equipment in your organization
and your partners and clients.
The system analysis and design should have precisely determined what sort of hardware is needed - down
to the make and model.
Factors to consider:
Reputation for support (e.g. phone support, onsite visits, website help)
Reputation for reliability, honesty, permanence (very important!)
Knowledge of the equipment
Geographic location - can you get to them easily if you need to?
Ability to offer onsite support or repair
Prices – cheap, affordable
Installation
Software and hardware installation is done by supplier’s technicians or the user organization appointed
person to avoid the risks associated with improper installation of the equipment. The system analyst and
other development team members may be called to assist where appropriate.
User training
It is important that the system users be trained to familiarize themselves with the hardware and the system
before the actual changeover.
The aims of user training are:
The persons to be trained include system operators, senior managers, middle managers and all those
affected by the system directly or indirectly. Training should cover current staff and recruited personnel.
(i) Record manually the existing data i.e. the old master files
(ii) Transfer the recorded data to special form required by the new system
(iii) Insert any new data into the file i.e. update the file already in the new form (form should include
data contents and their corresponding formats and layouts)
(iv) Transcribe the completed form into a medium or storage relevant for the new system
(v) Validate the file contents to ensure that they are error free before they can be used in the new system
System change-over
Involves changing or switching from existing system to the new developed system. The following methods
may be used:
Parallel changeover
This is a method where new and old systems are allowed to run side by side or simultaneously until it is
proved beyond reasonable doubt that the new system is working and all the benefits are realized. It is
suitable when the new system is sophisticated and a very careful changeover is required or when the
development team has little confidence in the new system and where there are more staff to cope with the
operations of both system running in parallel.
Phased changeover
The method involves implementation of a system on step-by-step approach. This implies that only a portion
of the system is implemented initially. Other portions are implemented in phases. For example if it has
modules for finance, production and human resource management, then the finance module is implemented
first, then the production and lastly the human resource management module.
Pilot changeover
It involves installation of new system but using it only in one part of the organization on an experimental
basis. E.g. a bank wishing to computerize its operations may install a computerized system on one branch
on experimental basis. When the system is proved to be successful, it is transferred to another branch and
after some time to another etc until the entire bank is computerized. Any refinement that ought to be done
on the system should be done before it is installed in the next branch.
Advantages are:
Allows a new system to be implemented quickly with minimum costs
Allow training of personnel on the new system during implementation
They cause minimum interruption to company operations during system’s implementation
The peak demands are lighter on the end user and the operational environment
They are less costly
The risks associated with errors and system failure are minimized