Presentation 1
Presentation 1
SOFTWARE
DEVELOPMENT
PROCESS
1.1 Software
Definition
Characteristics
Definition Need
1.4 Software development
activities
1.6 Software Development Models
o Waterfall Model
o Incremental Model
o RA D Model
o Prototyping Model
o Spiral Model
1.1 SOFTWARE
Software is the “collection of computer
programs, procedures, rules, associated
documents and concerned data with
the operation of data processing
system”.
It also includes representation of pictorial,
video
• and audio information.
Software are of two types.
⚫ System Software
⚫ Application Software
System Software
⚫ It is responsible for controlling, integrating the
hardware components of a system so the
software and the users can work with them.
⚫ Example: Operating System.
Application Software
out.
The above figure shows the software failure rate.
Software is not highly affected by environmental
effects.
In the early stage, due to many errors, software
deteriorate.
SOFTWARE IS
ENGINEERED, NOT
MANUFACTURED LIKE
Once a product is manufactured, it is not
easy to modify
HARDWARE.
it.
While in case of software we can easily change or
modify or change it for later use.
Evan making multiple copies of software is a very easy
is engineered.
1.2 SOFTWARE MYTHS
Software is easy to change
Outsourcing of software to a third party can relax
the customers.
Software can work right from the first time.
software safety.
Reusing software increase safety.
are
⚫ Requirement gathering & Analysis
⚫ Design
⚫ Implementation (Coding)
⚫ Testing
⚫ Documentation
⚫ Maintenance .
In requirement phase, the goals of what the
program will be capable of doing is decided.
The design phase covers how the program is going to
program or project.
Finally, maintaining the program must continue for
language?
How testing will be performed?
Code generation
Software testing
Support Phase
⚫ The support phase focuses on change
associated with error correction.
⚫ Four types of change are encountered during
the support phase.
⚫ Correction: corrective maintenance changes
the software to correct defects.
⚫ Adaption: Adaptive maintenance results in
modification to the software to accommodate
changes to its external environment.
⚫ Enhancement / perfection: Perfective
maintenance extends the software beyond its
original functional requirements.
⚫ Prevention: Preventive maintenance to
enable the software to serve the needs of its
end users.
GENERIC FRAMEWORK
Project Definition:
ACTIVITIES
⚫ It requires to establish effective communication
between developer and customer and to define the
requirement of the project.
Planning:
⚫ It requires defining resources, timelines and other
project related information and assessing technical and
management risks.
Engineering & Construction:
⚫ It required for create one or more representations of the
software and to generate code and conduct through
testing.
Release or Deployment:
⚫ It required to install the software target
in its environment and to provide customer
support.
Customer Use:
⚫ It required for obtaining customer feedback based
on use and evaluation of project delivered during release.
UMBRELL A
ACTIVITIES
Umbrella activities are throughout the
performed process.
These activities are independent of any
framework
activity.
The umbrella activities are given below:
Software project tracking and control:
⚫ It assess progress against the plan and take actions
to maintain the schedule.
Formal Technical Review:
⚫ This includes reviewing the techniques that
has been used in the project.
Software Quality Assurance:
⚫ This is very important to ensure the
quality management of each part to ensure them.
Document Preparation and production
⚫ All the project planning and other activities should be
hardly copied and the production gets started here.
Reusability Management
like.
⚫ Feasibility study
⚫ Requirements analysis and specification
⚫ Design
⚫ Coding and unit testing
⚫ Integration and system testing
⚫ Maintenance.
During each phase of life cycle, a set of well
defined activities are carried out. And each
phase required different amount of efforts.
The phases between feasibility study and testing
Figure
CL ASSICAL WATERFALL
MODEL - FIGURE
Feasibility Study:
⚫ Aim of this phase is to determine whether the
system would be financially and technically
feasible to develop the product.
Design:
⚫ The goal of design phase is to transform the
requirements specified in S R S document into a
structure that is suitable for implementation
in some programming language.
Coding and Unit Testing
⚫ It is also called as implementation phase.
⚫ Aim of this phase is to translate the software
design into source code and unit testing is
done module wise.
cycle.
So, the solution of this problem is iterative
waterfall model.
INCREMENTAL MODEL
The incremental model is also referred as the
successive version of waterfall model using
incremental approach.
In this model, the system is broken down into
the system.
The initial product skeleton is refined into
increasing levels of capability: by adding new
functionality in successive version.
INCREMENTAL
MODEL - FIGURE
INCREMENTAL MODEL
Each successive version performing more
useful work than previous version.
The core modules get tested thoroughly,
software process.
⚫ The innermost loop might be concerned with
system feasibility
⚫ The next loop with system requirement
definition.
⚫ The next one with system design and so on.
⚫ Each loop in the spiral split into four
sectors.
SPIRAL MODEL - FIGURE
1st Quadrant: Determine Objectives
2nd Quadrant: Identify and resolve risks