You are on page 1of 49

ELEPEE30

ER3A, ER3B

muiko@hr.nl
boojc@hr.nl
DFD1.4.1.3.11.1… ?

MuiKo, BooJC - PEE30 2


Zelfstudie
• Bestuderen Yourdon: H9.4 + H13 + H14

Groepswerk
• Deadline opleveren analysedocument (DCD,
DFD, DD, PSPEC en CSPEC) voor feedback

Volgende keer
• Van functioneel model naar PvE
• Architectuurmodel
MuiKo, BooJC - PEE30 3
Overzicht systeemmodel

Functional requirements model:


Wat doet het systeem?
Waarmee doet het systeem dat?
1. Teken het data context diagram (DCD)
2. Teken de onderliggende data flow diagrammen (DFD)
3. Vul de data dictionary (DD)
4. Stel de proces specificaties op (PSPEC)
5. Onderscheid de control processen en control flows
6. Stel de control specificaties op (CSPEC)

Architectural model:
Hoe doet het systeem dat?
7. Teken het architecture context diagram (ACD)
8. Teken het architecture interconnect diagram (AID)
MuiKo, BooJC - PEE30 4
ELEPEE30

CONTROL

MuiKo, BooJC - PEE30 5


Control geeft antwoord op:

• Wanneer moet een systeem iets doen?


– Wanneer moeten de processen uitgevoerd/geactiveerd
worden?
• Onder welke voorwaarden?
• In welke staat kan het systeem zich bevinden?

MuiKo, BooJC - PEE30 6


Control is van belang bij:

• Embedded systems
• Real-time systems

• Yourdon doet niet zo veel met control


– Zie hoofdstuk 9.4 en 13 en appendix G
• Uitbreidingen van Yourdon speciaal voor Real Time:
– Hatley en Pirbhai
– Ward en Mellor

MuiKo, BooJC - PEE30 7


Control flow

Munten zijn op

• Gestippelde pijl
• Wat zijn de kenmerken van een control flow?
– Het zorgt voor het starten of stoppen van processen.
• Deze flows zijn meestal impliciet en worden dan niet getekend.
– Het kan de staat van het systeem of van een van de
terminators of subsystemen doorgeven of veranderen.
– Heeft altijd een binaire waarde (data flow heeft meestal
een continue waarde).
MuiKo, BooJC - PEE30 8
Flessenverwerker DCD
Klant

Klaar Object Munt


Buiten werking

Verwerk
Flessen

Munten
zijn op
Munt Fles Overbelast
Welke flows zijn
control flows?
Medewerker

MuiKo, BooJC - PEE30 9


Flessenverwerker DCD (met control)
Klant

Klaar Object Munt


Buiten werking

Verwerk
Flessen

Munten
zijn op
Munt Fles Overbelast

Medewerker

MuiKo, BooJC - PEE30 10


Control proces

Regel
verwarming

• Geeft antwoord op de vraag: wanneer moet het


systeem zijn processen uitvoeren?
• Beheert de processen op één laag.
– Aanzetten
– Uitzetten Elke laag heeft
maximaal één
– Eenmalig uitvoeren control proces!

MuiKo, BooJC - PEE30 11


Twee belangrijke afspraken

 Control processen gebruiken uitsluitend control


flows als in- en output flows.
 Data processen gebruiken data flows en control
flows als in- en outputs inputs.

Waarom?

MuiKo, BooJC - PEE30 12


Flessenverwerker DFD0
Welke flows zijn
control flows?

Welke proces is een


control proces?

MuiKo, BooJC - PEE30 13


Flessenverwerker DFD0 (met control)
Object

1: Bepaal
Geldigheid
Object

Klaar Object geldig Flestype


Buiten werking 3: Update
Tegoed Tegoed
Tegoed
Flesbedrag

6: Beheer Fles 2: Bepaal


Flessen-
Flesbedrag Tegoed
verwerker
Tegoed

5: Geef Munt
Overbelast Tegoed Uit
Munten zijn op Munt

4: Check Munten
Munten zijn op Munt
Voorraad
Munten
Munt

MuiKo, BooJC - PEE30 14


Control specification CSPEC

• Specificeert wat het control proces doet.

• Twee verschillende manieren:


– Toestandsdiagram (STD = State-Transition Diagram) voor
beschrijvingen met geheugen / toestand / state.
• Zie Yourdon hoofdstuk 13
– Waarheidstabel voor combinatorische beschrijvingen.

MuiKo, BooJC - PEE30 15


STD (Yourdon H13)

MuiKo, BooJC - PEE30 16


STD (Yourdon H13)

