Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Higher Nationals - Summative Assignment Feedback Form

Student Name/ID Nguyen Huu Hoang Khanh/ GCD220223

Unit Title Unit 9: Software Development Life Cycle


Assignment Number 1 Assessor Phan Thanh Tra

Date Received
Submission Date
1st submission
Date Received 2nd
Re-submission Date
submission
Grading grid

P1 P2 P3 P4 M1 M2 D1 D2

Assessor Feedback:

*Please note that constructive and useful feedback should allow students to understand:

a) Strengths of performance
b) Limitations of performance
c) Any improvements needed in future assessments
Feedback should be against the learning outcomes and assessment criteria to help students understand how these
inform the process of judging the overall grade.

Feedback should give full guidance to the students on how they have met the learning outcomes and
assessment criteria.

Grade: Assessor Signature: Date:

Resubmission Feedback:
*Please note resubmission feedback is focussed only on the resubmitted work

Grade: Assessor Signature: Date:

07.03-BM/ĐT/HDCV/FE 1/0 1/19


Internal Verifier’s Comments:

Signature & Date:

* Please note that grade decisions are provisional. They are only confirmed once internal and
external moderation has taken place and grades decisions have been agreed at the
assessment.

07.03-BM/ĐT/HDCV/FE 1/0 2/19


Contents
I. Introduction .........................................................................................................................4

II. Describe two iterative and two sequential software data lifecycle models ............................4

1. Describe the following SDLC ..........................................................................................4

1.1 Waterfall model .......................................................................................................5

1.2 V-model...................................................................................................................7

1.3 Prototyping ..............................................................................................................9

1.4 Scrum ......................................................................................................................9

1.5 Spiral ..................................................................................................................... 11

1.6 Model suitable with the project .............................................................................. 12

2. Discuss the suitability of each SDLC models for the project .......................................... 13

III. Explain how risk is managed in the Spiral life cycle model ............................................ 13

1. Identity risks and discuss solution .................................................................................. 13

2. Risk Management process ............................................................................................. 14

IV. Explain the purpose of feasibility report......................................................................... 15

1. Definition ...................................................................................................................... 15

2. Purpose of conducting a feasibility report ...................................................................... 15

3. Three feasibility criteria ................................................................................................. 16

V. How technical solutions can be compared .......................................................................... 18

References ................................................................................................................................ 19

07.03-BM/ĐT/HDCV/FE 1/0 3/19


I. Introduction
The Software Development Life Cycle (SDLC) outlines the process for determining how an
information system can meet business needs, designing the system, developing it, and ultimately
delivering it to users. This framework consists of a series of tasks to be completed at each stage
of the software development process. SDLC provides a comprehensive overview of the
development, design, and maintenance of a software project, ensuring that all functionalities,
user requirements, goals, and final objectives are addressed collectively. By following the SDLC,
the quality of the software project and the overall development process is improved. While this
may seem straightforward to those who have taken coding classes or have programming
experience, it is much more complex in practice. Therefore, in this report, the importance of
SDLC would be clearly explained.

II. Describe two iterative and two sequential software data


lifecycle models
1. Describe the following SDLC
The Software Development Life Cycle (SDLC) is a process designed to produce high-quality
software at the lowest cost and in the shortest possible time. It offers a structured sequence of
phases that enable an organization to efficiently create well-tested, production-ready software.
Specifically, the SDLC methodology emphasizes six key phases of software development.
Popular SDLC models include the Waterfall model, Spiral model, and Agile model. (Alexandra,
2024)

Six phases of SDLC:

 Requirement analysis: At this stage, input is gathered from various stakeholders,


including customers, salespeople, industry experts, and programmers. The goal is to
identify the strengths and weaknesses of the current system to determine how it can be
improved.

 Planning: At this stage of the SDLC, the team evaluates the cost and resources needed to
