System modelsObjectivesTopics coveredSystem modellingModel typesContext modelsThe context of an ATM systemProcess modelsEquipment procurement processBehavioural modelsData-processing modelsOrder processing DFDData flow diagramsInsulin pump DFDState machine modelsStatechartsMicrowave oven modelMicrowave oven state descriptionMicrowave oven stimuliMicrowave oven operationSemantic data modelsLibrary semantic modelData dictionariesData dictionary entriesObject modelsSlide 26Inheritance modelsObject models and the UMLLibrary class hierarchyUser class hierarchyMultiple inheritanceSlide 32Object aggregationSlide 34Object behaviour modellingIssue of electronic itemsStructured methodsMethod weaknessesCASE workbenchesAn analysis and design workbenchAnalysis workbench componentsKey pointsSlide 43©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 1System models©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 2ObjectivesTo explain why the context of a system should be modelled as part of the RE processTo describe behavioural modelling, data modelling and object modellingTo introduce some of the notations used in the Unified Modeling Language (UML)To show how CASE workbenches support system modelling©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 3Topics coveredContext modelsBehavioural modelsData modelsObject modelsCASE workbenches©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 4System modellingSystem modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers.Different models present the system from different perspectives•External perspective showing the system’s context or environment;•Behavioural perspective showing the behaviour of the system;•Structural perspective showing the system or data architecture.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 5Model typesData processing model showing how the data is processed at different stages.Composition model showing how entities are composed of other entities.Architectural model showing principal sub-systems.Classification model showing how entities have common characteristics.Stimulus/response model showing the system’s reaction to events.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 6Context modelsContext models are used to illustrate the operational context of a system - they show what lies outside the system boundaries.Social and organisational concerns may affect the decision on where to position system boundaries.Architectural models show the system and its relationship with other systems.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 7The context of an ATM systemAuto-tellersystemSecuritysystemMaintenancesystemAccountdatabaseUsagedatabaseBranchaccountingsystemBranchcountersystem©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 8Process modelsArchitectural models do not show the relationship between the other systems in the environment.External systems might produce data for or consume data from the system(next section).Architectural models are supplemented by process modelsProcess models show the overall process and the processes that are supported by the system.Data flow models may be used to show the processes and the flow of information from one process to another.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 9Equipment procurement processGet costestimatesAcceptdelivery ofequipmentCheckdelivereditemsValidatespecificationSpecifyequipmentrequiredChoosesupplierPlaceequipmentorderInstallequipmentFindsuppliersSupplierdatabaseAcceptdeliveredequipmentEquipmentdatabaseEquipmentspec.Checkedspec.DeliverynoteDeliverynoteOrdernotifi cationInstallationinstructionsInstallationacceptanceEquipmentdetailsChecked andsigned order formOrderdetails plusblank orderformSpec. +supplier +estimateSupplier listEquipmentspec.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 10Behavioural modelsBehavioural models are used to describe the overall behaviour of a system.Two types of behavioural model are:•Data processing models that show how data is processed as it moves through the system;•State machine models that show the systems response to events.These models show different perspectives so both of them are required to describe the system’s behaviour.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 11Data-processing modelsData flow diagrams (DFDs) may be used to model the system’s data processing.These show the processing steps as data flows through a system.DFDs are an intrinsic part of many analysis methods.Simple and intuitive notation that customers can understand.Show end-to-end processing of data.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 12Order processing DFDCompleteorder formOrderdetails +blankorder formValidateorderRecordorderSend tosupplierAdjustavailablebudgetBudgetfileOrdersfi leCompletedorder formSignedorder formSignedorder formChecked andsigned order+ ordernotificationOrderamount+ accountdetailsSignedorder formOrderdetails©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 13Data flow diagramsDFDs model the system from a functional perspective.Tracking and documenting how the data associated with a process is helpful to develop an overall understanding of the system.Data flow diagrams may also be used in showing the data exchange between a system and other systems in its environment.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 14Insulin pump DFDInsulinrequirementcomputationBlood sugaranalysisBlood sugarsensorInsulindeliverycontrollerInsulinpumpBloodBloodparametersBlood sugarlevelInsulinPump controlcommandsInsulinrequirement©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 15State machine modelsThese model the behaviour of the system in response to external and internal events.They show the system’s responses to stimuli so are often used for modelling real-time systems.State machine models show system
View Full Document