0 ratings0% found this document useful (0 votes) 280 views61 pagesSoftware Engineering Fundamental
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
Yes Pinky! My project leader Hey Tom!! Why do you ann
has assigned me a task. Can look worried? aD
you help me?? | don’t know TEKNOTURF
“how to proceed.
™N
| there is a requirement for developing a
‘matrimonial website, where users from
anywhere can register themselves and
also find the right match.
What is the task
Tom?
That sounds interesting
Tom!
But Pinky how do |
develop an efficient
solution? Can you
suggest me some
ideas?
Will that solve my problem?
Can | apply those concepts
when | develop the
project?
Tom it is important to havea
good understanding about
software engineering.
Of course Tom! You will
appreciate it as we proceed
with the session.
mn»
© scanned with OKEN ScannerIn this module you will learn
* Process
+ Software Development Life Cycle
* Waterfall model
+ Vmodel
* Prototype model
* RAD
* Spiral Model
* ETVX
TEKNOTURF
© scanned with OKEN Scanner—
Terms |
TEKNOTURF
+ Acomputer program is a sequence of instructions written to
perform a specified task in a computer
* Asoftware is a set of programs, procedures and its documentation
concerned with the operation of a data processing system
* AProcess is a series of definable, repeatable, and measurable tasks
Software Process
leading to a useful result
© scanned with OKEN ScannerSoftware Development aD
TEKNOTURF
Ad-hoc Software Development (till 1960's)
* The Software was developed on a Trial & Error basis
* No Specific Process was followed during the development of the
Product
* Defects were detected only after the product was delivered to
the external Users
© scanned with OKEN ScannerTerms
TEKNOTURF
Software Engineering is defined as
* Software engineering is the application of a systematic, disciplined,
quantifiable approach to the design, development, operation, and
maintenance of software
* Anestablishment and use of sound engineering principles in order to obtain
an economical software that is reliable and works efficiently on real machines
© scanned with OKEN ScannerSoftware Crisis mp
TeKNOTURE
Software fails to meet the user requirements
Software crashes frequently 7
Development of Software became expensive
Difficult to alter, debug, and enhance the software
Software was often delivered late
Software used resources non-optimally
© scanned with OKEN ScannerTEKNOTURF
How to make
Process
coffee. What are
the steps??
PROCESS
A Process is a series of definable, repeatable, and measurable tasks
leading to a useful result.
© scanned with OKEN ScannerSoftware Development Process
Software Development process voves
transformation of user needs into an
effective software solution.
© scanned with OKEN ScannerSDLC mp
‘TEKNOTURF
Software Development Life Cycle is the process used in a project to develop a
software product
It describes how the development activities are performed and how the development
phases follow each other
© scanned with OKEN ScannerSoftware Development Life Cycle
TEKNOTURF
The Software
t Development SS
\ Lifecycle (SDLC)
© Scanned with OKEN ScannerPhases in SDLC
TEKNOTURF
© scanned with OKEN ScannerTEKNOTURF
ysis
The goal of the system analysis is to define the
requirements of the system
Requirement gathering requires client as well as the service
provider to get the detailed and accurate requirements
SRS(Software Requirement Specification) is the primary
artifact of Analysis phase
© scanned with OxEN ScannerActivities in Analysis Phase a
TEKHOTURF
| Requirements gathering and analysis
| Preparing Requirements Specification(SRS) |
© scanned with OKEN Scannerbesi ane
esign TEKNOTURF
Software design deals with transforming the customer requirements into a set of
documents that is suitable for implementation in a programming language
It is the process of defining the architecture, interface, component and other
characteristics of a system
The design stage takes the requirements identified in the approved requirements
document (SRS) as its initial input
© scanned with OKEN ScannerLevels of a Design
Decompose the entire project into units / modules and identify the
system architecture, data structure and processing logic
© DD(Design Document)=HLD + LLD
High Level Design | Low Level Design
© scanned with OKEN ScannerConstruction(Code + Unit Testing) a
‘TEKNOTURF
Modular and subsystem programming code will be accomplished
during this stage
Vr
Unit testing /module testing is done in this stage by the developers jab
“i
This stage produces the source code, executable, and databases
applicable
© scanned with OKEN Scanner—=== TERNOTURF
Testing is the process of executing the program with the intent of finding.
errors
Software testing is a process of verifying and validating that a software
application or program meets the business and technical requirements
Levels of Testing
+ Unit Testing
* Integration Testing
+ system Testing
* Acceptance Testing
© scanned with OKEN ScannerTEKNOTURF
Verification * Confirms that the software meets its technical specifications J
* Confirms that the software meets the business requirements )
* Variance between the expected and actual result |
© scanned with OKEN Scanner_
Verification, Validation and Defect Finding a
»
Client Requirements
Specification
© Scanned with OKEN ScannerTEKNOTURF
Levels of Testing
(© scanned with OKEN ScannerMaintenance |
My house is leaking. It’s a TEKNOTURF
5 year old house. | thinkit
is time to do patch work,
© scanned with OKEN ScannerMaintenance
Changes or enhancements happen
everywhere, Software is no exemption.
Any change that is made to the software
after it is deployed is known as
maintenance.
© scanned with OKEN ScannerSoftware Development Life Cycle Models
TEKNOTURF
© scanned with OKEN ScannerWaterfall Model
Requirements
This model was proposed by Winston Royce in 1970
Each phase has a well defined start and end point, with identifiable deliverables
to the next phase
he principle of this
© Scanned with OKEN ScannerAdvantages of Waterfall Model mm
TEKNOTURF
* Simple and easy to use.
+ Easyto manage due to the rigidity of the model — each phase has specific deliverables and a
review process
* Phases are processed and completed one at atime
Works well for smaller projects where requirements are very well understood
Linear approach
Equivalent importance to all the phases
Contract Related issues can be addressed effectively
© scanned with OKEN ScannerLimitations of Waterfall Model nm
TEKNOTURF
* This model is suitable if the requirements are well-defined and stable
+ User gets a feel of the system only at the later stages of development
+ Backtracking cost is high in case of a problem
+ Systems must be defined up front
+ Rigidity
+ Increased development of time and cost }
+ Hard to estimate costs & project overruns }
© scanned with OKEN ScannerWaterfall Model
TEKNOTURF
* Software requirements are clearly defined and known
* Product definition is stable
» Software development technologies and tools are well
known
* New version of the existing software system is created
© Scanned with OKEN ScannerV-Model a
TEKHOTURF
Verification and Validation Model commonly known as V-Model
evolved from waterfall Model
Each phase must be completed before the next phase begins
Testing is emphasized in this model more than in the waterfall model
It isa structured approach to testing
E. is done from the earlier stage thereby bringing high quality
into the development of our products
© scanned with OKEN ScannerV-Model am
TEKNOTURF
Requirement Acceptance
Gathering Testing
System ‘System
Analysis Testing
Software Integration
Design Testing
Module 4... Unit S
i SS ‘ 2
Design Testing >
x
Coding
© scanned with OKEN ScannerAdvantages of V-Model
Validation and Verification at each level of the stage
containment
‘tage containment mechanism
Avoids the downward flow of defect
Lower defect Resolution cost due to earlier detection
Allows testers to be active from the initial state of the
project life cycle
© scanned with OKEN ScannerLimitations of V-Model
Least flexible
Backtracking cost is high in case of a problem.
Increased development time and cost
Hard to estimate costs & project overruns
TEKNOTURF
© scanned with OKEN ScannerPrototype Model ap
TEKNOTURF
Creates prototypes, which is an incomplete version
of the software program being developed.
Simulates only few aspects of the features of the Py
System to be built ‘Actua! Car Prototype Car
© Scanned with OKEN ScannerPrototype Model
Prototyping can also be used by the end users to describe and prove g
requirements that the developers have not considered.
TEKNOTURF
When the user is satisfied, the prototype code is brought up to the
standards needed for the final product.
© Scanned with OKEN ScannerPrototype Model a?
TEKNOTURF
Identify basic requirements
Develop Initial Prototype
The process of
prototyping involves
the following steps Review
Revise and Enhance the
Prototype
© scanned with OKEN ScannerPrototype Model
TEKHOTURF
What are the types of prototypes? * Throw away
* Evolutionary
© scanned with OKEN ScannerThrow away Prototype Model a
This prototyping model is a ‘quick and dirty’ approach involving - Quick
requirements assessment, analysis, design
Focuses on rapid construction
‘Ad-hoc development approach
Discards prototype after the objective is met
© Scanned with OKEN ScannerThrow away prototyping-Steps |
TERNOTURE
‘ite preliminary requirements ,
User experiences/uses the prototype, specifies new
requirements.
|nepi Construction n>
© Scanned with OKEN ScannerEvolutionary Prototype Model
Requirements are prioritized and the code is developed initially for
stable requirements, with an eye on quality
Build the software incrementally »
i ZZ
Iterative mode!
© Scanned with OKEN ScannerAdvantages of Prototype Model a
Reduced Time and Cost
Active user involvement
Client gets the feel of the product early in the project life
cycle.
Steady, visible signs of progress produced.
Interaction with the prototype stimulates awareness of
additional needed functionality.
© scanned with OKEN ScannerLimitations of Prototype Model
User might get confused with the prototype model
and the finished product
Documentation is absent
TEKNOTURF
Expense of implementing the prototype is high,
thereby affecting the development costs
Developer’s attachment to the prototype
© scanned with OKEN ScannerWhen to use Prototype Model? a’
‘TEKNOTURF
When requirements When requirements
are unclear, use | are unstable, use
"Throwaway "Evolutionary
Prototype Model" Prototype Model"
Pore
© scanned with OKEN ScannerRapid Application Development mn
‘TEKNOTURF
[rao is a high speed version of the linear sequential model |
[ome acterized by a very short development life cycle j
The RAD model follows a component based approach
© scanned with OKEN ScannerTraditional vs RAD a
TEKNOTURF
TRADITIONAL
RAD
© scanned with OKEN Scanner
ANALYSIS AND. ~ prororver
QUICK DESIGN cyetrs
- %
6Rapid Application Development phases
‘TEKNOTURF
Business modelling
Data modelling
Process modelling
Application generation
Testing and turnover
© Scanned with OKEN ScannerAdvantages and Limitations of RAD ap?
‘TEKNOTURF
* Due to the emphasis on rapid development, it results in the delivery of a fully functional
project in short period.
* Facilitates Parallel Development.
* Developers and clients must be committed to rapid-fire activities in an abbreviated time
frame.
* If either party is indifferent in needs of other, the project will run into serious problem.
* It is not suitable for large projects.
© Scanned with OKEN ScannerWhen to use RAD? mn
TEKNOTURF
© Scanned with OKEN ScannerIncremental Model aD
TEKNOTURF
© Scanned with OKEN ScannerAdvantages of Incremental Model ap
TEKHOTURF
Uses "divide and conquer" breakdown of tasks
High-risk or major functions are addressed in
the first increment cycles
Each release delivers an operational product
Customer can respond to each build
Customers get important functionality early
© Scanned with OKEN ScannerLimitations of Incremental Model <=
rewnoTuer
Q Requires early definition of a complete and
>> fully functional system to allow for the
A defit In of increments /
= good planning and design as basis for
the system
. = of a well-defined module interface is a
major obstacle for this model of development
© scanned with OKEN ScannerWhen to use Incremental Model?
the
requirements are
yn up-front but are
(© scanned with OKEN ScannerSpiral Model
‘TEKNOTURF
Proposed by Barry Boehm in 1986
Diagrammatic representation of this model appears like a spiral with many loops
Suitable for technically challenging software products that are prone to several
kinds of risks
Accommodates prototyping. This model combines the features of the prototyping
model and the waterfall model
It is favoured for large, expensive, and complicated models
Suggested for High-Risk Scenarios based projects
© scanned with OKEN ScannerSpiral ModelAdvantages of Spiral Model aD
TEKHOTURF
Provides early ion risk.
lf Critical high-risk functions are developed first.
© Scanned with OKEN ScannerLimitations of Spiral Model
TEKNOTURF
Time spent for evaluating
risks are too large for small or
low-risk projects and may not
prove cost-worthy.
Time spent on
planning,
resetting Relies on Risk
objectives, doing peceserientl
risk analysis and
prototyping may
be excessive.
expertise.
© scanned with OKEN ScannerWhen to use Spiral Model? a
‘TEKNOTURF
(© scanned with OKEN ScannerTTEKNOTURF
Process Representation Technique — ETVX Model
IBM introduced the ETVX model to document their process.
Each phase in a process performs a well-defined task and generally
produces an output.
Outputs
© scanned with OKEN ScannerTask |
Validation |
| ExitETVX Model Example
Entry
TEKNOTURF
Hall Ticket
Task
* Show Hall Ticket
Get Question Paper
¢Get Answer Sheet
Write Answer for Respective questions
Verification
Verify whether questions are written for appropriate questions
Review the answers written
Exit
Submission of the answer sheet to the invigilator
© scanned with OKEN ScannerETVX Model Example for Analysis Phase
Entry
Feasibility Report
Task
* Collect requirement
* Analyze requirement
* Write SRS
Verification
* Review SRS
Exit
° SRS
TEKNOTURF
© scanned with OKEN ScannerSummary ap?
TEKNOTURE
+ Process
+ Software Development Life Cycle
* Waterfall model
+ Vmodel
* Prototype model
* RAD
+ Spiral Model
+ ETVX
© scanned with OKEN Scanner