You are on page 1of 9

I.

Software Deverlopment Life Cycle


1. Define
Software Development Life Cycle (SDLC) is a process that
produces software with the highest quality and lowest cost in the
shortest time. SDLC includes a detailed plan for how to develop, alter,
maintain, and replace a software system.

- Several SDLC models or methods have been created, such as


waterfalls, Spirals, Agile software development, rapid prototyping,
incremental and synchronized and stable. SDLC is used in the process
of developing an IT project, it describes the various stages involved in
the project from drawing, through project completion.

- SDLC consists of a detailed plan which explains how to plan,


build, and maintain specific software. Every phase of the SDLC
lifecycle has its own process and deliverables that feed into the next
phase.
2. Software Deverlopment Life Cycle phases
a. Planning
Planning focuses on the scope of the project. The outputs of the
planning phase include; project plans, schedules,cost estimating, and
procurement requirements.
The three primary activities involved in the planning phase are as
follows:
 Identification of the system for development
 Feasibility assessment
 Creation of project plan
b. Systems Analysis and Requirements
- Systems analysis is vital in determining what a business"s needs are,
as well as how they can be met, who will be responsible for individual
pieces of the project, and what sort of timeline should be expected.
- It is also where system analysis takes place—or analyzing the needs
of the end users to ensure the new system can meet their expectations.
- The IT team gathers requirement from business stakeholders and
Subject Matter Experts. The outputs of this phase in a Waterfall
project is usually a document that lists these requirements. Agile
methods, by contrast, may produce a backlog of tasks to be performed.
- The three primary activities involved in the analysis phase are as
follows:
 Gathering business requirement
 Creating process diagrams
 Performing a detailed analysis
- There are several tools businesses can use that are specific to the
second phase. They include:

 CASE (Computer Aided Systems/Software Engineering)


 Requirements gathering
 Structured analysis
c. Design and Prototyping
- Once requirements are understood, the design process takes place. It
make use of established patterns for application architecture and software
development. Architecture farmworks like TOGAF may be used here.
Outputs include: design document that list the patterns and components
selected for the project ,code produced by spikes. Used as a starting
point for development.
 The two primary activities involved in the design phase are as follows:
 Designing of IT infrastructure
 Designing of system model
d. Software development
- This phase produces the software under development. This could be in
"sprints" (Agile),or a single block effort (Waterfall). The output of this
phase is testable, functional software.
- The two primary activities involved in the development phase are as
follows:
 Development of IT infrastructure
 Development of database and code
e. Testing
The testing phase of the SDLC is arguably one of the most important. It is
impossible to deliver quality software without testing. Methods for testing
can include: code quality, unit testing (functional tests). Intergration
testing, Performance testing, Security testing. The output of the testing
phase is functional software,ready for deployment to a production
The two primary activities involved in the testing phase are as follows:
 Writing test cases
 Execution of test casesenvironment.
f. Deployment
The deployment phase is, ideally, a highly automated phase. In high-
maturity enterprises, this phase is almost invisible; software is
deployment the instant it is ready. Enterprises with lower maturity , or in
some highly regulated industries, the process involves some manual
approvals. The ouput of this phase is the release to Production of
working software.
g. Operations and Maintenance
The operations and maintenance phase is the "end of the beginning".
Through the SDLC doesn't end here. Software must be monitored
constantly to ensure proper operation. Bugs and defects discovered in
Production must be reported responded to, which often feeds work back
into the process. Bugs fixes may not flow through the entire cycle,
however, at least an abbreviated process is necesssary to ensure that the
fix does not introduce othe problems.
The three primary activities involved in the maintenance phase are as
follows:
 Support the system users
 System maintenance
 System changes and adjustment
https://elearninginfographics.com/software-development-life-cycles-
infographic-phases/
https://stackify.com/what-is-sdlc/
https://blog.testlodge.com/software-development-life-cycle/
3. Two iterative software lifecycle models
a. Spiral Model:
Define:
 Spiral Model is a combination of a waterfall model and iterative
model. Each phase in spiral model begins with a design goal and ends
with the client reviewing the progress
 The development team for the Spiral-SDLC model begins with a small
set of customer requirements and goes through each stage of
development for those requirements. The software engineering team
adds functionality to the customer's additional requirements in an
incremental spiral until the application is ready for production.
Spiral Model Phases:
 Planning
It includes cost estimates, schedules and resources for repetition. It
also involves understanding the system requirements for continuous
communication between the system analyst and the customer.
 Risk analysis
This process will carry out risk identification analysis, offering
alternatives. From this stage to the end, if any risks occur, alternative
solutions will be proposed and implemented.
 Engineering
This phase includes testing, coding and software deployment at the
customer's site
 Evaluate
In this stage, customers will participate in evaluating the quality of
work and products and ensure that the products have complied with
the requirements of customers, if there is any change from customers,
the stages will be repeated. In addition, including identifying and
monitoring risks such as schedule failures and cost overruns. This
stage is very important because there is a need for customer feedback
about the product, so that the product is officially completed.
4. Advantages and Disadvantages of Spiral Model

Advantages Disadvantages

Additional functionality or changes Risk of not meeting the schedule or


