0% found this document useful (0 votes)
67 views

Btec FPT International College: Unit: Software Development Life Cycle

Uploaded by

Lê Thị Lệ
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views

Btec FPT International College: Unit: Software Development Life Cycle

Uploaded by

Lê Thị Lệ
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 51

BTEC FPT INTERNATIONAL COLLEGE

INFORMATION TECHNOLOGY
ASSIGNMENT 1
UNIT: SOFTWARE DEVELOPMENT LIFE CYCLE

STUDENT : PHAM TIEN LONG


CLASS : IT05102
STUDENT ID : BD00127
SUPERVISOR : NGUYEN HOANG ANH VU

DANANG, DECEMBER 2023


ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 4 HND Diploma in


Computing

Unit number and Unit: SOFTWARE DEVELOPMENT


title LIFE CYCLE

Date received
Submission date 8/3/2023 (1st submission) 8/3/2023

Date received
Re-submission date (2nd submission)

Student name PHAM TIEN LONG Student ID BD00127

Class IT05102 Assessor name NGUYEN HOANG ANH VU

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:
Long

Grading grid

P1 P2 P3 P4 M1 M2 D1 D2

PERFOMED STUDENT: PHAM TIEN LONG


❒ Summative Feedbacks: ❒Resubmission Feedbacks:

Grade: Assessor Signature: Date:


Internal Verifier’s Comments:

Signature & Date:

PERFOMED STUDENT: PHAM TIEN LONG


ACKNOWLEDGMENTS
First and foremost, I would like to express my gratitude to my family for their
immense support, excitement, and help. I wouldn't be able to do this project properly
without all of these. Second, I would like to express my thanks and gratitude to Mr. Nguyen
Hoang Anh Vu, my teacher. who has devoted his life to education to assist me in achieving
my goals, as well as his support during the implementation of this project. As a result, they
thank you very much. Finally, I would like to acknowledge the important contribution of the
BTEC staff, who allowed me to use the facilities and materials needed to complete the
project.

PERFOMED STUDENT: PHAM TIEN LONG


ASSURANCE

I certify that this assignment is my own work, based on my personal study and that I
have acknowledged all material and sources used in its preparation, whether they be books,
articles, reports, lecture notes, and any other kind of document, electronic or personal
communication. I also certify that this assignment has not previously been submitted for
assessment in any other unit, except where specific permission has been granted from all
unit coordinators involved, or at any other time in this unit, and that I have not copied in
part or whole or otherwise plagiarized the work of other persons.

Declaration of the learner

I verify that the work I've submitted for this assignment is all my own, and that all
research sources have been properly credited.

Signature of the student: LONG Date: 8/3/2023

PERFOMED STUDENT: PHAM TIEN LONG


TABLE OF CONTENT
ASSIGNMENT 1 FRONT SHEET..............................................................................................................

ACKNOWLEDGMENTS..........................................................................................................................

TABLE OF CONTENT..............................................................................................................................

LIST OF TABLES AND FIGURES..............................................................................................................

INTRODUCTION....................................................................................................................................

1 CHAPTER 1 Describe different software development lifecycles (LO1).......................................

1.1 Describe two iterative and two sequential software lifecycle models. (P1).....9

 Waterfall Model:.............................................................................................11

 V-model:..........................................................................................................14

 Prototyping......................................................................................................23

1.2 Dentify some risks and discuss an approach to manage them (P2)...............25

1.2.1 Risk Management process with clear illustrations and explanations.......25

1.2.2 Apply to Tune Source project with problems to be faced and remedies. 27

1.2.3 Describe effective Risk Management Process that are associated with
developing a project (step by step)..................................................................................28

CHAPTER 2: LO2 Explain the importance of a feasibility study.........................................................

1.3 Discuss the purpose of conducting a feasibility report (study) for the project
(P3) 32

1.3.1 Definition of feasibility report...................................................................32

1.3.2 When to use the feasibility report............................................................33

1.3.3 Components of feasibility report..............................................................33

1.4 Describe how technical solutions can be compared (P4)...............................37

1.4.1 Discuss alternative technical solutions using the alternative matrix.......37

PERFOMED STUDENT: PHAM TIEN LONG


1.4.2 Alternative matrix for the Tune Source project...........................................39

1.4.3 Describe the advantages and disadvantages of each option. The table
comparison between solutions should be included.........................................................42

CONCLUSION......................................................................................................................................

REFERENCES.......................................................................................................................................

PERFOMED STUDENT: PHAM TIEN LONG


LIST OF TABLES AND FIGURES
Figure 1:SDLC..................................................................................................................9

Figure 2: Waterfall Model.............................................................................................12

Figure 3: V-model..........................................................................................................15

Figure 4: Spiral model...................................................................................................18

Figure 5: Agile model....................................................................................................21

Figure 6: Prototyping model.........................................................................................23

Figure 7: Risk Management process.............................................................................26

Figure 8: Identify the risk..............................................................................................29

Figure 9: Analyze the risk..............................................................................................30

Figure 10: Monitor the risk...........................................................................................31

Figure 11: Technical Feasibility.....................................................................................34

Figure 12: Economic Feasibility.....................................................................................35

Figure 13: Legal Feasibility............................................................................................36

Figure 14: Operational Feasibility.................................................................................36

Figure 15: Technical......................................................................................................39

Figure 16:Economic.......................................................................................................39

Figure 17: Organizational..............................................................................................40

Figure 18: PHP...............................................................................................................42

Figure 19: Javascript......................................................................................................43

Figure 20: .NET..............................................................................................................44

PERFOMED STUDENT: PHAM TIEN LONG


INTRODUCTION
The software development life cycle (SDLC) is the process of figuring out how to
design, create, and deliver an information system to users while also supporting business
goals. It is a framework with a list of duties that must be carried out at each phase of the
software development process. It is a method of providing a thorough understanding of the
creation, design, and upkeep of a software project by providing guidelines to ensure that all
functionality and user needs, objectives, and end goals are addressed jointly.

This report includes the following:

1. Describe different software development lifecycles (LO1)

2. Explain the importance of a possible study (LO2)

PERFOMED STUDENT: PHAM TIEN LONG