MuiKo, BooJC - PEE30 17


Flessenverwerker DFD0 (met control)
Object
Maak een CSPEC in
de vorm van een STD
1: Bepaal
Geldigheid
Object

Klaar Object geldig Flestype


Buiten werking 3: Update
Tegoed Tegoed
Tegoed
Flesbedrag

6: Beheer Fles 2: Bepaal


Flessen-
Flesbedrag Tegoed
verwerker
Tegoed

5: Geef Munt
Overbelast Tegoed Uit
Munten zijn op Munt

4: Check Munten
Munten zijn op Munt
Voorraad
Munten
Munt

MuiKo, BooJC - PEE30 18


Balancing (Yourdon H14)

• Een model is gebalanceerd als:


– Alle onderdelen van het model logisch consistent zijn en
– het model compleet is.

• Hoe zorg je dat CSPEC (STD of Waarheidstabel)


gebalanceerd is met betreffende control proces?

MuiKo, BooJC - PEE30 19


Relatie control proces in DFD en STD

MuiKo, BooJC - PEE30 20


Straks: PvE

Model
? PvE

Model = DCD + DFD0 + ({DFD…}) + DD + 2{PSPEC} + ({CSPEC})


PvE = 1{Requirement}

MuiKo, BooJC - PEE30 21


Straks: Architectuur

Hoe?
MuiKo, BooJC - PEE30 22
Zelfstudie
• Bestuderen Yourdon: H9.4 + H13 + H14

Groepswerk
• Deadline opleveren analysedocument (DCD,
DFD, DD, PSPEC en CSPEC) voor feedback

Straks
• Van functioneel model naar PvE
• Architectuurmodel
MuiKo, BooJC - PEE30 23
Overzicht systeemmodel

Functional requirements model:


Wat doet het systeem?
Waarmee doet het systeem dat?
1. Teken het data context diagram (DCD)
2. Teken de onderliggende data flow diagrammen (DFD)
3. Vul de data dictionary (DD)
4. Stel de proces specificaties op (PSPEC)
5. Onderscheid de control processen en control flows
6. Stel de control specificaties op (CSPEC)

Architectural model:
Hoe doet het systeem dat?
7. Teken het architecture context diagram (ACD)
8. Teken het architecture interconnect diagram (AID)
MuiKo, BooJC - PEE30 24
Deze les

PvE

?
Functioneel Model
Architectuur
Model

FM = DCD + DFD0 + ({DFD…}) + DD + 2{PSPEC} + ({CSPEC})


PvE = 1{Requirement}
AM = ACD + AID
MuiKo, BooJC - PEE30 25
ELEPEE30

PROGRAMMA VAN EISEN

MuiKo, BooJC - PEE30 26


Systeemeisen (System Requirements)

• Functionele eisen:
– Wat het systeem moet doen (niet hoe).
– Aan een functionele eis kunnen vaak prestatie-eisen
(performance requirements) worden gekoppeld.

• Niet functionele eisen:


– Implementatie-eisen.
– Fysieke eigenschappen.

MuiKo, BooJC - PEE30 27


Eisen aan eisen

• Een eis (requirement) moet … zijn:


– ondeelbaar (atomic)
– duidelijk (beknopt, eenvoudig en nauwkeurig) (clear)

– juist (correct)
– abstract (implementation-free)
– onafhankelijk (independent)
– haalbaar (feasible) Zie studentenschijf
– good_requirements.pdf
noodzakelijk (necessary)
voor uitleg en
– testbaar (testable, verifiable) voorbeelden!
– traceerbaar (traceable)
– eenduidig (unambiguous)
– begrijpelijk (understandable)
MuiKo, BooJC - PEE30 28
Eisen aan PvE

• Een PvE moet … zijn:


– compleet
– consistent
– niet redundant

• Hoe helpt het Yourdon model bij het opstellen van


het PvE.
– Functionaliteit is helder voordat opstellen PvE begint.
– Elk proces (functie) met flows naar buiten levert
requirements (zorgt voor compleetheid).
– DD zorgt voor consistentie.

MuiKo, BooJC - PEE30 29


Opstellen eisen

• Het Yourdon functional requirements model


definieert de functies die het systeem moet
vervullen.
– Voeg hier prestatie-eisen aan toe.
– Voeg daarna niet functionele eisen toe.

• Schrijf meteen de acceptatietest.


– Dit zorgt ervoor dat eisen testbaar zijn.

MuiKo, BooJC - PEE30 30


ELEPEE30

ARCHITECTURAL MODEL

MuiKo, BooJC - PEE30 31


Architectuurmodel

