

































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
A comprehensive overview of various software development lifecycle (sdlc) models, including the waterfall model, v-model, rad model, and agile model. It discusses the advantages and disadvantages of each model, their applicability to different types of projects, and the importance of risk management in sdlc. The document also delves into the concept of feasibility studies and their role in project success.
Typology: Assignments
1 / 41
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 7 : Software Development Life Cycle Submission date Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Truong Van Diep Student ID BH Class Assessor name 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 P1 P2 P3 P4 M1 M2 D1 D
r Summative Feedback: r Resubmission Feedback: Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date:
This document serves as a comprehensive guide for understanding and implementing the Software Development Life Cycle (SDLC) in the specific context of developing an automated Office Management solution for Net Educational Institute (NEI). NEI, a prominent educational institution in Vietnam, caters to both national and international students, boasting a substantial infrastructure with nearly 1000 students, 75 faculty members, and 40 non-teaching staff across various departments and centers. The proposed system aims to streamline and automate academic and administrative activities, specifically focusing on Attendance and Student Management. As NEI's newly appointed System Analyst, entrusted with managing the project, my responsibility includes leading the analysis and design stage of the new system. NEI's existing small systems development team has traditionally handled all development work internally. However, recognizing the need for a fresh perspective, the CEO concentrates collaboration with external experts, particularly those well-versed in modern methodologies. The in-house team will work alongside analysts and developers from an external team, with a focus on embracing new methodologies, including agile approaches, to enhance the effectiveness of the development process. This document is intended to provide insights into the evolving landscape of system analysis methodologies, with an emphasis on both traditional and agile approaches. It aims to equip the in-house team with updated knowledge and practices, ensuring a successful and forward-looking implementation of the new Office Management solution at NEI
*1. Waterfall Model Define: The classical waterfall model is the basic software development life cycle model. It is very simple but idealistic. Earlier this model was very popular but nowadays it is not used. But it is very important because all the other software development life cycle models are based on the classical waterfall model. *Features of Waterfall Model: - Sequential Approach : The waterfall model involves a sequential approach to software development, where each phase of the project is completed before moving on to the next one. - Document-Driven: The waterfall model relies heavily on documentation to ensure that the project is well-defined and the project team is working towards a clear set of goals. - Quality Control: The waterfall model places a high emphasis on quality control and testing at each phase of the project, to ensure that the final product meets the requirements and expectations of the stakeholders. - Rigorous Planning : The waterfall model involves a rigorous planning process, where the project scope, timelines, and deliverables are carefully defined and monitored throughout the project lifecycle. Overall, the waterfall model is used in situations where there is a need for a highly structured and systematic approach to software development. It can be effective in ensuring that large, complex projects are completed on time and within budget, with a high level of quality and customer satisfaction. *Phases of Waterfall Model Waterfall Model is a classical software development methodology that was first introduced by Winston W. Royce in 1970. It is a linear and sequential approach to software development that consists of several phases that must be completed in a specific order. The Waterfall Model has six phases: - Requirements Gathering and Analysis: The first phase involves gathering requirements from stakeholders and analyzing them to understand the scope and objectives of the project. - Design Phase: Once the requirements are understood, the design phase begins. This involves creating a detailed design document that outlines the software architecture, user interface, and system components. - Implementation and Unit Testing: The implementation phase involves coding the software based on the design specifications. This phase also includes unit testing to ensure that each component of the software is working as expected. - Integration and System Testing: In the testing phase, the software is tested as a whole to ensure that it meets the requirements and is free from defects.
The aim of the requirement analysis and specification phase is to understand the exact requirements of the customer and document them properly. This phase consists of two different activities.
*What Are the Phases of V Model? Figure 2 : V model Verification Phases : It involves static analysis technique (review) done without executing code. It is the process of evaluation of the product development phase to find whether specified requirements meet. There are several Varification phases in the V-Model: Business Requirement Analysis: These is the first step of the designation of development cycle where product requirement needs to be cure with the customer perspectives. in these phases include the proper communication with the customer to understand the requirement of the customers. these is the very important activity which need to handle with proper way, as most of the time customer did not know exact what they want, and they did not sure about it that time then we use an acceptance test design planning which done at the time of business requirement it will be used as an input for acceptance testing. System Design: Design of system will start when the overall we clear with the product requirements, then need to design the system completely. these understanding will do at the beginning of complete under the product development process. these will be beneficial for the future execution of test cases. Architectural Design:
In this stage, architectural specifications are comprehended and designed. Usually, a number of technical approaches are put out, and the ultimate choice is made after considering both the technical and financial viability. The system architecture is further divided into modules that each handle a distinct function. Another name for this is High Level Design (HLD). At this point, the exchange of data and communication between the internal modules and external systems are well understood and defined. During this phase, integration tests can be created and documented using the information provided. Module Design: This phase, known as Low Level Design (LLD), specifies the comprehensive internal design for each and every system module. Compatibility between the design and other external systems as well as other modules in the system architecture is crucial. Unit tests are a crucial component of any development process since they assist identify and eradicate the majority of mistakes and flaws at an early stage. Based on the internal module designs, these unit tests may now be created. Coding Phase: The Coding step involves actually writing the code for the system modules that were created during the Design phase. The system and architectural requirements are used to determine which programming language is most appropriate. The coding standards and principles are followed when performing the coding. Before the final build is checked into the repository, the code undergoes many code reviews and is optimised for optimal performance. Validation Phases : It involves dynamic analysis technique (functional, non-functional), testing done by executing code. Validation is the process to evaluate the software after the completion of the development phase to determine whether software meets the customer expectations and requirements. So, V-Model contains Verification phases on one side of the Validation phases on the other side. Verification and Validation phases are joined by coding phase in V-shape. Thus, it is called V-Model. There are several Validation phases in the V-Model: Unit Testing: Unit Test Plans are developed during module design phase. These Unit Test Plans are executed to eliminate bugs at code or unit level. Integration testing:
*Advantages and Disadvantages of the V Model Advantages:
*3. RAD Model Define RAD model stands for rapid application development model. The methodology of RAD model is similar to that of incremental or waterfall model. It is used for small projects. If the project is large then it is divided into many small projects and these small projects are planned one by one and completed. In this way, by completing small projects, the large project gets ready quickly. In RAD model, the project is completed within the given time and all the requirements are collected before starting the project. It is very fast and there are very less errors in it. The main objective of RAD model is to reuse code, components, tools, processes in project development. (Anon., 2022) Figure 3 : RAD model *The Rapid Application Development (RAD) model is characterized by the following:
Advantages:
Agile model is a combination of iterative and incremental models, that is, it is made up of iterative and incremental models. In Agile model, focus is given to process adaptability and customer satisfaction. In earlier times, iterative waterfall model was used to create software. But in today’s time developers have to face many problems. The biggest problem is that in the middle of software development, the customer asks to make changes in the software. It takes a lot of time and money to make these changes. So to overcome all these shortcomings, the agile model was proposed in the 1990s. The agile model was created mainly to make changes in the middle of software development so that the software project can be completed quickly. Figure 4 :Agile Model
In the agile model, the software product is divided into small incremental parts. In this, the smallest part is developed first and then the larger one. And each incremental part is developed over iteration. Each iteration is kept small so that it can be easily managed. And it can be completed in two-three weeks. Only one iteration is planned, developed and deployed at a time. Principles of Agile model:-
P2) Explain how risk is managed in software lifecycle models 1 ,Define Risk management in the Software Development Life Cycle (SDLC) is a systematic, proactive process of identifying, navigating, and mitigating potential risks that hinders a software project’s success. It involves analyzing uncertainties and potential challenges early on that may arise during different stages of the SDLC process and implementing strategies to address them effectively with continuous risk monitoring. Software development companies use various types of risk management strategies to address unique risks that arise during the procedure of SDLC. Before this, we will discuss the types of risks that may occur during SDLC. 2, The Importance of Risk Management During SDLC Risk management helps identify, assess, and mitigate potential risks that could impact software project development. Here’s why risk management is important in SDLC: Figure 5 :risk management is important in SDLC Early Issue Identification : Risk management allows software development teams to identify potential issues and challenges early in the project. By proactively addressing risks, dedicated teams can avoid costly and time-consuming problems later in the software development process.
Resource Allocation: Assessing risks helps in allocating resources appropriately. By understanding potential risks, project managers can allocate time, budget, and manpower effectively, ensuring a smoother development process of software. Improved Decision-Making: Risk management enables informed decision-making. When project stakeholders are aware of potential risks and their impact, they can make well - informed decisions to mitigate or accept risks based on their potential consequences. Cost and Time Savings: Addressing risks early on prevents rework and costly fixes later in the project. This results in optimal cost and time savings during the software development process. Quality Assurance: Effective risk management ensures that potential quality issues are identified and addressed, leading to a higher-quality end product. Realize Project Success: Properly managed risks increase the chances of project success. By addressing potential challenges, the project team-building software can stay on track and meet project goals effectively. Adaptability: In an ever-changing technological landscape, risk management allows teams to adapt to unexpected challenges and uncertainties effectively that may occur during the different SDLC stages. *3. Apply the spiral development model to manage risks for NEI project a, Management stages Planning phase In the planning phase of the student management system project, we proceed to gather and analyze requirements from both the client and the user community. The main activities in this phase include: