Вы находитесь на странице: 1из 21

ASSIGNMENT 1 BRIEF

Qualification BTEC Level 5 HND Diploma in Computing

Unit number Unit 9: Software Development Life Cycle

Assignment title Planning a Software Development Lifecycle

Academic Year 2018 – 2019

Unit Tutor Le Minh Duc

Issue date Submission date

IV name and date

Submission Format:

Format: The submission is in the form of 1 document


You must use font Calibri size 12, set number of the pages and use multiple line spacing at
1.3. Margins must be: left: 1.25 cm; right: 1 cm; top: 1 cm and bottom: 1 cm. The reference
follows Harvard referencing system.
Submission Students are compulsory to submit the assignment in due date and in a way requested by
the Tutors. The form of submission will be a soft copy posted on
http://cms.greenwich.edu.vn/
Note: The Assignment must be your own work, and not copied by or from another student or from books
etc. If you use ideas, quotes or data (such as diagrams) from books, journals or other sources, you must
reference your sources, using the Harvard style. Make sure that you know how to reference properly,
and that understand the guidelines on plagiarism. If you do not, you definitely get failed

Unit Learning Outcomes:

LO1 Describe different software development lifecycles


LO2 Explain the importance of a feasibility study

Assignment Brief and Guidance:

Scenario
Tune Source is a company headquartered in southern California. Tune Source is the brainchild of three
entrepreneurs with ties to the music industry: John Margolis, Megan Taylor, and Phil Cooper. Originally,
John and Phil partnered to open a number of brick and mortar stores in southern California specializing
in hard-to-find and classic jazz, rock, country, and folk recordings. Megan soon was invited to join the
partnership because of her contacts and knowledge of classical music. Tune Source quickly became
Page 1
known as the place to go to find rare audio recordings. Annual sales last year were $40 million with
annual growth at about 3%–5% per year. Tune Source currently has a website that enables customers to
search for and purchase CDs. This site was initially developed by an Internet consulting firm and is hosted
by a prominent local Internet Service Provider (ISP) in Los Angeles. The IT department at Tune Source has
become experienced with Internet technology as it has worked with the ISP to maintain the site.
System Request

Project Sponsor: Carly Edwards, Assistant Vice President, Marketing


Business Need: This project has been initiated to increase sales by creating the capability of selling digital
music downloads to customers through kiosks in our stores, and over the Internet using our website.
Business Requirements: Using the Web or in-store kiosks, customers will be able to search for and
purchase digital music downloads. The specific functionality that the system should have includes the
following:
Search for music in our digital music archive.
Listen to music samples.
Purchase individual downloads at a fixed fee per download.
Establish a customer subscription account permitting unlimited downloads for a monthly fee.
Purchase music download gift cards.
Business Value: We expect that Tune Source will increase sales by enabling existing customers to purchase
specific digital music tracks and by reaching new customers who are interested in our unique archive of
rare and hard-to-find music. We expect to gain a new revenue stream from customer subscriptions to our
download services. We expect some increase in cross-selling, as customers who have downloaded a track
or two of a CD decide to purchase the entire CD in a store or through our website. We also expect a new
revenue stream from the sale of music download gift cards.

Conservative estimates of tangible value to the company include the following:


$757,500 in sales from individual music downloads
$950,000 in sales from customer subscriptions
$205,000 in additional in-store or website CD sales
$153,000 in sales from music download gift cards
Special Issues or Constraints:
The marketing department views this as a strategic system. The ability to offer digital music
downloads is critical in order to remain competitive in our market niche. Our music archive of
rare and hard-to-find music is an asset that is currently underutilized.
Many of our current loyal customers have been requesting this capability, and we need to
provide this service or face the loss of these customers’ business.
Because customers have a number of music download options available to them elsewhere we
need to bring this system to the market as soon as possible.
You need to discuss the following Tasks:
Page 2
Task 1
You are a project manager of ABC company. Your company now collaborating with Tune Source to
complete the project. You have to create a report about SDLC models which could be used in Tune
Source. You report should contain the following content:
Describe 4 SDLC models: Waterfall, V-Model, Spiral, Rapid Development. Which method is best for Tune
Source and why?
Your report also should list some risks and offer an approach to manage risks.
Task 2
Discuss why a team need to conduct feasibility study and what areas should be conducted in feasibility
study?

