Lecture-2 - Software Development Life Cycle
Lecture-2 - Software Development Life Cycle
Software
Engineering
This phase is the main focus of the project managers and stake holders.
Meetings with managers, stake holders and users are held in order to determine the requirements like:
Who is going to use the system? How will they use the system? What data should be input into the system? What data should be
output by the system?
After requirement gathering these requirements are analyzed for their validity and the possibility of incorporating the
requirements in the system to be development is also studied.
Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model.
The testing team follows the Software Testing Life Cycle and starts the Test Planning phase after the requirements analysis is
completed.
2) Feasibility Study
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.
The main goal of feasibility study is not to solve the problem but to achieve the scope
Economic feasibility - The likely benefits outweigh the cost of solving the problem which is generally demonstrated by a cost/
benefit analysis.
Operational feasibility - Whether the problem can be solved in the user’s environment with existing and proposed system
workings?
Organizational feasibility – Whether the proposed system is consistent with the organization’s strategic objectives?
Technical feasibility - Whether the problem be solved using existing technology and resources available?
3) System Design
It is the most crucial phase in the development of a system.
The logical design produced during the analysis is turned into a physical design - a detailed
description of what is needed to solve original problem.
Input, output, databases, forms, codification schemes and processing specifications are drawn up in
detail. In the design stage, the programming language and the hardware and software platform in
which the new system will run are also decided.
There are several tools and techniques used for describing the system design of the system. These
tools and techniques are: Flowchart, Data flow diagram (DFD), Data dictionary, Structured English,
Decision table and Decision tree.
4) Coding
This is also called the programming phase in which the programmer converts the
program specifications into computer instructions, which we refer to as programs.
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
System Test : After carrying out the program test for each of the programs of the system and errors removed,
then system test is done. 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.
6) Implementation
Implementation is the stage of a project during which theory is turned into practice. The major
steps involved in this phase are: ·
• Acquisition and Installation of Hardware and Software ·
• Conversion
• User Training
• Documentation
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?
7) Maintenance
• 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 must meet the scope of any future enhancement, future functionality and any other added
functional features to cope up with the latest future needs. It has been seen that there are
always some errors found in the systems that must be noted and corrected.
• It also means the review of the system from time to time. The review of the system is done for:
knowing the full capabilities of the system
knowing the required changes or the additional requirements
studying the performance.