1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica...

121
1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language

Transcript of 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica...

Page 1: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

1 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

UML

Unified Modeling Language

Page 2: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

2 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Waarom modelleren?

Eenduidigheid:

Afbeelding zegt meer dan 1000 woorden

versie 3

Page 3: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

3 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Agenda

<- zie linker kantlijn

Page 4: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

4 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Naslagwerk

Verkrijgbaar in elke boekhandel

Page 5: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

5 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Programma van Eisen

Beschrijft:• Doel• Bereik• Eisen• Use Cases

Page 6: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

6 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Doel

Voorbeeld: Doel van een webshop is om klanten via internet producten te laten bestellen

Page 7: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

7 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Bereik

beschrijft kort en bondigwat applicatie wel en niet doet.

Page 8: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

8 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Eisen

• Wat

• Niet hoe

Page 9: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

9 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

klant

magazijnbediende

verkoper

product aan winkelwagen

toevoegen

bestelling plaatsen

bestelling verzenden

Use Cases

betalen via iDeal

Page 10: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

10 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Alomtegenwoordige taal

Consequente, voor zich sprekende,naamgeving

Page 11: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

11 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Onduidelijkheden

Taak van ontwerper om onduidelijkheden weg te nemen

Logboek t.b.v. traceerbaarheid, bijvoorbeeld voor als later dieper graven

Page 12: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

12 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Vragen?

Page 13: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

13 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Oefening Programma van Eisen

• Doel• Bereik

Maak bereik klein, om kosten en doorlooptijd van realiseren laag te maken

• Eisen• Use casesDit is de basis voor uw functioneel ontwerp

Beschrijf voor maatwerksoftware die uw organisatie wil (laten) bouwen:

Page 14: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

14 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Klassendiagram

Doel: aangeven welke gegevens rol spelen

Page 15: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

15 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Klasse

klant bestelling product

Page 16: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

16 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Object

klant bestelling product

Page 17: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

17 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Attribuut

voornaamtussenvoegselachternaamstraathuisnummerhuisnummertoevoegingpostcodeplaats

klant bestelling

nummerstatusbesteld op

product

naammerkprijs incl. btw

Kleine letters, tenzij taalkundig altijd met hoofdletter

Page 18: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

18 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Attribuuttypen

voornaam : stringtussenvoegsel : stringachternaam : stringstraat : stringhuisnummer : integerhuisnummertoevoeging : stringpostcode : stringplaats : string

klant bestelling

nummer : integerstatus : processbesteld op : datetime

product

naam : stringmerk : stringprijs incl. btw : amount in €

Page 19: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

19 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Optionele attributen

voornaam : string [0..1]tussenvoegsel : string [0..1]achternaam : stringstraat : stringhuisnummer : integerhuisnummertoevoeging : string [0..1]postcode : stringplaats : string

klant bestelling

nummer : integerstatus : processbesteld op : datetime [0..1]

product

naam : stringmerk : stringprijs incl. btw : amount in €

Page 20: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

20 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Enumeratie

voornaam : string [0..1]tussenvoegsel : string [0..1]achternaam : stringgeslacht : geslacht [0..1]straat : stringhuisnummer : integerhuisnummertoevoeging : string [0..1]postcode : stringplaats : stringprivilegeniveau : privilegeniveau

klant bestelling

product

nummer : integerstatus : processbesteld op : datetime [0..1]

naam : stringmerk : stringprijs incl. btw : amount in €

«enumeration»privilegeniveau

bronszilvergoud

«enumeration»geslacht

manvrouw

Page 21: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

21 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Associatie

klant bestelling product

Page 22: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

22 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Multipliciteit

1 * * *

klant bestelling product

multipliciteit: Aantal geassocieerde objecten:

1 precies 1 (afkorting van 1..1)

0..1 0 of 1

* 0 of meer (is afkorting van 0..*)

1..* 1 of meer

Page 23: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

23 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Voorkom kip ei probleem

klant bestelling

1 1..*

klant bestelling

1 *

Page 24: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

24 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Tussenklasse

klant bestelling

product

1 *

*

1 *

bestelregel

aantal : integer

1

Page 25: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

25 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Composiet = Cascading Delete

klant bestelling