Page 3
Learning Outcomes and Assessment Criteria

Pass Merit Distinction

LO1 Describe different software development lifecycles

P1 Describe two iterative and M1 Describe, with an example, D1 Assess the merits of applying
two sequential software why a particular lifecycle model the Waterfall lifecycle model to a
lifecycle models. is selected for a development large software development
environment. project.
P2 Explain how risk is
managed in the Spiral
lifecycle model.

LO2 Explain the importance of a feasibility study

P3 Explain the purpose of a M2 Discuss the components of a D2 Assess the impact of different
feasibility report. feasibility report. feasibility criteria on a software
investigation.
P4 Describe how technical
solutions can be compared.

Page 4
Contents
1 .Describe different software development lifecycles..........................................................................................................................6
1.1.Introduction SDLC........................................................................................................................................................................6
1.2. Phrases in SDLC...........................................................................................................................................................................6
2. SDLC Models......................................................................................................................................................................................7
2.1. Waterfall Model..........................................................................................................................................................................7
2.2.Spiral Model.................................................................................................................................................................................9
2.3.Prototype Modal........................................................................................................................................................................10
2.4.V-Modal.....................................................................................................................................................................................12
2.5.Agile Modal................................................................................................................................................................................16
3.The suitable SDLC modal for this project and explaint....................................................................................................................17
4.The risk and how to manage them...................................................................................................................................................18
5. The purpose of conducting a feasibility study for the project........................................................................................................18
5.1.Technical feasibility...................................................................................................................................................................20
5.2.Economic feasibility...................................................................................................................................................................20
5.3. Organizational Feasibility..........................................................................................................................................................20
6.References........................................................................................................................................................................................21
1 .Describe different software development lifecycles

1.1.Introduction SDLC
The software development life cycle (SDLC) is a process which is used to develop software. SDLC is a step by
step procedure need to be followed by the organization to design and develop a high quality product. The
phases of software development life cycle are which describes that how to develop, maintain particular
software. The life cycle aims to develop a good quality product/software. SDLC produces intermediate
products that can be reviewed to check whether they work according to customer requirement.
 SDLC is also known as Software development process.
 SDLC is an approach creates considerable documentation where this documentation helpful to
make sure that requirement can be traced back to stated business requirements.
 It is a framework which has a set of tasks performed at each phase in the software development
process.

1.2. Phrases in SDLC


SDLC is a step by step procedure or systematic approach to develop software and it is followed within a
software organization. It consists of various phases which describe how to design, develop, enhance and
maintain particular software.
It consists of various phases like requirement, feasibility study, design, coding, testing, installation and
maintenance.

Phase 1: Requirement collection and analysis:


In this phase mainly focus on gathering the business needs from the customer. Business Analyst
collects the requirement from the customer and prepares the BRS (Business requirement
Specification) which has the requirement in the business form. Then a group (BA, Project managers
and customers) of people sits together and determines the requirements like; what should be input
data to the system?  Who is going to use the system? What should be output data by the system? 
These questions are getting answered during this phase. After this, a Requirement Specification
document is created which gives the guideline for the upcoming phase of the model.
Phase 2: Feasibility study:
Once the BRS document is completed, a set of people like Human Resource department, Finance
department, Business analyst, Architect and Project manager are sit together and analyze if the
project is do able or not. This decision is taken based on the cost, time, resources and etc.
Phase 3: Design: 
In this phase system design specification is prepared from the requirement document once the
project is feasible, this design specification give input for the next phase of the model. Design is a
blue print of the application and it helps in specifying hardware and requirements of the system and
helps in defining architecture of the system.
Phase 4: Coding: 
Once the system design document is ready, in this phase developer’s starts writing the code using
any programming language i.e., they start developing the software. Generally task is divided in units
or modules and assigned to the developers and this coding phase is the longest phase of SDLC.
Phase 5: Testing: 
Once the software is ready and is deployed in the testing environment, test engineers starts testing,
if the functionality of an application is working according to requirement or not. During this phase
test engineers may encounter some bugs/defects which need to be sent to developers, the
developers fix the bug and sent back to test engineers for testing. This process continuous until the
software is bug free/stable/working according to the requirement.
Phase 6: Installation/Deployment:
Once the product developed, tested and works according to the requirement it is installed /
deployed at customer place for their use.
Phase 7: Maintenance:
When the customers starts using the software they may face some issues and needs to be solved
from time to time means need to fix those issue, tested and handed over back to the customer as
soon as possible, which is done in the maintenance phase.