• Hoe gaat het systeem zijn functies uitvoeren?


• Wat is de implementatie?
• Welke subsystemen (modules or units) zijn er?
• Hoe zijn deze met elkaar verbonden
(interconnections)?
• Hoe wordt de informatie, energie of materie door
het systeem getransporteerd en verwerkt?

• 1 + 3 nieuwe elementen
– Module
– Interconnections (3 soorten)
MuiKo, BooJC - PEE30 32
Module

Micro-
PLC processor Kabouter Voeding
Board

• Implementatiegericht subsysteem (unit).


• Voert bepaalde process(es) uit, die gedefinieerd zijn
in het functional requirements model.
• Kunnen ook nieuwe processen uitvoeren die
benodigd zijn voor de implementatie.

MuiKo, BooJC - PEE30 33


Interconnection
Ethernet

Transportband

• Implementatiegerichte verbinding (channel) tussen twee


modulen.
• Verplaatst bepaalde flow(s) (informatie, energie, materie)
die gedefinieerd zijn in het functional requirements model.
• Het is mogelijk om verschillende soorten interconnections
te onderscheiden

MuiKo, BooJC - PEE30 34


Interconnection (Hatley en Pirbhai)
Ethernet
Electrical

TOSLINK
Optical

Transportband
Mechanical

• Implementatiegerichte verbinding (channel) tussen


twee modulen.
• Verplaatst bepaalde flow(s) (informatie, energie,
materie) die gedefinieerd zijn in het functional
requirements model.
MuiKo, BooJC - PEE30 35
The interconnection (HR PelJH)

Electrical Ethernet

Electromagnetic WiFi

Mechanical PVC buis

Johan Peltenburg (oud-docent ELE) heeft deze notatie


geïntroduceerd omdat hij dit eenvoudiger te tekenen vond in Visio.
• Implementatiegerichte verbinding (channel) tussen
twee modulen.
• Verplaatst bepaalde flow(s) (informatie, energie,
materie) die gedefinieerd zijn in het functional
requirements model.
MuiKo, BooJC - PEE30 36
Architecture Context Diagram (ACD)

• Zelfde idee als Data Context Diagram


– Maar dan wel implementatiegericht.

• Hoe stroomt de informatie/energie/materie van de


omgeving naar het systeem (en vice versa)?
– Teken één module (het te bouwen systeem, de naam is
een zelfstandig naamwoord).
– Neem de terminators over uit het DCD.
– Teken de interconnections.
– Geef aan welke flow(s) over welke interconnections loopt
(lopen).

MuiKo, BooJC - PEE30 37


DCD Flessenverwerker
Klant
Bedenk een mogelijk
ACD voor dit systeem.
Klaar Object Munt
Buiten werking

Ethernet

Verwerk WiFi
Flessen

PVC buis
Munten
zijn op
Munt Fles Overbelast

Medewerker

MuiKo, BooJC - PEE30 38


ACD Flessenverwerker
Klant

Drukkracht Flessengeleider Muntengeleider Rood licht


- Klaar - Object - Munt - Buiten Werking

Flessenverwerker Netspanning Net

Zwaaiend licht Muntengeleider Flessengeleider Drukkracht


- Munten zijn op - Munt - Fles - Overbelast

Medewerker

MuiKo, BooJC - PEE30 39


Architecture Interconnect Diagram (AID)

• Subsystemen van het systeem worden hier getekend.


• Zelfde idee als subprocessen van hoofdproces.
– Alleen nu wel implementatiegericht
• Geef aan welke processen in welke module worden
afgehandeld.
• Teken alle interconnections tussen de modulen.
• Geef aan welke flow(s) over welke interconnection
loopt (lopen).

MuiKo, BooJC - PEE30 40


Traceability
• Heb je al je processen geïmplementeerd?
• Maak een traceability matrix:
Module A Module B Module C
Proces 1 X
Proces 2 X
Proces 3 X X
Proces 4

• Controleer ook of je alle flows aan een interconnection


hebt toegewezen.
• Traceability matrix wordt ook in andere stappen
gebruikt zoals bij opstellen
MuiKo, BooJC - PEE30 41
van acceptance tests.
Architecture Interconnect Diagram (AID)

• Plaats alle processen die gedefinieerd zijn in het


functional requirements model in de modules van het
AID.
• Laat zien dat alle processen verwerkt zijn.
• Plaats de flows die gedefinieerd zijn in het functional
requirements model in de interconnections van het
AID.
• Laat zien dat alle flows verwerkt zijn.
• Voeg indien nodig implementatiespecifieke processen
en flows toe.
• Voeg indien nodig implementatiespecifieke modules en
interconnections toe.
MuiKo, BooJC - PEE30 42
Implementatiespecifieke processen en flows