fulfill the analyzed requirements. They also discuss potential risks and propose sub-plans
to mitigate them.

 Software design: In this stage of the SDLC, the software specifications are transformed
into a design plan known as the Design Specification. All stakeholders then review the

07.03-BM/ĐT/HDCV/FE 1/0 4/19


proposal, offering feedback and suggestions. It is crucial to have a strategy in place for
obtaining and incorporating stakeholder feedback into this document. Failure at this stage
often leads to cost overruns at best and project failure at worst.

 Software development: The initiation of the concrete development phase takes place
during this stage. Each developer is expected to adhere strictly to the predetermined
strategy. Moreover, it is essential to ensure that developers conform to established coding
standards and procedural protocols.

 Testing: At this point, developers review and correct any errors in the software to ensure
it meets the highest quality standards before being delivered to customers.

 Deployment: The objective of this step is to deploy the software to the production
environment, enabling users to start using the product. Additionally, this allows for the
identification of any remaining flaws before the product is officially released.

1.1 Waterfall model


The Waterfall Model is a sequential method that divides software development into predefined
stages. Each stage must be finished before the next one can start, and there is no overlap between
them. Each stage is dedicated to carrying out specific activities within the SDLC phase.
(GeeksforGeeks, 2024)

Figure 1 Waterfall model

07.03-BM/ĐT/HDCV/FE 1/0 5/19


Six Phases of Waterfall Model in Software Engineering:

 Requirement Gathering Stage: In this phase, comprehensive requirements for the


software system under development are collected from clients.

 Design Stage: Determine the programming language to be utilized, such as Java, PHP,
.NET, or select the database management system, along with other pertinent high-level
technical specifications for the project.

 Built Stage: Coding the software

 Test Stage: During this phase, software testing is conducted to ensure that it conforms to
the specifications provided by the client.

 Deployment stage: Deploy the application into the appropriate environment

 Maintenance stage: After the system is prepared for use, you may find it necessary to
modify the code in accordance with customer requests.

Disadvantage Advantage

Errors can only be fixed during the specified Each phase must be completed before the next
phase phase of development can begin.

This model is not suitable for complex This model is suited for smaller projects where
projects where requirements frequently requirements are well-defined.
change

The testing phase takes place relatively late Quality assurance tests (Verification and
in the development process Validation) should be performed before
completing each stage.

Documentation consumes a significant Comprehensive documentation is conducted at


amount of time for both developers and every phase of the software development cycle.
testers

Client feedback cannot be incorporated The project relies heavily on the project team
during the ongoing development phase with minimal client intervention.

Minor changes or errors that occur in the Any changes to the software are made during

07.03-BM/ĐT/HDCV/FE 1/0 6/19


completed software can lead to significant the development process.
problems.

1.2 V-model
The V Model is a rigorously structured SDLC model where a testing phase runs parallel to each
development phase. It extends the waterfall model by incorporating testing at each stage
simultaneously with development in a sequential manner. This approach is commonly referred to
as the Validation or Verification Model. (GeeksforGeeks, 2024)

Figure 2 V-model

Six Phases of Software Development Cycle

 Requirement Gathering Stage: The initial stage involves gathering as much information
as possible about the specific details and specifications of the desired software from the
client. This phase is commonly referred to as the Requirements Gathering stage.

07.03-BM/ĐT/HDCV/FE 1/0 7/19


 Design Stage: Determine the appropriate programming language, such as Java, PHP, or
.NET, as well as the suitable database, such as Oracle or MySQL, based on the project's
requirements. Additionally, outline high-level functions and architecture for the project.

 Build Stage: Following the design stage is the build stage, which involves the actual
coding of the software.

 Test Stage: Following that, you test the software to ensure it aligns with the
specifications provided by the client.

 Deployment Stage: Deploy the application in the appropriate environment.

 Maintenance Stage: Once the system is ready for use, you may need to modify the code
later based on customer requests.

Disadvantage Advantage

