1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek...

40
1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformaties ysteem

Transcript of 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek...

Page 1: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

1

OGO 2.2 2006

coordinatoren: K.M. van Hee & J.P. Veltkamp

Ontwerp van een generiek

bedrijfsinformatiesysteem

Page 2: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

2

Agenda

• Leerdoelen

• Voorkennis

• Projectopdracht

• Projectaanpak

• Tijdlijnen

• Begeleiding

• Beoordeling

Page 3: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

3

Leerdoelen (1)• Ontwerpen van een complex software

product met wetenschappelijk verantwoorde methoden en technieken

• I.h.b. een functioneel ontwerp met verificatie en validatie:– verificatie: bewijzen van structuur en

gedragseigenschappen– validatie: door middel van experimenten met

een prototype

Page 4: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

4

Leerdoelen (2)• Leren toepassen van methoden en

technieken• Inzicht krijgen in product-software

(een generiek systeem)• Leren prototypen • Leren efficient en effectief samen te

werken • Leren presenteren van een complex

ontwerp

Page 5: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

5

Voorkennis

• Databases 1

• Systeemmodelleren 1

Page 6: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

6

Technieken: datamodelleren (1) • Gebruik ERD techniek

• Beperk je tot functionele relaties; noteer deze als gerichte arcs. Geef ze een unieke en korte naam

• Dus n-m relaties worden geobjectiveerd tot een entiteit met functionele relaties

• Schrijf constraints op in predicaten logica

Page 7: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

7

Project

PK id

naam deleted

PW

PK,FK1 projectPK,FK2 werknemer

actief

a

Werknemer

PK id

naam pw type

b

Activiteit

PK,FK2 werknemerPK,FK1 taak

uitvoerendTaak

PK id

naam omschrijvingFK1 project

Werk

PK id

FK1 taakFK2 werknemer start eind omschrijving

cd

e

f

g

Technieken: datamodelleren (2)

Page 8: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

8

• Constraints:

• Een werknemer kan alleen activiteiten hebben in een project waar hij in mag werken:

• Een werknemer kan alleen werk invullen voor een taak van een activiteit die hij mag uitvoeren:

Technieken: datamodelleren (3)

c(a) b(p)a(p) e(f(a)):PWp:Activiteita

d(a)c(w) f(a)g(w) :Activiteita :Werk w

Page 9: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

9

Technieken: procesmodelleren (1)

• Maak per use case een (klassiek) Petri net• Beperk je tot workflow netten (Wfnet)• Wfnet heeft 1 begin plaats i (initial) en 1

eind plaats f (final) en elke andere plaats of transitie ligt op een pad van i naar f.

• Wfnetten modelleren procedures (flowcharts met parallelliteit)

• Als we I en f weglaten hebben we een zgn t-workflow

Page 10: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

10

Technieken: procesmodelleren (2)

pay_damage

start registerc5

c3

c4

c2

c1

check_damage

send_letterNOK

OK

OK

check_policyNOK

NOK

Page 11: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

11

pay_damage

start registerc5

c3

c4

c2

c1

check_damage

send_letterNOK

OK

NOK

OK

check_policy

2 x !

NOK

Technieken: procesmodelleren (3)

Page 12: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

12

Technieken: procesmodelleren (4)

pay_damage

start registerc5

c3

c4

c2

c1

check_damage

send_letterNOK

OK

OK

check_policy NOK

NOK

Page 13: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

13

Technieken: procesmodelleren (5)

• Soundness: workflows moeten altijd netjes kunnen eindigen

• Formeel: voor elke bereikbare toestand vanuit marking [i] moet de marking [f] bereikbaar zijn.

• Er zijn technieken om soundness te verifieren (Woflan)

• Er zijn constructietechnieken om soundness te garanderen

Page 14: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

14

Technieken: procesmodelleren (6)

Er zijn constructietechnieken

om soundness te garanderen:

“soundness by construction”

Hier zijn 5 refinement regels:

Door een model met een

enkele plaats te beginnen en

deze regels toe te passen krijg

je een sound Wfnet

Page 15: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

15

Technieken: CRUD matrix

• C=create, R=retrieve, U=update, D=delete

• Voor elke transitie is de worklows en elke entiteit in het data model leggen we vast of de transitie de entiteit gebruikt en hoe (CRUD)

• Zo kunnen we onderzoeken of entiteiten wel netjes beheerd worden en of transtities wel iets “nuttigs” doen

Page 16: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

16

Technieken: componentenmodel (1)• Component is een subnet met data stores• Een component heeft 1 t-workflow en 0 of meer

data stores• Data store is een speciale plaats met altijd

bidirectionele verbindingen met transities en altijd 1 token.

• Componenten zijn onderling verbonden door uitwisselen van tokens via interface plaatsen.

• In een componenten model specificeren we datatypes en de transitielogica

Page 17: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

17

Technieken: componentenmodel (2)

Page 18: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

18

Foute koppelingen (1)

Page 19: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

19

Foute koppelingen (2)Kan dit gerepareerd worden?

Is er een betere oplossing?

Page 20: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

20

Foute koppeling (3)Betere oplossing!

Page 21: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

21

Foute koppelingen (4)

Page 22: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

22

Projectopdracht (1)

• Een ontwerp voor een generieke bedrijfsapplicatie

• Een informatiesysteem voor een bedrijfstype dat configureerbare producten maakt op bestelling (Make-To-Order) op basis van een productencatalogus

• Voorbeelden: computers, racefietsen, auto’s, adventure reizen

Page 23: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

23

Projectopdracht (2)• Enige fysieke activiteit: ontvangen van

componenten, assembleren van deze componenten tot een product en het klaar zetten voor vervoer naar de klant

• Alle overige activiteiten worden uitbesteed of geautomatiseerd

