Design and Implementation of Correct Efficient and Maintainable Programs?
https://www.computersprofessor.com/2016/06/design-and-implementation-of-correct.html
The entire program or software (collection of
programs) development process is divided in to a number of phases, where each phase performs a well- defined task .
Phases in Software
development
Life
cycle.
Requirements
analysis:
in
this phase , the user’s expectations are gathered to understand why the program
or software has to be developed. Then , all the gathered requirements are
analysed and the scope or objective of
the over all software product is penned down. The last activity in this phase
involves documenting every identified requirement of the user in order to avoid
any doubts or uncertainty regarding the functionality of the program. The
functionality, capability, performance, and availability of hardware and
software components are all analysed in this phase.
Design:
The requirement documented in the previous
phase act as the input to the design phase. In this phase, a plan of actions is
made before the actual development process starts. This plan will be followed
throughout
the development process. Moreover, in the design phase, the core
structure of the software or program is broken down in to modules. The solution
of the program is then specified for each module in the form of algorithms or
flow charts . The design phase, therefore specifies how the program or software
will be developed.
Implementation:
In this phase, the designed algorithms are
converted in to program code using any of the high level languages. The
particular choice of language will depend on the type of program such as
whether it is a system or an application program. C is preferred for writing
system programs, whereas Visual basic might be preferred for an application
program. The program codes are tested by the programmer to ensure their
correctness.
Testing:
In this phase , all the modules are tested
together to ensure that the overall system works well as a whole product. In
this phase, the software is tested using a large number of varied inputs, also
known as test data, to ensure that the software is working as expected by the
user’s requirements identified in the requirements analysis phase.
Software
deployment, training, and support:
After the code is
tested and the software or the program is approved by the user’s it is then
installed or deployed in the production environment.
Software
training and support is a crucial phase. Program designers and developers spend
a lot of time creating the software, but if nobody in the organization knows
how to use it or to fix certain problems , then no one will want to use it.
Maintenance:
Maintenance
and enhancements are ongoing activities that are done to cope with newly
discovered problems or new requirements. Such activities may take a long time
to complete.