You are on page 1of 11

SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)

 SYSTEM
-it is a collection/combination of inter-related parts that work together to achieve a certain
goal/goals e.g. a computer system (consists of the hardware, software, data and the people)

 INFORMATION SYSTEM
-it is a computer based system responsible for the processing of data to provide information for
decision making by managers in an organisation. Examples are Payroll IS, Stock control IS,
Student IS etc.
**In a manual IS all the activities such as data collection and data processing are done manually
whereas in a computerised IS all these activities are carried by the computer.

 SYSTEM DEVELOPMENT LIFE CYCLE


-is a systematic and orderly approach to build computerised information systems and computer
applications from manually systems to solve problems and needs of the users
-it has several stages such as problem definition and feasibility study
OR
-a set of steps/stages which are followed in developing a new computerised system from the
manual system to solve a problem

 STAGES I N SDLC
1. Problem identification
2. Feasibility study
3. Investigation
4. Analysis
5. Design
6. Development
7. Implementation
8. Maintenance and Evaluation

 Problem identification stage/preliminary study


-this is when the problems of the organisation are identified and outlined
-the system analyst finds what the problem is and the need for improvement is recognised
-the areas to be improved are also identified
-the aims and objectives of the system are agreed upon
-the following documents are produced:
i) A detailed statement of the problem of the manual system
ii) A detailed statement of the scope of the system
ii) A detailed statement of the objectives of the new system
- a clear and accurate definition must be given to enable managers to make necessary decisions.

 Feasibility study stage/investigation


-this is a preliminary study to determine whether the system is financially viable, whether the
hardware, software and qualified personnel are available.
-it determines whether the manual system is worthy changing or not with an estimation of costs
and benefits, the alternatives available and decide on the types of system to be developed, which
best meets the needs of the organisation.

1
-at the end, a FEASIBILITY REPORT is produced which give an idea of the time the project is
likely to take, along with some estimate of cost.

-Typical cost factors are:


 Equipment cost (hardware, software and peripheral)
 Development cost (system analysis cost, programming etc)
 Personnel costs (hiring, training etc)
 Infrastructure cost (power supplies, computer room, air conditioning etc)
 Operating cost (consumables like stationary, disks etc)

-The FEASIBILITY STUDY REPORT terms of reference may well include:


 maximum cost
 available equipment
 any business area to be changed
 a cost benefit analysis (looks at the benefits and make sure that they outweigh the costs)
 the conclusion, whether it is worth going ahead with the project and which has been
chosen

-the feasibility study will use the following yardsticks:


 Technological feasibility
-it is concerned whether the hardware or software to solve the problem are available
-it looks at the suitability of the available technology
-it determines whether the technological advancement needed for the purpose has yet been
reached.

 Economic feasibility
-determines whether the system will be cost effective
-the question here is whether the financial returns outweigh the costs
-is the organisation able to buy the hardware and hire the expertise

 Legal feasibility
-it determines whether there is any conflict between the proposed system and legal requirements.
-For example, will the system violate the Data Protection Act?

 Operational feasibility
-how well will the solution work in the organisation
-how will the people feel about the system

 Schedule feasibility
-how long will it take for computerisation
-what the deadline for the user is

 Social feasibility
-what will be the effect on the employees and customers if the new system is employed
-will the workers jobs be improved or devalued
-will workers lose their jobs or not
-will the workers be able to cope with the new jobs

**System analysts will use Gantt chart and PERT chart to do their work

2
Gantt chart-these are line diagrams, with lines representing both time and activities. They are
used to estimate the amount of resources and number of days to do tasks required for a project.

 Investigation stage
-this is a thorough look or detailed study into the problems the users of the system are facing
-the root causes of these problems are identified
-it goes beyond problem identification as it is thorough and detailed.

 Analysis stage
-it involves the process of finding out what the system must do
-the analysis of the system requirements is done
-alternative solutions are evaluated to see their weaknesses and strengths
-reasons for the selection of the proposed solutions are given.
-hardware and software for the new system is selected

-the requirements specification document is concerned with converting the output of the
Requirements Analysis stage into a specification that reflects what the new system is required to
do.
-it contain details about
 Hardware requirements
 Software requirements
 User interface (HCI) such as screen layouts
 What the new system has to be able to do
 Input requirements
 Special user requirements

