Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Systems Development Life Cycle(SDLC)

Definition
 A system life cycle is a set of stages that are followed when developing an information system.
 The systems development life cycle (SDLC) is a conceptual model used in project management that
describes the stages involved in an information system development project, from an initial feasibility
study through maintenance of the completed application.
 The systems development life cycle (SDLC) refers to the stages through which the system develops
from’’ birth to death’’ that is from the time the system is incepted until it is modified or replaced with the
new system.

Below is a diagram that indicates the SDLC

a)DEFINITION ANALYSIS
PROBLEM FEASIBILITY STUDY

DESIGN
MAINTANANCE

EVALUATION IMPLEMENTATION TESTING


TESTING

Problem Definition
 It is a brief investigation of the system under consideration and gives a clear picture of what actually
the physical system is?
 In practice, the initial system study involves the preparation of a System proposal which lists the
Problem Definition, Objectives of the Study, Terms of reference for Study, Constraints, Expected
benefits of the new system, etc. in the light of the user requirements.
 The system proposal is prepared by the System Analyst (who studies the system) and places it before
the user management.
 The management may accept the proposal and the cycle proceeds to the next stage.
Feasibility Study
 When the proposal is acceptable to the management, the next phase is to examine the feasibility of
the system.
 The feasibility study is basically the test of the proposed system in the light of its workability, meeting
user’s requirements, effective use of resources and of course, the cost effectiveness.
 These are categorized as technical, operational, economic, organisational and social feasibility.
 The result is a feasibility report submitted to the management. This may be or accepted with
modifications or rejected.

Factors considered in carrying out a feasibility study

1. Economic feasibility –
 It determines whether the company can afford to implement the new system.
 The system analyst compares the cost of developing the new system with the expected
benefits from using the new system (Cost Benefit Analysis).
2. Operational feasibility –
 It determines whether a proposed system will be used effectively after it has been developed
 Whether the problem can be solved in the user’s environment with existing and proposed
system workings?
 If users experience difficulties with a new system, then it will not produce the expected
benefits.
3. Organizational feasibility –
 Whether the proposed system is consistent with the organization’s strategic objectives?
4. Technical feasibility –
 Whether the problem to be solved using existing technology and resources available?
 It determines whether the company has or can acquire the technical resources needed to
develop, purchase, install, or operate the new system.
5. Social and Legal feasibility –
 It ensures that the new system being developed is not socially biased and it does not violate
the rules and regulations of a particular country.
 Whether the problem can be solved without causing any social issues? Whether the system
will be acceptable to the society?

System Analysis
 Systems analysis is a process of collecting factual data, understand the processes involved, identifying
problems and recommending feasible suggestions for improving the system functioning.
 The main purpose of this stage is to gather information about the existing system in order to determine
the requirements for the new system.
 This involves studying the business processes, gathering operational data, understand the information
flow, finding out bottlenecks and evolving solutions for overcoming the weaknesses of the system so
as to achieve the organizational goals.
 The system analyst identifies the specific requirements that the new system must satisfy. The
requirements are often called user requirements, because users provide them.
 The major objectives of systems analysis are to find answers for each business process:
What is being done?

How is it being done?

Who is doing it?

When is he doing it? Why is it being done?

How can it be improved?

 It is more of a thinking process and involves the creative skills of the System Analyst.
 The system analysis stage involves some or all of the following stages:
i. Fact finding
ii. Understanding the current system
iii. Producing of data flow diagrams
iv. Identifying the user requirements
v. Interpreting the user requirements
vi. Agreeing on the objectives with the user
vii. Collection of data from the current system
 It attempts to give birth to a new efficient system that satisfies the current needs of the user and has
scope for future growth within the organizational constraints.
 Interviews, on-site observation and questionnaire are the tools used for detailed system study.
 Using the following steps it becomes easy to draw the exact boundary of the new system under
consideration:
i. Keeping in view the problems and new requirements
ii. Workout the pros and cons including new areas of the system
 All the data and the findings must be documented in the form of detailed data flow diagrams (DFDs),
data dictionary, logical data structures and miniature specifications.
 It includes planning for the new system, analysis of requirement, system constraints, functions and
proposed system architecture, prototype of the proposed system and its analysis.

Data Collection Procedures/ Fact Finding

 The fact finding is concerned with finding out about the existing system. It may be that a company is
currently using manual system and is considering computerization.
 Methods that can be used include
 Interviews
 Record inspection/ examination of system documents
 Questionnaires
 Observations
 Research

Homework

Go and research on the advantages and disadvantages of the above fact finding methods.

