Documente Academic
Documente Profesional
Documente Cultură
Rapidsoftwaredevelopmentto
validaterequirements
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide1
Objectives
Todescribetheuseofprototypesindifferent
typesofdevelopmentproject
Todiscussevolutionaryandthrowaway
prototyping
Tointroducethreerapidprototypingtechniques
highlevellanguagedevelopment,database
programmingandcomponentreuse
Toexplaintheneedforuserinterfaceprototyping
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide2
Topicscovered
Prototypinginthesoftwareprocess
Prototypingtechniques
Userinterfaceprototyping
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide3
Systemprototyping
Prototypingistherapiddevelopmentofasystem
Inthepast,thedevelopedsystemwasnormally
thoughtofasinferiorinsomewaytotherequired
systemsofurtherdevelopmentwasrequired
Now,theboundarybetweenprototypingand
normalsystemdevelopmentisblurredandmany
systemsaredevelopedusinganevolutionary
approach
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide4
Usesofsystemprototypes
Theprincipaluseistohelpcustomersand
developersunderstandtherequirementsforthe
system
Requirementselicitation.Userscanexperimentwithaprototype
toseehowthesystemsupportstheirwork
Requirementsvalidation.Theprototypecanrevealerrorsand
omissionsintherequirements
Prototypingcanbeconsideredasariskreduction
activitywhichreducesrequirementsrisks
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide5
Prototypingbenefits
Misunderstandingsbetweensoftwareusersand
developersareexposed
Missingservicesmaybedetectedandconfusing
servicesmaybeidentified
Aworkingsystemisavailableearlyintheprocess
Theprototypemayserveasabasisforderivinga
systemspecification
Thesystemcansupportusertrainingandsystem
testing
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide6
sP
tprorojteacbylypivsp
E
h
D
e
f
i
n
e
D
e
v
l
o
p
E
v
a
l
u
t
e
e
p
r
o
t
y
p
p
r
o
t
y
e
p
r
o
t
y
p
f
u
n
c
a
l
i
t
y
teflinoeE
u
iplangdO
tproyabpleE
x
e
c
u
vraelputrion
Prototypingprocess
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide7
Prototypingbenefits
Improvedsystemusability
Closermatchtothesystemneeded
Improveddesignquality
Improvedmaintainability
Reducedoveralldevelopmenteffort
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide8
Prototypinginthesoftwareprocess
Evolutionaryprototyping
Anapproachtosystemdevelopmentwhereaninitialprototype
isproducedandrefinedthroughanumberofstagestothefinal
system
Throwawayprototyping
Aprototypewhichisusuallyapracticalimplementationofthe
systemisproducedtohelpdiscoverrequirementsproblemsand
thendiscarded.Thesystemisthendevelopedusingsomeother
developmentprocess
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide9
Prototypingobjectives
Theobjectiveofevolutionaryprototypingisto
deliveraworkingsystemtoendusers.The
developmentstartswiththoserequirementswhich
arebestunderstood.
Theobjectiveofthrowawayprototypingisto
validateorderivethesystemrequirements.The
prototypingprocessstartswiththose
requirementswhicharepoorlyunderstood
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide10
E
v
o
l
u
t
i
o
n
a
r
y
D
e
l
i
v
e
r
d
p
r
y
p
g
s
y
t
m
tR
leqrim
O
u
netsT
E
x
e
c
u
t
a
b
l
e
P
r
o
t
y
p
e
+
rPotw
h
yapw
y
ysm
S
pcifaion
ingS
Approachestoprototyping
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide11
Evolutionaryprototyping
Mustbeusedforsystemswherethespecification
cannotbedevelopedinadvancee.g.AIsystems
anduserinterfacesystems
Basedontechniqueswhichallowrapidsystem
iterations
Verificationisimpossibleasthereisno
specification.Validationmeansdemonstratingthe
adequacyofthesystem
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide12
D
esvplcoip
fabsitoranctB
uild
sypro
tem
ypeNU
sep
rysoetm
ype
E
SadS
D
esylitvm
erY
sequteam
y
?
Evolutionaryprototyping
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide13
Evolutionaryprototypingadvantages
Accelerateddeliveryofthesystem
Rapiddeliveryanddeploymentaresometimesmoreimportant
thanfunctionalityorlongtermsoftwaremaintainability
Userengagementwiththesystem
Notonlyisthesystemmorelikelytomeetuserrequirements,
theyaremorelikelytocommittotheuseofthesystem
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide14
Evolutionaryprototyping
Specification,designandimplementationare
intertwined
Thesystemisdevelopedasaseriesofincrements
thataredeliveredtothecustomer
Techniquesforrapidsystemdevelopmentare
usedsuchasCASEtoolsand4GLs
UserinterfacesareusuallydevelopedusingaGUI
developmenttoolkit
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide15
Evolutionaryprototypingproblems
Managementproblems
Maintenanceproblems
Existingmanagementprocessesassumeawaterfallmodelof
development
Specialistskillsarerequiredwhichmaynotbeavailableinall
developmentteams
Continualchangetendstocorruptsystemstructuresolongterm
maintenanceisexpensive
Contractualproblems
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide16
Prototypesasspecifications
Somepartsoftherequirements(e.g.safety
criticalfunctions)maybeimpossibletoprototype
andsodontappearinthespecification
Animplementationhasnolegalstandingasa
contract
Nonfunctionalrequirementscannotbe
adequatelytestedinasystemprototype
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide17
Incrementaldevelopment
Systemisdevelopedanddeliveredinincrementsafter
establishinganoverallarchitecture
Requirementsandspecificationsforeachincrementmay
bedeveloped
Usersmayexperimentwithdeliveredincrementswhile
othersarebeingdeveloped.therefore,theseserveasa
formofprototypesystem
Intendedtocombinesomeoftheadvantagesof
prototypingbutwithamoremanageableprocessand
bettersystemstructure
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide18
fD
D
aersclig
id
e
shvnterscay
n
e
tybultreesm
B
u
i
l
d
s
y
t
e
m
V
a
l
i
d
a
t
e
S
p
e
c
i
f
y
s
t
e
m
m
i
n
c
r
e
m
n
n
c
r
e
m
n
n
r
e
m
n
N
O
D
elsiyvetrm
finalY
S
y
s
t
e
m
V
a
l
i
d
a
t
e
I
n
t
e
g
r
a
t
e
c
o
m
p
l
?
s
y
m
i
c
m
n
E
S
Incrementaldevelopmentprocess
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide19
Throwawayprototyping
Usedtoreducerequirementsrisk
Theprototypeisdevelopedfromaninitial
specification,deliveredforexperimentthen
discarded
ThethrowawayprototypeshouldNOTbe
consideredasafinalsystem
Somesystemcharacteristicsmayhavebeenleftout
Thereisnospecificationforlongtermmaintenance
Thesystemwillbepoorlystructuredanddifficulttomaintain
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide20
treqrlm
O
u
icn
eoR
D
e
v
l
o
p
E
v
a
l
u
t
e
S
p
e
c
i
f
y
tm
seu
p
r
o
t
y
e
p
r
o
t
y
p
s
y
t
m
a
b
l
e
p
o
n
t
s
esoylfitvw
earm
d
esofvtw
D
laorpe V
asylidam
teD
Throwawayprototyping
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide21
Prototypedelivery
Developersmaybepressurisedtodelivera
throwawayprototypeasafinalsystem
Thisisnotrecommended
Itmaybeimpossibletotunetheprototypetomeetnon
functionalrequirements
Theprototypeisinevitablyundocumented
Thesystemstructurewillbedegradedthroughchangesmade
duringdevelopment
Normalorganisationalqualitystandardsmaynothavebeen
applied
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide22
Rapidprototypingtechniques
Varioustechniquesmaybeusedforrapid
development
Dynamichighlevellanguagedevelopment
Databaseprogramming
Componentandapplicationassembly
Thesearenotexclusivetechniquestheyare
oftenusedtogether
Visualprogrammingisaninherentpartofmost
prototypedevelopmentsystems
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide23
Dynamichighlevellanguages
Languageswhichincludepowerfuldata
managementfacilities
Needalargeruntimesupportsystem.Not
normallyusedforlargesystemdevelopment
SomelanguagesofferexcellentUIdevelopment
facilities
Somelanguageshaveanintegratedsupport
environmentwhosefacilitiesmaybeusedinthe
prototype
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide24
Prototypinglanguages
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide25
Choiceofprototypinglanguage
Whatistheapplicationdomainoftheproblem?
Whatuserinteractionisrequired?
Whatsupportenvironmentcomeswiththe
language?
Differentpartsofthesystemmaybeprogrammed
indifferentlanguages.However,theremaybe
problemswithlanguagecommunications
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide26
Databaseprogramminglanguages
Domainspecificlanguagesforbusinesssystems
basedaroundadatabasemanagementsystem
Normallyincludeadatabasequerylanguage,ascreen
generator,areportgeneratorandaspreadsheet.
MaybeintegratedwithaCASEtoolset
Thelanguage+environmentissometimesknownas
afourthgenerationlanguage(4GL)
Costeffectiveforsmalltomediumsizedbusiness
systems
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide27
I
n
t
e
r
f
a
c
e
S
p
r
e
a
d
s
h
e
t
g
t
o
r
D
B
R
e
p
o
r
t
prolgnam
iuengD
g
n
a
aF
toub
arthsegem
ann
g
e
m
n
t
s
y
t
e
m
rationlanguage
Databaseprogramming
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide28
Componentandapplicationassembly
Prototypescanbecreatedquicklyfromasetof
reusablecomponentsplussomemechanismto
gluethesecomponenttogether
Thecompositionmechanismmustincludecontrol
facilitiesandamechanismforcomponent
communication
Thesystemspecificationmusttakeintoaccount
theavailabilityandfunctionalityofexisting
components
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide29
Prototypingwithreuse
Applicationleveldevelopment
Entireapplicationsystemsareintegratedwiththeprototypeso
thattheirfunctionalitycanbeshared
Forexample,iftextpreparationisrequired,astandardword
processorcanbeused
Componentleveldevelopment
Individualcomponentsareintegratedwithinastandard
frameworktoimplementthesystem
Frameworkcanbeascriptinglanguageoranintegration
frameworksuchasCORBA
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide30
R
e
u
s
a
b
l
e
C
o
m
p
o
n
e
t
E
x
e
c
u
t
a
b
l
e
scm
ofptw
rnts incftC
ireagonatriw
s
p
r
o
y
p
rolack
node
Reusablecomponentcomposition
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide31
Compounddocuments
Forsomeapplications,aprototypecanbecreated
bydevelopingacompounddocument
Thisisadocumentwithactiveelements(suchas
aspreadsheet)thatallowusercomputations
Eachactiveelementhasanassociatedapplication
whichisinvokedwhenthatelementisselected
Thedocumentitselfistheintegratorforthe
differentapplications
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide32
C
o
m
p
o
u
n
d
o
c
u
m
e
n
t
S
o
u
n
d
1
T
ext1T
T
a
b
l
e
1
T
e
x
t
2
T
x
3
T
e
x
t
4
S
o
u
n
d
2
T
e
x
t
5
a
b
l
e
2
udioplayer
W
ordprocesorS
preadshet A
Applicationlinkingincompounddocuments
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide33
Visualprogramming
ScriptinglanguagessuchasVisualBasicsupport
visualprogrammingwheretheprototypeis
developedbycreatingauserinterfacefrom
standarditemsandassociatingcomponentswith
theseitems
Alargelibraryofcomponentsexiststosupport
thistypeofdevelopment
Thesemaybetailoredtosuitthespecific
applicationrequirements
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide34
H
y
p
e
r
t
x
d
i
s
p
l
a
c
o
m
p
o
n
e
t
D
atecom
ponetF
i
l
e
E
d
i
t
V
i
e
w
s
L
a
y
o
u
t
O
p
t
i
o
n
s
H
e
l
p
G
n
r
a
l
I
d
x
1
2
t
h
J
a
n
u
a
r
y
2
0
R
aD
croam
n
g
csw
e
iprciop
h
e
c
k
n
g
tanevats 3.876 cU
ercpinoetm
p+
t
osm
T
rcoem
doisnpelay
t
Visualprogrammingwithreuse
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide35
Problemswithvisualdevelopment
Difficulttocoordinateteambaseddevelopment
Noexplicitsystemarchitecture
Complexdependenciesbetweenpartsofthe
programcancausemaintainabilityproblems
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide36
Userinterfaceprototyping
Itisimpossibletoprespecifythelookandfeelofauser
interfaceinaneffectiveway.prototypingisessential
UIdevelopmentconsumesanincreasingpartofoverall
systemdevelopmentcosts
Userinterfacegeneratorsmaybeusedtodrawthe
interfaceandsimulateitsfunctionalitywithcomponents
associatedwithinterfaceentities
Webinterfacesmaybeprototypedusingawebsite
editor
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide37
Keypoints
Aprototypecanbeusedtogiveendusersaconcrete
impressionofthesystemscapabilities
Prototypingisbecomingincreasinglyusedfor
systemdevelopmentwhererapiddevelopmentis
essential
Throwawayprototypingisusedtounderstandthe
systemrequirements
Inevolutionaryprototyping,thesystemisdeveloped
byevolvinganinitialversiontothefinalversion
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide38
Keypoints
Rapiddevelopmentofprototypesisessential.Thismay
requireleavingoutfunctionalityorrelaxingnon
functionalconstraints
Prototypingtechniquesincludetheuseofveryhigh
levellanguages,databaseprogrammingandprototype
constructionfromreusablecomponents
Prototypingisessentialforpartsofthesystemsuchas
theuserinterfacewhichcannotbeeffectivelypre
specified.Usersmustbeinvolvedinprototype
evaluation
IanSommerville2000
SoftwareEngineering,6thedition.Chapter8
Slide39