product

1 *

*bestelregel

1 *

Page 26: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

26 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Aggregatieklant

product*

bestelregel

1 *

*

Klant met zijn bestellingen verwijderen?

Wilt u deze klant inclusief zijn 5 bestellingen verwijderen?

Verwijderen Annuleren

bestelling

Page 27: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

27 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Navigeerbaarheid

klant bestelling

product

1 *

*

bestelregel

1*

Page 28: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

28 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Naam van associatie einde

transportboeking plaats

naam : string1*

1*naar

vanaf

Page 29: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

29 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Referentieklasse

privilegeniveau : privilegeniveau

klant «enumeratie»privilegeniveau

bronszilvergoud

Enumeratie:

Referentieklasse:

privilegeniveau

naam : string

klant1

*

Page 30: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

30 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Afgeleide attributen

klant bestelling

product

1 *

*bestelregel

1*

aantal : integerprijs per stuk incl. btw : amount in €/totaalbedrag bestelregel incl. btw: amount in €

/totaalbedrag bestelling incl. btw : amount in €

Page 31: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

31 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Overervingboeking

aantal personen : integertotaalprijs incl. btw: amount in €

hotelboeking

«enumeration»bedgrootte

king sizequeen sizebudget size

bedgrootte : bedgrootteontbijt : boolean

busreisvliegreis

klasse : vliegklasse

«enumeration»vliegklasse

businesseconomy

plaats

naam : string

1*

van

1*naar

transportboeking

Page 32: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

32 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Gebruikers en rollen

gebruikersnaam : stringwachtwoord : passwordis klant : booleanis magazijnmedewerker : booleanis verkoper : booleanis produktbeheerder : boolean

gebruiker

Page 33: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

33 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Telefoonnummer type string

Page 34: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

34 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Layout van diagram

Maak de layout van diagrammen zo, dat de letters voldoende groot zijn als je ze op een beamer of in een ontwerpdocument toont.

Page 35: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

35 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Object Relational Mapping

Page 36: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

36 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

ORM: klasse

voornaam : stringtussenvoegsel : string [0..1]achternaam : string

klant

productnaam : stringprijs incl. btw : amount in €

klassendiagram:

id (PK, int, not null)voornaam (varchar, not null)tussenvoegsel (varchar, null)achternaam (varchar, not null)

klant

productid (PK, int, not null)naam (varchar, not null)prijsInclBtw (decimal, not null)

database-ontwerp:

Page 37: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

37 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

ORM: 1 op veel associatie

klant

bestelling

1

*

klassendiagram:

klant

bestellingid (PK, int, not null)klantid (FK, int, not null)

id (PK, int, not null)

database-ontwerp:

Page 38: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

38 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

ORM: veel op veel associatie

klassendiagram:

student les* *

database-ontwerp:

student les

studentid (PK, FK, int, not null)lesid (PK, FK, int, not null)

student_les

id (PK, int, not null) id (PK, int, not null)

Page 39: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

39 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

ORM: 1 op 1 associatie

klassendiagram:

bestelling

factuur

1

0..1

database-ontwerp:

factuurid (PK, FK, int, not null)

id (PK, int, not null)bestelling

Page 40: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

40 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

ORM: overerving Delegate

klassendiagram:

bedgrootteovernachting reis

afstand

boekingprijs

database-ontwerp:

id (PK, FK)bedgrootte

overnachting reisid (PK, FK)afstand

boekingid (PK)prijs

Page 41: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

41 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

ORM: overerving roll down

klassendiagram:

bedgrootteovernachting reis

afstand

database-ontwerp:

id (PK)prijsbedgrootte

overnachting reisid (PK)prijsafstand

boekingprijs

Page 42: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

42 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

ORM: overerving roll up

klassendiagram:

bedgrootteovernachting reis

afstand

boekingprijs

database-ontwerp:

boekingid (PK)soortprijsbedgrootteafstand

Page 43: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

43 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Vragen?

Page 44: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

44 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Oefening Klassendiagram

• Maak klassendiagram met:• Klassen• Associaties• Multipliciteiten• Attributen• Indien nodig: Overerving

Page 45: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

45 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Processen d.m.v. Activity Diagram

