【文档说明】武汉理工软件工程课件4.ppt,共(22)页,101.501 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45098.html
以下为本文档部分文字说明:
Chapter4Softwareprototyping•4.1Phototypinginsoftwareprocess•4.2Phototypingtechniques•4.3Userintercasephototyping•Keypo
ints4.1Prototypinginthesoftwareprocess•EvolutionaryprototypingAnapproachtosystemdevelopmentwhereaninitialprototypeisproducedandrefinedthro
ughanumberofstagestothefinalsystem.•Throw-awayprototypingAprototypewhichisusuallyapracticalimplementationofthesystemisproducedtoh
elpdiscoverrequirementsproblemsandthendiscarded.Thesystemisthendevelopedusingsomeotherdevelopmentpro
cess.Prototypingobjectives•Theobjectiveofevolutionaryprototypingistodeliveraworkingsystemtoend-users
.Thedevelopmentstartswiththoserequirementswhicharebestunderstood.•Theobjectiveofthrow-awayprototypingistovalidateor
derivethesystemrequirements.Theprototypingprocessstartswiththoserequirementswhicharepoorlyunderstood
.4.1.1Evolutionaryprototyping•Mustbeusedforsystemswherethespecificationcannotbedevelopedinadvancee.g.AIsystemsanduserinterface
systems.•Basedontechniqueswhichallowrapidsystemiterations.•Verificationisimpossibleasthereisnospecification.V
alidationmeansdemonstratingtheadequacyofthesystem.Evolutionaryprototypingadvantages•AccelerateddeliveryofthesystemRapiddeliveryand
deploymentaresometimesmoreimportantthanfunctionalityorlong-termsoftwaremaintainability.•UserengagementwiththesystemNotonlyisthesystem
morelikelytomeetuserrequirements,theyaremorelikelytocommittotheuseofthesystem.Evolutionaryprototyping•Specification,designandimplementationareinter-t
wined.•Thesystemisdevelopedasaseriesofincrementsthataredeliveredtothecustomer.•TechniquesforrapidsystemdevelopmentareusedsuchasCASEtool
sand4GLs.•UserinterfacesareusuallydevelopedusingaGUIdevelopmenttoolkit.Evolutionaryprototypingproblems•Managementproblems1.Existingmanagementpr
ocessesassumeawaterfallmodelofdevelopment.2.Specialistskillsarerequiredwhichmaynotbeavailableinalldevelopmentte
ams.•MaintenanceproblemsContinualchangetendstocorruptsystemstructuresolong-termmaintenanceisexpensive.•ContractualproblemsPrototypesasspecifica
tions•Somepartsoftherequirements(e.g.safety-criticalfunctions)maybeimpossibletoprototypeandsodon’tappearinthespecification.•Animplementationhasno
legalstandingasacontract.•Non-functionalrequirementscannotbeadequatelytestedinasystemprototype.Incrementald
evelopment•Systemisdevelopedanddeliveredinincrementsafterestablishinganoverallarchitecture.•Requirementsandspecificationsf
oreachincrementmaybedeveloped.•Usersmayexperimentwithdeliveredincrementswhileothersarebeingdeveloped.therefore,theseserveasaformofprototypesystem
.•Intendedtocombinesomeoftheadvantagesofprototypingbutwithamoremanageableprocessandbettersystemstructur
e.4.1.2Throw-awayprototyping•Usedtoreducerequirementsrisk.•Theprototypeisdevelopedfromaninitialspecificatio
n,deliveredforexperimentthendiscarded.•Thethrow-awayprototypeshouldNOTbeconsideredasafinalsystem.1.Somesystemcharacteristicsmayhavebeenleftout.2.Th
ereisnospecificationforlong-termmaintenance.3.Thesystemwillbepoorlystructuredanddifficulttomaintain.Pr
ototypedelivery•Developersmaybepressurisedtodeliverathrow-awayprototypeasafinalsystem.Thisisnotrecommended1.Itmaybeimpossibletotunetheprototype
tomeetnon-functionalrequirements.2.Theprototypeisinevitablyundocumented.3.Thesystemstructurewillbedegradedthroughchangesmadeduringdevelop
ment.4.Normalorganisationalqualitystandardsmaynothavebeenapplied.4.2Rapidprototypingtechniques•Varioustechniqu
esmaybeusedforrapiddevelopment1.Dynamichigh-levellanguagedevelopment.2.Databaseprogramming.3.Componentandapplicationassembly.
•Thesearenotexclusivetechniques-theyareoftenusedtogether.•Visualprogrammingisaninherentpartofmostprototypedevelopmentsystems.4
.2.1Dynamichigh-levellanguages•Languageswhichincludepowerfuldatamanagementfacilities.•Needalargerun-timesupportsystem.Notnormallyusedf
orlargesystemdevelopment.•SomelanguagesofferexcellentUIdevelopmentfacilities.•Somelanguageshaveanintegratedsupportenvironmentwhosefacilitiesmaybe
usedintheprototype.Choiceofprototypinglanguage•Whatistheapplicationdomainoftheproblem?•Whatuserinteractioni
srequired?•Whatsupportenvironmentcomeswiththelanguage?•Differentpartsofthesystemmaybeprogrammedindifferentlanguages.However,theremaybeproblem
swithlanguagecommunications.4.2.2Databaseprogramminglanguages•Domainspecificlanguagesforbusinesssystemsbasedaroundadatabasemanagementsy
stem.•Normallyincludeadatabasequerylanguage,ascreengenerator,areportgeneratorandaspreadsheet.•Maybein
tegratedwithaCASEtoolset.•Thelanguage+environmentissometimesknownasafourth-generationlanguage(4GL).•Cost-effectivefors
malltomediumsizedbusinesssystems.4.2.3Componentandapplicationassembly•Prototypescanbecreatedquicklyfrom
asetofreusablecomponentsplussomemechanismto‘glue’thesecomponenttogether.•Thecompositionmechanismmustincludecontrolfacilitiesandamechanismforcompone
ntcommunication.•Thesystemspecificationmusttakeintoaccounttheavailabilityandfunctionalityofexistingcomponents
.Prototypingwithreuse•Applicationleveldevelopment1.Entireapplicationsystemsareintegratedwiththeprototypesothattheirfuncti
onalitycanbeshared.2.Forexample,iftextpreparationisrequired,astandardwordprocessorcanbeused.•Componentleveldevelopment1.Individualcomponentsareint
egratedwithinastandardframeworktoimplementthesystem.2.FrameworkcanbeascriptinglanguageoranintegrationframeworksuchasCORBAComp
ounddocuments•Forsomeapplications,aprototypecanbecreatedbydevelopingacompounddocument.•Thisisadocumentwithactiveelements(suchasaspreadsheet)that
allowusercomputations.•Eachactiveelementhasanassociatedapplicationwhichisinvokedwhenthatelementisselected.•Thedocumentitselfistheintegratorforthediff
erentapplications.Visualprogramming•ScriptinglanguagessuchasVisualBasicsupportvisualprogrammingwheretheprototypeisdevelopedbycreating
auserinterfacefromstandarditemsandassociatingcomponentswiththeseitems.•Alargelibraryofcomponentsexiststosupportthistypeofdevelopment.•Thes
emaybetailoredtosuitthespecificapplicationrequirements.Problemswithvisualdevelopment•Difficulttocoordinateteam-baseddevelopment.•Noexplici
tsystemarchitecture.•Complexdependenciesbetweenpartsoftheprogramcancausemaintainabilityproblems.4.3Userin
terfaceprototyping•Itisimpossibletopre-specifythelookandfeelofauserinterfaceinaneffectiveway.prototypingisessential.•UIdevelop
mentconsumesanincreasingpartofoverallsystemdevelopmentcosts.•Userinterfacegeneratorsmaybeusedto‘draw’theint
erfaceandsimulateitsfunctionalitywithcomponentsassociatedwithinterfaceentities.•Webinterfacesmaybeprototypedusingawebsiteeditor.Keypoints•Aprototyp
ecanbeusedtogiveend-usersaconcreteimpressionofthesystem’scapabilities.•Prototypingisbecomingincreasinglyusedforsys
temdevelopmentwheredevelopmentisessential.•Throw-awayprototypingisusedtounderstandthesystemrequirements.•Inevolutionaryprototyping,thesystemisdevelo
pedbyevolvinganinitialversiontothefinalversion.•Rapiddevelopmentofprototypesisessential.Thismayrequireleavingoutfunction
alityorrelaxingnon-functionalconstraints.•Prototypingtechniquesincludetheuseofveryhigh-levellanguages,databaseprogrammingandprototypeconstructio
nfromreusablecomponents.•Prototypingisessentialforpartsofthesystemsuchastheuserinterfacewhichcannotbeeffe
ctivelypre-specified.Usersmustbeinvolvedinprototypeevaluation.