SDLC (Software Development Life Cycle)
Systems development – activities that produce solution to organizational problem/opportunities. Developing Information System solution- a multi-step, iterative process called System Development Life Cycle (SDLC ).
Requirement Analysis and Specification Phase
The goal of this phase is to understand the exact requirements of the customer and to document them properly. The requirements describe the “what” of a system, not the “how”. The result document is the “Software Requirement Specification” (SRS) document.
Specifies how system will meet information needs of users. ØIs overall plan for that system. Like blueprint of building. Specs should address all managerial, organizational & technical components of system solution. Consists of design activities that ultimately produce physical system specs satisfying functional requirements developed during systems analysis process. The work is document and that document is known as “Software Design Description”.
Implementation and Unit Testing Phase
During implementation, physical system specs converted into working & reliable software & hardware. Physical design specs turned into working computer code by programming team. Coders convert block diagrams into sequences of instructions for processing equipment. After coding has started, testing process can begin & proceed in parallel. Each program module needs to be tested individually, then as part of larger program. Purpose of testing is to check whether the system produces right results. Initially small modules are testing in isolation from the rest of the software.
Integration and System Testing Phase
System testing involves the testing of the entire system. It is a very expensive and time consuming activity and consumes one-third of the cost of typical development project.
Operation and Maintenance Phase
Categories of system maintenance:
Implies removing errors in a program due to faulty design or wrong assumptions. In corrective maintenance processing or performance failures are repaired.
In adaptive maintenance, program functions are changed to enable the system to satisfy information needs of users or respond to organizational changes.
Undertaken to respond to user’s additional needs due to changes within/outside the organization. Environmental changes include : Changes in government policies and laws, Economic & competitive conditions, and New technology.
Problems of Waterfall Model
- It is difficult to define all requirements at the beginning of a project.
- This model is not suitable for accommodating any change.
- A working version of the system is not seen until late in the project’s life.
- It does not scale up well to large projects.