Software Development Lifecycle

Susan M. Houston
DOI: https://doi.org/10.1201/B22038-5
2016-10-01
Abstract:Any software system to be developed (using any of the programming languages) must go through a series of steps before the system is deployed and released on to the production environment. The software development life cycle (SDLC) defines the stages involved in the software development process, so as to develop a particular application. One of the models that are followed in the development of a software application is called as a ‘waterfall’ model, which is shown in Figure A3.1. The figure shows a series of steps that we must follow in the software development process. The meaning of each of the phases is as explained below: Analysis: This is a phase in software development where the software engineer understands the exact requirements of the software to be developed. The requirements of the application to be developed are captured from the end users of the application and a ‘Business requirements document’ is prepared, which describes the answers to the following questions: 1. What are the inputs to the system to be developed? 2. What is the processing to be performed by the system to be developed? 3. What are the outputs of the system to be developed? ‘Analysis’ is the detailed study of the requirements that are received from the business users for a particular software system to be developed under a given set of constraints. Design: Software ‘design’ is a process to create ‘model’ of the system to be developed thereby finalizing the complete approach of development. The models created during the ‘design’ phase should define the following attributes: 1. The detailed software architecture of the system to be developed. 2. The detailed procedure/algorithm of each functionality which is required to implement the solution. 3. The specifications of the data models to be implemented for the system to be developed. 4. Other software system and integrity constraints. The ‘feasibility study’ is also done in the design process so as to determine if the requirements are possible to be implemented under a given set of constraints. If any of the requirements is found to be unfeasible, the development process may be reiterated from the analysis phase where the requirements for the system are redefined.
Computer Science
What problem does this paper attempt to address?