Inflexible Simple

Modifying the scope is challenging and costly. Every phase is associated with distinct
deliverable

During the implementation phase, the There is a greater likelihood of success


software is developed without creating early compared to the waterfall model because test
prototypes. plans are developed early in the life cycle.

The model lacks a clear mechanism for Works effectively in situations where
addressing issues identified during testing requirements are readily comprehensible.
phases.

It is expensive and time-consuming, requiring Verifying and validating the product in the
a comprehensive plan. early stages of development ensures higher
quality.

The V-Model concept can be integrated with


other models, such as iterative and agile
models.

07.03-BM/ĐT/HDCV/FE 1/0 8/19


1.3 Prototyping
The prototyping model is a systems development approach where a prototype is created, tested,
and refined repeatedly until an acceptable outcome is achieved, from which the complete system
or product can be developed. This model is most effective in situations where project
requirements are not fully detailed in advance. It involves an iterative, trial-and-error process that
occurs between developers and users (GeeksforGeeks, 2024).

Figure 3 Prototype Model

1.4 Scrum
Scrum is a project framework that adheres to the agile methodology, outlining roles, procedures,
tools, and processes to ensure the efficient and timely delivery of projects through iterative

07.03-BM/ĐT/HDCV/FE 1/0 9/19


development cycles. This methodology is typically used in environments that require a rapid
development process and significant stakeholder involvement. Scrum continuously monitors
software development throughout the project's lifecycle. (GeeksforGeeks, 2024)

Figure 4 Scrum

Disadvantage Advantage

It is challenging to plan, structure, and A transparent system compels developers to


organize a project that lacks a clear mission adhere to their assignments and deliver them
and vision. on time.

Frequent changes in the project can cause Defined deadlines at each step keep developers
delays in the delivery timeline. motivated and empowered throughout the
process.

It utilizes more resources and requires Feedback at every stage of the project ensures
stakeholder involvement for every minor detail that a high-quality product is delivered in the
change and discussion. end.

07.03-BM/ĐT/HDCV/FE 1/0 10/19


1.5 Spiral
The Spiral Model is a risk-driven approach to software development, combining aspects of the
waterfall model and the iterative model. It allows for the incorporation of elements from multiple
process models based on unique risk patterns, thereby facilitating an efficient development
process. (GeeksforGeeks, 2024)

Figure 5 Spiral Model

Four Phases of Spiral Model:

 Plan: The Spiral Model encompasses estimating the cost, schedule, and resources for
each iteration. It also involves comprehending the system requirements and maintaining
continuous communication between the system analyst and the customer.

 Risk Analysis: The identification of potential risks is conducted concurrently with the
planning and finalization of the risk mitigation strategy.

07.03-BM/ĐT/HDCV/FE 1/0 11/19


 Engineering: This involves testing, coding, and deploying the software at the customer's
site.

 Evaluate: This stage involves the evaluation of the software by the customer, as well as
the identification and monitoring of risks such as schedule slippage and cost overrun.

1.6 Model suitable with the project


According to the given information, the Medical Portal Enhancement project is a large-scale
project. Therefore, the company must meticulously organize and develop its processes to avoid
mistakes.

The Waterfall model, although commonly used in small projects, poses a high risk of failure in
complex and object-oriented projects. Correcting flaws in such projects incurs substantial costs
as updates must be made across documentation and reasoning. Moreover, incomplete software
development documentation can lead the project astray.

Similarly, the V-model has drawbacks that make it unsuitable for this project. Since all
requirements are known upfront, it struggles to accommodate dynamic changes. Additionally,
lacking risk analysis activities, it faces challenges in managing risks and experiences a high rate
of project failure.

Given these considerations, the Spiral model emerges as the most suitable choice because:

 It offers a balanced environment.

 It can adapt to both dynamic and stable technologies.

 Adequate resources and training are available.

 Requirements remain stable.

