20CS502:SOFTWARE PROCESS
Mrs.S.VIJAYASHARMILA,
AP/IT
KLNCE
What / who / why is Process Models?
What:Gothroughaseriesofpredictablesteps---aroadmapthathelpsyoucreateatimely,
high-qualityresults.
Who:Softwareengineersandtheirmanagers,clientsalso.Peopleadapttheprocesstotheir
needsandfollowit.
Why:Providesstability,control,andorganizationtoanactivitythatcanifleft
uncontrolled,becomequitechaotic.However,modernsoftwareengineeringapproaches
mustbeagileanddemandONLYthoseactivities,controlsandworkproductsthatare
appropriate.
WhatWorkproducts:Programs,documents,anddata
Whatarethesteps:Theprocessyouadoptdependsonthesoftwarethatyouarebuilding.
Oneprocessmightbegoodforaircraftavionicsystem,whileanentirelydifferentprocess
wouldbeusedforwebsitecreation.
2
Definition of Software Process
Aframeworkfortheactivities,actions,andtasksthatarerequiredto
buildhigh-qualitysoftware.
SoftwareProcess(SP)definestheapproachthatistakenassoftwareis
engineered.
3
A Generic Process Model
4
A Generic Process Model
Aswediscussedbefore,agenericprocessframeworkforsoftware
engineeringdefinesfiveframeworkactivities
communication,planning,modeling,construction,anddeployment.
Inaddition,asetofumbrellaactivitiesareappliedthroughouttheprocess.
projecttrackingandcontrol,riskmanagement,qualityassurance,
configurationmanagement,technicalreviews,andothers
Nextquestionis:
Howtheframeworkactivitiesandtheactionsandtasksthatoccur
withineachactivityareorganizedwithrespecttosequenceandtime?
Seetheprocessflowforanswer.
5
Identifying a Task Set
Beforeyoucanproceedwiththeprocessmodel,akeyquestion:
whatactionsareappropriateforaframeworkactivitygiventhe
natureoftheproblem,thecharacteristicsofthepeopleandthe
stakeholders?
Atasksetdefinestheactualworktobedonetoaccomplishthe
objectivesofasoftwareengineeringaction.
Alistofthetaskstobeaccomplished
Alistoftheworkproductstobeproduced
Alistofthequalityassurancefilterstobeapplied
8
Identifying a Task Set -Example
Forexample,asmallsoftwareprojectrequestedbyonepersonwith
simplerequirements,thecommunicationactivitymightencompass
littlemorethanaphoneallwiththestakeholder.Therefore,theonly
necessaryactionisphoneconversation,theworktasksofthisaction
are:
1.Makecontactwithstakeholderviatelephone.
2.Discussrequirementsandtakenotes.
3.Organizenotesintoabriefwrittenstatementofrequirements.
4.E-mailtostakeholderforreviewandapproval.
9
Example of a Task Set for Elicitation -1
ThetasksetsforRequirementsgatheringactionforasimpleproject
mayinclude:
1.Makealistofstakeholdersfortheproject.
2.Inviteallstakeholderstoaninformalmeeting.
3.Askeachstakeholdertomakealistoffeaturesandfunctions
required.
4.Discussrequirementsandbuildafinallist.
5.Prioritizerequirements.
6.Noteareasofuncertainty.
10
Example of a Task Set for Elicitation -2
ThetasksetsforRequirementsgatheringactionforabigprojectmay
include:
1.Makealistofstakeholdersfortheproject.
2.Intervieweachstakeholdersseparatelytodetermineoverallwantsand
needs.
3.Buildapreliminarylistoffunctionsandfeaturesbasedonstakeholder
input.
4.Scheduleaseriesoffacilitatedapplicationspecificationmeetings.
5.Conductmeetings.
6.Produceinformaluserscenariosaspartofeachmeeting.
7.Refineuserscenariosbasedonstakeholderfeedback.
8.Buildarevisedlistofstakeholderrequirements.
9.Usequalityfunctiondeploymenttechniquestoprioritizerequirements.
10.Packagerequirementssothattheycanbedeliveredincrementally.
11.Noteconstraintsandrestrictionsthatwillbeplacedonthesystem.
12.Discussmethodsforvalidatingthesystem. 11
How to decide?
–Bothapproachesinthepreviousslidesdothesameworkwith
differentdepthandformality.
–Choosethetasksetsthatachievethegoalandstillmaintainquality
andagility.
12
PRESCRIPIVE PROCESS MODELS
The waterfall model
the V-model
Incremental process model
Evolutionary model
prototyping
the spiral model
Concurrent model
18
The Waterfall Model
20
ItistheoldestparadigmforSE.Whenrequirementsarewelldefinedand
reasonablystable,itleadstoalinearfashion.
(problems:1.rarelylinear,iterationneeded.2.hardtostateallrequirements
explicitly.Blockingstate.3.codewillnotbereleaseduntilverylate.)
Theclassiclifecyclesuggestsasystematic,sequentialapproachtosoftware
development.
Evolutionary Models: Prototyping
26
Construction
of prototype
communication
Quick
plan
Modeling
Quick design
Construction
of prototype
Deployment
delivery &
feedback