Chapter1120.docx
- 文档编号:9267453
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:27
- 大小:40.74KB
Chapter1120.docx
《Chapter1120.docx》由会员分享,可在线阅读,更多相关《Chapter1120.docx(27页珍藏版)》请在冰豆网上搜索。
Chapter1120
Chapter11
SpecificationPhase
Inthischapter,threeapproachestospecificationarecompared:
formal,semiformal,andinformal.Ifeelthatstudentsshouldbeexposedtoasmanyformalmethodsaspossible.OnewaytointroducetheFSMmaterialtostudentswhohavehadnopriorexposuretoformalmachinesistodescribeamenu-basedproductwithwhichmoststudentsarefamiliar,suchasapopularword-processingpackageonaPC.Pointoutthateachmenucorrespondstoastate,andeachmenuchoicetoaninput.Oncestudentsappreciatethattheyhavebeendealingwithfinitestatemachinesforyears,Section11.6iseasytoteach.
StudentswhohavetakenanoperatingsystemscoursemaywellhavebeenexposedtoPetrinets.Also,thebasicconceptcanbeeasilyunderstoodbymostoftheclasswithoutmucheffortbytheinstructor.IbelievethatSection11.7shouldbecovered,ifonlytoensurethatstudentsareexposedtoPetrinets.However,notallstudentswillbeabletodoProblem11.13.
Ontheotherhand,IteachSections11.8and11.9toonlygraduatestudents.Furthermore,thereisonlyoneprobleminvolvingZattheendofthechapter.
problemsolutions
11.1:
Bothconstraintssuperficiallyappeartobepreciseandscientific,butneithercanbemeasuredortested.Specifically,
(i)Theterm“significantly”isimprecise—significantforwhom:
clientordeveloper?
Also,thisisareasonfordevelopingtheproduct,notaconstraint.
(ii)Theterm“reasonable”isimprecise—reasonableforwhom:
clientordeveloper?
11.2:
Ambiguities:
Isacloveoraheadofgarlictobeused?
Whatoperationsaretobeperformedthenightbefore?
Everything?
Whichjuiceistobestrained,orangeorlemon?
Whatistobefrozen,thelemonorjustthejuice?
Istheoniontobediced,orjusttheshallots?
Whichmixtureistobeblendedfor10minutes?
Does“blend”mean“mixbyhand”or“useanelectricblender?
”
Howarethelumpstoberemoved,withastrainerorablender?
Thelumpsinthemixturecouldbethemushrooms.
Twomixturesarespecified,thepockwesterisaddedtoonlyoneofthem:
which?
Howcanyoukilla“fresh”pockwester?
Theterms“simmer,”“bite-sized,”and“softtothetouch”areimprecise.
Wecanbroilforanytimefrom1microsecondto3minutes,59seconds.
WhatistobesprinkledwithParmesan—theservingplatter,orthepockwester?
Omissions:
Howlargeisa“largeonion”?
Whatsizecanoforangejuice?
Howlargealemon?
Whatkindofbreadforthecrumbs?
Howmuchflour?
Howmuchmilk?
Howlargearemedium-sizedshallots?
Howlargearemedium-sizedeggplants?
Whatsizepockwester?
Whatsizegarlic?
HowmuchParmesancheese?
Whatsizeeggs?
Thesugarisnotlistedintheingredients.
Norarethemushrooms.
Norarethefrobs.
Whatsizeplatteristobeused?
Contradictions:
Theingredientscallforfrozenorangejuice,therecipecallsforfresh.
Afterthelemonhasbeensqueezedthenightbefore,itisthensupposedtobesliced.
Wearetoldto“stirvigorously,”“slice,”and“inthemeantime”tocoat,dip,andsoon—itisimpossibletodoallthesethingsatonce.
Thefollowingitemsarecertainlyconfusing,buttheyarenotambiguities,omissions,orcontradictions:
Thelemonjuice,eggplant,andgarlicareneverused.
Grillinginaskilletisnotusuallyagoodidea.
Shakingupmushroomswetwithmilkinapaperbagisfraughtwithdifficulties.
Theinstructiontowhisktheeggsshouldprecedetheinstructiontoaddthemtoamixture.
Iftheblendingistobedonewithanelectricblender,then10minutesseemstobetoolong.
Therecipecallsforfirstcoatingthemushroomsinflour,andthendippingtheminmilk;thismaybeunorthodox,butthensoismuchoftherestoftherecipe!
Twomixturesarespecified,thepockwesterisaddedtoonlyoneofthem;nothingismentionedregardingwhatistobedonewiththeotherone.
11.3:
Ifactualsalesforthecurrentmontharelessthanthetargetsalesforthecurrentmonth,thencheckwhetherthepercentagedifferencebetweentheactualsalesandthetargetsalesforthecurrentmonthis5%ormore.Ifso,thencheckwhetherthepercentagedifferencebetweentheactualsalesandtargetsalesforthecurrentmonthisgreaterthanorequaltohalfofthepercentagedifferencebetweentheactualsalesandtargetsalesforthepreviousmonth.Ifthissecondconditionalsoholds,thenprintareport.Otherwise,donothing.
11.4:
Foreachshop,theactualsalesforeachmontharecomparedwiththetargetsalesforthatmonth.
Theeffectivenessofagivenshopforagivenmonthisdefinedby
Theshortfallforagivenshopforagivenmonthisdefinedby
Ashopisdeemedtohaveachieveditsobjectiveforthecurrentmonthiftheshortfallforthecurrentmonthislessthanorequalto5%,oriftheshortfallforthecurrentmonthislessthanorequaltohalftheshortfallforthepreviousmonth;inthecaseofJanuary,theshortfallforthepreviousmonthisdeemedtobe0%.
Ifashophasnotachieveditsobjective,thenareportistobeprinted.
11.5:
Thefollowingassumptionsaremade:
therearenoservicecharges,noATMwithdrawals.Theonlytransactionsthatareallowedarechecksanddeposits.Allchecksbearanumber.Theuserhasapileofcanceledchecks,andapileofdepositslips.
Figure11.1.Dataflowdiagramfordeterminingwhetherbankstatementiscorrect.
Sortthechecksincheck-numberorder.Foreachcheck,findanentryinthebankstatementthatmatchesthechecknumber.Ifnosuchentryisfound,thestatementisinerror.Otherwise,markthatentry,andverifythattheamountforthatentryisthesameasthatonthecheck.Iftheamountsdonotmatch,thenthestatementisinerror.
Sortthedepositslipsaccordingtodateofdeposit.Foreachdepositslip,findanentryinthestatementthatmatchesthedateofdepositandtheamountofthedeposit.Markthatentry.Ifnosuchentryisfound,thestatementisinerror.
Afterallchecksanddepositshavebeenprocessed,verifythatallitemsonthestatementhavebeenmarked.Ifnot,thestatementisinerror.
Addtheamountofalldepositstothebeginningbalance,andfromthatsumsubtractthetotalofallthechecks.Iftheresultofthatsubtractionisnotequaltotheendingbalancethenthestatementisinerror,otherwiseitiscorrect.
11.6:
SeeFigure11.1.
11.7:
Thisproductisconcernedwithbooks,borrowers,andlibrarians.Thelibraryhasacollectionofbookswhichborrowersmaycheckoutandsubsequentlyreturn.Eachbookhasauniquebooknumber.Affixedtoeachbookisalabelbearingthatnumberinbarcodeformat.
Eachborrowerhasauniqueborrowernumber.Eachborrowerhasacardbearingthatnumberinbar-codeformatthatisscannedwhentheborrowerchecksoutabook.BorrowersmaydetermineallthebooksbyaparticularauthorinthelibrarycollectionbygoingtoaterminalandenteringA=
LibrarianscheckoutabookbyenteringCataterminal,scanningtheborrowerbarcode,andscanningthebookbarcode.Ifthebookisnotbeingheldforanotherreader,itisissuedtotheborrower.Whenabookisreturnedbyaborrower,thelibrarianentersRataterminal,andscansthebookbarcode.Toaddanewbooktothecollection,thelibrarianenters+(plussign),thenumberofthenewbook,andotherbookdetails.Toremoveabookfromthecollection,thelibrarianenters–(minussign)andentersthebooknumber(bar-codeinputisinappropriate—thebookmayhavebeenstolen).AlibrariancanputaholdonabookforaborrowerbyenteringH=
]Abookmaynotbeheldifitisalreadybeingheldforanotherborrower.
11.8:
SeeFigure11.2.
11.9:
Step1.DrawDFD.Seepreviousproblem.
Figure11.2.Dataflowdiagramforlibrarycirculation.
Step2.Decidewhatsectionstocomputerize,andhow.ComputerizecompleteproductasshowninDFD,online.DFDdoesnotshowfunctionslikeissuingnewborrowerwithanIDnumberandcard,ormaintainingborrowerdetails.Thesefunctionswerenotincludedinthespecifications,anditisthereforeassumedthattheywillbeperformedmanually.
Step3.Detailsofdataflows.
bookid
booknumber
bookdetails
booknumber
bookbibliographicdetails
author
title
subject
otherdetails
borrowerid
borrowernumber
onholddata
borrowernumberifbookisonholdforanotherborrower,else0
Step4.Definelogicofprocesses.
addbook
PlacebookdetailsinbookDATA
checkoutbook
Readbookid,borrowerid
Checkthatbookisnotbeingheldforanotherborrower
UpdateBOOKDATAwithborrowerid
holdbook
Readbooknumber,borrowerid
Checkifbookisalreadyonhold
Ifnot,updateBOOKDATAtoreflectborrowerid
obtaincataloginformation
Readborrower’squery
SearchBOOKDATA
Answerborrower’squery
removebook
Readbooknumber
DeletebookdetailsfromBOOKDATA
returnbook
Readbooknumber
UpdateBOOKDATA
Step5.Definedatastores.
bookDATA(512bytes—assumption)
booknumber
author
title
subject
otherdetails
onholddata
borrowernumber(0ifbookisnotcheckedout)
Indexedbybooknumber(primary),andalsobyauthor,title,andsubject(secondary)
Step6.Definephysicalresources.
bookDATA
Indexedsequentialfile
Primaryi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Chapter1120