2. SDLC Models
The models of SDLC are the methodologies that are selected for the software development is
depending on the project’s aims and goals. These models are mainly used to develop software,
based on the requirement, cost, customer and time, decide which model to be followed to develop
software. Each model follows sequential steps of its own type, to develop high quality software.
The types of SDLC models are:

 Waterfall Model
 Spiral Model
 Prototype Model
 V-Model
 Iterative model
 Agile Model

2.1. Waterfall Model


The first introduced Process Model is Waterfall Model hence it is basic mode of SDLC which is also known
as mother of all other model. It is simple to understand and use. It is referred to as a linear-sequential life
cycle model where each phase should be executed fully before the next phase can begin. This model is
basically used for the project where there are no uncertain requirements and small. Here testing starts only
when the development is complete. The phases do not overlap in waterfall model.
-Waterfall diagram:

When to use the waterfall model:


 Application definition is stable.
 The requirements are well known, clear and understood.
 Requirements should not has any ambiguous
 The project is smaller.
Advantages:
 In this model each stage are clearly defined.
 This model is simple and easy to understand and use.
 In this model execution happens sequentially.
 In this model phases are executed and completed one at a time and phases do not overlap.
 Waterfall model suits well for projects where requirements are well understood and for shorter
projects.
 In this model each phase process and results are documented well.
Disadvantages:
 This model is not suitable for complex and object-oriented projects.
 In this waterfall-model requirement changes are very difficult once an application is in the testing
phase.
 Changes are not allowed hence it is not suitable for moderate to high risk of changing projects.
 After development of the product and if any deviations occurs then the cost of fixing those issues
are high and time consumption is more, because we need to update from document till the code.
 Time consumption is more because the each phase should executed completely.
 Since it is executed in sequential order, the parallel deliverables are not possible.
 There is risk and uncertainty.
 Not suitable for the projects where requirements are at a moderate to high risk of changing.
 There is no customer interaction during the development of the product.

2.2.Spiral Model
Whenever the models are dependent on each other, in this case we develop the application part by part.
For example: An application is divided into modules called module A, B, C, Spiral model is flexible for
requirement changes. A software project repeatedly goes through each phases in iterations hence it is
called spiral. By using spiral model customer can use the product at early stage.
-Spiral Modal:

In the spiral model the requirement is divided into sub modules as shown in above diagram these modules
are depending on each other. For Module-A there will be separate requirement, design, coding, and
testing, and each and every module will goes through these phases cycle.
How to handle changes in spiral module?
Minor changes (these changes will not impact on the functionality of the application):
In case of minor changes we do not go for separate cycle, where as we combine it with next module in
same cycle.                                  
Major changes (these changes will impact on the functionality of the application):
In case of major changes we do go for separate cycle, since it may have impact on existing
functionalities.                             
Example for major changes:
Major Changes in A hence it taking separation iteration as shown below.
When to use Spiral model:
 Whenever there is long-term project then spiral model is useful
 Whenever user are not sure about their requirements
 When it is new product line
 If project is mission critical
 For medium to high-risk projects
Advantages of Spiral model:
 Flexible for changes: Any time can requirement changes are possible
 Since it is module to module development, clarity in process
 Customer can use the product at early stages at least the basic models
 Since customer can get the product hence there will be approval and documentation control.
 Additional Functionality can be added at a later date.
Disadvantages of Spiral model:
 It is not suitable for short-term projects
 There are no parallel deliverables
 Can be a costly model to use
 If there is major issue time consumption will be more