1 CHAPTER 1 Describe different software development
lifecycles (LO1)
1.1 Describe two iterative and two sequential software lifecycle
models. (P1)

What is the software development life cycle (SDLC)?

Software Development Life Cycle, or SDLC, is a process for producing software that is
of the highest quality and at the lowest cost in the shortest amount of time. An organization
can swiftly deliver high-quality software that has been rigorously tested and is appropriate
for use in production thanks to the well-structured stages of the SDLC.

There are six steps in the SDLC. Popular SDLC models include the waterfall model,
spiral model, and agile model (ALEXANDRA ALTVATER, 2020).

Figure 1:SDLC

PERFOMED STUDENT: PHAM TIEN LONG


The SLDC is divided into six stages:

• Requirement analysis

Collecting input from numerous stakeholders, including customers, salespeople,


industry experts, and programmers, is an important stage in the development of software.
Finding solutions to improve the current system's shortcomings and strengths is the aim of
this phase. The development team can get a thorough grasp of the needs and expectations
of the system's users by requesting feedback from a variety of sources. A system that better
serves the demands of all stakeholders can then be developed using this information.

• Planning

At the planning stage of the SDLC, which is a vital step, the development team
estimates the costs and resources required to meet the identified requirements. This entails
evaluating the project's viability and creating plans to address any risks that might emerge
during implementation. The team may establish a strong strategy that gives a clear roadmap
for the development process and ensures the project's success by carefully evaluating all the
project's components. The planning stage also aids in reducing project-related risks and
uncertainties, which may finally result in the delivery of a high-quality product within the
allocated time and financial limits.

• Software design such as architectural design

Software design, which includes architectural design, is an important stage in the


Software Development Life Cycle (SDLC). Following the creation of the design specification
based on the software specifications, stakeholders review it and offer their comments and
ideas. A clear plan must be in place for gathering stakeholder input and incorporating it into
the design specification. Inaction on your part could lead to project failure or expense
overruns.

• Software development

Developers start writing the software's code during the SDLC's software development
phase. It's crucial for developers to stick to the predetermined development plan. A correct
coding style and established process rules can also help guarantee consistency and quality in
the development process.

PERFOMED STUDENT: PHAM TIEN LONG


• Testing

The software is put through a number of tests during the testing phase of the SDLC to
find and fix any mistakes or problems that might impair its functionality or quality. Prior to
being supplied to the consumers, the primary goal is to make sure the software complies
with the specified requirements and is of a high caliber. Before moving on to the next stage,
the developers correct any faults or problems that are found during testing.

• Deployment

The SDLC's deployment phase is when the program is made accessible to users by
being released into the production environment. This stage is crucial because it enables any
remaining issues to be found and fixed before the product is made available. An efficient
technique for software development is provided by the SDLC framework, which enables
developers to design and evaluate requirements prior to starting the actual development
process. This method assures that software programs satisfy the appropriate specifications
and quality standards while lowering unnecessary development expenditures.

 Waterfall Model:

Definition: Each phase of the Software Development Life Cycle (SDLC) must be
finished before moving on to the next one in the linear and sequential "waterfall" model of
software development. The model employs a top-down methodology, with each phase
building on the results of the one before it. Analysis of requirements, design,
implementation, testing, deployment, and maintenance are the phases of the waterfall
model. This model, which emphasizes the need of thorough planning, documentation, and
testing, is best suited for tasks with clearly defined criteria and known results. For projects
with dynamic needs, it might not be the best approach because any modifications to the
requirements might necessitate beginning the SDLC from scratch.

PERFOMED STUDENT: PHAM TIEN LONG


Figure 2: Waterfall Model

Characteristics: A sequential design process, the waterfall technique has the


following features. This indicates that one of the eight stages—conceiving, initiating,
analyzing, designing, building, testing, deploying, and origin—was finished, and developers
are now moving on to the next phase.

 Sequential and linear: Model steps must be carried out in this order, and the
current stage must be finished before moving on to the following.
 Simple job degradation Each stage's tasks and responsibilities are delineated
explicitly, ensuring that the team members are aware of their roles.
 The steps in the development process must be finished and thoroughly
examined before going on to the next stage of the process.
 The process of quality control is made in each stage to verify that the final
product quality fulfills the established requirements.
 The waterfall paradigm is frequently employed in projects with well specified
requirements that remain unaltered throughout development.
 Waterfall models need thorough and detailed documentation at every level,
which makes it simpler to coordinate and manage the development process.
Phases: The sequential phases in Waterfall model are
PERFOMED STUDENT: PHAM TIEN LONG
The waterfall model is a software development process that follows a sequential
approach, and it consists of several phases. The first phase is requirement gathering and
analysis, where all possible requirements for the system are identified and documented. In
the second phase, system design, the specifications from the first phase are analyzed, and
the system architecture is defined.

In the implementation phase, the system is developed in small units, and each unit is
tested to ensure functionality. These units are then integrated into the system, and the
entire system is tested for any faults and failures in the integration and testing phase.

After the functional and non-functional testing is completed, the product is deployed
in the customer environment or released into the market. The final phase is maintenance,
where patches are released to fix any issues that arise in the client environment, and new
versions are released to enhance the product. Maintenance is done to deliver these changes
in the customer environment.

Advantages and Disadvantages:

Advantages Disadvantages

The sequential approach of the waterfall The waterfall model is inflexible and doesn't
model is easy to understand and allow for changes once a phase has been
implement. completed.

Each phase is well-defined, and progress It is difficult to estimate time and costs
can be easily tracked. accurately at the beginning of the project
when all requirements are not yet clear.

Requirements are well documented at the There is a lack of customer involvement


beginning of the project, which makes it during the development process.
easier to manage changes.

The waterfall model is suitable for projects Testing is done at the end of the project,
with a clear and fixed set of requirements. which makes it difficult and costly to fix any

PERFOMED STUDENT: PHAM TIEN LONG


errors found.

The testing phase is extensive and ensures The waterfall model is not suitable for
that the software meets all requirements projects with changing requirements or
before it is deployed. projects that require iterative development.

Easy to arrange tasks. Cannot accommodate changing


requirements.

Process and results are well documented. Poor model for long and ongoing projects.

 V-model:

Definition: V-Model is a software development model that gives specific steps and
stages for software development. V-Model is called "V" because it is represented by the
shape of the V. The left and the right stages.

PERFOMED STUDENT: PHAM TIEN LONG


Figure 3: V-model

Phases:

The V-Model Model, like other process models, includes the key phases; for more
information on SDLC phase definitions, see this article.

Furthermore, it divides the testing procedure into specific sections to assure the
validation and verification process. As a result, it includes the following testing steps.

 Collect and determine the requirements: This stage includes collecting and
identifying product requirements.
 System design: This stage includes system design with software, hardware,
and other components.
 Detailed design: This stage includes the detailed design of software
components.
 Programming and checking the unit: This stage includes programming and
checking the software units.

PERFOMED STUDENT: PHAM TIEN LONG


 Merging and integrated testing: This stage includes the consolidation of
software components and integrated tests.
 Acceptance test: This stage includes acceptance testing to ensure that the
product is by the requirements that have been previously defined.
 Deploying: This phase includes product deployment for customers or users.
Characteristics: This model is used to develop highly stable software and meet the
specific requirements of customers.

It helps ensure that test stages are integrated into the software development process
and are performed in parallel with the programming process.

Steps and stages are clearly defined, making the software development process
easier to manage and monitor.

Advantages and Disadvantages:

Advantages Disadvantages

Clear and well-structured: V-model provides Lack of flexibility: V-model is a rigid and
a clear and well-structured approach to sequential process, which means that it
software development, which makes it may not be suitable for projects that
easier for team members to understand require a more flexible and iterative
their roles and responsibilities in the approach.
development process.

High-quality output: V-model emphasizes Time-consuming: The V-model can be time-


the importance of testing throughout the consuming because it emphasizes the
development process, which helps to importance of testing at every stage, which
ensure that the final product meets the can increase the time required to complete
requirements and is of high quality. the project.

PERFOMED STUDENT: PHAM TIEN LONG


Increased efficiency: By emphasizing the High cost: Because V-model emphasizes
reuse of existing components and modules, testing throughout the development
V-model can help to increase efficiency and process, it can be more expensive than
reduce development time. other development methodologies.

Easy to manage: V-model is easy to manage Limited user involvement: Because the V-
because it is a well-structured and model is a sequential process, it may not
predictable process that can be easily allow for enough user involvement in the
tracked and managed by project managers. development process, which can lead to a
final product that does not meet the user's
needs.

The notion of the V-Model The waterfall model, for example, is quite
rigid.

 Spiral Model
Definition: Spiral Model is a software development model used to develop large
software products, complex and highly allocated. This model is a combination of the method
of strengthening and developing stairs, allowing risk situations to be identified and resolved
during development.

PERFOMED STUDENT: PHAM TIEN LONG


Figure 4: Spiral model

Phases:

 Planning: This is the starting stage of software development. Here, software


developers will identify potential goals, requirements, and risks. The
development plan will also be designed and approved in this period.
 Risk Analysis: This period focuses on analyzing and assessing the potential
risks of the project. Risks are determined and classified according to the level
of influence and probability occurring. After that, risk reduction measures will
be proposed.
 Engineering: At this stage, the software is developed and tested. Repeat
cycles are performed to improve software products.
 Evaluation: After a complete development cycle, the software product will be
assessed to ensure that it meets customer requirements.
Characteristics: Used for large, complex, and high -risk projects.

Suitable for projects that require regular changes.


PERFOMED STUDENT: PHAM TIEN LONG
Focus on detecting and minimizing risks during software development.

Create continuous loops to develop and check the software until it meets customer
requirements.

Advantages and Disadvantages:

Advantages Disadvantages

Risk Management: The Spiral Model is Complexity: The Spiral Model can be
designed to manage risks effectively. It complex and difficult to understand,
identifies and addresses potential risks early especially for smaller development teams.
in the software development life cycle, and It requires a high level of expertise and
the iterative nature of the model allows for experience to manage the risk analysis,
continuous risk analysis and mitigation. prototyping, and other activities involved.

Flexibility: The Spiral Model is a flexible Time-Consuming: The Spiral Model can be
model that can accommodate changes and time-consuming, especially in the early
adjustments throughout the software stages of the software development life
development life cycle. It can incorporate cycle. The risk analysis and prototyping
feedback from users, stakeholders, and activities can take longer than anticipated,
other sources to ensure that the final which can delay the delivery of the final
product meets the requirements and product.
expectations.

Incremental Delivery: The Spiral Model Cost: The Spiral Model can be expensive,
emphasizes incremental delivery, which especially for large software development
means that software is developed and projects. The risk analysis, prototyping, and
delivered in small, usable increments. This other activities involved require significant
approach allows for faster time-to-market resources, which can increase the cost of
and ensures that the end-users can start the project.
using the software sooner.

Customer Satisfaction: The Spiral Model Documentation: The Spiral Model requires
focuses on customer satisfaction and extensive documentation to ensure that the

PERFOMED STUDENT: PHAM TIEN LONG


involvement throughout the software risks are managed effectively. This can be
development life cycle. Customers can time-consuming and may require additional
provide feedback and suggestions at every resources, especially for large development
stage of the development process, ensuring teams.
that the final product meets their needs
and expectations.

It will provide extensive use of prototypes. Maximum number of intermediate stages


needing unnecessary paperwork.

 Agile model
Definition: Agile Model is a software development method based on a series of
flexible and interactive methods among members of the development group to improve
software production. Agile Model is often used to develop highly flexible software projects,
constantly changing requirements, and requires customer requirements to be met quickly.

According to the Agile approach, each project must be handled uniquely and existing
procedures must be modified to best meet the project's demands. Tasks are divided up into
time boxes (short time limits) in Agile in order to provide specified features for a release. A
working build of the software is produced at the end of each iteration using an iterative
technique. Each build adds features incrementally; the last version includes all the customer-
requested features.

PERFOMED STUDENT: PHAM TIEN LONG


Figure 5: Agile model

Plases
Sprint Planning: This is the first stage in the Agile Model, in which the members of
the development team together discuss and plan for a Sprint, including requirements, goals,
and plans for Sprint.