• De componenten worden gemaakt / geleverd door toeleveranciers

• Transport door verzorgd door transportbedrijven

Page 24: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

24

Projectopdracht (3)

• Actors (stakeholders):– klanten– componenten-leveranciers– transporteurs– banken (voor betaling)– system engineers XXX (configuratie)– management XXX (beheer van systeem)

Page 25: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

25

Projectopdracht (4)

com ponentenlbouw ers

system XXX

klanten

transporteurs

banken

managementXXXsystem s

engineer

a c

d e

f g

b

Context diagram

Page 26: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

26

Projectopdracht (5)

onvolledig voorbeeld van use cases als Message Sequence Chart (MSC)

bank klant system componentleverancier

transport

rfirfp

proposalproposal

paymentadd to account

confirm

delivertransport order

delivery

Page 27: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

27

Projectopdracht (6)UR: user requirements Informeel, in tekst of plaatjes:

a. business: wat is het bedrijfsdoel?

b. actors: welke personen en andere systemen hebben interactie met het systeem?

c. use cases: een “stuk functionaliteit” of een service van het systeem. Te beschrijven als scenario’s (actie-rijen) of als MSC

d. entities: object typen die een rol spelen

Page 28: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

28

Projectopdracht (7)

BA: business architecture

1. Data model beschrijft the business objects, hun relaties en de constraints

2. Process modellen voor elke use case en voor elke object life cycle (met een workflow net)

3. Verificatie (soundness, CRUD)

Page 29: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

29

Projectopdracht (8)SA: software architectuur

1. Componenten model (componenten en onderlinge interactie-relaties)

2. Model per component (transitielogica en data types)

3. Verificatie (soundness, database integrity)

Page 30: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

30

Projectopdracht (9)

DD: Detailed design in de vorm van een prototype

Validatie door ontwikkeling van een prototype met behulp van YasperWE, Infopath (MS), met name het user interface

Page 31: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

31

Projectopdracht (10)

Parameters voor flexibiliteit:

1. # klanten

2. # toeveranciers

3. # banken

4. # transporteurs

5. # producten

Page 32: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

32

Projectopdracht (11)Parameters voor genericiteit:1. Productencatalogus (vorm)2. Business rules:

• betaling door klanten (vooraf, achteraf, mengvorm)

• wel of geen ruggespraak met toeleveranciers voordat een proposal wordt gedaan

• betaling van toeleveranciers• regels voor selectie van toeveranciers

Page 33: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

33

Projectopdracht (12)Tips voor prototype:

1. maak stubs voor banken, toeveranciers

2. maak een incrementeel model: test steeds stukken die klaar zijn

3. doe het eerst voor ongekleurde netten en als dat goed gaat, met kleur

Gebruik YasperWE en Infopath

Page 34: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

34

Projectaanpak (1)• Werk gefaseerd, registreer tijdsbesteding

• Mijlpalen in contract met opdrachtgever1. UR: user requirements en werkplan

2. BA: business architectuur: datamodel en workflows, CRUD

3. SA: functionele architectuur: componenten en hun interacties; specificaties van plaatstypen en processorlogica; verificatie

4. DD: Prototype YasperWE+ Infopath

5. PD: Presentatie/demonstratie

Page 35: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

35

Projectaanpak (2)• Maak werkplan:

– definieer taken door 1 persoon of koppel te doen zonder tussenkomst van anderen

– bepaal de precedentierelaties tussen de taken– schat de tijd die een taak kost– wijs taken toe aan personen– bepaal de doorlooptijd en het kritieke pad

• Onderscheid product- en procesdocumenten:– productdoc: beschrijving van views op het systeem– procesdoc: planningen, logboek, vergaderstukken,

vragen en antwoorden.

Page 36: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

36

Projectaanpak (3)

• Houd in elk geval rekening met de volgende taken:

– projectmanagement: vertegenwoordiging naar de opdrachtgevers, bewaking van de planning en de afstemming tussen de taken en hun uitvoerders

– kwaliteitsmanagement: zorg dat de producten gecontroleerd worden voordat ze vrijgegeven worden

– projectadministratie: bijhouden van product-en procesdocumentatie

Page 37: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

37

TijdlijnenMijlpalen die fasen afsluiten:

1. 12 dec UR (user requirements)

2. 12 jan BA (software requirements)

3. 13 feb College pres./dem.

4. 16 feb FA (software architecture)

5. 9 mrt DD (prototype)

6. 14 mrt PD (presentatie en dem.)

Page 38: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

38

Begeleiding (1)• Elke groep heeft een tutor:

– Jeroen Keiren– Jan Martijn van der Werf

• Wekelijks overleg

• Tutor heeft 3 rollen:– opdrachtgever (als vertegenwoordiger van

coordinatoren)– technisch adviseur– beoordelaar

Page 39: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

39

Begeleiding (2)• Tutoren hebben wekelijks overleg met de

coordinatoren• In deze vergaderingen worden de problemen

besproken en oplossingen geboden• In het begin zullen de teams vragen hebben over

de user requirements: de tutoren beslissen, soms na ruggespraak met de coordinatoren

• Reinier Post is op de achtergrond beschikbaar voor YasperWE/Infopath vragen

• StudyWeb: voor uitwisseling van kennis• Vragen zoveel mogelijk per e-mail stellen• College: presenteren/demonstreren

Page 40: 1 OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp Ontwerp van een generiek bedrijfsinformatiesysteem.

40

Beoordeling• Criteria:

– producten (ca 70%)– procesverslag (ca 10%)– presentatie/demonstratie (ca 20%)

• Differentiatie:– op basis van onderlinge beoordeling

• Tutoren doen voorstel, coordinatoren, (Van Hee, Veltkamp) beslissen