System Design
 This is the most crucial phase in the development of a system.
 The logical system design arrived at as a result of system analysis and is converted into physical
system design.
 In the design phase the SDLC process continues to move from the what questions of the analysis
phase to the how.
 It involves the production of a detailed description showing how the new system will be constructed.
 During this stage the system analyst may seek the services of a programmer.
 A programmer or developer is a person responsible for writing/coding and testing computer programs.
 The logical design produced during the analysis is turned into a physical design - a detailed
description of what is needed to solve original problem.
 During the design stage, the system analyst
i. Designs the user interface (input forms)
ii. Designs the screen layouts
iii. Designs output forms and reports layouts
iv. Produce flowcharts and/pseudo code (algorithms)
v. Select/design any validation rules that need to be used
vi. Select the most appropriate data verification methods
vii. Design file structures or tables for the storage and organization of the data
viii. Select the hardware and requirements for the new system
ix. Design a testing strategy/plan
 Data structure, control process, equipment source, workload and limitation of the system, Interface,
documentation, training, procedures of using the system, taking backups and staffing requirement are
decided at this stage.
 Programming tools like compilers, interpreters and language like c, c++, and java etc., are used for
coding .with respect to the type of application.
 The right programming language should be chosen.

Testing
 It is done so as to make sure that the system works as expected
 Before actually implementing the new system into operations, a test run of the system is done
removing all the bugs, if any.
 When testing a system, three types of test data are normally used. These are normal test data,
erroneous test data and extreme test data
 After codifying the whole programs of the system, a test plan should be developed and run on a given
set of test data.
 The output of the test run should match the expected results. Sometimes, system testing is considered
as a part of implementation process.
 Using the test data following test run are carried out:
 Program test
 System test
 Program test : When the programs have been coded and compiled and brought to working conditions,
they must be individually tested with the prepared test data. All verification and validation be checked
and any undesirable happening must be noted and debugged (error corrected).
 System Test :
At this stage the test is done on actual data.
The complete system is executed on the actual data.
At each stage of the execution, the results or output of the system is analyzed.
During the result analysis, it may be found that the outputs are not matching the expected output of the
system.
In such case, the errors in the particular programs are identified and are fixed and further tested for the
expected output.
 When it is ensured that the system is running error-free, the users are called with their own actual data
so that the system could be shown running as per their requirements.
 The documentation of the system is also one of the most important activity in the system development life
cycle.
 This ensures the continuity of the system. Generally the following two types of documentations are
prepared for any system.
i. User or Operator Documentation
ii. System Documentation

User Documentation:

 It is a document written so as to assist users operate the new system.


 The user documentation is a complete description of the system from the user’s point of view detailing
how to use or operate the system.
 It also includes the major error messages likely to be encountered by the user.
 A user documentation could be produced as a printed manual, as help within the software or it may be
available on the websites.
 It usually contains information on
i. How to install the software
ii. How to save files
iii. How to search and sort data items
iv. How to do printouts
v. Software/hardware requirements
vi. How to add, delete or amend records, etc

System Documentation:

 It is a document written for technical people such as system analysts and programmers to help them in
the further development of the software or to modify the software in case of bugs
 Not usually written for users but for computer professionals
 The system documentation contains
i. Flowcharts/algorithms for each program in the system
ii. Program languages used
iii. Purpose of the system/software
iv. Hardware/software requirements
v. Known bugs/errors in the system
vi. Validation rules
vii. Test data and expected results
viii. File structures
ix. Data flow diagrams
x. Program coding, etc
Implementation
 It is the process of starting to use an information system in a real situation after having designed and
developed the system.
 Implementation is the stage of a project during which theory is turned into practice.
 The major steps involved in this phase are:

1. Acquisition and Installation of Hardware and Software


2. Conversion
3. User Training
4. Documentation

 The hardware and the relevant software required for running the system must be made fully
operational before implementation.
 The data from the old system needs to be converted to operate in the new format of the new system.
 The data on the paper files is transferred to the new system. This may involve either scanning in the
documents or keying in the data manually into the computer.
 The database needs to be setup with security and recovery procedures fully defined.
 During this phase, all the programs of the system are loaded onto the user’s computer. After loading
the system, training of the user starts. Main topics of such type of training are:

 How to execute the package?


 How to enter the data?
 How to process the data (processing details)?
 How to take out the reports?

 After the users are trained about the computerized system, working has to shift from manual to
computerized working.
 The process is called Changeover.
 There are four main methods to choose from when implementing a new system (changeover)
i. Parallel running
ii. Pilot changeover
iii. Direct changeover
iv. Phased changeover