• Deze komen voort uit niet-functionele requirements.


– Performance eisen (b.v. timingseisen)
• Mogelijk gevolg  hardware accelerator in FPGA
– Onderhoudseisen
• Mogelijk gevolg  firmware op afstand aanpasbaar maken
– Veiligheidseisen
• Mogelijk gevolg  encryptie toepassen
– Betrouwbaarheidseisen
• Mogelijk gevolg  redundante modules met bijbehorende control
– Testbaarheidseisen
• Mogelijk gevolg  JTAG interconnection
– Wettelijke eisen
• Mogelijk gevolg  filters om aan EMC richtlijnen te voldoen
https://en.wikipedia.org/wiki/Non-functional_requirement
– MuiKo,
… BooJC - PEE30 43
DFD 0 Flessenverwerker
Object
Bedenk een mogelijk
AID voor het systeem
1: Bepaal
Geldigheid
“Flessenverwerker”.
Object

Klaar Object geldig Flestype


Buiten werking 3: Update
Tegoed Tegoed
Tegoed
Flesbedrag

6: Beheer Fles 2: Bepaal


Flessen-
Flesbedrag Tegoed
verwerker
Tegoed

5: Geef Munt
Overbelast Tegoed Uit
Munten zijn op Munt

4: Check Munten
Munten zijn op Munt
Voorraad
Munten
Munt

MuiKo, BooJC - PEE30 44


AID Flessenverwerker

Netspanning
Flessengeleider
- Object Muntengeleider naar klant
- Munt

Netspanning Voeding

Munten
samen-
PROFINET voeger
- Object Geldig (5)
5V 1 euro geleider 20 cent geleider
- Flestype
- Acknowledge - 1 euro munt - 20 cent munt
Weegschaal met
transportband en 50 cent geleider
camera 12 V - 50 cent munt

(1: Bepaal Geldigheid


Object, 7: Communiceer
via Profinet) PLC Munten-houders + teller
RS232 (4: Check Voorraad Munten, 5:
(2: Bepaal Flesbedrag, 3: Update tegoed, 6: Beheer - Munten zijn op Geef Tegoed Uit, DS:
Flessenverwerker, DS: Tegoed, 7: Communiceer via Profinet) 3x TTL Voorraad Geld)
- Tegoed

50 cent geleider
TTL TTL FET aansturing FET aansturing - 50 cent munt
- Overbelast - Klaar - Munten zijn op - Buiten werking 1 euro geleider 20 cent geleider
- 1 euro munt - 20 cent munt
Flessengeleider
- Fles Draaiende Munten-
Pushbutton Pushbutton Oranje Rode Lamp splitser
Lamp (5)

Drukkracht Drukkracht Zwaailicht Rood licht Muntengeleider vanaf medewerker


- Overbelast - Klaar - Munten zijn op - Buiten Werking - Munt

MuiKo, BooJC - PEE30 45


ELEPEE30

NAZORG LES 3
(NOG 3 SLIDES)

MuiKo, BooJC - PEE30 46


Zelfstudie
• Bestuderen deze PowerPoint en
good_requirements.pdf
Groepswerk
• Deadline opleveren Programma van Eisen en
acceptatie-test voor feedback

Volgende week
• Uitbreiden DD met interconnects voor de flows
in de drie DCD’s.

MuiKo, BooJC - PEE30 47


Groepswerk

• Deadline opleveren Programma van Eisen en


acceptatie-test voor feedback

Doel:
• Feedback docent om jullie te helpen
• Zorg dat je van een aantal processen alles hebt
uitgewerkt i.p.v. van het gehele project net
niks!

MuiKo, BooJC - PEE30 48


Planning PEE30
Wanneer Beschrijving
Lesweek 1.3 Tentamen systems engineering

Deadline opleveren analysedocument (DCD, DFD, DD, PSPEC


Lesweek 1.3
en CSPEC) voor feedback

Deadline opleveren Programma van Eisen en acceptatietest


Lesweek 1.4
voor feedback

Deadline opleveren architectuurontwerp (ACD en AFD) voor


Lesweek 1.5
feedback

Lesweek 1.6 Deadline opleveren testdocument voor feedback

Lesweek T1 Deadline opleveren analyse-, ontwerp- en testdocument

Lesweek 2.2 Presentatie ontwerp systeem


LesweekMuiKo,
2.8BooJC - PEE30
Deadline opleveren49testverslag en product

You might also like