



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
A comprehensive overview of various software development life cycle (sdlc) models, including waterfall, v-model, prototyping, scrum, and spiral. It delves into the advantages and disadvantages of each model, highlighting their suitability for different project types and complexities. The document also emphasizes the importance of risk management in the spiral model and explores the feasibility of different technical solutions for a hypothetical project. It concludes with a comparison of the models based on their strengths and weaknesses, offering valuable insights for software development professionals.
Typology: Assignments
1 / 7
This page cannot be seen from the preview
Don't miss anything!
Software Development Life Cycle (SDLC) is the process of determining how an information system can support business needs, designing the system, building it, and delivering it to users. It is a framework that has a set of tasks to be performed at each stage in the software development process. It is a process of giving a complete idea of the development, design and maintenance of a software project by ensuring that all functionality along with user requirements, goals and final objectives are resolved together. With SDLC, the quality of the software project and the overall software development process is enhanced.
Waterfall Model
The Waterfall Model is a sequential model that divides software development into pre-defined phases. Each phase must be completed before the next phase can begin with no overlap between the phases. Each phase is designed for performing specific activity during the SDLC phase. It was introduced in 1970 by Winston Royce.
Advantages: - Before the next phase of development, each phase must be completed - Suited for smaller projects where requirements are well defined
Disadvantages: - Error can be fixed only during the phase - It is not desirable for complex project where requirement changes frequently - Testing period comes quite late in the developmental process - Documentation occupies a lot of time of developers and testers - Clients valuable feedback cannot be included with ongoing development phase - Small changes or errors that arise in the completed software may cause a lot of problems
V-Model
The V-Model is a highly disciplined SDLC model in which there is a testing phase parallel to each development phase. The V-Model is an extension of the waterfall model in which testing is done on each stage parallel with
development in a sequential way. It is known as the Validation or Verification Model.
Advantages: - Simple and easy to use - Higher chance of success over the waterfall model due to the development of test plans early on during the life cycle - Works well for where requirements are easily understood - V-Model Improves the quality and reliability of the software - It reduces the amount of re-work because of the early detection of defects and issues - It provides better management for project risks - Verification and validation of the product in the early stages of product development ensure better quality - The V-Model concept can be combined with other models, for example, the iterative and agile models
Disadvantages: - Very inflexible, like the waterfall model. Each phase has specific deliverables. Adjusting scope is difficult and expensive. - The software is developed during the implementation phase, so no early prototypes of the software are produced. - The model doesn't provide a clear path for problems found during testing phases - It is costly and required more time, in addition to a detailed plan
Prototyping Model
The prototyping model is a systems development method in which a prototype is built, tested, and then reworked as necessary until an acceptable outcome is achieved from which the complete system or product can be developed. This model works best in scenarios where not all of the project requirements are known in detail ahead of time. It is an iterative, trial-and-error process that takes place between the developers and the users.
Scrum Model
Scrum is a framework for projects. It follows the agile methodology and defines roles, procedures, tools, processes to make sure to deliver an efficient and effective project well on time through iterative development cycles. This methodology is basically followed where there is the demand of high development process, high involvement of stakeholders. Scrum methodology repeatedly monitors software development while the project is being developed.
Advantages: - Transparent system pushes developers to comply with their assignments and deliver it on time - Defined deadline at every step keep developers motivated and empowered at every step - Feedback at every level of the project ensures that quality project is delivered in the end
Disadvantages: - Difficult to plan, structure and organize a project with no clear mission and vision - Frequent changes in the project lead to a delay in the delivery time of the project - Utilizes more resources and stakeholder's involvement in every small detail change and discussion
Suitability of SDLC Models for the Project
Poor for Unclear User Requirements, Unfamiliar Technology, Complex System, Short Time Schedule, and Component Reusability Good for Reliable System, Strong Project Management, Cost Limitation, and Documentation Excellent for Visibility of Stakeholders and Skills Limitation
Good for Unclear User Requirements and Complex System Excellent for Unfamiliar Technology and Visibility of Stakeholders Poor for Reliable System, Short Time Schedule, Cost Limitation, Skills Limitation, and Component Reusability
Excellent for Unclear User Requirements, Unfamiliar Technology, and Reliable System Poor for Short Time Schedule, Cost Limitation, Skills Limitation, and Component Reusability
Good for Unclear User Requirements, Unfamiliar Technology, Complex System, and Component Reusability Excellent for Reliable System, Short Time Schedule, and Visibility of Stakeholders
Excellent for Unclear User Requirements, Complex System, Reliable System, Short Time Schedule, and Strong Project Management Poor for Unfamiliar Technology, Cost Limitation, Skills Limitation, and Component Reusability
Risk Management in the Spiral Lifecycle
Model
Outdated Technology : 40% risk due to employees not being trained or lazy to learn new technologies. Solution: Always update to the newest and latest technology. Lack of Personnel : 10% risk due to employees resigning or being fired. Solution: Prepare more staff and manage them to work together.
Lack of Budget : 15% risk due to COVID-19 affecting the source of income. Solution: Take advantage of old but highly effective technologies to reduce costs. Slow Progress : 20% risk due to unequal distribution of work. Solution: Bind tasks for easy management and unified opinions.
The risk management process involves a rational chain of practices taken by decision agents to keep the project implementation under certain conditions. The process includes: 1. Identifying risks in all project life cycles 2. Analyzing and evaluating the risks 3. Using organizational structure and administrative practices to act on the risks in favor of the project
Risk assessments are important because they: - Create awareness of hazards and risks - Identify who may be at risk - Determine if a control program is required for a particular hazard - Determine if existing control measures are adequate or if more should be done - Prevent injuries or illnesses, especially when done at the design or planning stage - Prioritize hazards and control measures - Meet legal requirements
The goal of the risk assessment process is to evaluate hazards and then remove the hazard or minimize the level of its risk by adding control measures, creating a safer and healthier workplace.
Feasibility Report
A feasibility report evaluates proposed project paths or solutions to determine if they are viable. The person who prepares the report evaluates the feasibility of different solutions and then chooses their recommendation for the best solution, which is then presented to the company.
The purpose of the feasibility report is to present the project parameters and define the potential solutions to the defined problem, need, or opportunity. The report provides sufficient detail, including high-level costing information, to permit the project leader to recommend to the approving authority all viable potential solutions for further analysis.
Technical Feasibility : Evaluates the engineering feasibility of the project, including civil, structural, and other relevant aspects, as well
Finoit Technologies. "SDLC Models and Methodologies: Pros, Cons, and When to Use Them." Finoit, 8 July 2019, www.finoit.com/blog/sdlc- models-methodologies/. Indeed Editorial Team. "What Is a Feasibility Report?" Indeed Career Guide, 2021, www.indeed.com/career-advice/career-development/ feasibility-report. Templates Free Download. "Business Feasibility Study Analysis." Templates Free Download, 6 Apr. 2020, templatesfreedownload.com/ business-feasibility-study-analysis/. Guru99. "What Is Waterfall Model in SDLC?" Guru99.com, 4 Apr. 2019, www.guru99.com/what-is-sdlc-or-waterfall-model.html. GeeksforGeeks. "Types of Feasibility Study in Software Project Development." GeeksforGeeks, 26 June 2020, www.geeksforgeeks.org/ types-of-feasibility-study-in-software-project-development/ #:~:text=Economic%20Feasibility%20%E2%80%93&text=Means%20under%20th