• Doel: Laten zien welke processen de objecten van een klasse doorlopen

Page 46: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

46 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Voorbeeld van bedrijfsproces

magazijnmedewerkerklant

winkelwagen

bestellen

te betalen

betalen betaald versturen

verstuurd

proces van bestelling:

bestelling

nummer : integerstatus : processbesteld op : datetime [0..1]

Page 47: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

47 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Voorwaarde

magazijnmedewerkerklant

winkelwagen

bestellen

te betalen

betalen betaald versturen

verstuurd

proces van bestelling:

bestelling

nummer : integerstatus : processbesteld op : datetime [0..1]

[aantal bestelregels > 0]

Page 48: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

48 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Automatische Keuzeproces van aanvraagregel:

automatischegoedkeuring

medewerkerleasemaatschappij

medewerkergaragebedrijf

nieuw

aanvragen

gereed melden

goedgekeurd

afkeuren

[and

ers]

handmatigte beoordelenaangevraagd

[automatischakkoord]

gereed gemeld

afgekeurd[automatischafgewezen]

goedkeuren

Page 49: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

49 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Handmatige Keuze

automatischegoedkeuring

medewerkerleasemaatschappij

medewerkergaragebedrijf

nieuw

aanvragen

gereed melden

goedgekeurd

afkeuren

proces van aanvraagregel:

[and

ers]

handmatigte beoordelenaangevraagd

[automatischakkoord]

gereed gemeld

afgekeurd[automatischafgewezen]

goedkeuren

Page 50: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

50 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Handmatige Keuze

automatischegoedkeuring

medewerkerleasemaatschappij

medewerkergaragebedrijf

nieuw

aanvragen

gereed melden

goedgekeurd

beoordelen

proces van aanvraagregel:

[and

ers]

handmatigte beoordelenaangevraagd

[automatischakkoord]

gereed gemeld

afgekeurd[automatischafgewezen]

Page 51: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

51 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Impliciete Merge

automatischegoedkeuring

medewerkerleasemaatschappij

medewerkergaragebedrijf

nieuw

aanvragen

gereed melden

goedgekeurd

beoordelen

proces van aanvraagregel:

[and

ers]

handmatigte beoordelenaangevraagd

[automatischakkoord]

gereed gemeld

afgekeurd[automatischafgewezen]

Page 52: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

52 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Verwijderen afh v status

automatischegoedkeuring

medewerkerleasemaatschappij

medewerkergaragebedrijf

nieuw

aanvragen

gereed melden

goedgekeurd

beoordelen

proces van aanvraagregel:

[and

ers]

handmatigte beoordelenaangevraagd

[automatischakkoord]

gereed gemeld

afgekeurd[automatischafgewezen]

verwijderenverwijderd

Page 53: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

53 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Timer

boekhoudersysteem

te betalen betaling koppelen

betaald

proces van factuur:

versturen naar klant

betalings-herinneringversturen

te versturen

na 1 week

na 10 werkdagen

incassobureau inschakelen

incassobureauingeschakeldincassobureau in te schakelen

betalingsherinnering te versturen

betalingsherinnering verstuurd

Page 54: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

54 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Veel Ingangsstatussen

boekhoudersysteem

te betalen betaling koppelen

betaald

proces van factuur:

versturen naar klant

betalings-herinneringversturen

te versturen

na 1 week

na 10 werkdagen

incassobureau inschakelen

incassobureauingeschakeldincassobureau in te schakelen

betalingsherinnering te versturen

betalingsherinnering verstuurd

Page 55: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

55 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Geen Ingangsstatus

boekhoudersysteem

te betalen betaling koppelen

betaald

proces van factuur:

versturen naar klant

betalings-herinneringversturen

te versturen

na 1 week

na 10 werkdagen

incassobureau inschakelen

incassobureauingeschakeldincassobureau in te schakelen

betalingsherinnering te versturen

betalingsherinnering verstuurd

Page 56: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

56 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Parallelle activiteiten

boekhouder magazijn-medewerker

systeemklant

winkelwagen

te versturen bestellingversturen

proces van bestelling:

factuur versturen betaald

te betalen

betaling koppelen

te factureren

bestellen

verstuurd

afge

hand

eld

Page 57: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

