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
Description
Waiting
The oven is waiting for input. The display shows the current time.
Half power
The oven power is set to 300 watts. The display shows ÔHalf powerÕ.
Full power
The oven power is set to 600 watts. The display shows ÔFull powerÕ.
Set time
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.
Disabled
Oven operation is disabled for safety. Interior oven light is on. Display shows ÔNot readyÕ.
Enabled
Oven operation is enabled. Interior oven light is off. Display shows ÔReady to cookÕ.
Operation
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
Description
Half power
The user has pressed the half power button
Full power
The user has pressed the full power button
Timer
The user has pressed one of the timer buttons
Number
The user has pressed a numeric key
Door open
The oven door switch is not closed
Door closed
The oven door switch is closed
Start
The user has pressed the start button
Cancel
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
Details of the published article that may be ordered by Entity people using LIBSYS.
30.12.2002
authors
The names of the authors of the article who may be due Attribute a share of the fee.
30.12.2002
Buyer
The person or organisation that orders a co py of the Entity article.
30.12.2002
A 1:1 relationship between Article and the Copyright Relation Agency who should be paid the copyright fee.
29.12.2002
The address of the buyer. This is used to any paper Attribute billing information that is required.
31.12.2002
feepayable-to Address (Buyer)
©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