SoftwareEngineeringLesson3Exercise2RequirementsATMsystemWithdrawalValidatecardHandlerequestCompletetransactionExercise2.1Identifythefunctionandnon-functionrequirementsofATMsystemsFunctionrequirementsNon-functionrequirementsListedintheformofitemsExampleExercise2.2Describethefunctionof‘withdrawal’usingthestandardform(structuredlanguage)Example:CardhadbeenvalidatedExercise2.3BasedonyourexperiencewithabankATM,drawadata-flowdiagrammodelingthedataprocessinginvolvedwhenacustomerwithdrawscashfromthemachineExample:Exercise2.4UsingyourknowledgeofATMoperation,writeadecisiontabledefiningconditionsintheprocessofusingATMExampleDecisiontableforlibraryfunctionsborrow,return,reserve,andunreserveExercise2.5UsingyourknowledgeofATMoperation,writeZschemasdefiningthestateofthesystem,cardvalidation(wheretheuser’sidentifierischecked)andcashwithdrawalBankaccountValidationWithdrawalExampleStateSchemafortheinsulinpumpExercise2.5DrawaPetri-Netdiagrammodelingthe“DiningPhilosophers’Problem”ExampleExercise2.5TheDiningPhilosophers’Problem([Dijkstra,1968])concernsfivephilosophersseatedataroundtable.Eachphilosophereithereatsormeditates.Thetableissetalternatelywithoneplateandonechopstick.Eatingrequirestwochopstickssothatifeachphilosopherpicksupthechopsticktotherightoftheplate,nonecaneat—thesystemwilldeadlock.ModelthissituationasaPetrinet..3philosophers