Sprint Execution: During this period, members of the development team implement
their plans to develop products during Sprint's time.

Sprint Review: This is the stage in which the members of the product development
team have been developed throughout Sprint and collect feedback from customers to
improve the product.

Sprint Retrospulation: This is the final stage in which members of the development
team evaluate the process of developing products throughout Sprint and seek to improve
the development process in the next Sprint.

Characteristics: Focusing on products: Agile Model focuses on developing operating


products and conducting regular testing to ensure that the product meets customer
requirements.

PERFOMED STUDENT: PHAM TIEN LONG


Analysis of production requirements and processes: Agile Model focuses on analyzing
customer requirements and production processes to optimize performance and quickly
respond to customer change requirements.

Continuous change and improvement: Agile Model is highly flexible and focuses on
constantly changing and improving the production process to quickly respond to customer
requirements.

Advantages and Disadvantages:

Advantages Disadvantages

Flexibility: Agile Model is highly flexible and Lack of Predictability: Due to the flexible
can accommodate changes in requirements nature of Agile Model, predicting the final
and priorities throughout the development outcome of the project can be difficult.
process.

Customer Satisfaction: Agile Model focuses Limited Documentation: Agile Model


on delivering working software that meets emphasizes working software over
customer needs and requirements, which comprehensive documentation, which can
leads to higher customer satisfaction. lead to a lack of documentation of the
development process and project details.

Faster Time to Market: Agile Model Dependency on Team Members: Agile


promotes shorter development cycles, Model relies heavily on the collaboration
allowing for faster delivery of products to and communication between team
the market. members. If any team member leaves the
project, it can significantly impact the
project's progress.

Continuous Improvement: Agile Model Challenging for Large Teams: Agile Model
encourages continuous improvement of the can be challenging for large teams, as it
development process and the product requires significant coordination and
being developed through regular reviews communication between team members.
and feedback.

PERFOMED STUDENT: PHAM TIEN LONG


Collaboration: Agile Model promotes Lack of Structure: Agile Model does not
collaboration and communication between have a defined structure, which can make it
team members, leading to better challenging for team members to know
coordination and understanding of project what tasks they need to accomplish and
goals. when.

 Prototyping

Definition: Prototyping is a software development method in which a model or an


early version of the product is created and tested. The purpose of prototyping is to identify
and understand customer requirements and help enhance the interaction between
customers and the development group.

Figure 6: Prototyping model

Plases:

PERFOMED STUDENT: PHAM TIEN LONG


 Planning: This stage includes determining the goals of the model or product,
including the requirements and functions needed. At this time, developers
need to learn and understand customer requirements.
 Design: This stage is to create a relative design for sample products. This helps
developers understand how the product works and how to develop the
product.
 Development: At this stage, developers create sample products with
appropriate technologies. This allows the developer to check the product and
ensure that it works as expected.
 Testing: The test stage helps ensure that the sample product works as
desired. If necessary, the developer can perform tests and repairs to improve
the product.
 Iteration: The final stage is the product improvement process based on test
results and testing. Sample product versions are updated and modified to
achieve the best results. This process may be repeated until the product is
complete.
Characteristics:

Mainly focusing on the ability to test and improve products.

Help ideas become clearer and minimize risks.

Fast and lower costs than official product development.

Advantages and Disadvantages:

Advantages Disadvantages

Faster development: Prototyping allows for Higher initial cost: Prototyping can require a
faster development cycles, allowing significant investment in time and resources
designers and developers to quickly iterate upfront to create the prototype, which can
and refine their ideas, saving time and be a disadvantage for smaller projects or
resources. budgets.

PERFOMED STUDENT: PHAM TIEN LONG


Better communication: Prototypes can help Limited functionality: Prototypes may not
designers and developers communicate have all of the functionality of the final
their ideas more effectively with product, which can limit the scope of
stakeholders and users, making it easier to testing and feedback.
get feedback and make improvements.

Reduced risk: Prototyping can help identify Scope creep: Prototyping can lead to scope
potential problems and issues early in the creep, where additional features or
development cycle, reducing the risk of functionality are added beyond the original
costly mistakes or failure. scope, leading to delays and additional
costs.

Improved quality: Prototyping allows for Limited scalability: Prototypes may not be
continuous testing and refinement, leading scalable to handle larger or more complex
to a higheh-quality final product. projects, requiring additional development
effort to bring the product to market.

It is easy to detect errors. Customers may not be satisfied or


interested in the product after seeing the
initial prototype.

1.2 Dentify some risks and discuss an approach to manage them (P2)

1.2.1 Risk Management process with clear illustrations and explanations

 Definition of Risk Management process.

The risk management process in projects is a systematic series of steps that decision-
makers carry out to keep the project on track under particular conditions. Decision-makers
must identify, analyze, and assess risks throughout the project lifecycle before using their
organizational frameworks and management procedures to reduce those risks for the

PERFOMED STUDENT: PHAM TIEN LONG


project's benefit. The project's complexity and organizational maturity are considered to be
important determinants of its success.

Figure 7: Risk Management process.

Why is risk assessment important?


Risk assessment is important because it helps organizations identify and evaluate
potential risks that may impact their objectives. By conducting a risk assessment,
organizations can:

Anticipate and prepare for potential risks: By identifying potential risks, organizations
can take steps to prepare for them and minimize their impact. This can include
implementing controls or contingency plans to mitigate the risk.

Make informed decisions: When organizations have a clear understanding of


potential risks, they can make informed decisions about how to allocate resources and

PERFOMED STUDENT: PHAM TIEN LONG


prioritize actions. This can help them to focus on the risks that are most likely to impact their
objectives.

Improve operational efficiency: By identifying and mitigating risks, organizations can


improve their operational efficiency and reduce the likelihood of disruptions or downtime.
This can help to save time and resources in the long run.

Meet legal and regulatory requirements: Many industries are subject to legal and
regulatory requirements related to risk management. Conducting a risk assessment can help
organizations to comply with these requirements and avoid penalties.

 What is the goal of risk assessment?


The hazard evaluation system's goal is to assess risks and, if required, eliminate them
or reduce the severity of the danger by implementing controls. You establish a safer and
healthier workplace by doing this. The following questions are to be answered:

- What happens under what circumstances?

- What are the viable consequences?

- How probable are the consequences?

- Is the danger efficiently managed or does a similar motion want to be taken?

Overall, the goal of risk assessment is to help organizations proactively identify and
manage potential risks, enabling them to achieve their objectives with greater certainty and
confidence.

1.2.2 Apply to Tune Source project with problems to be faced and remedies.

Because of the spiral model, employing it in a TS (Tune Source) project has many
benefits. Yet, a few connected problems will make this project vulnerable to threats
resulting from that issue. The issues the project encountered are listed here, along with their
causes, solutions, and results.

Problem Cause Result Remedies

Lack of staff The worker resigned The project hasn't hiring knowledgeable or highly
because she was fired been finished, or it trained staff, spending money

PERFOMED STUDENT: PHAM TIEN LONG


or didn't get the could be finished but on training programs to
information in a not in time for address the ignorance of past
timely manner. handover. employees

Not enough lack of necessary There won't be By spending money on new


technology technology to enough materials technologies, programmers
equipment complete the job available for can use and apply them to the
programmers or staff project to finish it quickly.
to finish projects fast.

Lack of disease concerns, as Lack of resources for Using outdated technology


funds well as income project upkeep and and products with great
sources expansion efficiency to cut costs

1.2.3 Describe effective Risk Management Process that are associated with developing a
project (step by step)

Identify the risk.

To avoid potential problems in the project, project managers should take precautions
in advance. However, taking these precautions is not meant to demoralize the members of
the organization, on the contrary, it is an opportunity for the team to learn from each other's
experiences. Collect opinions from all members of the organization and ask them to describe
the risks they have faced or may face in the future. This process enhances communication
and supports interdisciplinary learning.

PERFOMED STUDENT: PHAM TIEN LONG


Figure 8: Identify the risk.

Analyze the risk.

Once your team has located possible problems, further investigation is required.
How probable are these dangers to materialize? What effect do they have when they do?
What would you do?

Your team choose what to focus on first in this step by estimating the likelihood and
impact of each risk. Next design a response plan for each risk. In order to effectively analyze
each risk, it is crucial to consider factors including the business's possible cash loss, time loss,
and impact severity. By analyzing each risk, you may also spot frequent project issues and
enhance the risk management procedure for upcoming projects.

PERFOMED STUDENT: PHAM TIEN LONG


Figure 9: Analyze the risk

Risk Evaluation

According to the Business Dictionary, risk evaluation is the process of "determining


risk management priorities by the construction of qualitative and/or quantitative
correlations between benefits and related risks."

Treat the risk.

As soon as you determine the most significant hazards, submit your treatment
strategy. Even while not all risks can be predicted, the earlier steps in your risk management
approach should have given you a good chance of success. The highest priority risks should
be addressed first, or at the very least, mitigated so that they don't endanger the project.
Using the team's resources effectively while keeping the project on track is another aspect of
risk management and mitigation.

Monitor the risk.

When it comes to ongoing surveillance for potential dangers, effective


communication between your team and stakeholders is essential. communicate project
updates to the team and other stakeholders on a regular basis. Have an individual contact
with your risk manager to make sure no alarm bells are rung during the project. Keep your
risk register up to date; it should be a dynamic document that you and your team routinely
consult. Risks should be updated in the log so that everyone may see them as they change or
develop.

PERFOMED STUDENT: PHAM TIEN LONG


Figure 10: Monitor the risk

 Risk Handling in Spiral Model.

The hazards of employing the spiral model, which I'll be using for my project, are as follows:

The Spiral Model is the ideal development model to use since it incorporates risk
analysis and risk management at each level. Projects have a lot of unknown hazards that can
happen during development. I, therefore, employ the spiral model in this project. The most
crucial aspect of it is how to handle these unanticipated risks once the project has begun.
Addressing such hazards is made easier by developing a prototype. The spiral approach
facilitates prototyping at each level of software development, making risk management
simpler.

The Waterfall Model also supports risk management, however, hazards must be fully
identified before project development can start. The Waterfall Model cannot be used in this
situation because the transition from one growth phase to another will only occur after the
previous phases have finished successfully and there is no going back. previous phase or
overstepping phase. Project risks may, however, arise after development work has begun.
Each phase of the Spiral Model dates and analyzes the product features, and waterfall
development is used to identify and resolve any risks that are present at that phase. Thus,
compared to other SDLC models, this paradigm is substantially more versatile.

PERFOMED STUDENT: PHAM TIEN LONG


CHAPTER 2: LO2 Explain the importance of a feasibility
study
1.3 Discuss the purpose of conducting a feasibility report (study) for the
project (P3)

1.3.1 Definition of feasibility report

A feasibility report is a type of document that assesses the practicality and potential
of a proposed project or venture. It typically includes a detailed analysis of the technical,
economic, operational, and legal aspects of the project, as well as an evaluation of potential
risks and benefits.

The purpose of a feasibility report is to provide decision-makers with the information


they need to determine whether a proposed project is viable and worth pursuing. The report
should outline the key objectives of the project, the resources required to implement it, and
the potential costs and benefits. It should also identify any potential obstacles or challenges
that may need to be addressed.

Feasibility reports are often used in a wide range of industries, including


construction, engineering, information technology, and finance. They are typically prepared
by a team of experts who have experience in the relevant field and who can provide a
detailed and objective analysis of the project's feasibility. The report is then presented to
senior management or stakeholders, who can use it to make informed decisions about the
project's future. A feasibility report is a type of document that assesses the practicality and
potential of a proposed project or venture. It typically includes a detailed analysis of the
technical, economic, operational, and legal aspects of the project, as well as an evaluation of
potential risks and benefits.

The purpose of a feasibility report is to provide decision-makers with the information


they need to determine whether a proposed project is viable and worth pursuing. The report
should outline the key objectives of the project, the resources required to implement it, and
the potential costs and benefits. It should also identify any potential obstacles or challenges
that may need to be addressed.

PERFOMED STUDENT: PHAM TIEN LONG


Feasibility reports are often used in a wide range of industries, including
construction, engineering, information technology, and finance. They are typically prepared
by a team of experts who have experience in the relevant field and who can provide a
detailed and objective analysis of the project's feasibility. The report is then presented to
senior management or stakeholders, who can use it to make informed decisions about the
project's future.

