2. Sofware process and models FOR THE UNIT

sharmila27432 21 views 33 slides Jul 23, 2024
Slide 1
Slide 1 of 33
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33

About This Presentation

SOFTWARE PROCESS


Slide Content

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

Process Flow Types
Linearprocessflowexecuteseachofthefiveactivitiesinsequence.
Aniterativeprocessflowrepeatsoneormoreoftheactivitiesbefore
proceedingtothenext.
Anevolutionaryprocessflowexecutestheactivitiesinacircular
manner.Eachcircuitleadstoamorecompleteversionofthe
software.
Aparallelprocessflowexecutesoneormoreactivitiesinparallel
withotheractivities(modelingforoneaspectofthesoftwarein
parallelwithconstructionofanotheraspectofthesoftware).
6

Process Flow
7
7

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

Process Patterns
•Aprocesspattern
–describesaprocess-relatedproblemthatisencounteredduring
softwareengineeringwork,
–identifiestheenvironmentinwhichtheproblemhasbeen
encountered,and
–suggestsoneormoreprovensolutionstotheproblem.
•Statedinmoregeneralterms,aprocesspatternprovidesyouwitha
template[Amb98]—aconsistentmethodfordescribingproblem
solutionswithinthecontextofthesoftwareprocess.
(definedatdifferentlevelsofabstraction)
1.Problemsandsolutionsassociatedwithacompleteprocessmodel
(e.g.prototyping).
2.Problemsandsolutionsassociatedwithaframeworkactivity(e.g.
planning)or
3.anactionwithaframeworkactivity(e.g.projectestimating).
13

Process Pattern Types
•Stagepatterns—definesaproblemassociatedwithaframeworkactivity
fortheprocess.Itincludesmultipletaskpatternsaswell.Forexample,
EstablishingCommunicationwouldincorporatethetaskpattern
RequirementsGatheringandothers.
•Taskpatterns—definesaproblemassociatedwithasoftware
engineeringworktaskandrelevanttosuccessfulsoftwareengineering
practice
•Phasepatterns—definesthesequenceofframeworkactivitiesthatoccur
withtheprocess,evenwhentheoverallflowofactivitiesisiterativein
nature.ExampleincludesSprialModelorPrototyping.
14

An Example of Process Pattern
•Describesanapproachthatmaybeapplicablewhenstakeholdershaveageneralideaof
whatmustbedonebutareunsureofspecificsoftwarerequirements.
Patternname.RequirementsUnclear
Intent.Thispatterndescribesanapproachforbuildingamodelthatcanbeassessed
iterativelybystakeholdersinanefforttoidentifyorsolidifysoftwarerequirements.
Type.Phasepattern(associatedwithCommunicationPhase)
Initialcontext.Conditionsmustbemet(1)stakeholdershavebeenidentified;(2)amodeof
communicationbetweenstakeholdersandthesoftwareteamhasbeenestablished;(3)the
overridingsoftwareproblemtobesolvedhasbeenidentifiedbystakeholders;(4)an
initialunderstandingofprojectscope,basicbusinessrequirementsandproject
constraintshavebeendeveloped.
Problem.Requirementsarehazyornonexistent.stakeholdersareunsureofwhattheywant.
Solution.Adescriptionoftheprototypingprocesswouldbepresentedhere.
Resultingcontext.Asoftwareprototypethatidentifiesbasicrequirements(modesof
interaction,computationalfeatures,processingfunctions)isapprovedbystakeholders.
Followingthis,1.Thisprototypemayevolvethroughaseriesofincrementstobecome
theproductionsoftwareor2.theprototypemaybediscarded.
Relatedpatterns.CustomerCommunication,IterativeDesign,IterativeDevelopment,
CustomerAssessment,RequirementExtraction.
15

Process Assessment and Improvement
SPcannotguaranteethatsoftwarewillbedeliveredontime,meettheneeds,or
hasthedesiredtechnicalcharacteristics.
However,theprocesscanbeassessedtoensurethatitmeetsasetofbasic
processcriteriathathavebeenshowntobeessentialforasuccessfulsoftware
engineering.
StandardCMMIAssessmentMethodforProcessImprovement(SCAMPI)—
providesafivestepprocessassessmentmodelthatincorporatesfivephases:
initiating,diagnosing,establishing,actingandlearning.
CMM-BasedAppraisalforInternalProcessImprovement(CBAIPI)—
providesadiagnostictechniqueforassessingtherelativematurityofasoftware
organization;usestheSEICMMasthebasisfortheassessment[Dun01]
SPICE—TheSPICE(ISO/IEC15504)standarddefinesasetofrequirementsfor
softwareprocessassessment.Theintentofthestandardistoassistorganizationsin
developinganobjectiveevaluationoftheefficacyofanydefinedsoftwareprocess.
[ISO08]
ISO9001:2000forSoftware—agenericstandardthatappliestoanyorganization
thatwantstoimprovetheoverallqualityoftheproducts,systems,orservicesthatit
provides.Therefore,thestandardisdirectlyapplicabletosoftwareorganizationsand
companies.[Ant06]
16