-tools used during analysis are data flow diagram, flowcharts (system and program), structure
diagrams, algorithms/pseudo-codes

-Data flow diagrams (DFDs) are created- it is a diagram that shows the flow of data in the
system.
-it explains where and what data is flowing in each
case

FACT FINDING METHODS USED TO GATHER DATA


-before the system analyst can make any recommendations about a new system, they still
have to understand how the present system works. The system analyst will perform a fact
finding exercise to investigate the various problems of the system in use

 Interview
-most common method of fact finding. It involves questions and answers session between
systems analyst and the key people within the system e.g. employee and customers, to find
out how it works.
Advantages
-clarification can be made on certain areas -contact with users can be established
-people may be willing to express oral information that may not be keen to put in writing
-opportunity to motivate the interviewee to give open and free answers

3
Disadvantages
-some people may be biased -some resist to explain their problems
-some people talk too fast and it is difficult to note –some managers will be too busy for
interviews -language barrier

 Questionnaire
Advantages
-responses of many people can be collected fast -researcher need not to be there always
-data may be charted or tabulated and analysed easily -quick and simple way to get data
-allows individuals to remain anonymous
Disadvantages
-answers may be inaccurate or misleading -questionnaires are difficult to calculate
-produce limited amount of information -questionnaires may be lost or not returned
-effective questionnaire is difficult to make -answers depend entirely on the interpretation
of the recipient

 Observation
Advantages
-can be used to clarify what users have said about their tasks
-accurate data may be collected especially when users are observed unaware
-can be used to see exactly what is being done
Disadvantages
-causes lack of concentration to the observed person
-it can change people’s behaviour (they may pretend)

 Document inspection/source document


-Inspecting any bits of paper, screen displays and files which are used in the system.
Advantages
-a true source of indication of what exceptions occur
-it helps to confirm any estimates made by managers or staff
Disadvantages
-documents should be neither blank nor partially filled
-problem in missing exception routines

 Group meetings (Group discussion)


Advantages
-many people can air their views
-allows discussion between people in meeting
-cut the number of repeat views obtained in interview
Disadvantages
-some people may hog the discussion
-some people's views may not be heard

4
 Systems design
-the system is now designed to meet the requirements specification.
*Input designs - data input screens/forms are designed. The type and method of capturing data
needs to be considered.
*Output designs - printed reports, output forms and queries are designed . Output from a system
can be On- screen reports (displayed on screen) and Printed reports (hard copy to be mailed).
*Code design – these are used to save data entry time and storage space. Codes must be easier to
remember
*File design – design of files/tables
*Program and flowcharts design
*Hardware and software configuration-network topology designed if data is to be shared

-Prototypes are produced-A prototype is a working model of the proposed system. It has the feel
and features of the intended system but does not include all the features of the proposed system.
-it is used to test the design
Advantages
-users gain a better understanding of the proposed system
-missing requirements can be recognised
Disadvantages
-development costs may be higher because of constant changes
-may extend the time it takes to develop the actual system
-users may think it is the actual system

 Development
-it takes much of the time of the overall work of the project.
-programs are development and coded
-programs are developed using the top-down approach or bottom-up approach
-top-down approach/design-is breaking down the program/problem/task into smaller tasks/sub-
programs. These sub-programs are tasks are developed and tested individually. Also known as
stepwise refinement.
-testing of the programs and the system is done to make sure that all errors are discovered and
corrected.
-system testing is done to test the system as a whole to ensure that the components fit together
properly.
-user acceptance testing is the final testing done by the users to check whether the system is
doing what they want. If the results are positive, then the system is introduced or implemented.
-installation testing is the testing of the system as a whole as it goes live on the customer's
hardware and in the customer's environment.
*Other types of testing are Unit testing, Black box testing, White box testing and Integration
testing.
-Testing is the process of ensuring that the system does what is expected to do. It is done to find
and correct errors.
-a test plan is developed and the test data is used to test the system and the programs
-Test data include
i) normal data
-data that would normally be used during current execution of a program and smooth running of
the system.
-the system should accept it, process it and we can then check the results that are output to make
sure they are correct.