2.3.Prototype Modal
In this Prototype Model before designing phase, a prototype is developed, tested, reviewed and approved
by the customer, after that design will be ready for coding, testing, installation and maintenance will takes
place. This prototype is prepared based on the customer requirements. Prototype testing is checking for
the required components are present or not.
By using this prototype, customer can understand the requirements of desired system and also the
customer can get an “actual feel” of the system. It is an attractive idea for complex and bigger systems.
-Prototype Modal:

This Prototype Model is same as waterfall model, but in this model we need to develop prototype
and customer interaction will be there. Since there is customer interaction there will be less chance of
rejection.
When to use Prototype model:  
 Whenever the customer not clears about the requirement in this situation we generally go for
prototype model.
 If it is complex project then prototype model makes clear understand the requirement.
 Prototyping make sure that the customer constantly work with the system and provide a feedback
about the system.
Advantages of Prototype model:
 Customer satisfaction exists, because customer can feel the product at very early stage.
 If there is missing functionality can be identified easily
 There will be less chance of software rejection.
 Requirement changes are allowed.
 Due to customer approval we can find the errors at early stage.
 Customer involvement will be there in the development where its leads to better solutions for any
confusion / complexity / difficult functions
 The developed prototype can be re-used by developer and test engineer.
Disadvantages of Prototype model:
 There are no parallel deliverables
 It is a time consuming if customer ask for changes in prototype
 This methodology may increase the system complexity as scope of the system may expand beyond
original plans.
 The invested effort in the preparation of prototypes may be too much if not properly monitored.
 Customer may get confused in the prototypes and real systems.

2.4.V-Modal
V-model is SDLC model where process execution takes place in a sequential order in V-shape hence it
named as v-model. It is same as waterfall model where each phase must complete and its output will be
the input for next phase. In this model testing team will involve at the stage of requirement only. Testing of
the product is planned along with a corresponding development phase. V-model is also known as
Verification and Validation model.
Requirements:
BRS (Business Requirement Specifications) / CRS (Customer Requirement Specification) this document is
prepared by business analyst / product analyst and SRS (System Requirement Specification) is prepared by
project manager or team lead.

At this stage development and testing team will review the CRS for any missing requirement and prepare
the required test document, they are User Accepting Test plan and User Accepting Test case document.

At this stage they will review the SRS and prepare the required test document, they are System Test plan
and System Test case document.

At this stage they will review the HLD and prepare the required test document, they are System Integration
Test plan and System Integration Test case document.

At this stage they will review the LLD and prepare the required test document, they are Component Test
plan and Component Test case document.

At this stage developers starts coding and before handover application to testing team
they will do one round of testing is known as unit testing.

Unit testing / Whitebox testing / Glassbox testing/ Openbox testing:


This testing is done by the developers before handover the application to the testing team they check each
and every line of code written by them.

Component testing / Functional testing:

Testing each and every components of module independently is called functional testing.

System Integration Testing:

Testing the data flow/interface between the modules is known as system integration testing.

System testing:

checking the end to end flow of an application i.e. navigate through all the modules and check, if the
application is working as a whole or not.

User Acceptance Testing (UAT):

It is a testing done by the customer before accepting the product.

The high-level design (HLD): It is a blue print of the application,

it provide overview of solution, system, platform and process. It contains modules in the form of flow
diagram.

The low-level design (LLD):

It is also blue print where it provides detail description of flow diagram which has modules with its
components also.

The implementation:

In this phase, coding takes place. After completion of coding, the path of execution continues up the right
side of the V where the test plans developed at the beginning are come to use now.
Coding:

this is the phase where developers convert module design into code.

When to use the V-model:

 Whenever the project is small to medium sized and with clearly defined requirements.

 We use v-model in the case of complex project.

Advantages of V-model:

 In this module testing activities begins at very early stage i.e. at the stage of requirement. Hence
time consumption is less and also higher chance of success.

 Simple and easy to use.

 Requirement review is exist hence there is no the downward flow of the defects.

 Parallel deliverables are exists i.e. review and testing

 Test documents can be re-used

 Requirement changes are allowed

 Due to review process that is defects are found at early stage.

Disadvantages of V-model:

 It is costlier

 Lots of re-work will be there, if customer ask for changes

 If any modification is needed in midway, then the test documents and requirement documents has