PROCESS MODELS
17

PRESCRIPIVE PROCESS MODELS
The waterfall model
the V-model
Incremental process model
Evolutionary model
prototyping
the spiral model
Concurrent model
18

Prescriptive Process Models
•Originallyproposedtobringordertochaos.
•Prescriptiveprocessmodelsadvocateanorderlyapproachtosoftware
engineering.
–However,willsomeextentofchaos(lessrigid)bebeneficialtobring
somecreativity?
Thatleadstoafewquestions…
•Ifprescriptiveprocessmodelsstriveforstructureandorder(prescribea
setofprocesselementsandprocessflow),aretheyinappropriatefora
softwareworldthatthrivesonchange?
•Yet,ifwerejecttraditionalprocessmodels(andtheordertheyimply)and
replacethemwithsomethinglessstructured,dowemakeitimpossibleto
achievecoordinationandcoherenceinsoftwarework?
19

The Waterfall Model
20
ItistheoldestparadigmforSE.Whenrequirementsarewelldefinedand
reasonablystable,itleadstoalinearfashion.
(problems:1.rarelylinear,iterationneeded.2.hardtostateallrequirements
explicitly.Blockingstate.3.codewillnotbereleaseduntilverylate.)
Theclassiclifecyclesuggestsasystematic,sequentialapproachtosoftware
development.

The V-Model
21
Avariationofwaterfallmodel
depictstherelationshipofquality
assuranceactionstotheactions
associatedwithcommunication,
modelingandearlycodeconstruction
activates.
Teamfirstmovesdowntheleftside
oftheVtorefinetheproblem
requirements.Oncecodeis
generated,theteammovesupthe
rightsideoftheV,performinga
seriesofteststhatvalidateeachof
themodelscreatedastheteam
moveddowntheleftside.

The Incremental Model
•Wheninitialrequirementsarereasonablywelldefined,buttheoverall
scopeofthedevelopmenteffortprecludesapurelylinearprocess.
–Acompellingneedtoexpandalimitedsetofnewfunctionstoalater
systemrelease.
•Itcombineselementsoflinearandparallelprocessflows.
–Eachlinearsequenceproducesdeliverableincrementsofthesoftware.
•Thefirstincrementisoftenacoreproductwithmanysupplementary
features.
–Usersuseitandevaluateitwithmoremodificationstobettermeetthe
needs.
22

The Incremental Model
23

Evolutionary Models
Softwaresystemevolvesovertimeasrequirementsoftenchangeas
developmentproceeds.Thus,astraightlinetoacompleteendproduct
isnotpossible.However,alimitedversionmustbedeliveredtomeet
competitivepressure.
Usuallyasetofcoreproductorsystemrequirementsiswell
understood,butthedetailsandextensionhaveyettobedefined.
Youneedaprocessmodelthathasbeenexplicitlydesignedto
accommodateaproductthatevolvedovertime.
Itisiterativethatenablesyoutodevelopincreasinglymorecomplete
versionofthesoftware.
Twotypesareintroduced,namelyPrototypingandSpiralmodels.
24

Evolutionary Models: Prototyping
•Whentouse:Customerdefinesasetofgeneralobjectivesbutdoesnotidentify
detailedrequirementsforfunctionsandfeatures.OrDevelopermaybeunsure
oftheefficiencyofanalgorithm,theformthathumancomputerinteraction
shouldtake.
•Whatstep:Beginswithcommunicationbymeetingwithstakeholderstodefine
theobjective,identifywhateverrequirementsareknown,outlineareaswhere
furtherdefinitionismandatory.Aquickplanforprototypingandmodeling
(quickdesign)occur.Quickdesignfocusesonarepresentationofthoseaspects
thesoftwarethatwillbevisibletoendusers(interfaceandoutput).Design
leadstotheconstructionofaprototypewhichwillbedeployedandevaluated.
Stakeholder’scommentswillbeusedtorefinerequirements.
•Bothstakeholdersandsoftwareengineersliketheprototypingparadigm.Users
getafeelfortheactualsystem,anddevelopersgettobuildsomething
immediately.However,engineersmaymakecompromisesinordertogeta
prototypeworkingquickly.Theless-than-idealchoicemaybeadoptedforever
afteryougetusedtoit.
25