1.3.2 When to use the feasibility report

A feasibility report is typically used to assess the practicality and viability of a


proposed project or idea. It helps stakeholders determine whether the project is worth
pursuing, given the resources and constraints involved.

A feasibility report is useful in a variety of scenarios, such as:

New business ventures: A feasibility report can be used to assess the feasibility of
starting a new business or expanding an existing one. It can help determine whether the
market is large enough, whether the necessary resources are available, and whether the
project is financially viable.

Infrastructure projects: Feasibility reports are commonly used in infrastructure


projects such as building bridges, highways, and airports. They help determine whether the
project is feasible in terms of cost, time, and resources.

Technology projects: Feasibility reports are also commonly used in technology


projects such as software development. They help assess whether the project is technically
feasible and whether the necessary resources and expertise are available.

In general, a feasibility report is useful whenever a project or idea is being considered


and there is uncertainty about its practicality or viability.

1.3.3 Components of feasibility report

A key document that assists stakeholders in deciding whether a proposed project or


initiative is viable and ought to be pursued is the feasibility study. The report typically has a
number of sections that assess the project's viability from various perspectives. The
elements of a feasibility report are as follows:

PERFOMED STUDENT: PHAM TIEN LONG


Technical Feasibility

Technical feasibility is a critical aspect of a feasibility study that assesses the viability
of a proposed project from a technical perspective. It involves evaluating whether the
proposed project can be successfully implemented using the available technology, resources,
and expertise.

Overall, the technical feasibility study is critical in determining whether a proposed


project can be implemented successfully from a technical standpoint. It helps ensure that
the proposed project is technically sound and can be implemented within the available
resources and expertise.

Figure 11: Technical Feasibility

Economic Feasibility

Economic feasibility is a critical aspect of a feasibility study that assesses the viability
of a proposed project from an economic perspective. It involves evaluating the potential
costs and benefits associated with the project and determining whether the project is
financially viable.

Overall, the economic feasibility study is critical in determining whether a proposed


project is financially viable. It helps ensure that the proposed project is economically sound
PERFOMED STUDENT: PHAM TIEN LONG
and can generate sufficient returns on investment to justify the resources and effort
involved.

Figure 12: Economic Feasibility

Legal Feasibility

Legal feasibility is a critical aspect of a feasibility study that assesses the viability of a
proposed project from a legal perspective. It involves evaluating the legal requirements and
constraints associated with the project and determining whether the project is legally viable.

Overall, the legal feasibility study is critical in determining whether a proposed


project is legally viable. It helps ensure that the proposed project complies with all legal
requirements and constraints and can be implemented without legal issues.

PERFOMED STUDENT: PHAM TIEN LONG


Operational Feasibility

Operational feasibility is a crucial component of a feasibility study that evaluates a


project's viability from an operational standpoint. It entails determining whether the
proposed project can be implemented successfully given the resources, time, and effort
available.

Ultimately, a proposed project's ability to be implemented successfully given the


resources, time, and effort available will depend on the results of the operational feasibility
assessment. It makes that the proposed project can be performed without interfering with
current operations and is operationally sound.

Figure 14: Operational Feasibility

Planning Possibility

A feasibility study that evaluates the viability of a proposed project from a planning
perspective must consider planning possibility. It entails determining if the proposed project
can be effectively planned and carried out and whether it is in line with the organization's
broader strategic goals and objectives.

PERFOMED STUDENT: PHAM TIEN LONG


In general, the planning possibility research is important for establishing if a given
project can be planned and carried out successfully. It aids in ensuring that the planned
project can be carried out within the allocated time frame and budget and is in line with the
organization's overall strategic goals and objectives.

1.4 Describe how technical solutions can be compared (P4)

1.4.1 Discuss alternative technical solutions using the alternative matrix.

 Definition technical solution


A technical solution is a particular strategy or technique created to address a
particular technical issue or realize a targeted technological result. It often entails utilizing
several tools, technologies, processes, and systems to respond to the unique needs and
limitations of a particular issue or challenge. Simple hardware or software programs, as well
as sophisticated integrated systems that merge several technologies and components, can
all be considered technical solutions. An effective and efficient method of resolving a
technical issue or achieving a technical aim is the ultimate objective of a technical solution.

Technical solutions provided to meet the needs of design selection and solution
execution. Engineering solutions can involve managing items, choosing product parts,
choosing a lifecycle model, and more.

Technical

The development team has worked with the program on numerous occasions and
has attained a high level of competency.

Technological familiarity: The development team for the TS project has previously
used the same technology. Also, the team's members have extensive experience working on
the project in question, so they are able to deal with some of its challenges.

Project size: The TS project, as previously said, is a small project with straightforward
requirements that makes it easier to manage and risk-check. Matrix substitution is discussed
in relation to technological IT solutions: Applications for matrix replacement in the context
of IT are numerous. Following are a few instances of matrix substitution used in technical IT
solutions:
PERFOMED STUDENT: PHAM TIEN LONG
Processing of images: Applications of image processing like image filtering or image
reduction frequently use matrix substitution. In these applications, an image can be
represented as a matrix of pixel values, and filters or compression algorithms can be applied
to the image via matrix substitution.

Matrix substitution is a crucial machine learning approach that is used to describe


both model parameters and data. One way to visualize a dataset is as a matrix, where each
row corresponds to a single instance of the data and each column to a single feature. Similar
to this, the weights of a machine learning model can be represented as a matrix, and
updating the weights during training can be accomplished using matrix substitution.

Graph theory: Matrix substitution is also utilized in graph theory, where it can be
used to express graphs as matrices. An adjacency matrix, for instance, can be used to
represent a graph, with the rows and columns standing in for the nodes in the network and
the entries standing in for the edges connecting the nodes.

Matrix substitution is a technique that can be used in cryptography to both encrypt


and decrypt messages. In instance, matrix multiplication can be employed as a key operation
in many encryption techniques.

Network analysis: To represent network data and carry out network analysis, matrix
substitution is utilized. Matrix substitution can be used to evaluate the structure of the
network or carry out network clustering. For instance, a matrix can be used to represent the
connectivity between nodes in a network.