can be done at a later stage budget
Cost estimation becomes easy when It works best for large projects only also
prototype construction is done in demands risk assessment expertise
small pieces
Continuous or repetitive For its smooth functioning spiral pattern
development makes risk protocol needs to be strictly adhered to.
management easy document control and strict approval.
Software grows fast and features are The project document is very much
systematically added. because it has intermediate stages.
There is always a space for It is unpopular with smaller projects, it
customer feedback can cost a lot, and take a lot of time
https://www.guru99.com/what-is-spiral-model-when-to-use-
advantages-disadvantages.html
https://viblo.asia/p/mo-hinh-xoan-oc-la-gi-khi-nao-nen-su-dung-
uu-va-nhuoc-diem-cua-mo-hinh-vyDZOWVxZwj

5. Two sequential software lifecycle models


Waterfall Model:
Define:
The waterfall model is a linear, sequential approach to the software
development life cycle (SDLC), common in software engineering
and product development. It is very simple to understand and use.
In the waterfall model, each Stage model must be completed before
the next stage can begin and there is no overlap in stages. The
waterfall model emphasizes a logical step forward. Individual
endpoints or goals are set for each stage of development and cannot
be considered after completion.
- Different Phases of Waterfall Model in Software Engineering:
 Requirement Gathering stage
During this phase, detailed requirements of the software system to
be developed are gathered from client
 Design Stage
Plan the programming language, for Example Java, PHP, .net
or database like Oracle, MySQL, etc.
Or other high-level technical details of the project.
 Built Stage
After design stage, it is built stage, that is nothing but coding the
software.
 Test Stage
In this phase, you test the software to verify that it is built as per the
specifications given by the client.
 Deployment stage
Deploy the application in the respective environment
 Maintenance stage
Once your system is ready to use, you may later require change the
code as per customer request
Advantages and Disadvantages of Waterfall-Model:

Advantages Disadvantages
Before the next phase of development, Error can be fixed only during the
each phase must be completed phase
Suited for smaller projects where It is not desirable for complex project
requirements are well defined where requirement changes
frequently
They should perform quality assurance Testing period comes quite late in the
test (Verification and Validation) before developmental process
completing each stage
Elaborate documentation is done at Documentation occupies a lot of time
every phase of the software's of developers and testers
development cycle
Project is completely dependent on Clients valuable feedback cannot be
project team with minimum client included with ongoing development
intervention phase
Any changes in software is made during Small changes or errors that arise in
the process of the development the completed software may cause a
lot of problems

https://www.guru99.com/what-is-sdlc-or-waterfall-model.html
https://searchsoftwarequality.techtarget.com/definition/waterfall-
model
https://viblo.asia/p/tim-hieu-ve-mo-hinh-thac-nuoc-trong-phat-trien-
phan-mem-stlc-Ljy5Ve7ylra

V-Model:
Define:
V-Model software development is a software development process,
an extension of a waterfall model called VModel Software
Development. The process is curved in a V-shape, showing itself
the relationship between each development life cycle in relation to
the testing phase. Each phase must be completed before the start of
the next stage. Product testing is planned in parallel with the
corresponding development phase.
Advantages and Disadvantages of V-Model

Advantages Disadvantages
The usage is simple and easy. Very rigid and least flexible
Less time consuming. Most of the Softwares developed during
activities like planning, test designing implementation phases and no
etc happens well before the coding prototypes are developed or
takes place. produced for this softwares.
More tracking of defects. The major If anything happens or stops in
defects are found at the early stage. between then the whole
document both testing and
requirement are to be updated all
over again.
Avoids downward flow of defects. This is also risky and lot of time
Small type projects are mostly worked is taken.
well as it is easy to understand more.
This model has gained acceptance Since no prototypes are produced
because of its simplicity and straight then there are less chance in
forwardness. meeting the customer
expectation.

https://www.testingbrain.com/tutorials/v-model-tutorial.html
https://www.am7s.com/what-is-v-model7-model-systems-
engineering/

6. Which is most suitable for Tune Source and discuss why?


Tune Source is a large system with many functions, so I
recommend this Spiral Model, because this Model can add or
change functions at a later stage, the cost can be estimated. And it
is strictly controlled and approved for information data. Features
will be set according to customer requirements.

7. How to manage risk in spiral life cycle model.


Failure of personnel
- Recruitment of senior personnel, mutual training, team building,
full staff with different functions.
Unrealistic timetable and budget
- Set up detailed cost planning and assessment; developing
gradually; Reuse; following the request, ...
Development of inappropriate functions
- Analyzing carefully the organization and tasks of the software;
constructing concepts; frequently discuss with users and have early
user documentation ...
Improper user interface development
- Need to analyze the work, build the model first; User
characteristics (function, style, workload)
Gold plating (adding unnecessary requirements)
- Following the request, create a template; Useful cost analysis;
design cost

Continue to change the request


- Limit large changes; hide information; growing gradually
Lack of extra comfort components
-Need to test, measure, check references, analyze compatibility.
Lack of requirements set out
- Develop the previous stable sections; check references; contract
costs, ...
Performance issue
- Need to simulate, measure, test ...
Requirement exceeds the response of current technology

You might also like