57 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Eenvoudig subproces

boekhouder magazijn-medewerker

systeem

proces van factuur:

klant

winkelwagen

te versturen bestellingversturen

proces van bestelling:

factuur versturen betaald

te betalen

betaling koppelen

te factureren

bestellen

verstuurd

afge

hand

eld

Page 58: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

58 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Apart subproces

systeem

boekhoudersysteem

magazijn-medewerker

klant

winkelwagente versturen bestelling

versturen

proces van bestelling:

factuur versturen betaald

te betalen

betaling koppelen

te factureren

bestellen

verstuurd

afge

hand

eld

proces van factuur

proces van factuur:

Page 59: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

59 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Signaal

magazijn-medewerker

systeemklant

winkelwagen

bestellenbesteld factuur

creëren

te versturen bestelling

versturen

afgehandeldproces van bestelling:

factuur is betaald

verstuurd

boekhoudersysteem

betaaldte betalen betaling koppelen

proces van factuur:

factuur is betaald

factuurversturen

te factureren

afgehandeld

Page 60: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

60 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Layout van diagram

Maak de layout van diagrammen zo, dat de letters voldoende groot zijn als je ze op een beamer of in een ontwerpdocument toont.

Page 61: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

61 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Schermstroom komt later

Uitloggen

Inlogscherm

Overzicht belacties

[gebruikersnaam enwachtwoord zijn correct]

Inloggen

[and

ers]

Toon modusloos bericht “gebruikersnaam en/of wachtwoord incorrect”.

Volgende belactie

Toon debiteur van volgende belactie.

UitloggenBelactie

Debiteurdetails

Page 62: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

62 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Create, Read, Update, Delete komt later

Page 63: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

63 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Vragen?

Page 64: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

64 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Oefening voor Processen

• Inventariseer van welke klassen in uw applicatie de objecten een bedrijfsproces doorlopen

• Teken voor elk van deze klassen:• voor elke gebruikersrol die in het proces iets

doet een zwembaan• de activiteiten• tussen deze activiteiten de statussen in de

vorm van pijlen• Indien dit weinig processen zijn: vraag docent om

extra oefeningen

In StarUML teken je een guard d.m.v. Annotation > Text

Page 65: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

65 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Rollen & Autorisaties

Doel:• Aangeven welke rollen gebruikers kunnen hebben,• en wat deze gebruikers kunnen (mogen) doen.

Page 66: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

66 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Zwembanen

magazijnmedewerkerklant

winkelwagen

bestellen

te betalen

betalen betaald versturen

verstuurd

proces van bestelling:

bestellingnummer : integerstatus : processbesteld op : datetime [0..1]

Page 67: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

67 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

CRUD matrix

klant

klant eigenC R U D

product R

bestelling C R U1D1

eigen

bestelregel C R U1D1

eigen

indien de status van de bestelling ‘winkelwagen’ is1

magazijn-medewerker

R

R

R

R

product-beheerder

C R U D

R

R

R

Create Read Update Delete

Page 68: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

68 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Attributen in CRUD matrix

klant

bestelling

product

bestelregelprijs incl. btw

product-beheerderklant

magazijn-medewerker

C R U1D1

eigenC R U D

C R U1D1

R

R

eigen

eigen

indien de status van de bestelling ‘winkelwagen’ is1

eigen

C R U D R

R

R

R

R

R

R

R

R

Page 69: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

69 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Associaties in CRUD matrix

klant

plaats

transportboekingvan

verkoperklant planner

eigenC R U D

C R D1

R

R Ueigen

indien de status van de reis ‘nog niet definitief’ is1

eigen

C R U DR

R

R

R

R

R

R

naar R Ueigen

RR

plaatsnaam : string

1*van

1*naar

transportboeking

Page 70: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

70 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Verwijderen afhankelijk van status

proces van reparatie- of onderhoudsactiviteit:

automatischegoedkeuring

medewerkerleasemaatschappij

medewerkergaragebedrijf

nieuw

aanvragen

gereed melden

akkoord

beoordelen

[and

ers]

handmatigte beoordelenaangevraagd

[automatischakkoord]

gereed gemeld

afgewezen [automatischafgewezen]

verwijderen

verwijderd

Page 71: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