PERFOMED STUDENT: PHAM TIEN LONG


Figure 15: Technical

Economic

The cost and benefit of the project are examined in the economic feasibility study.
This implies that all project development costs, including those for hardware and software
resources, design and development costs, operating costs, and other expenditures, are
thoroughly analyzed throughout the feasibility study. The initiative's potential financial
benefit to the organization is then determined (GeekforGeek,2020).

Figure 16:Economic

PERFOMED STUDENT: PHAM TIEN LONG


Organizational

The purpose of organizational feasibility is to examine the managerial competencies


and resource availability to bring a product or concept to market. Companies should
evaluate the skills of their management teams in execution- and interest-related areas.
Measuring the founders' excitement for the business concept as well as their knowledge of
the sector, level of education, and work history are common management skills metrics.
Founders ought to be open and honest about their evaluations on these areas.

Figure 17: Organizational

 Technical solution can be compared on the following points:


Performance: How well does the technical solution perform in terms of speed,
accuracy, reliability, and scalability? This involves evaluating the technical specifications and
performance metrics of each solution and determining which one can perform at the
required levels.

Compatibility: How well does the technical solution integrate with the existing
systems and technologies in the organization? This involves assessing the compatibility and
interoperability of each solution and determining which one can be integrated into the
existing infrastructure.

PERFOMED STUDENT: PHAM TIEN LONG


Cost: What are the upfront and ongoing costs associated with each technical
solution? This involves evaluating the cost of acquiring, implementing, and maintaining each
solution and determining which one provides the best value for money.

Support: What level of support is available for each technical solution? This involves
assessing the availability and quality of technical support, training, and documentation for
each solution and determining which one provides the best support.

Security: How well does the technical solution protect the organization's data and
systems from unauthorized access, theft, or damage? This involves evaluating the security
features and protocols of each solution and determining which one provides the best
security.

1.4.2 Alternative matrix for the Tune Source project

PHP technology:

PHP is a popular open-source scripting language used for web development. It has a
vast ecosystem of frameworks, libraries, and tools that make it an excellent choice for
developing web applications. If you are planning to use PHP technology for your project,
here are some key points to consider:

 Scalability: PHP is a scalable technology that can handle large-scale web


applications. It is used by many popular websites like Facebook, Wikipedia,
and Yahoo, which shows its scalability.
 Frameworks: PHP has many popular frameworks like Laravel, CodeIgniter, and
Symfony that provide a structured approach to web development, making it
easier to build complex web applications.
 Performance: PHP has improved its performance in recent years, especially
with the release of PHP 7, which is much faster than its predecessors.
However, it still may not be as fast as other programming languages like Java
or C++.
 Community: PHP has a large and active community of developers who
contribute to the development of PHP and its frameworks, provide support,
and create libraries and tools to make development easier.
 Security: PHP has had a history of security vulnerabilities, but with the release
of newer versions and the use of secure coding practices, these vulnerabilities
have been addressed to a large extent.

PERFOMED STUDENT: PHAM TIEN LONG


Figure 18: PHP

JavaScript technology:

PERFOMED STUDENT: PHAM TIEN LONG


JavaScript is a popular scripting language used for web development. It is commonly
used for front-end development to create interactive and dynamic user interfaces,
but it can also be used for back-end development through the use of Node.js. Here
are some key points to consider when using JavaScript technology for a project:

 Interactivity: JavaScript is a client-side scripting language that allows for the


creation of interactive and dynamic web applications. It can be used to create
complex user interfaces, add animations, and create real-time updates.
 Cross-platform compatibility: JavaScript runs on all major web browsers and
can be used for both front-end and back-end development, making it a
versatile technology that can be used for a variety of projects.
 Frameworks and libraries: JavaScript has a vast ecosystem of frameworks and
libraries, including React, Angular, and Vue.js, that provide a structured
approach to web development and make it easier to build complex web
applications.
 Performance: JavaScript performance can be impacted by the amount of code
used, the complexity of the application, and the browser used. However,
modern web browsers have made significant improvements in JavaScript
performance, and tools like Webpack can help optimize code for faster
performance.
 Security: JavaScript code can be vulnerable to security attacks, such as cross-
site scripting (XSS) and cross-site request forgery (CSRF). However, using
secure coding practices and libraries like jQuery can help mitigate these risks.

Figure 19: Javascript

PERFOMED STUDENT: PHAM TIEN LONG


Microsoft.Net Framework:

Microsoft .NET Framework is a widely used platform for developing desktop, web,
and mobile applications. Here are some key points to consider when using Microsoft .NET
Framework for a project:

 Versatility: Microsoft .NET Framework is versatile and can be used for a wide
range of projects, including desktop, web, and mobile applications.
 Compatibility: .NET Framework is compatible with multiple programming
languages, including C#, VB.NET, and F#. This provides flexibility and allows
developers to choose the language they are most comfortable with.
 Performance: .NET Framework has excellent performance, with just-in-time
(JIT) compilation and other optimizations that make it a fast platform for
developing applications.
 Security: .NET Framework has built-in security features that help protect
against common security threats, such as SQL injection and cross-site scripting
(XSS).
 Libraries and tools: .NET Framework has a vast library of built-in classes and
libraries, as well as third-party libraries and tools, that can help speed up
development and improve productivity.
 Support: Microsoft provides support for .NET Framework, including regular
updates and patches, which helps ensure that the platform is secure and up-
to-date.

PERFOMED STUDENT: PHAM TIEN LONG


Figure 20: .NET

Describe the advantages and disadvantages of each option. The table comparison
between solutions should be included.

 PHP Technology:
Advantage:

 Open-source: PHP is open-source, which means it is free to use and distribute,


and there is a large community of developers who contribute to its
development and maintenance.
 Easy to learn: PHP has a relatively simple syntax and can be learned quickly by
beginners who are new to programming.
 Cross-platform compatibility: PHP runs on multiple platforms, including
Windows, Linux, and macOS, which makes it a versatile technology that can
be used for a wide range of projects.
 Vast ecosystem: PHP has a vast ecosystem of frameworks, libraries, and tools
that make it easier to build complex web applications.
 Scalability: PHP is scalable and can handle large-scale web applications with
