Professional Documents
Culture Documents
7408 gcd1105 Asm1 Pham Thi Thanh Thien gcd210520
7408 gcd1105 Asm1 Pham Thi Thanh Thien gcd210520
lOM oA R cP S D| 10 09 583 0
Unit number and title Unit 09: Software Development Life Cycle
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 D2
Contents
I. Introduction ..................................................................................................................................................................................................................... 6
II. Describe two iterative and two sequential software lifecycle models ................................................................................................................................. 6
1. Describe the following SDLC ............................................................................................................................................................................................................ 6
a. Waterfall model ........................................................................................................................................................................................................................... 7
b. V-model ....................................................................................................................................................................................................................................... 9
c. Prototyping ................................................................................................................................................................................................................................ 11
d. Scrum ......................................................................................................................................................................................................................................... 12
e. Spiral .......................................................................................................................................................................................................................................... 14
f. Model suitable for the project ................................................................................................................................................................................................... 15
2. Discuss the suitability of each of the SDLC models for the project................................................................................................................................................ 16
III. Explain how risk is managed in the Spiral lifecycle model ..............................................................................................................................................16
1. Identify some risks and discuss an approach to manage them ..................................................................................................................................................... 16
2. Risk Management process with clear illustrations and explanations ............................................................................................................................................ 17
IV. Explain the purpose of a feasibility report .....................................................................................................................................................................18
1. Definition of feasibility report ....................................................................................................................................................................................................... 18
2. Discuss the purpose of conducting a feasibility study ................................................................................................................................................................... 18
3. Discuss how the three feasibility criteria ....................................................................................................................................................................................... 19
Technical feasibility ................................................................................................................................................................................................................... 19
Economic feasibility ................................................................................................................................................................................................................... 19
Organizational feasibility ........................................................................................................................................................................................................... 20
4. Discuss whether the project is feasible or not............................................................................................................................................................................... 20
I. Introduction
The Software Development Life Cycle (SDLC) encompasses the various stages involved in determining how an information system can
meet business needs, including system design, construction, and delivery to users. It serves as a structured framework, outlining specific
tasks to be completed at each stage of the software development process. The SDLC process ensures a comprehensive understanding of
software project development, design, and maintenance by addressing all functional requirements, user needs, goals, and final objectives
collectively. By adhering to SDLC, the quality of the software project and the overall software development process can be significantly
improved. While this might appear straightforward if you have coding experience or have taken coding classes, implementing SDLC in the
real world is far from easy. Therefore, in my assignment, I will provide a clear and comprehensive explanation of the importance of SDLC.
II. Describe two iterative and two sequential software lifecycle models(P1)
1. Describe the following SDLC
SDLC or the Software Development Life Cycle is a process that produces software with the highest quality and lowest cost in the
shortest time possible. SDLC provides a well-structured flow of phases that help an organization to quickly produce high-quality software
which is well-tested and ready for production use.
In detail, the SDLC methodology focuses on the following six phases of software development, popular SDLC models include the
waterfall model, spiral model, and Agile model (ALEXANDRA AL TVATER, 2020).
There are six phases of SLDC:
Requirement analysis
At this stage comprises receiving input from various stakeholders, including customers, salespeople, industry experts, and
programmers. Determine the present system's strengths and flaws in order to improve it (Altvater, 2020).
Planning
At this stage of the SDLC, the team assesses the cost and resources required to accomplish the analyzed requirements. It also
discusses the dangers and suggests sub-plans for minimizing them (Altvater, 2020).
Software design such as architectural design
The software specifications are turned into a design plan known as the Design Specification in this level of the SDLC. All
stakeholders then analyze the proposal and provide feedback and ideas. It is critical that a strategy for obtaining and
incorporating stakeholder feedback into this document be in place. Collapse at this stage nearly often results in expense
overruns at best and project failure at worst (Altvater, 2020).
Software development
Actual development begins in this stage. Each developer must strictly stick to the agreed-upon strategy. Also, ensure that
developers have a proper coding style and process norms in place (Altvater, 2020).
Testing
At this stage, the developers check and detect the errors that arise in the software and fix them so that the software has the
best quality before it comes to customers (Altvater, 2020).
Deployment
The purpose of this step is to deploy the software to the production environment so that users can begin utilizing the product.
Furthermore, this permits any last flaws to be identified before the product is released (Altvater, 2020).
SDLC is important because it provides an effective framework and method to develop software applications. It helps in effectively
planning before starting the actual development. SDLC allows developers to analyze the requirements. It helps in reducing unnecessary costs
during development.
a. Waterfall model
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 (Matthew Martin, 2022).
Maintenance stage Once your system is ready to use, you may later require change the code as per customer request
Advantages Disadvantages
Before the next phase of development, each phase must be Error can be fixed only during the phase
completed
Suited for smaller projects where requirements are well defined It is not desirable for complex project where
requirement changes frequently
They should perform quality assurance test (Verification and Testing period comes quite late in the developmental process
Validation) before completing each stage
Elaborate documentation is done at every phase of the Documentation occupies a lot of time of developers and testers
software’s development cycle
Project is completely dependent on project team with minimum Clients valuable feedback cannot be included with ongoing
client intervention development phase
Any changes in software is made during the process of the Small changes or errors that arise in the completed software
development may cause a lot of problems
b. V-model
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 (Thomas Hamilton, 2022).
Figure2: V-Model
Maintenance stage Once your system is ready to use, you may require to change the code later on as per customer
request
Advantages Disadvantages
Simple and easy to use Very inflexible, like the waterfall model.
Each phase has specific deliverables. Adjusting scope is difficult and expensive.
Higher chance of success over the waterfall model due to the The software is developed during the implementation phase, so
development of test plans early on during the life cycle. no early prototypes of the software are produced.
Works well for where requirements are easily understood. The model doesn’t provide a clear path for problems found
during testing phases
V-Model Improves the quality and reliability of the software. Moreover, it is costly and required more time, in addition to a
detailed plan
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
c. Prototyping
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 (Sarah Lewis, 2019).
Advantages Disadvantages
Transparent system pushes developers to comply with their Difficult to plan, structure and organize a project with no clear
assignments and deliver it on time mission and vision
Defined deadline at every step keep developers motivated and Frequent changes in the project lead to a delay in the delivery
empowered at every step time of the project
Feedback at every level of the project ensures that quality project Utilizes more resources and stakeholder’s involvement in every
is delivered in the end small detail change and discussion
e. Spiral
Spiral Model is a risk-driven software development process model. It is a combination of the waterfall model and the iterative model.
Spiral Model helps to adopt software development elements of multiple process models for the software project based on unique
risk patterns ensuring an efficient development process (Matthew Martin, 2022).
Waterfall Poor Poor Good Good Poor Excellent Poor Good Good Excellent Excellent
Prototyping Good Excellent Excellent Poor Good Excellent Poor Excellent Poor Good Poor
Spiral Excellent Excellent Excellent Excellent Poor Excellent Poor Excellent Poor Good Poor
Iterative Good Good Good Good Excellent Excellent Excellent Good Good Excellent Excellent
and
Incrementa
l
Scrum Excellent Poor Poor Good Excellent Excellent Excellent Excellent Poor Poor Poor
project. Project complexity and the maturity of the organizations are viewed as important factors that can affect the success of a
project (Luiz Henrique Rodrigues-da-Silva and José António Crispim, 2014).
Why is Risk assessment important?
Risk assessments are important because they form an integral part of an occupational health and safety management plan. They
have to:
• Create awareness of hazards and risk.
• Identify who may be at risk (e.g., employees, cleaners, visitors, contractors, the public, etc.).
• Determine whether 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 where applicable
(Government of Canada, 2021)
What is the goal of risk assessment?
The aim of the risk assessment process is to evaluate hazards, then remove that hazard or minimize the level of its risk by adding
control measures, as necessary. By doing so, you have created a safer and healthier workplace (Government of Canada, 2021).
Steps of the Risk Management Process
The purpose of a feasibility report is to present the findings and conclusions of a feasibility study in a structured and
comprehensive manner. It serves as a formal document that communicates the results of the study to stakeholders, decision-
makers, and other relevant parties. The key purposes of a feasibility report are as follows:
Information Sharing: The report provides a clear and concise summary of the feasibility study, presenting the gathered data,
analysis, and findings related to the proposed project. It ensures that stakeholders have access to the necessary information to
understand the project's potential and associated risks.
Decision Making: The report assists decision-makers in making informed choices regarding the project. It presents the feasibility
study's outcomes, including assessments of technical, economic, operational, and market feasibility. Decision-makers can review
the report's content and use it as a basis for determining whether to proceed with the project, modify its scope, or discontinue it.
Risk Assessment and Mitigation: The report highlights the identified risks and challenges associated with the project. It provides
insights into potential obstacles and uncertainties that may impact the project's success. By presenting risk mitigation strategies
and recommendations, the report helps stakeholders proactively address and manage risks.
Stakeholder Communication: The report serves as a means of communicating the feasibility study's results to various
stakeholders, including project sponsors, investors, management, and team members. It provides a common reference point for
discussions and facilitates effective communication by conveying the study's findings in a structured and organized manner.
Resource Allocation: The report aids in resource planning and allocation by outlining the project's resource requirements, such as
financial, human, and technical resources. It assists stakeholders in understanding the project's resource implications and guides
decision-making related to resource allocation and budgeting.
Project Documentation: The feasibility report becomes an essential part of the project documentation. It captures the key
aspects of the feasibility study, including the project description, analysis, conclusions, and recommendations. The report serves
as a record for future reference and can be used to assess the project's progress and outcomes.
NPV: stand for Net Present Value, is the difference between the present value of cash inflows and the present value
of cash outflows over a period. NPV is used in capital budgeting and investment planning to analyze the profitability
of a projected investment or project. NPV is the result of calculations used to find today’s value of a future stream of
payments (JASON FERNANDO, 2021).
Cash flow: Cash flow refers to the net balance of cash moving into and out of a business at a specific point in time.
Cash flow can be positive or negative. Positive cash flow indicates that a company has more money moving into it
than out of it. Negative cash flow indicates that a company has more money moving out of it than into it.
Break-Even Point: The break-even point (BEP) is the point at which cost or expenses and revenue are equal: there is
no net loss or gain. Point in time (or in several units sold) when estimated income exactly equals the assessed
aggregate expenses; where loss ends, and profit begins to accumulate. This is the time when a business, loss ends
and profit begins to accumulate, or a venture turns out to be financially viable (Pooja Mathur University of
Rajasthan)
Organizational feasibility
Organizational feasibility aims to assess the prowess of management and sufficiency of resources to bring a product or idea to
market. The company should evaluate the ability of its management team on areas of interest and execution. Typical measures
of management prowess include assessing the founders’ passion for the business idea along with industry expertise,
educational background, and professional experience. Founders should be honest in their self-assessment of ranking these
areas.
4. Discuss whether the project is feasible or not
A feasibility report encompasses various dimensions to assess the viability of a proposed project. These include:
• Technical Feasibility: This involves evaluating the company's technical capabilities and infrastructure to develop and
maintain the proposed project. It assesses compatibility with existing systems and determines the availability of
required technology and expertise.
• Economic Feasibility: Conducting a cost-benefit analysis to evaluate the financial viability of the project is crucial.
Estimating development, implementation, and maintenance costs in relation to expected benefits, revenue
generation, cost savings, and improved efficiency is essential.
• Legal and Regulatory Feasibility: Identifying and assessing legal and regulatory requirements applicable to the
project, such as data protection, privacy laws, and industry regulations, is critical. It ensures compliance and
evaluates potential legal or compliance risks.
• Operational Feasibility: Evaluating the impact of the project on day-to-day operations is important. Assessing the
readiness and willingness of the organization to adopt and utilize the project effectively, including factors like user
training, change management, and potential disruptions to current processes, is considered.
• Schedule Feasibility: Assessing the proposed timeline for the project and its feasibility is vital. It involves evaluating
resource availability and dependencies that may impact the schedule, as well as identifying critical milestones or
deadlines.
• Social and Ethical Feasibility: Considering the social and ethical implications of the project is necessary. This includes
evaluating aspects such as patient privacy, data security, ethical use of information, and alignment with ethical
guidelines to promote positive social outcomes.
V. Describe how technical solutions can be compared(P4)
1. Requirement:
Within the Software Development Life Cycle (SDLC), requirements play a pivotal role in ensuring the successful development of a
software product. These requirements represent the fundamental needs and expectations that must be met. They serve as a
blueprint, outlining the specific features, components, and services that the software should provide.
In addition to defining desired functionalities, requirements also establish criteria for quality, performance, and security that the
software product should adhere to. They act as guiding principles, setting the standards and benchmarks against which the
software's performance will be evaluated.
Downloaded by Ton That Quan (FPI DN) (quanttbd00333@fpt.edu.vn)
lOMoARcPSD|26048061
lOM oA R cP S D| 10 09 583 0
Furthermore, requirements serve as technical and design constraints, imposing limitations and boundaries that must be
addressed throughout the development process. By meeting these requirements, developers ensure that the software product
aligns with the intended objectives and meets the needs of its intended users.
The process of meeting requirements involves thorough analysis, documentation, and communication. It requires a
comprehensive understanding of stakeholders' expectations and needs, translating them into well-defined and actionable
requirements. This process helps minimize ambiguity, reduce the risk of misinterpretation, and facilitate effective collaboration
among the development team.
Successfully meeting the requirements is a critical step in the SDLC as it lays the foundation for developing a software product
that fulfills its intended purpose, satisfies user expectations, and delivers value to stakeholders. It serves as an important measure
of success, ensuring that the software product meets the necessary functional, performance, and security standards.
Ultimately, meeting the requirements is vital for delivering a successful software product that not only meets user needs but also
addresses the broader objectives of the project. It sets the stage for subsequent stages of the SDLC, such as design, development,
testing, and deployment, where the software is built and refined based on the established requirements.
Types of Requirements:
There are various types of requirements that are commonly identified in software development projects. These types include:
Functional Requirements: These requirements specify the desired functions, features, and capabilities of the software system.
They describe what the software should do and how it should behave in response to specific inputs or events. Functional
requirements are typically expressed as statements such as "The system shall..." or "The software must be able to..."
Non-Functional Requirements: Non-functional requirements define the qualities and constraints of the software system, rather
than its specific functionalities. These requirements address attributes such as performance, reliability, security, usability,
scalability, maintainability, and compatibility. Examples of non-functional requirements include response time, system availability,
data encryption, user interface responsiveness, and system documentation standards.
User Requirements: User requirements capture the needs, expectations, and goals of the software system's end users. They focus
on the user experience, usability, and specific user interactions with the software. User requirements are gathered through user
Downloaded by Ton That Quan (FPI DN) (quanttbd00333@fpt.edu.vn)
lOMoARcPSD|26048061
lOM oA R cP S D| 10 09 583 0
interviews, observations, and surveys, and they help ensure that the software meets the intended user needs and provides a
satisfactory user experience.
Business Requirements: Business requirements represent the high-level objectives and goals of the software project from a
business perspective. They articulate the desired business outcomes, strategic considerations, and benefits that the software
should deliver. Business requirements help align the software development effort with the overall business strategy and provide a
context for decision-making throughout the project.
System Requirements: System requirements define the specifications and constraints of the overall software system, including its
hardware, software, network, and infrastructure components. These requirements address system-level considerations such as
platform compatibility, system architecture, data storage, and integration with other systems.
Stakeholder Requirements: Stakeholder requirements encompass the needs and expectations of all stakeholders involved in the
software project, including end users, customers, managers, developers, and regulatory bodies. These requirements ensure that
the software system meets the diverse perspectives and interests of the stakeholders.
2. Discuss alternative technical solutions using the alternative matrix on Health Connect project:
Evaluation Relative Alternative Score (1- Weigh Alternative Score (1- Weigh Alternative Score (1- Weighted
Criteria Importance 1: using C# 5) * ted Score 2: using 5) * ted Score 2: using 5) * Score
JavaScript PHP
Technical
Issues:
Front-end and 10 Only 5 50 Both 7 70 Only back- 5 50
backend backend frontend end
support and 7 70
Only
backend 5
50 back -
end.
Capable of 10 Current 5 50 Current 5 50 Current 5 50
running on system system system fully
Windows uses fully supports J s
Server Window supports
60server
Multimedia 10 Microsoft 6 60 Easy to 5 50 Easy to find 6 60
libraries support find open-
source source
code in library
library
Economic
Issues:
The license is 10 Visual 4 40 Free for 5 50 Free for 50 50
less than $5 studio + commercial commercia
2000 .NET use l use
Framework
cost $4500
A server costs 10 Reuse 5 50 Reuse 3 30 Reuse 5 50
less than S1 current server server
1,000 per server
year.
Organizational
Issues
Capable of 10 Very high 3 30 Not easy 5 150 Easy to 5 50
hiring a senior salary to find find
developer
Capable of 40 Easy to find 5 150 Easy to Easy to 5 150
hiring testers find find
for less than
$1 1,000 per
month
Total 100 430 450 460
VI. References
1. Altvater, Alexandra. “What Is SDLC? Understand the Software Development Life Cycle.” Stackify, 8 Apr. 2020, stackify.com/what-is-
sdlc/.
2. Guru99. “What Is Spiral Model? When to Use? Advantages & Disadvantages.” Guru99.com, 17 May 2019, www.guru99.com/what-is-
spiral-model-when-to-use-advantages-disadvantages.html.
3. https://www.finoit.com. “Finoit Technologies.” Finoit Technologies, 8 July 2019, www.finoit.com/blog/sdlc-models-methodologies/.
4. Indeed Editorial Team. “What Is a Feasibility Report? (Definition and Template).” Indeed Career Guide, 2021,
www.indeed.com/career-advice/career-development/feasibility-report.
5. Jawad Ahmad. “Feasibility Study Analysis - the Professional’s Guide.” Templates Free Download, 6 Apr. 2020,
templatesfreedownload.com/business-feasibility-study-analysis/. Accessed 5 Apr. 2022.
6. Lewis, Sarah. “What Is the Prototyping Model?” SearchCIO, 2019, www.techtarget.com/searchcio/definition/Prototyping-
Model#:~:text=The%20prototyping%20model%20is%20a.
7. Martin, Matthew. “What Is Waterfall Model in SDLC? Advantages & Disadvantages.” Guru99.com, 4 Apr. 2019,
www.guru99.com/what-is-sdlc-or-waterfall-model.html.
8. “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%20this%20feasibility%20study. Accessed 5
Apr. 2022.