Systeem modellen Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 1 Topics covered Context models Behavioural models Data models Object models CASE workbenches Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 2
System modelling System modelling helpt de analist om de functionaliteit van het systeem te begrijpen terwijl de modellen woorden gebruikt om met de gebruikers te communiceren. Verschillende modellen tonen het systeem vanuit verschillende perspectieven Het Externe perspectief toont de context of omgeving van het systeem; Gedragsperspectief toont het gedrag van jhet systeem; Gestructureerd perspectief toont de systeem of data architectuur. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 3 Model types Data processing model toont hoe de data worden verwerkt in verschillende niveau s. Compositie model toont hoe entiteiten zijn samengesteld uit andere entiteiten. Architectuur model toont de belangrijkste subsystemen. Classificatie model toont de gemeenschappelijke eigenschappen van het systeem. Stimulus/response model toont de reactie van het systeem op events. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 4
Context model Context modellen worden gebruikt om de operationele context te tonen van het systeem ze tonen wat buiten de systeemgrenzen ligt. Architectuur modellen tonen het systeem en zijn relatie met andere systemen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 5 The context of an ATM system Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 6
Proces modellen, Proces modellen tonen het totale proces en de processen die worden ondersteund door het systeem. Data flow modellen kunnen worden gebruikt om de transformaties te tonen die de activiteiten, binnen een set van verwante activiteieten en op een bepaald niveau, uitvoeren op de data flows. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 7 Gedragsmodellen Gedragsmodellen worden gebruikt om het gedrag van het totale systeem te beschrijven. Twee types van gedragsmodel zijn: Data processing modellen die tonen hoe de data worden verwerkt door het systeem heen; State machine models tonen respons van het systeem op events. Deze modellen tonen verschillende perspectieven zodat beiden vereist zijn om het systeemgedrag te beschrijven. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 8
Data-processing modellen Data flow diagrammen (DFDs) worden gebruikt om de data processing van het systeem te modeleren. Ze tonen de processtappen samen met de dataflows en data stores doorheen het systeem. DFDs behoren intrinsiek tot vele analyse methodes. Ze zijn eenvoudig en gemakkelijk te begrijpen. Ze vormen een intuitieve notatie die de gebruikers kunnen begrijpen Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 9 Order processing DFD Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 10
State machine models Tonen de respons van systemen op stimuli zodat ze dikwoijls worden gebruikt voor het modeleren ven real-time systemen. State machine models tonen de systeemtoestanden als nodes en events als cirkelbogen tussen deze nodes. Wanneer een event optreedt gaat het systeem over van de ene toestand naar de andere. State machine diagrammen (vroegere benaming State Chart Diagram) zijn een integraal deel van UML. Ze worden gebruikt om state machine modellen voor te stellen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 11 State Machine Diagrammen Maken een decompositie van een model in sub-modellen mogelijk (zie volgende slide). Een korte beschrijving van de acties volgt op de do in elke toestand. Wordt vervolledigd door tabellen die de toestanden en de stimuli beschrijven. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 12
Microwave oven model Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 13 Microwave oven state description State Waiting Half power Full power Set time Disabled Enabled Operation Description The oven is waiting for input. The display shows the current time. The oven power is set to 300 watts. The display shows ÔHalf powerõ. The oven power is set to 600 watts. The display shows ÔFull powerõ. The cooking time is s et to the userõs input value. The display shows the cooking time selected and is updated as the time is set. Oven operation is disabled for safety. Interior oven light is on. Display shows ÔNot readyõ. Oven operation is enabled. Interior oven light is off. Display shows ÔReady to cookõ. Oven in operation. Interior oven light is on. Display shows the timer countdown. On completion of cooking, the buzzer is sounded for 5 s econds. Oven light is on. Display shows ÔCooking completeõ while buzzer is sounding. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 14
Microwave oven stimuli Stimulus Half power Full power Timer Number Door open Door closed Start Cancel Description The user has pressed the half power button The user has pressed the full power button The user has pressed one of the timer buttons The user has pressed a numeric key The oven door switch is not closed The oven door switch is closed The user has pressed the start button The user has pressed the cancel button Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 15 Microwave oven operation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 16
Semantische data modellen Gebruikt voor het beschrijven van de logische structuur van de data verwerkt door het systeem. Een entity-relation-attribute model toont de entiteiten van het systeem, de relaties tussen deze entiteiten en hun attributen. Wereldwijd gebruikt in database design. Geen specifieke notatie voorzien in UML wegens de sterke binding met de relationele database architectuur. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 17 Library semantic model Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 18
Data dictionaries Data dictionaries bevatten een beschrijving van alle namen gebruikt in de systeem modellen. Beschrijvingen van dta flaows, data elementen, data stores en specificaties van functionele primitieven zijn hierin opgenomen. Vormen een integraal deel van de modellen als supplement bij de diagrammen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 19 Data dictionary entries Name Description Type Date Article authors Buyer feepayable-to Address (Buyer) Details of the published article that may be ordered by people using LIBSYS. The names of the authors of the article who may be due a share of the fee. The person or organisation that orders a co py of the article. A 1:1 relationship between Article and the Copyright Agency who should be paid the copyright fee. The address of the buyer. This is used to any paper billing information that is required. Entity 30.12.2002 Attribute 30.12.2002 Entity 30.12.2002 Relation 29.12.2002 Attribute 31.12.2002 Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 20
Object modellen Object modellen beschrijven het systeem door middel van object classes en hun associaties. Een object class is een abstractie van een set van objecten met gemeenschappelijke attributen en de services (operaties) voorzien door elk object. Er kunnen verschillende object modellen worden geproduceerd Inheritance models; Aggregation models; Interaction models. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 21 Library class hierarchy Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 22
User class hierarchy Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 23 Multiple inheritance Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 24
Object aggregation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 25 Object gedragsmodellen Toont de interacties tussen objecten om een use case te specificeren. Sequentie diagrammen (of collaboratie diagrammen (nieuwe benaming communicatie diagram)) in UML worden gebruikt om de interactie tussen objecten te modeleren. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 26
Gestructureerde methodes Gestructureerde methodes bevatten systeem modellering als een inherent deel van de methode. Deze methodes definieren een set van modellen, een proces om deze modellen af te leiden en regels die op deze modellen kunnen toegepast worden. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 27 An analysis and design workbench Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 28
Analysis workbench components Diagram editors Model analysis and checking tools Repository and associated query language Data dictionary Report definition and generation tools Forms definition tools Import/export translators Code generation tools Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 29