Software Life Cycle
The software life cycle typically includes the following: requirements
analysis, design, coding, testing, installation and maintenance. In
between, there can be a requirement to provide Operations and support
activities for the product.
Requirements Analysis.
Software organizations provide solutions to customer requirements by
developing appropriate software that best suits their specifications.
Thus, the life of software starts with origin of requirements. Very
often, these requirements are vague, emergent and always subject to
change.Analysis is performed to
- To conduct in depth analysis of the proposed project, To evaluate for
technical feasibility, To discover how to partition the system, To
identify which areas of the requirements need to be elaborated from the
customer, To identify the impact of changes to the requirements, To
identify which requirements should be allocated to which components.
Design and Specifications. The
outcome of requirements analysis is the requirements specification.
Using this, the overall design for the intended software is developed. Activities in this phase -
Perform Architectural Design for the software, Design Database (If
applicable), Design User Interfaces, Select or Develop Algorithms (If
Applicable), Perform Detailed Design.Coding. The
development process tends to run iteratively through these phases
rather than linearly; several models (spiral, waterfall etc.) have been
proposed to describe this process.
Activities in this phase - Create Test Data, Create Source, Generate Object Code, Create Operating Documentation, Plan Integration, Perform Integration.
Testing. The process of
using the developed system with the intent to find errors.
Defects/flaws/bugs found at this stage will be sent back to the
developer for a fix and have to be re-tested. This phase is iterative
as long as the bugs are fixed to meet the requirements.
Activities in this phase -
Plan Verification and Validation, Execute Verification and validation
Tasks, Collect and Analyze Metric Data, Plan Testing, Develop Test
Requirements, Execute Tests.
Installation. The so
developed and tested software will finally need to be installed at the
client place. Careful planning has to be done to avoid problems to the
user after installation is done.
Activities in this phase - Plan Installation, Distribution of Software, Installation of Software, Accept Software in Operational Environment.
Operation and Support.
Support activities are usually performed by the organization that
developed the software. Both the parties usually decide on these
activities before the system is developed.
Activities in this phase - Operate the System, Provide Technical Assistance and Consulting, Maintain Support Request Log.
Maintenance. The process
does not stop once it is completely implemented and installed at user
place; this phase undertakes development of new features, enhancements
etc.
Activities in this phase - Reapplying Software Life Cycle.
|