Evolutionary Models: Prototyping
26
Construction
of prototype
communication
Quick
plan
Modeling
Quick design
Construction
of prototype
Deployment
delivery &
feedback

Evolutionary Models: The Spiral
Itcouplestheiterativenatureofprototypingwiththecontrolledandsystematicaspects
ofthewaterfallmodelandisarisk-drivenprocessmodelgeneratorthatisusedtoguide
multi-stakeholderconcurrentengineeringofsoftwareintensivesystems.
Twomaindistinguishingfeatures:oneiscyclicapproachforincrementallygrowinga
system’sdegreeofdefinitionandimplementationwhiledecreasingitsdegreeofrisk.
Theotherisasetofanchorpointmilestonesforensuringstakeholdercommitmentto
feasibleandmutuallysatisfactorysystemsolutions.
Aseriesofevolutionaryreleasesaredelivered.Duringtheearlyiterations,therelease
mightbeamodelorprototype.Duringlateriterations,increasinglymorecomplete
versionoftheengineeredsystemareproduced.
Thefirstcircuitintheclockwisedirectionmightresultintheproductspecification;
subsequentpassesaroundthespiralmightbeusedtodevelopaprototypeandthen
progressivelymoresophisticatedversionsofthesoftware.Eachpassresultsin
adjustmentstotheprojectplan.Costandscheduleareadjustedbasedonfeedback.Also,
thenumberofiterationswillbeadjustedbyprojectmanager.
Goodtodeveloplarge-scalesystemassoftwareevolvesastheprocessprogressesand
riskshouldbeunderstoodandproperlyreactedto.Prototypingisusedtoreducerisk.
However,itmaybedifficulttoconvincecustomersthatitiscontrollableasitdemands
considerableriskassessmentexpertise.
27

Evolutionary Models: The Spiral
28

Three Concerns on Evolutionary Processes
•Firstconcernisthatprototypingposesaproblemtoprojectplanning
becauseoftheuncertainnumberofcyclesrequiredtoconstructtheproduct.
•Second,itdoesnotestablishthemaximumspeedoftheevolution.Ifthe
evolutionoccurstoofast,withoutaperiodofrelaxation,itiscertainthatthe
processwillfallintochaos.Ontheotherhandifthespeedistooslowthen
productivitycouldbeaffected.
•Third,softwareprocessesshouldbefocusedonflexibilityandextensibility
ratherthanonhighquality.Weshouldprioritizethespeedofthe
developmentoverzerodefects.Extendingthedevelopmentinordertoreach
highqualitycouldresultinalatedeliveryoftheproductwhenthe
opportunitynichehasdisappeared.
29

Concurrent Model
Allowasoftwareteamtorepresentiterativeandconcurrentelementsofanyof
theprocessmodels.Forexample,themodelingactivitydefinedforthespiral
modelisaccomplishedbyinvokingoneormoreofthefollowingactions:
prototyping,analysisanddesign.
TheFigureshowsmodelingmaybeinanyoneofthestatesatanygiventime.
Forexample,communicationactivityhascompleteditsfirstiterationandinthe
awaitingchangesstate(notshown).Themodelingactivitywasininactive
state,nowmakesatransitionintotheunderdevelopmentstate.Ifcustomer
indicateschangesinrequirements,themodelingactivitymovesfromtheunder
developmentstateintotheawaitingchangesstate.
Concurrentmodelingisapplicabletoalltypesofsoftwaredevelopmentand
providesanaccuratepictureofthecurrentstateofaproject.Ratherthan
confiningsoftwareengineeringactivities,actionsandtaskstoasequenceof
events,itdefinesaprocessnetwork.
Eachactivity,actionortaskonthenetworkexistssimultaneouslywith
otheractivities,actionsortasks.Eventsgeneratedatonepointtrigger
transitionsamongthestates.
30

Concurrent Model
31

Specialized Process Models
Componentbaseddevelopment—theprocesstoapplywhenreuseisa
developmentobjective(likespiralmodel)
Formalmethods—emphasizesthemathematicalspecificationofrequirements(
easytodiscoverandeliminateambiguity,incompletenessandinconsistency)
AspectOrientedsoftwaredevelopment(AOSD)—providesaprocessand
methodologicalapproachfordefining,specifying,designing,andconstructing
aspects
UnifiedProcess—a“use-casedriven,architecture-centric,iterativeand
incremental”softwareprocesscloselyalignedwiththeUnifiedModeling
Language(UML)tomodelanddevelopobject-orientedsystemiterativelyand
incrementally.
32

The Unified Process (UP)
33
inception
elaboration
Tags