5
ii) abnormal data
-the data that is incorrect and that should be identified and dealt with by validation checks in the
program.
-Abnormal testing is done where incorrect data is entered to check for known errors and error
messages.
iii) extreme data
-it is still correct data but falls right on the limits. For example, an exam mark out of 100%, the
extreme data would be 0% and 100%.

Task
-write notes on the following
Normal data Abnormal data Extreme data Bottom-up approach
Advantages and disadvantages of top-down design/modular programming

 Implementation
-the new information system is placed into operation and it consists of two phases, namely
construction and delivery.
-the old system is replaced by the new system.
-real data is put into the system
-hardware and software are bought and installed (new computers, application and system
software are bought)
-files are converted and data for the system is converted from some existing files.
-training and education of users is done on how to use the system

 Change-over methods/implementation methods


i) Direct/Abrupt /Bing Bang implementation
-the organisation stops using the old system and starts using the new system within a day, over a
weekend or holiday period.
-suitable were a small system is being implemented
Advantages
-very fast, provided it works -efficient and little or no duplication of work
-less risk confusion between old and new system -takes minimal time and effort
Disadvantages
-most stressful for the users who have to adapt to the system suddenly
-if the new system fails going back to the old system is impossible
-most difficult to train the users on the new system as the new system was not in place to learn
from before

ii) Phased implementation


-each task is introduced separately and ensured that it is running smoothly before another task is
introduced.
-If each phase is successful then the next phase is started until the last phase is introduced and the
new system is implemented.
-used with larger systems
Advantages
-easy to train staff as they learn new skills slowly phase by phase
-it has lower risk since the system is introduced phase by phase
-each phase is evaluated before moving to the next phase

6
Disadvantages
-slower that direct implementation –you have to wait until all the phases are complete before the
whole system is evaluated

iii) Parallel implementation


-the old and the new system are both run alongside each other. If all goes well the new system is
introduced.
-Any problems of the new system will not affect the continuation of the business.
Advantages
-easy to go back to the old system in case the new system fails
–both system can be compared easily -easy to train staff as they can learn new skills on
the parallel system -easy to evaluate because the old and new systems are both running.
Disadvantages
-staff have a big load as both systems are working –expensive as both system are operating
-there is risk of confusion or errors when both systems are used side by side

iv) Pilot implementation


-the new system is tried in only a small section of the company e.g. one branch or location or
single department or office.
-This allows any bugs to be found without a large effect on the company as a whole.
- If successful it is tried in another branch till the old system is replaced completely.
Advantages
-easy to control the pilot as the system can be stopped at any time
-easy to train staff as they can learn new skills on the pilot system
–both systems can be compared easily
- easy to evaluate because the old and new systems are both running
-low risk, if a small scale pilot fails then not too much has been lost
Disadvantages
-it is slow to get the pilot to completely replace the old system
-a pilot may not show the problems that a full implementation would show (small scale systems
may work well but have problems when implemented to the full scale)

 Maintenance / Review
-the new system is monitored periodically to see if it is still working properly as expected or to
see if there are problems arising.
-the system must continue working to meet its objectives or goals or users' needs.
-hardware and software faults are repaired.
-the system can also be upgraded or updated to meet new requirements or challenges.
-the system analyst has to listen to user demands and need to improve the current system so as to
make necessary changes to the computerised system.
-review of the system is done to assess the performance of the system to check if it is still
meeting the objectives or goals of the system.

Types of maintenance
i) Perfective Maintenance
-deals with accommodating new (or changed) user requirements.
-deals with improving system performance, improving user interface
-deals with making the system easier to use or adding new facilities

7
ii) Adaptive Maintenance
-makes changes in the system to suit variations or growth in requirements once it is in use
-the system must meet changing needs of the business
-as the system requirements change the system needs updating

iii) Corrective Maintenance


-the type of maintenance needed to fix problems that show up once the system is in use.
-it is the repair of the system (for example correcting coding errors)
-careful testing before full implementation should minimise the number and scope of such
problems
-however, it is impossible to create a system that is perfect.

iv) Preventive Maintenance


-deals with activities which increase the system's maintainability, such as updating
documentation.

 Documentation