71 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Vragen?

Page 72: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

72 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Oefening Rollen & Autorisaties

• Maak CRUD matrix voor uw applicatie

• Waar nodig, aparte rijen voor attributen en associaties

• Wanneer alleen op eigen objecten, geef dit dan aan met het woord ‘eigen’

• Als andere beperkingen, voetnoten

Page 73: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

73 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Navigatie: Schermstroomdiagram

Doel:• Aangeven hoe gebruiker tussen de schermen van

de applicatie navigeert

Page 74: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

74 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Voorbeeld

Uitloggen

Inlogscherm

Overzicht belacties

[gebruikersnaam enwachtwoord zijn correct]

Inloggen

[and

ers]

Toon modusloos bericht “gebruikersnaam en/of wachtwoord incorrect”.

Volgende belactie

Toon debiteur van volgende belactie.

UitloggenBelactie

Debiteurdetails

Schermstroom van debiteurenbeheerder:

Page 75: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

75 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Hoofdmenu

Inlogscherm

Producten

[gebruikersnaam enwachtwoord zijn correct]

Inloggen

[and

ers]

«pseudostate» menubalk

toon modusloos bericht “gebruikersnaam en/of wachtwoord incorrect”

Klanten Bestellingen

«popup»Nieuw product

AnnulerenCreëren

«popup»Product

AnnulerenOpslaan

«popup»Klant

«popup»Bestelling

Uitloggen

Sluiten Sluiten

Schermstroom van productbeheerder:

Page 76: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

76 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Navigeren via hoofdvenster...

Product

prijs incl. btw

naam Kaas, jong, 1 kilogram

12

Opslaan Annuleren

Page 77: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

77 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

...of via popup

Product

prijs incl. btw

naam Kaas, jong, 1 kilogram

12

Opslaan Sluiten

Page 78: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

78 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Layout van diagram

Maak de layout van je diagrammen zo, dat ze grote letters hebben als je ze op een beamer wilt laten zien.

Page 79: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

79 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Vragen?

Page 80: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

80 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Oefening voor Schermnavigatie

• Teken het hoofdmenu van uw applicatie

• Teken de schermstroomdiagrammen voor uw applicatie

StarUML toont een choice als een cirkel i.p.v. een diamant

Page 81: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

81 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Schermen

Doel:• Aangeven wat je ziet op de schermen,

• en hoe ze werken

Mooie vormgeving valt buiten bereik van deze cursus, dus besteed daar nu geen tijd aan!

Page 82: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

82 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Voorbeeld

In winkelwagen:

InloggenGebruikersaccount aanmaken

1 x iPad 3G3 x Magic Mouse

Totaal inc. btw

Bestellen

Apple Zoek producten

iPadiPad 3G

iPhone 4GSMacBook Air 11 inch 64 GB

MacBook Air 13 inch 128 GBMagic Mouse

Magic Trackpad

MerkProductPrijsinc. btw Aantal

€ 320

€ 398€ 495€ 869€ 999

Apple

AppleAppleAppleApple

Toevoegen aan winkelwagen

€ 398€ 195

€ 65Apple

€ 85Apple

€ 593

Startscherm van een klant:

Page 83: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

83 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Moet kloppen met schermstroom

aanmelden

startscherm

inloggen

[and

ers]

toevoegen aanwinkelwagen

toon modusloos bericht “gebruikersnaam en/of wachtwoord incorrect”

bestellen

winkelwagen

«modal»betalen via

iDeal

[ingelogd]

[and

ers]

betalen

gebruikersaccountaanmaken

gebruikersaccountaanmaken

[gebruikersnaam enwachtwoord zijn correct]

betalen

bevestigen

sluiten

aangegeven aantallentoevoegen aan winkelwagen en

aantallen weer leeg maken

«modal»bevestiging

betaling

Schermstroom van een klant:

Page 84: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

84 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Attributen van klassendiagram

boolean

enumeratie

integer, floatstring

Schermelement:Type van het attribuut:

checkbox

radiogroep of dropdown

textboxtextbox

amount textbox met valutateken €

datetime of timestamp date picker met tijdbox

date date picker vrijdag 6 april 2012 :::

vrijdag 6 april 2012 :::