07.03-BM/ĐT/HDCV/FE 1/0 12/19


2. Discuss the suitability of each SDLC models for the project

III.Explain how risk is managed in the Spiral life cycle


model
1. Identity risks and discuss solution
Risk Probability Impact Solution

Outdated Technology Medium Medium Ensure to regularly


update to the most recent
and cutting-edge
technology available.

Inaccurate System Medium High User research and


Functions surveys, prototyping and
wireframing, early user
manuals and guidance,
organization and
business analysis,
mission and
requirements analysis,
operations concept
formulation.

07.03-BM/ĐT/HDCV/FE 1/0 13/19


Wrong UI High High Task analysis,
prototyping and
wireframing, scenario
definition, and user
profiling.

The ongoing flow of Medium Medium Information censorship;


requirement changes gradual implementation;
high change threshold
(postponing changes to
later increments).

2. Risk Management process


Risk management in projects involves a logical sequence of actions undertaken by decision-
makers to maintain project implementation within specific parameters. Decision-makers must
identify, analyze, and assess risks throughout the project lifecycle, leveraging their
organizational structure and administrative practices to mitigate risks in favor of the project.
Project complexity and organizational maturity are recognized as critical factors that can
influence project success. (Thomas, 2024)

Risk assessments are crucial components of occupational health and safety management
plans. They serve to:

 Raise awareness of hazards and risks.

 Identify individuals who may be at risk (e.g., employees, cleaners, visitors,


contractors, the public, etc.).

 Determine the necessity of a control program for specific hazards.

 Assess the adequacy of existing control measures or identify areas for improvement.

 Prevent injuries or illnesses, particularly when conducted during the design or


planning phase.

 Prioritize hazards and control measures.

 Ensure compliance with legal requirements where applicable.

07.03-BM/ĐT/HDCV/FE 1/0 14/19


Five steps of Risk Management process:

1) Risk Identification: Identify and document potential risks that could impact the project
or organization.

2) Risk Analysis: Assess the likelihood and potential impact of each identified risk. This
step involves determining the probability of occurrence and the severity of consequences
associated with each risk.

3) Risk Evaluation: Evaluate the identified risks based on their significance and prioritize
them for further action. This involves comparing the level of risk against predetermined
criteria to determine which risks require attention.

4) Risk Treatment: Develop and implement strategies to mitigate, transfer, avoid, or accept
the identified risks. This step involves selecting and implementing appropriate risk
response actions to address the prioritized risks.

5) Risk Monitoring and Review: Continuously monitor the effectiveness of risk treatment
measures and review the risk management process regularly to identify new risks or
changes in existing risks. This step ensures that risk management remains an ongoing and
proactive process throughout the project or organizational lifecycle.

IV. Explain the purpose of feasibility report


1. Definition
A feasibility report is an assessment document that evaluates various proposed project paths or
solutions to determine their viability. The individual responsible for preparing a feasibility report
assesses the feasibility of different solutions and ultimately selects their recommendation for the
most suitable solution. Subsequently, they present the feasibility report to their company and
advocate for their recommended course of action. (Indeed Editorial Team, 2024)

2. Purpose of conducting a feasibility report


The purpose of the feasibility report is to outline the project parameters and explore potential
solutions to the identified problem, need, or opportunity. After considering a range of potential
solutions, the project team elaborates on each one, offering detailed information, including
preliminary cost estimates. This enables the project leader to recommend to the approving
authority which viable solutions should be further analyzed in the next phase, known as the
Business Case. Viability is determined by factors such as project constraints and budget
limitations.

07.03-BM/ĐT/HDCV/FE 1/0 15/19


3. Three feasibility criteria
• Technical Feasibility:

Technical feasibility evaluates the engineering aspects of the project, including civil, structural,
and other relevant factors necessary for project design. It considers the technical capabilities of
projected technologies and the expertise of personnel involved in the project. In certain
scenarios, especially in third-world countries, technology transfer between cultures and
geographic areas is analyzed to understand productivity implications and other challenges arising
from differences in fuel availability, geography, infrastructure support, and other factors.

