SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
The system 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 complete application. Various SDLC methodologies have been developed to guide the processes involved, including waterfall model, rapid application development (RAD), joint application development (JAD), the spiral model, protOtyping model and build and fix model.
Documentation is crucial regardless of the type of model chosen and is usually done in parallel with the development process. Some methods work better for specific types of projects, but in the final analysis, the most important factor for the success of a project may be how closely the particular plan was followed. Most organizations have a formal system development process consisting of a standard set of processes or steps they except will be followed on any system development project. While these processes may vary greatly for different organizations, a common characteristics can be found. Most organizations system development process follows a problem solving approach.
That approach typically incorporates the following general problem-solving steps :
- Identify the problem.
- Analyze and understand the problem.
- Identify solution requirements and expectations.
- Identify alternative solutions and the best course of action.
- Design the best solution.
- Implement the chosen solution..
- Evaluate the result.
The ,SDLC may be conceptualized into six sequenced stages :
(1) Recognition of Need- What is the Problem ?
One must know what the problem is before it can be solved. The basis for the candidate system is recognition of a need for improving an information system. The objective of this step is to clearly define the need for the project. Defining the problem involves determining the exact nature of the problem, its location and its likely causes. The objective is to understand the problem to enable finding an appropriate solution. This phase also sets the project boundaries which define what part of the system can be change by the project and what parts are to remain without any change. This also include rough idea of the resource requirements for the project as well as the estimated start and completion dates for each phase and the number of person to be involved in each phase.
In SDLC, problem identification helps in :
- pin-pointing the problems
- setting proper system objectives
- determining the boundaries of the project by taking into consideration the limitation of the available resources.
All projects that are requested are not always feasible. Some organization receives so many project requests from employees that only few of them can be pursued. Even those projects that are feasible and desirable should be put into schedule. The management decides the requests that are most important and only after a project request is approved, the cost of project, completion time, personnel requirements are estimated.
(2) Feasibility Study
Feasibility study is the test of system proposal according to its workability, impact on the organization, ability to meet the user’s needs and effective user of resources. It focuses on user’s needs and how does a candidate system meet them. It also focuses on the likely impact of the candidate system on the organization. The objective of feasibility study is not to solve a problem but to acquire a sense of its scope. Under feasibility study, the cost and the benefits are estimated with greater accuracy.
The result of feasibility study of the formal proposal. It is a formal document detailing the nature and scope of the proposed solutions.
The proposal summarizes what is known and what is going to be done. It consist of the following :
- Statement of the Problem : A carefully worded statement of the problem that lead to analysis.
- Summary of findings and Recommendations : A list of the major findings and recommendations of the study. It is ideal for the users who require quick access to the result of the analysis- of the system under study. Conclusions are also •
- Details of Findings : An outline of the methods and procedures undertaken by the existing system, followed by coverage objectives and procedures of candidate system.
- Recommendations and Conclusions : Specific recommendation regarding the candidate system including personal assignments, cost, project schedules and target dates.
(3) System Analysis
Analysis is the detailed study of various operations performed by the system and their relationship within and outside of the system. The goal of this phase is to understand the exact requirements of the. customers and to document them properly. The requirements describe the ‘what’ of a system not the ‘how’. During analysis, data is collected on the available files, interviews, on site observations and questionnaires are conducted.
Once analysis is complete, the analyst has a firm understanding of what is to be done.
This stage concludes with the preparation of a user requirement specification document that has to be approved by the user representative and by top management.
Systems analysis is an explicit formal inquiry carried out to identify a better course of action and make a better decision than he might otherwise have made. The characteristic attributes of a problem situation where systems analysis is called upon are complexity of the issue and uncertainty of the outcome of any course of action that might reasonably be taken. Systems analysis usually has some combination of the following: identification and re-identification) of objectives, constraints, and alternative courses of action; examination of the probable consequences of the alternatives in terms of costs, benefits, and risks; presentation of the results in a comparative framework so that the decision maker can make an informed choice from among the alternatives.
The typical use of systems analysis is to guide decisions on issues such as national or corporate plans and programs, resource use and protection policies, research and development in technology, regional and urban development, educational systems, and other social services.
That part or aspect of systems analysis that concentrates on finding out whether an intended course of action violates any constraints is referred to as feasibility analysis. A systems analysis in which the alternatives are ranked in terms of effectiveness for fixed cost or in terms of cost for equal effectiveness is referred to as cost-effectiveness analysis.
(4) System Design
The most creative and challenging phase of system development life cycle is System Design.
The system design is meant to a blue print of a new system to be developed. The project team considers and evaluates alternate designs and select the one that is best expected to meet the user requirements most satisfactory within the given constraints.
The term design describe the final system and the process by which it is develope’d. It refers to the technical specifications that will be applied in implementing the candidate system.
During system design, there is initially a need to explore alternative technical solutions. Once a technical alternative is chosen and approved, the system design phase develops the technical blueprints and specifications required to implement the final solution. These blueprints and specifications will be used to implement required databases, programs, user interfaces, and networks for the information system.
Under system design phase, how the output is to be produced and in what format is determined. The output of this stage is the system design document (SDD). The SDD includes the following :
- Data flow in the information system.
- Database structure
- H/W and S/w configuration
- User interface : how the users are expected to interact with the system. The SDD is submitted to the top management for approval.
System Implementation constructs the new information system and puts it into operation. It is during system implementation that any new hardware and system software are installed and tested.
As system components are constructed or installed, they must be individually tested. And the complete system must also be tested to ensure that it works properly and meets user’s requirement and expectations. Once the system has been fully tested, it must be placed into operation.
Implementation is primarily concerned with user training, site preparation and file conversions. When the candidate system is linked to terminals or remote sites, the telecommunication network and tests of the network along with the system are also included under implementation.
(6) Post Implementation and Maintenance
After the installation phase is completed and the user staff is adjusted to the changes created by the candidate system, evaluation and maintenance begin. The importance of maintenance is to bring the new system to standards.
Normally, this is the longest life cycle phase. Once the system has been put to user, modifications can be made so that the system continues to provide the needed support. These modifications are called system maintenance. System maintenance is of the following three types :
(a) Corrective Maintenance : System use uncovers bugs in the programs or weakness in the design that were not detected in system testing. These errors that occurred may be one of the following types
- program logic errors
- system errors
- operational errors
- user errors
- Adaptive Maintenance : This type of maintenance is performed to cope up with the changing requirements of the market and organization. It is performed with the view of keeping the software up-to-date.
- Perfective Maintenance : The perfective maintenance is performed to further improve the efficiency of the working system. Modify data structure, backing records, storing pre-computed results and eliminating temporary work files are some of the methods for improving the overall system efficiency.