U18CSI4204-Software Engineering: Faculty Lead: Mr.R.Kirubakaran AP/CSE

You might also like

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

U18CSI4204-Software

Engineering

Faculty Lead:
Mr.R.Kirubakaran AP/CSE

Department of Computer Science &


Engineering
Software Process
A process is a collection of activities, action and tasks that are
performed when some work product is to be created.

• An activity strives to achieve a broad objective

• Action- set of tasks that produce a major work product

• Task – focuses on a small , but well-defined objective that


produce a tangible outcome
Software Process Framework
• Communication – communicate and collaborate with the
customer

• Planning –It creates a “map” that helps guide the team as it


makes the journey. “map” is called software project plan

• Modeling – create a sketch

• Construction – this activity combines code generation and the


testing that is required to uncover errors in the code

• Deployment- the software is delivered to the customer who


evaluates the delivered products and provides feedback based
on the evaluation
Software Engineering Practice
1. Understand the problem(communication and analysis)
2. Plan a solution(modeling and software design)
3. Carry out the plan(code generation)
4. Examine the result for accuracy(testing and quality assurance)
Software Development Life Cycle
Software Development Life Cycle (SDLC)

• It consists of a detailed plan describing how to


develop, maintain, replace and alter or enhance
specific software.

• The life cycle defines a methodology for


improving the quality of software and the overall
development process.
Planning and Requirement Analysis

• Most important and fundamental stage in SDLC

• Statement of the problem to be solved

• Objective is determined during this stage.


• Defining Requirements
-Once the requirement analysis is done, the next
step is to clearly define and document the product
requirements and get them approved from the customer or
the market analysts.

• Designing

-Technology is injected into the process and design is


produced.

-The design is the first evidence of a solution to the


problem.
• Building or Developing

• actual development starts and the product is built.

• translating the design into a computer readable language.

• Testing

-last phase of SDLC before the software is delivered to the


customer.

-is to find out the gaps or defects within the system and
to verify that the software works as expected according to the
requirements.


SDLC Models
• Waterfall Model

• V-Shaped Model

• Evolutionary Prototyping Model

• Spiral Method (SDM)

• Iterative and Incremental Method

• Agile development
Waterfall Model
“define before design” “design before code”

• Earliest approach and most widely known that was


used for software development.

• The Waterfall Model is a linear sequential flow, in


which progress is seen as flowing steadily downwards
(like a waterfall) through the phases of software
implementation.

• This means that any phase in the development


process begins only if the previous phase is complete.
Fig: FAILURE CURVE FOR SOFTWARE
V- Shaped Model
• It is an extension of the waterfall model

• Instead of moving down in a linear way, the process steps are


bent upwards after the implementation and coding phase, to
form the typical V shape.

• Every phase in the software development cycle has a


corresponding phase in the testing cycle.

• Therefore, this model is often also termed as the verification


and validation model.
• Verification is the process of checking that the
software meets the specification

• Validation is the process of checking whether the


specification captures the customer’s needs.
Prototyping Model
• It refers to the activity of creating prototypes of
software applications.

• a prototype of the end-product is first developed,


tested and refined as per customer feedback
repeatedly till a final acceptable prototype is
achieved which forms the basis for developing the
final product.
Prototyping Model
• Throwaway/Rapid Prototyping

• is also called as rapid or close ended prototyping.

• This type of prototyping uses very little efforts with


minimum requirement analysis to build a prototype.

• Once the actual requirements are understood, the


prototype is discarded, and the actual system is developed
with a much clear understanding of user.

• Evolutionary Prototyping

• the prototype developed initially is incrementally refined


on the basis of customer feedback till it finally gets
accepted.
Iterative/ Incremental model
• The basic idea behind this method is to develop a
system through repeated cycles (iterative) and in
smaller portions at a time (incremental),
allowing software developers to take advantage of
what was learned during development of earlier
parts or versions of the system.
Spiral Model
• The spiral model is called a meta model since it
encompasses all other life cycle models.

• Risk handling is inherently built into this model.

• The Spiral model appears like a spiral with many


loops.

• Spiral Model includes the iterative nature of the


prototyping model and the linear nature of the
waterfall model.
• In each iteration of the spiral approach, software development
process follows the phase-wise linear approach.

• At the end of first iteration, the customer evaluates the


software and provides the feedback.

• Based on the feedback, software development process enters


the next iteration and subsequently follows the linear
approach to implement the feedback suggested by the
customer.
Students Corner

•Compare and Contrast each Model


and identify which model suits for
which application-Async 1

You might also like