Prologue the Software Process[1]
Prologue the Software Process[1]
Lecture # 01
Prologue: The Software Process
Dr. Khurram Zeeshan Haider
Software Models Requirements Design Coding Testing Maintenance
Process
Main Phases of Software
Process
Software Process: a procedure followed by the
development team to
produce an application.
2
Page 2 of
Software Models Requirements Design Coding Testing Maintenance
Process
4
Page 4 of
Software
Models Requirements Design Coding Testing Maintenance
Process
Waterfall Process
Basic software process in which
requirements analysis, design, coding,
testing, and maintenance are performed in
sequence, but with some overlap.
5
Page 5 of
Software
Models Requirements Design Coding Testing Maintenance
Process
6
Page 6 of
Software
Models Requirements Design Coding Testing Maintenance
Process
7
Page 7 of
Software
Models Requirements Design Coding Testing Maintenance
Process
Common Procedures
Work Against the Product of Prior Phase
In each phase of the software process, we
design and code within the specifications
produced by the prior phase.
Inspections
An artifact is a document or code.
Requirements Analysis
The process of understanding what’s
needed or wanted, and expressing the
results in writing.
9
Page 9 of
Software
Models Requirements Design Coding Testing Maintenance
Process
1
0 Page 10 of
Software
Models Requirements Design Coding Testing Maintenance
course)
The design of an application expresses how
the application is to be constructed.
1
1 Page 11 of
Software
Models Requirements Design Coding Testing Maintenance
Process
Tips on Coding
Code only against a design
1
2 Page 12 of
Software
Models Requirements Design Coding Testing Maintenance
Process
Build-a-little-Test-a-little
1. Add a relatively small amount of code (“build-a-little”)
2. (Again): Read what you have typed and correct it if necessary
until you are totally satisfied it’s correct
3. Compile
4. Test the new functionality (“test-a-little”)
1
3 Page 13 of
Software
Models Requirements Design Coding Testing Maintenance
Author-Inspect Before
Process
Compiling
Inspect and edit the block of code you have
just written until you are convinced it does
exactly what it is meant to do. Only then
compile it.
1
4 Page 14 of
Software
Models Requirements Design Coding Testing Maintenance
Process
Testing
The testing phase consists of supplying
input to the application and comparing the
output with that mandated by the software
requirements specification.
1
5 Page 15 of
Software
Models Requirements Design Coding Testing Maintenance
Process
Types of Testing
Black-box testing
Compares the output Unit Tests
Page 16 of
Software
Models Requirements Design Coding Testing Maintenance
Process
Tips on Testing
Test early and often
1
7 Page 17 of
Software
Models Requirements Design Coding Testing Maintenance
Process
Testing
Test early and often: Note that “passed all
tests” doesn’t equate to “bug free.”
1
8 Page 18 of
Software
Models Requirements Design Coding Testing Maintenance
Process
Maintenance
Maintenance refers to the work performed on
the application that occurs after it has been
delivered.
Types of maintenance
Corrective (Defect Removal)
Finding and fixing all inconsistencies with the requirements
document
Perfective (Enhancement)
Introducing new or improved capability
Adaptive
Adapts software to new environment
Preventive
changing some aspect of the system to
prevent failures
1
9 Page 19 of
Software
Models Requirements Design Coding Testing Maintenance
Summary of Software
Process
Process
A way of going about the creation and
upkeep of a software product
2
0