• Economic Feasibility:

Economic feasibility involves analyzing the cost and benefits of the project. This entails a
detailed examination of the project's development costs, including hardware and software
resources, design and development expenses, operational costs, and more. It evaluates whether
the project will be financially beneficial for the organization.

 Return on Investment (ROI): ROI is a crucial tool in economic feasibility, measuring the
profitability of investing money and resources into a business idea. It calculates the
profitability of the investment in terms of returns or gains, comparing the gain of
investment over the full investment to assess the ROI of a business or project plan.
Investors prioritize investments with higher ROI, as they offer greater profitability
compared to those with lower ROI.

 Net Present Value (NPV): NPV represents the difference between the present value of
cash inflows and outflows over a period. It is utilized in capital budgeting and investment
planning to analyze the profitability of a projected investment or project. NPV calculates
the present value of future cash flows to determine the project's profitability.

 Cash Flow: Cash flow refers to the net balance of cash moving into and out of a business
at a specific point in time. Positive cash flow indicates that a company has more money
coming in than going out, while negative cash flow indicates the opposite.

 Break-Even Point: The break-even point (BEP) is the juncture at which costs or expenses
and revenue are equal, resulting in neither profit nor loss. It signifies the time or volume
of units sold when estimated income exactly matches total expenses, marking the
transition from loss to profit accumulation, indicating financial viability.

• Organizational Feasibility:

07.03-BM/ĐT/HDCV/FE 1/0 16/19


Organizational feasibility assesses the management capabilities and resource sufficiency required
to bring a product or idea to market. It evaluates the management team's expertise, passion for
the business idea, industry knowledge, educational background, and professional experience.
Honest self-assessment of these areas is crucial for founders to accurately gauge organizational
feasibility.

07.03-BM/ĐT/HDCV/FE 1/0 17/19


V. How technical solutions can be compared

07.03-BM/ĐT/HDCV/FE 1/0 18/19


References
Alexandra, 2024. What Is SDLC? Understand the Software Development Life Cycle. [Online]
Available at: https://stackify.com/what-is-sdlc/
[Accessed 25 5 2024].

GeeksforGeeks, 2024. Scrum Development Model in SDLC. [Online]


Available at: https://www.geeksforgeeks.org/scrum-development-model-in-sdlc/
[Accessed 25 5 2024].

GeeksforGeeks, 2024. SDLC V-Model – Software Engineering. [Online]


Available at: https://www.geeksforgeeks.org/waterfall-model/
[Accessed 25 5 2024].

GeeksforGeeks, 2024. SDLC V-Model – Software Engineering. [Online]


Available at: https://www.geeksforgeeks.org/software-engineering-prototyping-model/
[Accessed 25 5 2024].

GeeksforGeeks, 2024. Waterfall Model - Software Engineering. [Online]


Available at: https://www.geeksforgeeks.org/waterfall-model/
[Accessed 25 5 2024].

GeeksforGeeks, 2024. What is Spiral Model in Software Engineering?. [Online]


Available at: https://www.geeksforgeeks.org/software-engineering-spiral-model/
[Accessed 25 5 2024].

Indeed Editorial Team, 2024. What Is A Feasibility Report? (Definition and Template). [Online]
Available at: https://www.indeed.com/career-advice/career-development/feasibility-
report#:~:text=A%20feasibility%20report%20is%20a,recommendation%20for%20the%20best%20soluti
on.
[Accessed 25 5 2024].

Thomas, C., 2024. Five Steps of the Risk Management Process. [Online]
Available at: https://www.360factors.com/blog/five-steps-of-risk-management-process/
[Accessed 25 5 2024].

07.03-BM/ĐT/HDCV/FE 1/0 19/19

You might also like