time tijdbox

9:15

9:15

keuze 1keuze 2

keuze 1keuze 2keuze 3

of

Page 85: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

85 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Associatie enkelvoudige multipliciteit

klant verkoper

* 0..1

Schermelement:Situatie:

Weinig elementen om uit te kiezen engenoeg ruimte beschikbaar

radio groep

keuze 1 …

keuze 1keuze 2keuze 3

keuze 1keuze 2keuze 3

Weinig elementen om uit te kiezen enweinig ruimte beschikbaar

dropdown

Veel elementen om uit te kiezen veld met selecteerknop

Page 86: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

86 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Associatie meervoudige multipliciteit

klant verkoper

* 0..1

Abel de EersteBenny van Beverwijk

Dirk SmetsKarel de Grote

Nico de HaasPeter Pippeling

Stefan Klein Zwaaftink

Klanten Klant toevoegen…

x+

xxxxxx

Page 87: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

87 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Duidelijke namen van knoppen

Opslaan?

Wilt u de wijzigingen opslaan?

Opslaan Niet opslaan Annuleren

Opslaan?

Wilt u de wijzigingen opslaan?

Ja Nee Annuleren

Page 88: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

88 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Knop uitgrijzen

tussenvoegsel

postcode & plaats *

email

telefoon thuis

Persoonvoornaam

straat & huisnummer *

achternaam *

telefoon mobiel

Opslaan Annuleren Velden met een * zijn verplicht

Opslaan is niet mogelijk omdat er geen achternaam, straat, huisnummer, postcode en plaats is ingevuld.

Page 89: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

89 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Helpteksten

tussenvoegsel

postcode & woonplaats

email

telefoon thuis

Nieuwe persoonvoornaam

straat & huisnummer

achternaam

telefoon mobiel

Creëren Annuleren

?

?

Het huisnummer is inclusief de eventuele toevoeging

(bis, III hoog, a, etc.).

Page 90: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

90 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Defaultwaarden...

Ingangsdatum

Brandstof

Nieuw leasecontractKenteken

Winterbanden

Looptijd 36

Opslaan Annuleren

:::maanden

BenzineDieselElektriciteitLPG

Page 91: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

91 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

... of zekerheid dat bewust invullen

Ingangsdatum *

Brandstof *

Nieuw leasecontractKenteken *

Winterbanden *

Looptijd *

Opslaan Annuleren

:::maanden

BenzineDieselElektriciteitLPG

Velden met een * zijn verplicht

Page 92: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

92 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Niet-modale mededeling

Abel de EersteBenny van Beverwijk

Dirk SmetsKarel de Grote

Nico de HaasPeter Pippeling

Stefan Klein Zwaaftink

Klanten Klant toevoegen…

x+

xxxxxx

De wijzigingen in klant Nico de Haas zijn opgeslagen.

Page 93: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

93 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Bevestigen of ongedaan maken

Abel de EersteBenny van Beverwijk

Dirk SmetsKarel de Grote

Nico de HaasPeter Pippeling

Stefan Klein Zwaaftink

Klanten Klant toevoegen…

x+

xxxxxx

De klant Jan Jansen is verwijderd. ongedaan maken

Page 94: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

94 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Het CRUD patroon...

Kaas, belegen, 1 kilogram € 14,-Kaas, jong, 1 kilogram € 12,-

Kaas, oud, 1 kilogram € 16,-Kwark, halfvol, 500 gram € 3,-

Kwark, vol, 500 gram € 4,-Melk, vol, 1 liter € 1,50

Yoghurt, vol, 1 liter € 2,-

Producten Nieuw product…

x+

xxxxxx

Producten

hoofdmenu

Nieuw product

AnnulerenCreëren

Product

AnnulerenOpslaan

Page 95: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

95 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

... CRUD patroon

Nieuw product

prijs incl. btw

naam Slagroom, vol, 250 gram

3

Creëren Annuleren

Product

prijs incl. btw

naam Kaas, jong, 1 kilogram

12

Opslaan Sluiten

Page 96: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

96 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Layout van diagram

Maak de layout van schermen zo, dat de letters voldoende groot zijn als je ze op een beamer of in een ontwerpdocument toont.

Page 97: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

97 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Vragen?