ease.
Disadvantage:

 Security vulnerabilities: PHP has had a history of security vulnerabilities, but


with the use of secure coding practices and the latest versions of PHP, these
vulnerabilities have been addressed to a large extent.

PERFOMED STUDENT: PHAM TIEN LONG


 Performance: While PHP has improved its performance in recent years, it may
not be as fast as other programming languages like Java or C++.
 Inconsistent standard library: PHP's standard library is not consistent, and
some functions have inconsistent naming conventions or syntax, which can
make it difficult to work with at times.
 Limited multithreading support: PHP has limited support for multithreading,
which can make it difficult to write concurrent programs.
 Lack of strong typing: PHP is loosely typed, which means that variables can
change their type during runtime, making it harder to catch type-related
errors during development.
 Javascript technology:
Advantage:

 Client-side scripting: JavaScript is a client-side scripting language, which


means it runs on the user's browser and reduces the workload on the server.
 Easy to learn: JavaScript has a relatively simple syntax and can be learned
quickly by beginners who are new to programming.
 Cross-platform compatibility: JavaScript runs on all major web browsers and
can be used for both front-end and back-end development, making it a
versatile technology that can be used for a variety of projects.
 Vast ecosystem: JavaScript has a vast ecosystem of frameworks, libraries, and
tools that make it easier to build complex web applications.
 Interactivity: JavaScript allows for the creation of interactive and dynamic
user interfaces, making it ideal for creating engaging and interactive web
applications.
Disadvantage:

 Security vulnerabilities: JavaScript code can be vulnerable to security attacks,


such as cross-site scripting (XSS) and cross-site request forgery (CSRF).
 Performance: JavaScript performance can be impacted by the amount of code
used, the complexity of the application, and the browser used.
 Lack of strong typing: JavaScript is loosely typed, which means that variables
can change their type during runtime, making it harder to catch type-related
errors during development.
 Browser compatibility issues: JavaScript can have browser compatibility
issues, which means that code that works on one browser may not work on
another.
 Debugging: Debugging JavaScript can be challenging, especially when dealing
with complex code and multiple libraries.
 Microsoft .NET Framework:

PERFOMED STUDENT: PHAM TIEN LONG


Advantage:

 Versatility: .NET Framework can be used for a wide range of applications,


including desktop, web, and mobile development.
 Compatibility: .NET Framework is compatible with multiple programming
languages, including C#, VB.NET, and F#, providing developers with flexibility
and choice.
 Performance: .NET Framework has excellent performance, with just-in-time
(JIT) compilation and other optimizations that make it a fast platform for
developing applications.
 Security: .NET Framework has built-in security features that help protect
against common security threats, such as SQL injection and cross-site scripting
(XSS).
 Libraries and tools: .NET Framework has a vast library of built-in classes and
libraries, as well as third-party libraries and tools, that can help speed up
development and improve productivity.
 Support: Microsoft provides support for .NET Framework, including regular
updates and patches, which helps ensure that the platform is secure and up-
to-date.
Disadvantage:

 Proprietary: Microsoft .NET Framework is a proprietary technology, which


means that it is controlled by Microsoft and may not be available on all
platforms.
 Learning curve: Learning .NET Framework can be challenging for developers
who are new to the platform or are not familiar with Microsoft technologies.
 Size: .NET Framework can be relatively large, which means that applications
developed with .NET Framework may require more disk space and memory.
 Cost: While .NET Framework itself is free, some of the tools and libraries
associated with it may be proprietary and require a license, which can add to
the cost of development.
 Performance limitations: While .NET Framework has excellent performance, it
may not be as fast as lower-level programming languages like C or C++.

Criteria PHP JAVA .NET

Programming Open source Open source Copyrighted


language

OS Support Multi-Platform Only Multi-Platform Supported on Windows

PERFOMED STUDENT: PHAM TIEN LONG


Use Development dynamic website Development of Website and application
dynamic and development
websites

Security Vulnerable to May be injured more stable and secure


security holes by than PHP and JAVA

Performance Medium Faster than PHP, Faster than PHP,


depending on depending on the
the browser application

Comparison table between PHP Technology, Javascript technology, and


Microsoft .NET Framework.

CONCLUSION
Through this report, I feel that I have gained a lot of knowledge after studying the
Web subject. This knowledge can help me in the future. I would like to thank the instructors
and friends at BTEC for helping me complete this report.

Through the report I have gained some knowledge such as: P1: I know the concepts
and definitions of DNS, its importance. What is the purpose of DNS in the network? Learn
how Domain names work. Types of DNS, how to organize DNS, how DNS works, what kinds
of domain names are there, ... M1: Tell me the concepts and properties related to server

PERFOMED STUDENT: PHAM TIEN LONG


hardware, server software. Related server and database requirements. Some software and
structure. P2 Through here I know the basic concepts of communication protocol. Know
some of the most popular typical communication protocols. Concepts and information
related to them. Some server concepts, the critical operating system of the computer,
Hosting in the network, the main function of the operating system, the main tasks of the
operating system and the relationship between them. M2 Through M2 I know the
importance and impact of SEO. Some popular browsers, how SEO works, why SEO is
necessary, some benefits and advantages of SEO, ... P3 Discuss the capabilities and
relationships between front-end and back-end website technologies and explain how these
relate to presentation and application layers. I know the concepts of front-end and back-
end. The corresponding languages and tools work. From that knowledge, a relationship
between front-end and back-end is drawn.M3 I evaluate a wide range of tools and
techniques available to design and develop a custom built website. Then, get experience and
work.P4 Describe sample web design tools, their functions, and how they work. Then give
the advantages and disadvantages of templates and custom built.

Nowadays, a website is very important for everyone who wants to expand their
business through the web. In website development, different tools and techniques are used
for many different purposes. In my custom built website, I used HTML, CSS, and JavaScript
for front-end development where PHP is used for back-end development. Shop Online's
website has been built with the help of multiple software such as Photoshop, Wireframe
Sketcher, VS Code and XAMMP.

PERFOMED STUDENT: PHAM TIEN LONG


REFERENCES

PERFOMED STUDENT: PHAM TIEN LONG

You might also like