In: Computer Science
4. Define briefly the different activities of the Software lifecycle.
Solution : The software life cycle is classically thought of as the set of activities that analysts , designers and users carry out to develop and implement a software. The Software lifecycle consists of the following activities :
These activities are defined below :
i) Preliminary Survey / Study : This is the first step of software life cycle. This phase is basically concerned about determining whether or not the new system should be developed. During this phase , problems with the current system (manual or automated) are identified and also the costs of an alternative system are identified. If the benefits seem to outweigh the costs , approval is granted for new project's development.
ii) Feasibility Study : The basic purpose of feasibikity study or survey is to determine whether the wholw process of systems analysis leading to computerisation would be worth the effort for the organisation. The feasibility study results in the preparation of a report called feasibility study / Survey report that contains the details regarding rough estimates on the cost / benefit analysis if the solution is implemented ; also includes the approximate time , effort and cost estimates foe completion of the project.
iii) Investigation and fact recording : After the solution is approved , the work of systems development team begins with a careful assessment of the needs that the new software is expected to fulfill. The team collects information on the problem environment that begins with data collection and fact recording. Common fact recording methods are - Interviewing , Questionnaire , On-site observation , sampling and reviewing of procedures and forms.
iv) Analysis : It refers to the analysis of the current software in order to reach at the specifications of the proposed new software. The goal of the analysis phase of the life cycle is to define user's needs completely and accurately in a requirements document. Various tools used during analysis phase are - flow chart , process chart , DFD (Data Flow Diagram) , Decision table , Decision Tree and Data Dictionary.
v) Design : This phase is the most creative and challenging phase of software life cycle. This phase is concerned with the design of the final system. Firstly the output is designed keeping in mind how the output is to be produced and in what format ? Secondly , input data and files are designed to meet the requirements of the proposed output that involves program construction and testing. Finally , details of the entire designing , system justification details and estimated impact on the users and organisation are documented and evaluated by the team as a step towards implementation.
vi) Implementation , Maintenance and Review : These are post design phases . Implemantation phase is mainly concerned with user trainings , site preparations and file conversions. It also involves final testing of the software. Once the system is implemented , evaluation and maintenance begin that comprises of periodic maintenance of hardware and software .