Page 98: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

98 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Oefening voor schermen

• Teken de schermen van uw applicatie

• Maak schermstroomdiagram consistent ermee

• Maak alles consistent met eerder getekende diagrammen

Page 99: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

99 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Bedrijfslogicaregels

Page 100: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

100 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Meestal onderdeel van model

bestelling

*bestelregel

magazijnmedewerkerklant

winkelwagen

bestellen

te betalen

betalenbetaald

versturen

verstuurd

proces van bestelling:

Page 101: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

101 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Soms in tekst beschrijven

Voorbeeld

Als een klant voor € 1000 (excl. btw) of meer tegelijk bestelt, krijgt hij 2% korting.

Altijd kort en duidelijk beschrijven!

Page 102: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

102 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Voorwaarde in bedrijfsproces

versturen[v

oldo

ende

in v

oorr

aad][anders]

backorderen

te backorderen

te versturenbetaald

Page 103: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

103 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Voorwaarde in schermstroom

Inlogscherm

Overzicht belacties

[gebruikersnaam enwachtwoord zijn correct]

Inloggen

[and

ers]

Page 104: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

104 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Automatische gebeurtenis

Inlogscherm

Overzicht belacties

[gebruikersnaam enwachtwoord zijn correct]

Inloggen

[and

ers]

Toon modusloos bericht “gebruikersnaam en/of wachtwoord incorrect”.

Page 105: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

105 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Vragen?

Page 106: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

106 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Oefening voor Bedrijfslogicaregels

• Beschrijf de bedrijfslogicaregels van uw applicatie

Page 107: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

107 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Rapporten & Koppelingen

Page 108: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

108 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Rapporten

• Specification by Example

• Representatieve gegevens• Bijvoorbeeld meerdere exemplaren waar dat

mogelijk moet zijn

• Tonen via schermstroom hoe gebruikers rapport kunnen opvragen

Page 109: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

109 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Koppelingen tussen systemen

webshop

iDeal

Page 110: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

110 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Afhankelijkheden tussen systemen

model view

controller

Page 111: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

111 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Afhankelijkheden tussen packages

user interface

business logic

entities

Page 112: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

112 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Vragen over de hele stof?

Page 113: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

113 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Oefening

• Maak uw functioneel ontwerp volledig en correct

• Maak voorbeelden van de te genereren rapporten

• Geef aan welke systemen een rol spelen

• Geef de afhankelijkheden tussen deze systemen weer

In StarUML teken je een interface als interface + association, en wordt een dependency op een interface op een andere manier getoond.

Page 114: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

114 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Van ontwerp naar realisatie

Page 115: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

115 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Scrum

sprint 1

sprint planning

sprint demo

daily standup

retrospective

daily standupdaily standupetc.

tijd etc.

sprint 2

sprint planning

sprint demo

daily standup

retrospective

daily standupdaily standupetc.

Page 116: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

116 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Product Backlog

Openstaand bedrag van debiteur zien

Facturen zien

Betalingsherinneringen versturen

Contactmomenten loggen

Debiteuren zien

Betalingen zien

Betalingsherinneringen aanmaken

Betalingsherinneringen zien

Contactmomenten zien

Page 117: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

117 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Rollen in een Scrum proces

product owner scrum master

Het proces

teamlid

Ontwikkelaar

Tester

Grafisch ontwerper

etc.Functioneel ontwerp

Page 118: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

118 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Iteratieplan

sprint 1: Openstaande bedragen inzien

tijd

sprint 2: Facturen en betalingen inzien

etc.

sprint 3: Herinneringen versturen

sprint 4: Contactmomenten loggen

Page 119: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

119 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Modelgedreven Ontwikkeling

Modellen

Sjablonen

Code generatie

Source code van werkende

applicatie

Modellen

Engine

Werkende applicatieRuntime interpretatie

Page 120: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

120 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Oefening

• Maak een product backlog op basis waarvan uw functioneel ontwerp gebouwd kan worden.

Page 121: 1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language.

121 Hendrik Jan van RandenInleiding UML

Realisatie

Klassen

Processen

Rollen

Navigatie

Schermen

Logica

Koppelen

Eisen

Inleiding

Veel modelleerplezier!