Direct Changeover:

 This is the complete replacement of the old system by the new system. It is a risky approach and
requires comprehensive system testing and training.
 This method can only be used when the new system has been thoroughly tested
Advantages
i. Costs are reduced, since one system is in use, thus less staff needed
ii. Less likelihood of malfunction since the new system would have been fully tested
iii. A faster method of fully implementing the new system
iv. The simplest and easiest method of conversion.
Disadvantages

i. If the new system fails or problems arise, the old system is not available for backup
ii. Users have no chance to learn or get used to the new system
iii. It requires comprehensive system testing and training

Parallel run/Parallel changeover:

 In parallel run both the systems, i.e., computerized and manual, are executed simultaneously for
certain defined period. The same data is processed by both the systems.
 Once there is confidence that the new system operates properly, the old system is shut down.
Advantages
i. If the new system goes down for any reason, you still have the old system as backup
ii. Users are given enough time to learn and get used to the new system
iii. A better way of checking the performance of the new system, by comparing its results with those
of the old system
Disadvantages
i. More expensive since extra staff is needed to run both systems
ii. Extra workload for participants running two systems
iii. More time consuming, since both systems need to be run and evaluated
iv. It requires participants to be fully trained in the new system before its implementation

Pilot run:

 Is the method whereby part of an organization uses the new system while the rest of it continues to
use the old system
 At some pre-determined time, the pilot system is installed for all the other users and the old system is
switched off.
 Pilot conversion is ideal for certain scenarios, such as big supermarkets, where a new point of sale
system can be installed in one store as a trial, and on success after a period of time, the system is
then rolled out to other branches.
Advantages
i. If the new system does not work properly at the pilot site, not all branches will be affected
ii. Other branches benefit by learning from the mistakes made in the pilot site
iii. It allows users at the pilot site to train others in other branches, who had not yet used the
system.
iv. It allows for the new system to be tested with real world data as a complete system.

Disadvantages

i. It is a slow method of implementation


ii. If a system undergoing pilot conversion does fail, the data in the new system is lost
iii. It can also lead to some confusion, as to which system is being used and for what
iv. The pilot site will be running a totally different system from the other branches
Phased Changeover:

 It involves replacing part of a system with a new system while some tasks continue to use the old
system
 It could be that accounting/financial tasks are done by the new system whilst aspects like the payroll
are done using the old system
 Phased implementation uses the elements of both the parallel and direct changeover strategies
Advantages
i. It allows the users to gradually get used to the new system
ii. It allows for each module of the new system to be individually tested and evaluated with real
world data before expanding to other modules
iii. It’s easier to go back to the old system, if the new system fails
iv. If a single module fails, that module can be removed and corrected, without greater loss to the
remainder of the new system
Disadvantages
i. It is a slow method of implementation since the system is implemented in stages
ii. Expensive since the system is implemented in stages as opposed to all at once as in direct
changeover
iii. If the new system doesn’t work properly it is not possible to fall back on the old system
iv. May lead to confusion on the part of users as to which system

Evaluation
 After the system has been developed, tested and implemented it must be evaluated
 A system is mainly evaluated so as to ensure it meets the expectations of the users as well as to make
sure that it is perfect in all aspects
 System evaluation can involve
i. Comparing the final solution with the original system requirements i.e does the system solve
the problem it was designed for?
ii. Evaluating the user’s responses to using the new system i.e does the system meets the
expectations of the user
iii. Evaluating the ease of use of the system i.e is the system user friendly
iv. Comparing test results from new system with results from old system
v. Evaluating the efficiency of the system
vi. Identifying any necessary improvements that need to be done in future

Maintenance
 System maintenance ensures that the system continues to run smoothly and to meet changed
requirements of the user
 Maintenance is necessary to eliminate errors in the system during its working life and to tune the
system to any variations in its working environments.
 It also means the review of the system from time to time.
 If a major change to a system is needed, a new project may have to be set up to carry out the change.
The new project will then proceed through all the above life cycle phases.
Conclusion
 Systems Development Life Cycle (SDLC) puts emphasis on decision making processes that affect
system cost and usefulness.
 These decisions must be based on full consideration of business processes, functional requirements,
and economic and technical feasibility.
 The primary objectives of any SDLC is to deliver quality system which meets or exceed customer
expectations and within cost estimates, work effectively and efficiently within the current and planned
infrastructure, and is an inexpensive to maintain.
 SDLC establishes a logical order of events for conducting system development that is controlled,
measured, documented, and ultimately improved.
 Any software is not all complete and there are enough rooms to add new features to existing software.

You might also like