to be updated.
 It is not much flexible for changes

2.5.Agile Modal

Agile model is a type of Incremental model points on adaptability process and customer satisfaction by
quick delivery of product to the customer. In this model the application is divided into small incremental
builds and these builds are given in iterations. Each iteration time duration is about one to three weeks.
The iteration contains cross functional teams working parallel on many areas such as requirements analysis,
planning, design, coding, unit testing, and UAT. A working product is displayed to the customer at the end
of the iteration. Customer is actively involved because after every sprint there will be UAT(User Acceptance
Testing).

-Agile diagram:
 

When to use:

 Whenever customer new changes are needed to be implemented


 Whenever customer need the project very early
 When there is complex project

Advantages of Agile model:

 Develops the product at very high speed


 Quality of product can be delivered due to frequent customer interaction
 More clarity in requirement
 Less communication gap between team members
 Regular adaptation to changing circumstances.
 Requirement changes are allowed
 Daily support between business team and developers.

Disadvantages:

 Very tight schedule for team members


 If two/more members are off then it will lead to project failure
 The project can take off track if the customer is not clear about his requirement / outcome.
 It needs only experienced resources

3.The suitable SDLC modal for this project and explaint.

-For this project I think ‘spiral modal’ is the best choice for it, the reason are :
Spiral modal is one of the most flexible SDLC methodologies, the Spiral model takes a cue from the Iterative
model and its repetition; the project passes through four phases (planning, risk analysis, engineering and
evaluation) over and over in a “spiral” until completed, allowing for multiple rounds of refinement.

The Spiral model is typically used for large projects. It enables development teams to build a highly
customized product, and incorporate user feedback early on in the project. Another benefit of this SDLC
model is risk management. Each iteration starts by looking ahead to potential risks, and figuring out how
best to avoid or mitigate them.

4.The risk and how to manage them

Failure of personnel - Recruitment of senior personnel, training confusion, team building, fully staffed with
different functions. Timetable and budget not implemented -Set up plans and detailed evaluation; develop
gradually; use the end of; follow the requirements, ... - Development of incompatible functions -
Thoroughly analyze the software organization and tasks; building concepts; regular communication with
users and early documentation for use ... -Inappropriate user interface development - Need to analyze
work, build templates first; usage characteristics (function, style, workload) - Gold plating (add unnecessary
requirements) - On request, prototyping; cost-useful parsing; cost design.

Continue to change required hạn Limit the major change; information hiding; progression Lack of external
comfort components - Need to test, measure, check references, analyze compatibility. Lack of
requirements - Develop stable parts first; check for references; contract costs, ... Performance issues Need
to simulate, measure, test ... Requirement to exceed the response of current technology

Identify the project's risks Present a plan to address each risk. Regularly update the list of risks, plan and
result monthly-Review the project on a monthly basis to highlight the status of risk, compared with the
status of the previous month-Initiative appropriate corrective actions.

5. The purpose of conducting a feasibility study for the project.

A feasibility study is used for the purpose of determining an idea's likelihood of success - proving that it is a
legitimate project, technically viable as well as financially legitimate. It also shows us whether the project is
worth the investment. A project is assessed as unfeasible because of a variety of factors, perhaps because it
requires too many resources. Using more resources for a project when its feasibility is not clear could incur
large opportunity costs, or the costs of implementing the project more than the returns.

An appropriately designed feasibility study should be based on the past situation of the business or the
project itself, e.g. product or service description, financial statements, performance details and
management. policy, market research, financial data, compliance with the law, and tax liability. Generally,
such research is defined before engineering formulation and project implementation.
-The benefit of Feasibility study for the project:

The importance of a feasibility study is based on the firm's desire to "get it right" before allocating
resources, time and money to the project. The feasibility study could uncover a few new ideas that
completely changed the landscape of a project. It is best to do a project feasibility study before embarking
on it, rather than doing it directly and then realizing it is not working at all. Doing a feasibility study is
always helpful when it gives you and your shareholders a full picture of a proposed project's future
possibilities.

-Here are some of the benefits of doing a feasibility study:


*Improved project team focus

