This is also known as Classic Life Cycle Model (or) Linear
Sequential Model (or) Waterfall Method. This model has the following
activities. 1. System/Information Engineering and Modeling
As software is always of a large system (or business), work begins by establishing the requirements
for all system elements and then allocating some subset of these
requirements to software. This system view is essential when the
software must interface with other elements such as hardware, people
and other resources. System is the basic and very critical requirement
for the existence of software in any entity. So if the system is not in
place, the system should be engineered and put in place.
In some cases, to extract the maximum output, the system should be
re-engineered and spruced up. Once the ideal system is engineered or
tuned, the development team studies the software requirement for the
system.
2. Software Requirement Analysis
This process is also known as feasibility study.
In this phase, the development team visits the customer and studies
their system. They investigate the need for possible software
automation in the given system. By the end of the feasibility study,
the team furnishes a document that holds the different specific recommendations for the candidate system.
It also includes the personnel assignments, costs, project schedule,
target dates etc.... The requirement gathering process is intensified
and focussed specially on software. To understand the nature of the
program(s) to be built, the system engineer or "Analyst" must
understand the information domain for the software, as well as required
function, behavior, performance and interfacing. The essential purpose
of this phase is to find the need and to define the problem that needs
to be solved .
3. System Analysis and Design
In this phase, the software development process, the software's overall
structure and its nuances are defined. In terms of the client/server
technology, the number of tiers needed for the package architecture,
the database design, the data structure design etc... are all defined
in this phase. A software development model is thus created. Analysis and Design are very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage
of the software development. Much care is taken during this phase. The
logical system of the product is developed in this phase.
4. Code Generation
The design must be translated into a machine-readable form. The code
generation step performs this task. If the design is performed in a
detailed manner, code generation can be accomplished without much
complication. Programming tools like compilers, interpreters, debuggers etc... are used to generate the code. Different high level programming languages like C, C++, Pascal, Java are used for coding. With respect to the type of application, the right programming language is chosen.
5. Testing
Once the code is generated, the software program testing begins.
Different testing methodologies are available to unravel the bugs that
were committed during the previous phases. Different testing tools and
methodologies are already available. Some companies build their own
testing tools that are tailor made for their own development operations.
6. Maintenance
The software will definitely undergo change once it is delivered to the
customer. There can be many reasons for this change to occur. Change
could happen because of some unexpected input values into the system.
In addition, the changes in the system could directly affect the
software operations. The software should be developed to accommodate
changes that could happen during the post implementation period.