



























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
Assignment 1 software development life cycle pass
Typology: Assignments
1 / 35
This page cannot be seen from the preview
Don't miss anything!




























Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 0 9: Software Development Life Cycle Submission date Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Huynh Cong Duy Student ID GCS Class GCS0905B Assessor name Mai Vo Student declaration I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that making a false declaration is a form of malpractice. Student’s signature Grading grid P 1 P 2 P 3 P4 M 1 M 2 D1 D 2
Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date:
P1: Describe two iterative and two sequential software lifecycle models.
1. Introduction to SDLC model SDLC stands for Software Development Life Cycle. It is a process that gives a complete idea about developing, designing, and maintaining a software project by ensuring that all the functionalities along with user requirements, objectives, and end goals are addressed. With SDLC, the software project’s quality and the overall software development process get enhanced.
Identify and resolve Risks: During the second quadrant, all the possible solutions are evaluated to select the best possible solution. Then the risks associated with that solution are identified and the risks are resolved using the best possible strategy. At the end of this quadrant, the Prototype is built for the best possible solution. Develop next version of the Product: During the third quadrant, the identified features are developed and verified through testing. At the end of the third quadrant, the next version of the software is available. Review and plan for the next Phase: In the fourth quadrant, the Customers evaluate the so far developed version of the software. In the end, planning for the next phase is started. Advantages: It is a cyclic model. It works in a spiral shape, like a waterfall model, which is a linear one. This model is very flexible as compared to the waterfall model It needs documentation to maintain Minimized risk factor. End-user gets a chance to see the system early. Disadvantages: The most important disadvantages of the spiral model are it does not have any standard documentation to follow as a guide. There has no limit. It can go infinitely. It is not beneficial for small scale projects. It requires people who are experts in risk analysis.
It is costly. 1.2. Prototyping models The prototyping model is a method of system development in which a prototype is created, tested, and then reconstructed as necessary until an appropriate result is attained by which to develop the complete system or product. Then, based on the requirements, the design is created, and the prototype for a particular design is modeled and delivered to the users; then, based on the feedback from the user, the appropriate changes have been done.
Based on the modifications suggested by the customer, developers start modifying the prototype and the modified prototype is again demonstrated to the customer for evaluation. In this way, the prototype is iterated until the customer is satisfied with the prototype. Once the customer is satisfied with the prototype the developers get engaged in developing the complete version of the software. Deploy Software Once the objective of the prototype is served it is thrown and the software is developed using other process models. The main objective of the prototype is to understand the customer’s requirement properly and completely. As all the requirements are now understood, the developers develop the software and deliver it to the customer with the expectation that the developed software meets all the requirements specified by the customer. Advantages: This model has increased the involvement of the user and developer in creating the product to be on the same page. The defects or bugs can be detected at an early stage. It helps in reducing cost and time. It helps in providing feedback from the user and changes things accordingly. In this model, it is easy to identify the missing, confusing, and difficult functionalities. Disadvantages:
The prototype model does not work where insufficient requirements are mentioned. It increases the complexity of the system and its deadlines. It is not feasible to use the existing prototype to develop the new system. It is also referred to as a slow process as it takes a lot of time to develop the prototype. It can be thrown away if the users are not satisfied with it. 1.3. Waterfall models The waterfall model is one of the earliest models of software development in which tasks are executed in a sequence manner where we start from the top with feasibility and flow down through various tasks with implementation into the live environment. Requirements flow into the design, which in turn flow into building or implementation and finally on into tests. As the testing process occurs at the end of the model, it has been difficult to get feeds passed back up the waterfall.
Requirement gathering and analysis: First all the information and requirement for the product development is gathered from the customer and then it is processed for analysis. The main role of this part is to eradicate incompleteness and inconsistencies related to software product development. Requirement specification: Then, the above-analyzed requirements are documented in an SRS (software requirement specification ) document. It serves as a path between the customer and the SRS development team. Any disputes in the future are managed and settled through this SRS documentation only. Design After the first phase is completed and verified, it is the next most important phase to be studied as it is used for system design. It helps in specifying software and hardware requirements for the product design. It also helps in the overall architecture of the system design. So the requirement specification is mostly studied and verified in this phase. It is also helpful in transforming the SRS document into functional design and development of the software product. So we can say that in the designing phase, one is making the overall architecture for the software development project. Implementation With system design fully verified, the implementation phase comes in a row. In this phase, the inputs from system design are taken, and it is first developed in small programs known as units, which are tested and implemented in the upcoming phase. Each unit in the implementation phase undergoes development, and its full functionality is tested, which is also known as unit testing. So in this phase, the system design is converted into source code with fully functional program modules. It includes the development, proving, and integration of the software.
Integration and Testing Each unit design and development in the earlier phases are incorporated from the implementation phase, which is integrated into a module or system for various tests like load test, load test, etc., after testing each unit. The testing environment undergoes a constant software check to find out if there is any flows or error in the design or code. Testing is done to maintain the stability and feasibility of the software so that the client does not face any disturbances or bugs during its production. So in this phase after implementation, the whole system is tested thoroughly for any faults and failures. Deployment of the system / Operations Once the non-functional, functional, alpha, and beta testing are done, the product of software is deployed to the user or customer system or is released to the market. The deployment phase includes installation, migration, and support of the complete system to the user or customer environment. Maintenance It is the last but the most important phase in the waterfall workflow model. This step comes just after installation, and it includes making the appropriate modification to the product or system, or to enhance, change or modify attributes related to performance issue related to the system. its main role is to improve the performance of the system with the maximum accuracy result of the software output. These changes raised during the maintenance phase are majorly related to changes initiated to be done by the customer or users after the installation and testing phase, which includes bugs like defects uncovered during live uses of the system or requests raised by the customers. Advantages:
Requirements Analysis: Projects are envisioned, crafted, and prioritized based on the needs of the customer and the goals of the company. Planning: Teams are formed, appropriate funding is designated, and initial requirements are discussed and formulated. There are only initial requirements, which are likely to change as the process evolves. Design: Development teams work to deliver software based on requirements and feedback. Multiple teams are involved in the iterations of the development and communicate on the progress of each respective step.
Implementation, coding or development: Quality Assurance (QA) testing, documentation development, internal and external training, and final release of the iteration go into production during this phase of the process. Testing: Teams continue to create, troubleshoot, and support the software production as it progresses. Deployment: The product is delivered to customers for them to use. Customer notifications and migrations are considered, along with end-of-life activities. Advantages: Easy to accommodate changing requirements Regular communication takes place between customers and developers Functionalities can be developed quickly and demonstrated to customers Disadvantages: Not ideal for handling complex dependencies Teams need to have the desired experience levels for adhering method rules
2. Apply to Tune Source project I choose waterfall model because it is very simple to understand and use. In a waterfall model, each phase must be completed before the next phase can begin and there is no overlapping in the phases. It also brings a lot of advantages to people such as simplicity and ease and can be applied to short-term projects P2: Explain how risk is managed in the Spiral lifecycle model
Assess the risk. Treat the risk. Monitor and Report on the risk. Step 1: Risk Identification The first step in the risk management process is to identify all the events that can negatively (risk) or positively (opportunity) affect the objectives of the project: Project milestones Financial trajectory of the project Project scope Step 2: Risk Assessment There are two types of risk and opportunity assessments: qualitative and quantitative. A qualitative assessment analyzes the level of criticality based on the event’s probability and impact. A quantitative assessment analyzes the financial impact or benefit of the event. Both are necessary for a comprehensive evaluation of risks and opportunities. Qualitative Assessment The Risk Owner and the Risk Manager will rank and prioritize each identified risk and opportunity by occurrence probability and impact severity, according to the project’s criticality scales.
Quantitative Assessment In most projects, the objective of the quantitative assessment is to establish a financial evaluation of a risk’s impact or an opportunity’s benefit, should it occur. This step is carried out by the Risk Owner, the Risk Manager (with support of those responsible for estimates and figures), or the management controller depending on the organizational set up in the company. These amounts represent a potential additional cost (or a potential profit if we are talking about an opportunity) not anticipated in the project budget. Step 3: Risk Treatment In order to treat risks, an organization must first identify their strategies for doing so by developing a treatment plan. The objective of the risk treatment plan is to reduce the probability of occurrence of the risk (preventive action) and/or to reduce the impact of the risk (mitigation action). For an opportunity, the objective of the treatment plan is to increase the likelihood of the opportunity occurring and/or to increase its benefits. Depending on the nature of the risk or opportunity, a response strategy is defined for the project. The following 7 strategies are possible: Step 4: Risk Monitoring and Reporting Risks and opportunities and their treatment plans need to be monitored and reported on. The frequency of this will depend on the criticality of risk/opp. By developing a monitoring and reporting structure it will ensure there are appropriate forums for escalation and that appropriate risk responses are being actioned.
3. Risk management Matrix Purpose: The purpose of risk management is to identify potential problems before they occur, or, in the case of opportunities, to try to leverage them to cause them to occur. Risk-handling activities may be invoked throughout the life of the project. Likehood/Impact Very low Low Medium High Very high