


























































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
this is pearson based assignment helpful for it students
Typology: Assignments
1 / 66
This page cannot be seen from the preview
Don't miss anything!
LO1 Describe different software development lifecycles Introduction A large insurance that has been operating in United Kingdom aims to grow and become a large international company extending its products and services to many international countries. The main role of the company is to keep track of customers and enquiries about information and purchase of its
requirements of the insurance company and achieve the long term goals of the company have been described clearly. Furthermore, the advantages of applying waterfall model to a large software development project have been depicted briefly. Sequential Model A sequential model is a software development model which suggests systematic approach for the implementation of various steps related to software development. The two systematic model used for software development are explained below: Waterfall Model Waterfall model is a linear-sequential model that reflects the software development process in linear sequential flow and each phase must be completed before the next phase can commence[ CITATION Tut163 \l 1033 ]. In this model, there is no overlapping among different phases however; the next phase in development process begins only when the previous phase is completed. Furthermore, after the completion of a phase, an output is generated which sequentially acts as an input for next phase. This model follows “waterfall” or “top-down” approach where whole process of software development is divided into different phases. Fig: Waterfall Model The above figure clearly illustrates the different phases involved in waterfall model for the software development process. The various phases are described below briefly:
1. Requirement Analysis: Samrat Pandey (HND /Second Semester)
It is a first phase where all necessary requirements required for software development are marked and documented well. Software design, its functions, purpose, inputs and output products are analyzed and studied in this phase.
2. System Design: Examining all the system specification form the previous phase, the design of system is prepared in this phase. Similarly, this phase specifies hardware and system requirements that help to understand the complete system architecture. 3. Implementation: In this phase, inputs from the previous phase, system design is taken and implemented which result in formation of the small programs called units. Those units so formed are integrated and tested in other phase. 4. Testing: In this phase, all the units so developed in the implantation phase are tested and integrated into a system. Each designs and units developed are tested to remove flaws and errors during testing which boost up the reliability and productivity of the software. 5. Deployment: When all the testing are carried out successfully and the software is approved to meet the pre- defined objectives, the product so developed is deployed in the customer atmosphere. 6. Maintenance: This phase is carried out after the installation of the developed software where various modifications are done to improve the system performance and fix different software related issues. It helps to enhance software version and help the client to get acquainted with new changes. Thus, various phases are carried out in sequentially in which progress is seen like a steadily flowing waterfall. The next phase begins only when the previous phase is completed successfully and phases do not overlap. Advantages of the waterfall model The waterfall model is the earliest SDLC approach used for the development of the software. It possess various advantages that are listed below: In waterfall model, the progress of the software development are shown in different phases which are simple and easy to understand. The various stages and activities for software development are clear and easy. Samrat Pandey (HND /Second Semester)
Fig: V-Model The above illustrates various software development phases and their corresponding testing phases in V- model. The left side of the model is Software Development Lifecycle(SDLC ) phase and right side of the model is Software Test Lifecycle(STLC) which are described below: SDLC:
1. Requirement Analysis: It is an initial phase where system requirements and analysis are carried out to determine the requirements of the users and feature set. Like in waterfall model, in this phase communication is held with the clients to acknowledge their exacts needs and document them well. Similarly, in this phase of V- model, acceptance testing is carried out. 2. System Design: In this phase, all the requirements and needs of the users are utilized and complete system is designed. The complete hardware and communication setup for the product are included under the system design. During this phase, even system tests are designed to implement later. 3. Architecture Design: Samrat Pandey (HND /Second Semester)
In this phase, all the architectural specifications are understood and designed that shows how the application will link up with all internal and external components and integrations. It is also known as High Level Design where the system design is broken down into different modules providing different functionality. Similarly, integration test are also developed during this phase which is implemented later.
4. Module Design: In this phase, all the specifications of the internal design such as models, components and interfaces are implemented. It is also referred as Low Level Design. Moreover, unit testing are created in this phase that is implemented later. Coding Phase: In this phase, actual coding and implementation is done where all the modules previously formed in the design phases are converted into coded functional system. During this phase, the suitable programming language is selected and coding is performed following the coding guidelines and standards. STLC: It is a validation phase where various testing are carried out in order to ensure that all the development were carried out correctly. It is a very dynamic phase. The different testing that are carried out are explained below:
alterations and development until the fully functional final system is completed[ CITATION And16 \l 1033 ]. The two different models implemented for software development are explained below: Spiral Model Spiral model is a combination of the waterfall model and iterative model which provides support for the risk handling and enables incremental release or refinement of the product through each iteration around the spiral[ CITATION Gee15 \l 1033 ]. In this model, high priority is given on risk analysis where next step follows waterfall approach when the previous prototypes have resolved all the risks. Moreover, each cycle of the spiral is completed by a review indulging the plans for the next cycle. Fig: Spiral Model The above figure illustrates the four phases involved in the spiral model that are explained below:
1. Planning: In this phase, cost, schedule and resources for the iteration are estimated. Similarly, various system requirements that are essential for the communication between client and analyst are acknowledged in this phase. 2. Risk analysis: Samrat Pandey (HND /Second Semester)
Various risks that involved in the software development and execution are highlighted in this phase. The different strategies and measures that would be applied to overcome those uncertainties and risks are even analyzed.
3. Development: In this phase, software is developed and tested to remove errors and bugs at the end of the phase. The phase involves encoding, testing and deploying at the client environment. 4. Evaluation: In this phase, the clients are allowed to evaluate the output of the software to date before the next spiral process begins. It also helps to identify and monitor the risks such as cost overrun. Advantages of spiral model Some of the advantages of the spiral model are pointed below: Risks analysis is emphasized in this model which saves considerable time and efforts from doing the work again. Cost estimation is very easy as the prototyping is carried out in different fragments. Repeated and continuous development help to minimize the risks. Availability of space for clients feedback and improvements. Functionality can be added later where all the requirements are addressed completely. Monitoring and evaluation is easier and software is produced early. Disadvantages of spiral model Some of the disadvantages of spiral model are listed below: It requires expertise to analyze the risks involved. Protocols are needed to be followed strictly for smooth operation. It is not suitable for smaller projects where risks analysis is not involved. Presence of intermediate stages requires excessive documentation. The spiral may go indefinitely with huge cost and complex management. Application of spiral model Spiral model is used widely for the development of software as it minimize risks and provides space for customers feedback as well. The typical uses of spiral model are pointed below: Useful when cost and risk evaluation is mandatory. Samrat Pandey (HND /Second Semester)
The above figure illustrates the various iterative process involved in agile model which are collectively referred as Agile Methodologies. The agile principles are explained below:
Dependency on customer collaboration where team can be driven in wrong direction when customer is not clear. An agile leader and project manager is compulsory to examine the overall activities and put the plan into practice. Due to lack of documentation, the cross function teams may not produce the necessary output. There is high risk of sustainability, extensibility and maintainability. Application of agile model The agile model are used for the situations below with the availability of its flexibility, adaptability and other features: To implement new changes that are mandatory as new changes can be implemented at very little cost. For implanting a new features where developers need to lose only the work of few days to roll back and implement it. To give customer the finished system with what they need as changes can be responded easily due to customer collaboration principle. To continue to project for long term without fear of being sudden standstill. Risks are the possible conditions and event that create hindrances in the patch of software development team in achieving the specified goals[ CITATION Dmi15 \l 1033 ]. The different phases of software development lifecycle is vulnerable to different types of risk factors. Since software, development uses a variety of technological advancements and requires high level of knowledge there is uncertainty, which is known as risk. The success of the software quite heavily depends on how the risks are handled and resolved using the available resources. The process of identifying the potential risks, analyzing them and taking the appropriate precautions to prevent them is called risk management. Risk management involves assessment and control of risks for the successful development of the product. Minimization of the risks is the key feature of the spiral lifecycle model. The spiral preliminarily identifies all the possible risks and prioritize them according to their importance. When all the risks are enumerated, appropriate strategies are formed to overcome those risks. Finally, with proper changes, a prototype is produced which go through the phases of software development in spiral process. This help to enhance the productivity and reliability of the software. Samrat Pandey (HND /Second Semester)
Risk assessment Risk assessment is the first process or risk methodology which is used to determine the extent of the potential threats and risks associated in software development. The three different steps involved in the risk assessment used by the spiral method are described below:
1. Risks Identification: Various risks and threats that are present and can appear in near future are identified in this process. The spiral model primarily identifies and enumerates all the potential risks that can cause failure in software development. Various risks related to cost, technologies, manpower and resources are identified by the spiral model which are needed to be dealt for successful completion of the product. 2. Risk Analysis: After the identification of all the possible risks that can create failure in software development, their consequences and effects are thoroughly analyzed by the spiral model. Samrat Pandey (HND /Second Semester)
The characteristics of the software and risks are analyzed which help to formulate and implement various measures to resolve those risks.
3. Risks Prioritization: Various risks are involved during the development of the software which can cause failure and results in development of poor quality product. After the proper analysis of the risks, spiral model prioritize those risks, focusing their effects and consequences on successful completion of the quality software. The risks with the higher priority are tackled primarily and risks with lower priority are resolved later. Different time frame and strategies are set for the different risks according to their priority. Risk Control Risk control is the process of preventing the risks and their effects in the development of the quality software. It involves proper formulation of plan and strategies and applying them to solve the various risks involved gaining full control over the software development. The three different process involved in risk control that are applied by the spiral method is described below: 1. Planning: Planning involves formulation of various techniques and strategies which are implemented later to solve the possible threats and risks that are applied during software development. After the proper identification, analysis and prioritization of the risks, different strategies are developed accordingly to solve those risks in spiral model. 2. Resolve: After the proper assessment of risks and formulation of the different strategies, the developed strategies are put into actions to resolve the risks. The different risks are resolved using the available resources. The spiral model mitigate the risks that can cause software failure focusing on present and future status. 3. Control: When all the potential risks and threats present in the software are completely eliminated, the software developer team can have complete control over the product so formed. The different phases of spiral model can be carried out without any bugs and problems that help to address the needs and requirements of the clients. The developed product can be used to carry out the pre-defined tasks which enables users to have full control over the product. After the proper assessment and control of the risks, various changes and features that are mandatory are performed and a proto type is developed. Different other phases essential for the software Samrat Pandey (HND /Second Semester)
iii. Increase the ability to manage the changing priorities: The insurance company wants to grow and become an international company extending its services in different countries. The company wants to develop a software that help to track the records of the wider range. However, the requirements of the company may change frequently. Similarly, the requirements of the customers must be addressed as well while developing a new system that may change often. The agile approach helps adapt to the changing priorities easily. In agile model, the product broken into small builds are provided in iterations and every iteration indulge cross functional teams working simultaneously on various phases of software development process. After the completion of iteration, the product is then presented before customers. Similarly, there is respond to change over following a plan and customer collaboration over contract negotiation is available. iv. Enhance delivery predictability: With an agile approach for software delivery that emphasizes on setting up metrics and measurement, teams can plan, coordinate, and deliver with enough predictability along with a release level commitment[ CITATION Cig15 \l 1033 ]. This helps to develop a reliable and quality software that address the client requirements effectively. v. Increase software quality: Cross-functional teams are involved in designing the builds that further evaluated according to the customer’s needs. This help to develop a high quality software that can easily meets the requirements of the insurance company. The simultaneously working of in-house team of insurance company and system analysts and developers with the collaboration of the customers help to increase the software quality. vi. Minimize the project risk: The new software that the insurance company wants to develop indulge the high uncertainty and risks. The software must be of high quality in order to keep the records of the various international customers and wider range of products and services. Applying the agile approach, the highest value and highest risk requirements are prioritized along with the feedback of the customers that help to reduce the risk and develop a software of high quality and reliability. vii. Enhance the project visibility: In order to develop an effective software that meet the requirements of the clients, simultaneous performance of the all members involved are essential. Using the agile approach the objectives of the insurance company can be clearly depicted to all cross- Samrat Pandey (HND /Second Semester)
functional teams. It helps various development, testing, and operations teams to know about the current state, the performance, and the objective of the project and organization and improves the project visibility so that team can operate effectively to achieve the company’s needs. viii. Improve business alignment: An agile approach focuses on business alignment that helps to implement the right system in right way to meet the company’s needs. It also enables all the operational process to be well aligned and focuses on reduction in time & efforts, and costs & investments in designing, documenting, deployment and testing. This helps to develop an effective software meeting the insurance company needs. Waterfall model is a linear-sequential model which reflects the software development process in linear sequential flow and each phase must be completed before the next phase can commence[ CITATION Tut163 \l 1033 ]. This model follows “waterfall” or “top-down” approach where whole process of software development is divided into different phases. One phase must be completed successfully in order to advance into next phase. The output from the previous phase acts as input for the next phase. Although it is the earliest SDLC approach, it is still widely used for large software development project. Samrat Pandey (HND /Second Semester)