1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) 1631 assignment 1 (pass) fpt Greenwich
Trang 1Software Development Life Cycle - Assignment
1
Trang 2ASSIGNMENT 01 FRONT SHEET
Qualification BTEC Level 5 HND Diploma in Computing
Unit number and
title Unit 09: Software Development Life Cycle
Submission date Date Received 1st
submission
Re-submission
Date Received 2nd submission Student Name ĐÀO VĨNH KHANG Student ID GCS200222
Class GCS0905B Assessor name VO THAO
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
Trang 3Internal Verifier’s Comments:
Signature & Date:
Trang 4
CONTENTS
CONTENTS 1
I SOFTWARE DEVELOPMENT LIFE CYCLES MODELS (P1)
3 1 Iterative models 3 i Spiral Model 3 ii Agile Model 5 2 Sequential models 7 i Waterfall Model 7
ii Prototype model 9
II HOW RISK IS MANAGED IN THE SPIRAL LIFECYCLE MODEL (P2) 12
1 Why a life cycle model is chosen for a specific development environment Error! Bookmark not defined 2 Changing in requirements Error! Bookmark not defined 3 For instance: TUNE SOURCE Error! Bookmark not defined i Identification Error! Bookmark not defined ii Design Error! Bookmark not defined iii Construct Error! Bookmark not defined iv Evaluation and Risk Analysis Error! Bookmark not defined IV FEASIBILITY STUDY (P3) 16
1 Feasibility study 16
2 Feasibility report 16
V FEASIBILITY CITERIA (P3) 19
1 Technical feasibility 19
2 Schedule feasibility 20
3 Legal issues (Wen, 2018) 20
4 Social issues 21
5 Economic feasibility 21
VI HOW TECHNICAL SOLUTIONS CAN BE COMPARED (P4) 24
4 Outcome Error! Bookmark not defined VIII References 25
Trang 5Figure 5: FEASIBILITY STUDY 19 Figure 6: GANTT CHART OF ESTIMATING SCHEDULE 23
Table 1: RISK RESPOND PLAN 15 Table 2: WORDPRESS, JOOMLA AND DRUPAL (Walker, 2021) 23 Table 3: ECONOMIC FEASIBILITY REPORT 25 Table 4: TANGIBLE AND INTANGIBLE BENEFITS OF TUNE SOURCE PROJECT (Anon., 2019) 26
Trang 6I SOFTWARE DEVELOPMENT LIFE CYCLES MODELS (P1)
1 Iterative models
i Spiral Model
DEFINITION: The Spiral Model is a software development process model that is risk-driven
It is a hybrid of the waterfall and iterative models The Spiral Model assists in the adoption of software development aspects from several process models for a software project based on unique risk patterns, guaranteeing an efficient development process (Martin, 2021)
Figure 1: SPIRAL MODEL
The development process in the SDLC Spiral model begins with a limited set of requirements and progresses through each development phase for those criteria The software engineering team adds functionality to meet the new requirements in ever-increasing spirals until the program is ready for production (Martin, 2021)
SPIRAL MODEL PHASES (Martin, 2021)
• Planning: It entails calculating the iteration's cost, timeline, and resources It also
entails comprehending the system requirements in order to maintain constant communication between the system analyst and the client
• Risk Analysis: While a risk mitigation strategy is created and approved, prospective risks are identified
Trang 7• Engineering: It entails testing, developing, and deploying software at the customer's location
• Evaluation: The consumer evaluates the software Identifying and monitoring risks such as schedule slippage and cost overruns is also part of the job
WHO WOULD USE SPIRAL MODEL: One of the most interesting aspects of the Spiral
SDLC model is that Microsoft utilized it to launch new versions of Windows? A model was also used
to create the software for the Gantt chart As a result, it's no surprise that the Spiral Model is used for huge, high-risk initiatives that are likewise aimed at a large audience Another economic field that makes use of the Spiral model is game development The method enables prototypes to be developed with attention and speed Given that the gaming business must rely heavily on early versions of games, Spiral has become a safe option Businesses in the game development industry may use the strategy
to collect consumer input rapidly and produce a playable game that would progress quicker into equivalently playable games (Anon., 2019)
ADVANTAGES: (Gurendo, 2015)
• Risk monitoring is one of the main components that makes it appealing, especially when managing large and expensive projects Furthermore, such an approach makes your project more visible because each spiral is required to be examined and assessed by design
• At the early phases of the software development lifecycle, customers may view the functional product
• At the late phases of the life cycle, many adjustments might be implemented
• The project may be divided into different segments, and the more dangerous ones can
be developed early, reducing management challenges
• Project estimations in terms of schedule and money grow more and more realistic as the project progresses, and spiral loops are completed
DISADVANTAGES: (Gurendo, 2015)
• Because risk monitoring necessitates additional resources, this technique can be rather costly to employ Each spiral needs specialized knowledge, thus complicating the
Trang 8management process As a result, the Spiral SDLC Model is unsuitable for short projects
• There are a lot of intermediary levels As a result, there is a massive volume of paperwork
• Time management may be challenging Typically, the finish date of a project is unknown in the early phases
ii Agile Model
DEFINITION: Rather than a top-down procedure with a single sequence of phases, Agile
SDLC methodology emphasizes collaborative decision-making and development over several short cycles or sprints
The basis of an Agile SDLC is a cyclical development technique for software in iterations rather than all at once Your teams operate in various cycles that normally span two to four weeks (Anon., 2020)
Figure 2: AGILE MODEL
SIX PHASES OF AGILE MODEL: (Anon., 2018)
• Requirements: The idea phase comes first A product owner will define the scope of
their project here If there are several initiatives, the most significant ones will be prioritized The product owner will meet with a customer to discuss important needs and develop documentation outlining them, including which features will be supported
and the suggested end outcomes
Trang 9• Design: After the concept has been defined, it is time to assemble the software
development team A product owner will examine the availability of their colleagues and select the best individuals for the project, while also providing them with the
required tools and resources
• Development: The iteration phase, often known as development, comes next It is
usually the longest phase because the majority of the work is done here The developers will collaborate with UX designers to integrate all product requirements and user input
before converting the design to code
• Testing: The product is almost ready for distribution However, the quality assurance
team must first do several tests to guarantee that the program is completely working These Agile team members will test the system to verify that the code is clean; if any
problems or flaws are discovered, the developers will resolve them as soon as possible
• Deployment: Customers will now be able to access the software when it has been fully
delivered This operation puts it in the maintenance mode During this phase, the software development team will provide continuing assistance to ensure that the
system runs properly and that any new defects are resolved
• Review: A product enters the retirement phase for one of two reasons: it is being
replaced with new software, or the system itself has grown obsolete or incompatible with the organization over time The software development team will tell users first
that the software will be decommissioned
ADVANTAGES (Anon., 2016)
• The project is structured into short and clear iterations
• It has a change management system that is adaptable
• It reduces the risk associated with software development
• The initial product version was released quickly
• The development process incorporates the validity of functional requirements
• The customer may view the outcome and decide whether or not he or she is happy with
it
Trang 10DISADVANTAGES (Anon., 2016)
• The development staff should be extremely professional and customer-focused
• The new need may clash with the old architecture
• There is a potential that the project will take longer than predicted if further corrections and changes are made
• Because of the ongoing iteration, estimating the project's eventual cost may be challenging
• There is no clearly stated requirement
2 Sequential models
i Waterfall Model
DEFINITION: A Sequential model is shown by the waterfall model The software
development activity is separated into distinct phases in this paradigm, and each phase consists of a succession of activities with varied objectives
The SDLC procedures were pioneered by the Waterfall methodology In fact, it was the first widely used model in the software business It is separated into phases, with the output of one phase becoming the input of the next A phase must be completed before proceeding to the next step In summary, the Waterfall model has no overlap (Anon., 2021)
Trang 11
Figure 3: WATERFALL MODEL
SIX PHASES OF WATERFALL MODEL: (Sharma, 2021)
• Requirements: The first phase is to design, understand its function, purpose, etc Here,
the inputs and outputs, or the specifications of the final product, are examined and marked
• Design: In this phase, the specifications of the first phase are investigated and the
system design is prepared System design helps specify hardware and system requirements, and also helps define the overall system architecture This will create the software code that you will write in the next step
• Development: With input from the system design, the system is initially developed in
small programs, so-called units, and then integrated into the next phase Each unit is developed and tested for its functionality This is called a unit test
• Testing: All units developed during the implementation phase are integrated into the
system after each unit has been tested The developed software should undergo regular software testing to check for bugs and errors The tests are performed to ensure that the customer has no problems installing the software
• Deployment: Once functional and non-functional tests are complete, the product is
deployed or marketed in your environment
• Maintenance: This step is performed after installation and includes changes to the
system or individual components to change attributes and improve performance These changes are caused either by a customer-initiated change request or by a defect found during actual use of the system Customers receive regular maintenance and support for the developed software
ADVANTAGES: (Martin, 2021)
• Each step of development must be accomplished before moving on to the next
• Suitable for smaller projects with well-defined criteria
• Before finishing each stage, they should conduct a quality assurance test (verification and validation)
Trang 12• Elaborate documentation is accomplished at each segment of the software’s improvement cycle
• Project is absolutely depending on assignment crew with minimal customer intervention
• Any changes in software package are formed throughout the method of the event
DISADVANTAGES: (Martin, 2021)
• Error can be fixed only during the phase
• Not desirable for complex projects where requirements change frequently
• The testing phase occurs much later in the development process
• Documentation takes a lot of time for developers and testers
• Valuable customer feedback cannot be incorporated into the ongoing development phase
• Small changes and bugs that appear in the finished software can cause many problems
Prototype is a working model of software with some limited functionality Prototypes do not always hold the exact logic used in the actual software application This prototype is developed based on currently known requirements The prototype model is a software development model Prototyping is used to allow users to evaluate a developer's proposals and try them out before implementation It also helps to understand requirements that are user specific and may not be considered by the developer during product design
Trang 13• Developers lose focus of the true purpose of the prototype and can, therefore, compromise the quality of the software For example, developers may use some inefficient algorithms or inappropriate programming languages while developing prototypes
• Prototyping can lead to skewed expectations For example, a situation can be created where the user believes that the development of the system is completed when it is not
• The main goal of prototyping is rapid development, so the system design can suffer when it is developed in series without considering the integration of all other components
2/ Choose one that you think suitable for the project and explain why
I choose the Incremental model because incremental modeling can show us the details of the plan from how
it works to the risks that may be encountered during project development Customers can see the details of the project development steps so that they can trust and invest in the project
Trang 14
THE MOST SUITABLE MODEL FOR TUNE SOURCE: SCRUM
I am a project manager for a company called ABC My company was hired by Tune Source to undertake a project which helped them develop software that meets the requirements specified in system requirement
From the situation we have a business requirement below: Using the We or in-store kiosks customers will be able to search and purchase digital music downloads Specific must-have system functions include the following:
• Search for music in our digital music archive
• Listen to sample music
• Purchase individual downloads at a fixed price per download
• Set up a customer subscription account for unlimited downloads for a monthly fee of
• Purchase a gift card to download music
And we had some problems:
• The marketing department sees this as a strategic system The ability to offer digital music downloads is essential to staying competitive in our niche Our music archive of rare and hard-to-find music is an underutilized asset right now
• Many of our existing loyal customers have requested this capability and we must provide this service or settle the losing business for these customers
• As customers have several options for downloading music else where we needed to get this system to market as soon as possible
Therefore, the situation of this project can be summarized as follows:
• Requirements for this project are not too clear and may change to match the market situation of and the expectations of Tune Source customers
• Short project completion time
• This is a project in the domain dedicated to Tune Source and requires close
Trang 15• collaboration between the customer and the development team
Thanks to the above assessment results as well as the perceived relevance and benefits of
applying the SCRUM model to the project We choose SCRUM
II HOW RISK IS MANAGED IN THE SPIRAL LIFECYCLE MODEL (P2)
DEFINITION: Risk management is the process of identifying, assessing, and controlling
threats to a company's capital and profits These risks arise from a variety of sources, including financial uncertainty, legal obligations, technical issues, strategic management errors, accidents, and natural disasters (Tucci, 2020)
The project manager or product owner is responsible for the risk manager You are responsible for overseeing the project and ensuring that everything is running smoothly In other words, they identify business risk factors, estimate their potential and impact on the project, develop plans, and implement risk management Or take full advantage of risk identification, risk analysis, and risk mitigation (Kochalski, 2021)
Spiral development supports risk management for software projects in various ways abridged below:
• The first risk analysis serves as a visionary step o Identify most of the risks that threaten
your project o Classifying risks into user interface risks and development risks
o Rate these risks to determine risks from to every cycles In addition, this classification helps developers implement risk resolution techniques, such as prototyping and such as benchmarks
• Evolved prototyping spiral aims to solve performance and user interface related risks These coils help the reduce the main risk before proceeding to the development process
• Risk analysis phase of each cycle preceding each phase of the waterfall phase of:
o Addresses the risks of programs, development and interface controls uniquely from the start of the project
Trang 16o Evaluate and resolve the new risk that may occur after the is changed from to goal, alternative or limit at the beginning of the cycle
• Iterative function of Spiral model allows the development process to return to the first quadrant at any time:
o Goals, alternatives, and constraints that need to change as more attractive alternatives exist o New technologies that are easily introduced during development
o Up to optimization of project Resource Usage o For process with operations
performed poorly in previous periods
• Evaluation is done at the end of each cycle with key stakeholders as a decision point to avoid lack of participation risk in the next cycle
• The risk of time and cost overruns is best managed using spiral development since the risk analysis step is performed in each cycle At this stage the cost and time required
for each cycle are pre-analysed to give a clear picture of the critical status of the project This helps project managers and developers better control these risks
• The risks associated with the increased complexity of the project are also managed using spiral This is achieved by zoning performed during the planning phase
• Breaking the project down into chunks to develop into parallel spirals clearly reduces the risk associated with time constraints as more work can be done in the same amount
RISK
CATEGORY RESPONSE PLAN
Trang 171 Scope and objectives
being misunderstood 80% 90% 72% HIGH
Always have another detail papers and manuals about the project’s information
2
Stakeholders modify requirements
Urgent meeting to change the SDLC model of the project
3
Testing phase doesn’t cover enough cases
Need to identify more cases after the product being released and fix in the maintenance phase
4
Lack of engagement
to the implantation process
Giving raises and rewards for employees to motivate them
5
Apply the incorrect
or unsuitable SDLC
Urgent meeting to replace the new SDLC model as soon as possible
6
Misunderstanding the states of SDLC model
Urgent meeting to help employees understand more about the model that
we are currently working
Assign appropriate tasks to each employee regularly check or replace faulty equipment and manage time closely