-the term documentation refers to any information which has been prepared to help people who
are using or trying to adapt a computer system or some software.
-documentation is created at different stages in the life of a system and for different people to
use.
-no system is complete without documentation.
-documentation consists of notes, diagrams, manuals and instructions.

 Importance of documentation
-to explain to users what to do
-to explain to users how to install a program or system
-enables changes to be made to the system without any difficulties
-to help people designing a new system to work together smoothly

-Two types of documentation are:


i) User documentation
-it is information for the users of the system and should be written in an understandable language
(non-technical language).
-it gives the purpose of the system and describes how the system/software works
-it includes installation manuals explaining how to install the software and how to operate
hardware like printers.
-it includes user manuals/user guides explaining how to save or print documents
-it includes details for setting security (passwords etc)
-it includes data input methods and examples of valid inputs
-it includes details and samples of reports which may be printed
-it includes backup procedures to be followed
-it includes recovery procedures in the event of hardware failure
**Some user documentation is part of the software and can be called up onto the screen when it
is needed. This type of documentation is called on-screen help

ii) Technical documentation


-this is the information that will explain the system to the programmers and systems analysts
who will be responsible for maintaining and possibly adapting the system

8
-the document is written in the technical language that the programmers and systems analysts
will understand
-it is otherwise known as maintenance documentation
-it helps people working with the designer as a means of communicating with them
-it helps programmers and others who are carrying out other parts of the work
-it helps the person designing the system to make sure that it is designed in a methodical manner
-it consists of system documentation and program specification

-technical documentation contains the following:


 the hardware requirements of the system and their specifications eg.1GB RAM
 system flowcharts and program flowcharts with notes
 details of structure diagrams
 algorithm flowcharts (or pseudocodes)\
 program listings
 file structures and data types used in the system
 designing screen layouts and reports formats
 lists of variables used

 Evaluation
-this is done periodically to check if the system is still meeting the objectives.
-users of the system are asked to see if the system is having any problems or if any
improvements are needed
-a full evaluation of a new system is carried out when all is installed and running
-evaluation is carried out looking at the requirement specification that was produced at the end
of the analysis stage
-evaluation helps in getting feedback from the end users and also helps developers to find out
any problems or improvements that can be made to any future system
-the final system is evaluated on its usability, maintainability and effectiveness

-the final evaluation document may include the following:


 any benefits or problems of the system
 errors which were made in the implementation or design stage
 a comparison of the final system with t he objectives set out in the specification
 feedback from end users, management and technical staff

Roles of a systems analyst


 Investigates the problems of the current system
 Find solutions to the problems of the manual/current system
 Design the way the new system looks
 Takes part in the development of the new system
 Implements the news system into use
 Provides maintenance to the new system
 Provides documentation for users of the new system
 Educate users on the benefits of the new system
 Work with the management and staff during development of the system

9
 Reasons for introducing a new system/upgrading a current system
 Methods of production and other processes have changed which require a new system
 Absence of the current system to meet new information requirements
 Time taken to provide information will be too long
 The cost of providing information will be escalating
 The amount of data handled by the current system is too great
 To change the image of the business
 To improve staff morale
 Improve on customer service
 Facilitates co-ordination of activities in the organisation
 Increase in sales revenues of the organisation
 The belief that using a computer will enhance production

 Why a new system may fail


 Lack of interest by the user (ignoring using the new system)
 Wide disagreements between users, maybe indicating that the systems objectives are
incorrect
 Time taken for the various activities exceeding time planned
 Costs exceeding the budgeted money
 Resistance from sworkers and users of the system
 The project never getting started (too many people and meetings)
 Incorrect data being submitted for processing
 Management by crisis, indicating poor planning

 Why users may resist the new system


 Fear of loosing their jobs
 Fear of salary deductions/fear to lose prestige
 Inability to learn new skills
 Employees think management want to get rid of old staff
 They think computers are harmful to health
 Resentment on what appears to be a personal attack

 How to avoid resistance to change


 Encourage participants in decision making
 Concentrate on positive change
 Avoid to many arguments
 Create a favourable atmosphere
 Keep the team-mates well informed of developments
 Provide security on the jobs of the users
 Educate the users on how to use the system
 Inform the users on the benefits of the new system

10
11

You might also like