*Identify new opportunities

*Provide valuable information for the decision to operate or not

*Help businesses narrow down alternatives

*Determine good reasons for implementing the project

*Consolidate success rates by evaluating on many different parameters

*Helping to make the right project decisions

*Identify reasons for not proceeding with the project

*In addition to the feasibility study approaches outlined above, some projects also require analysis of
constraints:

*Constraints within the project: technology, technology, budget, resources ...Constraints within the
business: financial situation, marketing, export ...

5.1.Technical feasibility

This assessment focuses on the technically available resources within the organization. It helps the
organization determine whether these technical resources are suitable for capacity and whether the
engineering team is able to apply new ideas into the system. Technical feasibility is also related to an
assessment of hardware, software as well as other technical needs.

5.2.Economic feasibility

Economic feasibility: This assessment is essentially related to the analysis of the cost / benefit that the
project brings, helping the business to determine the feasibility, costs and benefits associated with the
project. project before financial resources are "pumped in". It also serves as an independent project
appraisal and reinforces project credibility - helping business leaders identify the positive economic
benefits the project will bring in the future.

5.3. Organizational Feasibility

Organizational feasibility analysis is conducted to determine whether a proposed business has sufficient
management expertise, organizational competence, and resources to successfully launch its business. Two
key aspects to consider include management ability and resource sufficiency.
6.References
1-Architects, I., Architects, I. and Architects, I., 2020. SDLC Models & Methodologies [COMPLETE GUIDE]. [online]
Innovativearchitects.com. Available at: <https://www.innovativearchitects.com/KnowledgeCenter/basic-IT-
systems/8-SDLC-models.aspx> [Accessed 12 August 2020].
2-Stackify. 2020. What Is SDLC? Understand The Software Development Life Cycle. [online] Available at:
<https://stackify.com/what-is-sdlc/> [Accessed 12 August 2020].
3-www.javatpoint.com. 2020. SDLC Models - Javatpoint. [online] Available at:
<https://www.javatpoint.com/software-engineering-sdlc-models> [Accessed 12 August 2020].
4-Techopedia.com. 2020. What Is Software Development Life Cycle Model (SDLC)? - Definition From Techopedia.
[online] Available at: <https://www.techopedia.com/definition/25976/software-development-life-cycle-model-
sdlc> [Accessed 12 August 2020].
5-Datarob.com. 2020. Understanding The Software Development Life Cycle | Datarob. [online] Available at:
<https://datarob.com/essentials-software-development-life-cycle/> [Accessed 12 August 2020].
6-2020. [online] Available at:
<https://www.researchgate.net/profile/Daniel_Port2/publication/237034014_Using_the_spiral_model_and_MBAS
E_to_generate_new_acquisition_process_models_SAIV_CAIV_and_SCQAIV/links/0c960532086573ee90000000.pdf
> [Accessed 12 August 2020].
7-devpro. 2020. Sử Dụng Phương Pháp Giảm Thiểu Rủi Ro Trong Các Dự Án Công Nghệ Thông Tin (Phần 2). [online]
Available at: <https://www.devpro.edu.vn/su-dung-phuong-phap-giam-thieu-rui-ro-trong-cac-du-an-cong-nghe-
thong-tin-phan-2> [Accessed 12 August 2020].
8-model, S., 2020. Spiral Model. [online] IONOS Startupguide. Available at:
<https://www.ionos.com/startupguide/productivity/spiral-model/> [Accessed 12 August 2020].
9-Medium. 2020. 5 Types Of Feasibility Analysis. [online] Available at:
<https://medium.com/@businessplaceso3mdm/5-types-of-feasibility-analysis-
9bb67f574b79#:~:text=Organizational%20feasibility%20analysis%20is%20conducted,management%20ability
%20and%20resource%20sufficiency.> [Accessed 12 August 2020].
10-Investopedia. 2020. Considering A New Venture? Consider A Feasibility Study. [online] Available at:
<https://www.investopedia.com/terms/f/feasibility-study.asp#:~:text=A%20feasibility%20study%20is%20an,of
%20completing%20the%20project%20successfully.> [Accessed 12 August 2020].

Вам также может понравиться