De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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

Verwante presentaties


Presentatie over: "1 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding UML Unified Modeling Language."— Transcript van de presentatie:

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

2 2 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Waarom modelleren? Eenduidigheid: Afbeelding zegt meer dan 1000 woorden versie 3

3 3 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Agenda <- zie linker kantlijn

4 4 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Naslagwerk Verkrijgbaar in elke boekhandel

5 5 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Programma van Eisen Beschrijft: • Doel • Bereik • Eisen • Use Cases

6 6 Hendrik Jan van Randen Inleiding 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

7 7 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Bereik beschrijft kort en bondig wat applicatie wel en niet doet.

8 8 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Eisen • Wat • Niet hoe

9 9 Hendrik Jan van Randen Inleiding 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

10 10 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Alomtegenwoordige taal Consequente, voor zich sprekende, naamgeving

11 11 Hendrik Jan van Randen Inleiding 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

12 12 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Vragen?

13 13 Hendrik Jan van Randen Inleiding 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 cases Dit is de basis voor uw functioneel ontwerp Beschrijf voor maatwerksoftware die uw organisatie wil (laten) bouwen:

14 14 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Klassendiagram • Doel: aangeven welke gegevens rol spelen

15 15 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Klasse klantbestellingproduct

16 16 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Object klantbestelling product

17 17 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Attribuut voornaam tussenvoegsel achternaam straat huisnummer huisnummertoevoeging postcode plaats klantbestelling nummer status besteld op product naam merk prijs incl. btw Kleine letters, tenzij taalkundig altijd met hoofdletter

18 18 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Attribuuttypen voornaam : string tussenvoegsel : string achternaam : string straat : string huisnummer : integer huisnummertoevoeging : string postcode : string plaats : string klantbestelling nummer : integer status : process besteld op : datetime product naam : string merk : string prijs incl. btw : amount in €

19 19 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Optionele attributen voornaam : string [0..1] tussenvoegsel : string [0..1] achternaam : string straat : string huisnummer : integer huisnummertoevoeging : string [0..1] postcode : string plaats : string klantbestelling nummer : integer status : process besteld op : datetime [0..1] product naam : string merk : string prijs incl. btw : amount in €

20 20 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Enumeratie voornaam : string [0..1] tussenvoegsel : string [0..1] achternaam : string geslacht : geslacht [0..1] straat : string huisnummer : integer huisnummertoevoeging : string [0..1] postcode : string plaats : string privilegeniveau : privilegeniveau klant bestelling product nummer : integer status : process besteld op : datetime [0..1] naam : string merk : string prijs incl. btw : amount in € «enumeration» privilegeniveau brons zilver goud «enumeration» geslacht man vrouw

21 21 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Associatie klantbestelling product

22 22 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Multipliciteit 1 ** * klantbestelling product multipliciteit:Aantal geassocieerde objecten: 1precies 1 (afkorting van 1..1) of 1 *0 of meer (is afkorting van 0..*) 1..*1 of meer

23 23 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Voorkom kip ei probleem klantbestelling 1 1..* klantbestelling 1 *

24 24 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Tussenklasse klantbestelling product 1 * * 1 * bestelregel aantal : integer 1

25 25 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Composiet = Cascading Delete klantbestelling product 1 * * bestelregel 1 *

26 26 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Aggregatie klant product * bestelregel 1 * * Klant met zijn bestellingen verwijderen? Wilt u deze klant inclusief zijn 5 bestellingen verwijderen? VerwijderenAnnuleren bestelling

27 27 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Navigeerbaarheid klantbestelling product 1 * * bestelregel 1 *

28 28 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Naam van associatie einde transportboeking plaats naam : string 1 * 1 * naar vanaf

29 29 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Referentieklasse privilegeniveau : privilegeniveau klant «enumeratie» privilegeniveau brons zilver goud Enumeratie: Referentieklasse: privilegeniveau naam : string klant 1 *

30 30 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Afgeleide attributen klantbestelling product 1 * * bestelregel 1 * aantal : integer prijs per stuk incl. btw : amount in € /totaalbedrag bestelregel incl. btw: amount in € /totaalbedrag bestelling incl. btw : amount in €

31 31 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Overerving boeking aantal personen : integer totaalprijs incl. btw: amount in € hotelboeking «enumeration» bedgrootte king size queen size budget size bedgrootte : bedgrootte ontbijt : boolean busreis vliegreis klasse : vliegklasse «enumeration» vliegklasse business economy plaats naam : string 1 * van 1 * naar transportboeking

32 32 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Gebruikers en rollen gebruikersnaam : string wachtwoord : password is klant : boolean is magazijnmedewerker : boolean is verkoper : boolean is produktbeheerder : boolean gebruiker

33 33 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Telefoonnummer type string

34 34 Hendrik Jan van Randen Inleiding 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.

35 35 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Object Relational Mapping

36 36 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding ORM: klasse voornaam : string tussenvoegsel : string [0..1] achternaam : string klant product naam : string prijs incl. btw : amount in € klassendiagram: id (PK, int, not null) voornaam (varchar, not null) tussenvoegsel (varchar, null) achternaam (varchar, not null) klant product id (PK, int, not null) naam (varchar, not null) prijsInclBtw (decimal, not null) database-ontwerp:

37 37 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding ORM: 1 op veel associatie klant bestelling 1 * klassendiagram: klant bestelling id (PK, int, not null) klantid (FK, int, not null) id (PK, int, not null) database-ontwerp:

38 38 Hendrik Jan van Randen Inleiding 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)

39 39 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding ORM: 1 op 1 associatie klassendiagram: bestelling factuur database-ontwerp: factuur id (PK, FK, int, not null) id (PK, int, not null) bestelling

40 40 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding ORM: overerving Delegate klassendiagram: bedgrootte overnachting reis afstand boeking prijs database-ontwerp: id (PK, FK) bedgrootte overnachtingreis id (PK, FK) afstand boeking id (PK) prijs

41 41 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding ORM: overerving roll down klassendiagram: bedgrootte overnachting reis afstand database-ontwerp: id (PK) prijs bedgrootte overnachtingreis id (PK) prijs afstand boeking prijs

42 42 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding ORM: overerving roll up klassendiagram: bedgrootte overnachtingreis afstand boeking prijs database-ontwerp: boeking id (PK) soort prijs bedgrootte afstand

43 43 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Vragen?

44 44 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Oefening Klassendiagram • Maak klassendiagram met: • Klassen • Associaties • Multipliciteiten • Attributen • Indien nodig: Overerving

45 45 Hendrik Jan van Randen Inleiding 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

46 46 Hendrik Jan van Randen Inleiding 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 : integer status : process besteld op : datetime [0..1]

47 47 Hendrik Jan van Randen Inleiding 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 : integer status : process besteld op : datetime [0..1] [aantal bestelregels > 0]

48 48 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Automatische Keuze proces van aanvraagregel: automatische goedkeuring medewerker leasemaatschappij medewerker garagebedrijf nieuw aanvragen gereed melden goedgekeurd afkeuren [anders] handmatig te beoordelen aangevraagd [automatisch akkoord] gereed gemeld afgekeurd [automatisch afgewezen] goedkeuren

49 49 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Handmatige Keuze automatische goedkeuring medewerker leasemaatschappij medewerker garagebedrijf nieuw aanvragen gereed melden goedgekeurd afkeuren proces van aanvraagregel: [anders] handmatig te beoordelen aangevraagd [automatisch akkoord] gereed gemeld afgekeurd [automatisch afgewezen] goedkeuren

50 50 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Handmatige Keuze automatische goedkeuring medewerker leasemaatschappij medewerker garagebedrijf nieuw aanvragen gereed melden goedgekeurd beoordelen proces van aanvraagregel: [anders] handmatig te beoordelen aangevraagd [automatisch akkoord] gereed gemeld afgekeurd [automatisch afgewezen]

51 51 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Impliciete Merge automatische goedkeuring medewerker leasemaatschappij medewerker garagebedrijf nieuw aanvragen gereed melden goedgekeurd beoordelen proces van aanvraagregel: [anders] handmatig te beoordelen aangevraagd [automatisch akkoord] gereed gemeld afgekeurd [automatisch afgewezen]

52 52 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Verwijderen afh v status automatische goedkeuring medewerker leasemaatschappij medewerker garagebedrijf nieuw aanvragen gereed melden goedgekeurd beoordelen proces van aanvraagregel: [anders] handmatig te beoordelen aangevraagd [automatisch akkoord] gereed gemeld afgekeurd [automatisch afgewezen] verwijderen verwijderd

53 53 Hendrik Jan van Randen Inleiding 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- herinnering versturen te versturen na 1 week na 10 werkdagen incassobureau inschakelen incassobureau ingeschakeld incassobureau in te schakelen betalingsherinnering te versturen betalingsherinnering verstuurd

54 54 Hendrik Jan van Randen Inleiding 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- herinnering versturen te versturen na 1 week na 10 werkdagen incassobureau inschakelen incassobureau ingeschakeld incassobureau in te schakelen betalingsherinnering te versturen betalingsherinnering verstuurd

55 55 Hendrik Jan van Randen Inleiding 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- herinnering versturen te versturen na 1 week na 10 werkdagen incassobureau inschakelen incassobureau ingeschakeld incassobureau in te schakelen betalingsherinnering te versturen betalingsherinnering verstuurd

56 56 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Parallelle activiteiten boekhoudermagazijn- medewerker systeemklant winkelwagen te versturen bestelling versturen proces van bestelling: factuur versturen betaald te betalen betaling koppelen te factureren bestellen verstuurd afgehandeld

57 57 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Eenvoudig subproces boekhoudermagazijn- medewerker systeem proces van factuur: klant winkelwagen te versturen bestelling versturen proces van bestelling: factuur versturen betaald te betalen betaling koppelen te factureren bestellen verstuurd afgehandeld

58 58 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Apart subproces systeem boekhouder systeem magazijn- medewerker klant winkelwagen te versturen bestelling versturen proces van bestelling: factuur versturen betaald te betalen betaling koppelen te factureren bestellen verstuurd afgehandeld proces van factuur proces van factuur:

59 59 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Signaal magazijn- medewerker systeem klant winkelwagen bestellen besteld factuur creëren te versturen bestelling versturen afgehandeld proces van bestelling: factuur is betaald verstuurd boekhoudersysteem betaald te betalen betaling koppelen proces van factuur: factuur is betaald factuur versturen te factureren afgehandeld

60 60 Hendrik Jan van Randen Inleiding 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.

61 61 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Schermstroom komt later Uitloggen Inlogscherm Overzicht belacties [gebruikersnaam en wachtwoord zijn correct] Inloggen [anders] Toon modusloos bericht “gebruikersnaam en/of wachtwoord incorrect”. Volgende belactie Toon debiteur van volgende belactie. Uitloggen Belactie Debiteurdetails

62 62 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Create, Read, Update, Delete komt later

63 63 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Vragen?

64 64 Hendrik Jan van Randen Inleiding 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

65 65 Hendrik Jan van Randen Inleiding 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.

66 66 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Zwembanen magazijnmedewerkerklant winkelwagen bestellen te betalen betalen betaald versturen verstuurd proces van bestelling: bestelling nummer : integer status : process besteld op : datetime [0..1]

67 67 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding CRUD matrix klant eigen C R U D product R bestelling C R U 1 D 1 eigen bestelregel C R U 1 D 1 eigen indien de status van de bestelling ‘winkelwagen’ is 1 magazijn- medewerker R R R R product- beheerder C R U D R R R CreateReadUpdateDelete

68 68 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Attributen in CRUD matrix klant bestelling product bestelregel prijs incl. btw product- beheerder klant magazijn- medewerker C R U 1 D 1 eigen C R U D C R U 1 D 1 R R eigen indien de status van de bestelling ‘winkelwagen’ is 1 eigen C R U DR R R R R R R R R

69 69 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Associaties in CRUD matrix klant plaats transportboeking van verkoper klant planner eigen C R U D C R D 1 R R U eigen indien de status van de reis ‘nog niet definitief’ is 1 eigen C R U DR R R R R R R naar R U eigen R R plaats naam : string 1 * van 1 * naar transportboeking

70 70 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Verwijderen afhankelijk van status proces van reparatie- of onderhoudsactiviteit: automatische goedkeuring medewerker leasemaatschappij medewerker garagebedrijf nieuw aanvragen gereed melden akkoord beoordelen [anders] handmatig te beoordelen aangevraagd [automatisch akkoord] gereed gemeld afgewezen [automatisch afgewezen] verwijderen verwijderd

71 71 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Vragen?

72 72 Hendrik Jan van Randen Inleiding 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

73 73 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Navigatie: Schermstroomdiagram Doel: • Aangeven hoe gebruiker tussen de schermen van de applicatie navigeert

74 74 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Voorbeeld Uitloggen Inlogscherm Overzicht belacties [gebruikersnaam en wachtwoord zijn correct] Inloggen [anders] Toon modusloos bericht “gebruikersnaam en/of wachtwoord incorrect”. Volgende belactie Toon debiteur van volgende belactie. Uitloggen Belactie Debiteurdetails Schermstroom van debiteurenbeheerder:

75 75 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Hoofdmenu Inlogscherm Producten [gebruikersnaam en wachtwoord zijn correct] Inloggen [anders] «pseudostate» menubalk toon modusloos bericht “gebruikersnaam en/of wachtwoord incorrect” Klanten Bestellingen «popup» Nieuw product Annuleren Creëren «popup» Product Annuleren Opslaan «popup» Klant «popup» Bestelling Uitloggen Sluiten Schermstroom van productbeheerder:

76 76 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Navigeren via hoofdvenster... Product prijs incl. btw naam Kaas, jong, 1 kilogram 12 OpslaanAnnuleren €

77 77 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding...of via popup Product prijs incl. btw naam Kaas, jong, 1 kilogram 12 OpslaanSluiten €

78 78 Hendrik Jan van Randen Inleiding 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.

79 79 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Vragen?

80 80 Hendrik Jan van Randen Inleiding 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

81 81 Hendrik Jan van Randen Inleiding 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!

82 82 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Voorbeeld In winkelwagen: InloggenGebruikersaccount aanmaken 1 x iPad 3G 3 x Magic Mouse Totaal inc. btw Bestellen Apple Zoek producten iPad iPad 3G iPhone 4GS MacBook Air 11 inch 64 GB MacBook Air 13 inch 128 GB Magic Mouse Magic Trackpad Merk Product Prijs inc. btw Aantal € 320 € 398 € 495 € 869 € 999 Apple Toevoegen aan winkelwagen € 398 € 195 € 65 Apple € 85 Apple € 593 Startscherm van een klant:

83 83 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Moet kloppen met schermstroom aanmelden startscherm inloggen [anders] toevoegen aan winkelwagen toon modusloos bericht “gebruikersnaam en/of wachtwoord incorrect” bestellen winkelwagen «modal» betalen via iDeal [ingelogd] [anders] betalen gebruikersaccount aanmaken gebruikersaccount aanmaken [gebruikersnaam en wachtwoord zijn correct] betalen bevestigen sluiten aangegeven aantallen toevoegen aan winkelwagen en aantallen weer leeg maken «modal» bevestiging betaling Schermstroom van een klant:

84 84 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Attributen van klassendiagram boolean enumeratie integer, float string Schermelement: Type van het attribuut: checkbox radiogroep of dropdown textbox 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 keuze 1 keuze 2 keuze 1 keuze 2 keuze 3 of

85 85 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Associatie enkelvoudige multipliciteit klantverkoper * 0..1 Schermelement: Situatie: Weinig elementen om uit te kiezen en genoeg ruimte beschikbaar radio groep keuze 1 … keuze 2 keuze 3 keuze 1 keuze 2 keuze 3 Weinig elementen om uit te kiezen en weinig ruimte beschikbaar dropdown Veel elementen om uit te kiezen veld met selecteerknop

86 86 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Associatie meervoudige multipliciteit klantverkoper * 0..1 Abel de Eerste Benny van Beverwijk Dirk Smets Karel de Grote Nico de Haas Peter Pippeling Stefan Klein Zwaaftink Klanten Klant toevoegen… x + x x x x x x

87 87 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Duidelijke namen van knoppen Opslaan? Wilt u de wijzigingen opslaan? OpslaanNiet opslaanAnnuleren Opslaan? Wilt u de wijzigingen opslaan? JaNeeAnnuleren

88 88 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Knop uitgrijzen tussenvoegsel postcode & plaats * telefoon thuis Persoon voornaam straat & huisnummer * achternaam * telefoon mobiel OpslaanAnnuleren Velden met een * zijn verplicht Opslaan is niet mogelijk omdat er geen achternaam, straat, huisnummer, postcode en plaats is ingevuld.

89 89 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Helpteksten tussenvoegsel postcode & woonplaats telefoon thuis Nieuwe persoon voornaam straat & huisnummer achternaam telefoon mobiel CreërenAnnuleren ? ? Het huisnummer is inclusief de eventuele toevoeging (bis, III hoog, a, etc.).

90 90 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Defaultwaarden... Ingangsdatum Brandstof Nieuw leasecontract Kenteken Winterbanden Looptijd 36 OpslaanAnnuleren ::: maanden Benzine Diesel Elektriciteit LPG

91 91 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding... of zekerheid dat bewust invullen Ingangsdatum * Brandstof * Nieuw leasecontract Kenteken * Winterbanden * Looptijd * OpslaanAnnuleren ::: maanden Benzine Diesel Elektriciteit LPG Velden met een * zijn verplicht

92 92 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Niet-modale mededeling Abel de Eerste Benny van Beverwijk Dirk Smets Karel de Grote Nico de Haas Peter Pippeling Stefan Klein Zwaaftink Klanten Klant toevoegen… x + x x x x x x De wijzigingen in klant Nico de Haas zijn opgeslagen.

93 93 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Bevestigen of ongedaan maken Abel de Eerste Benny van Beverwijk Dirk Smets Karel de Grote Nico de Haas Peter Pippeling Stefan Klein Zwaaftink Klanten Klant toevoegen… x + x x x x x x De klant Jan Jansen is verwijderd. ongedaan maken

94 94 Hendrik Jan van Randen Inleiding 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 + x x x x x x Producten hoofdmenu Nieuw product Annuleren Creëren Product Annuleren Opslaan

95 95 Hendrik Jan van Randen Inleiding 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ërenAnnuleren € Product prijs incl. btw naam Kaas, jong, 1 kilogram 12 OpslaanSluiten €

96 96 Hendrik Jan van Randen Inleiding 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.

97 97 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Vragen?

98 98 Hendrik Jan van Randen Inleiding 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

99 99 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Bedrijfslogicaregels

100 100 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Meestal onderdeel van model bestelling * bestelregel magazijnmedewerkerklant winkelwagen bestellen te betalen betalen betaald versturen verstuurd proces van bestelling:

101 101 Hendrik Jan van Randen Inleiding 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!

102 102 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Voorwaarde in bedrijfsproces versturen [voldoende in voorraad] [anders] backorderen te backorderen te versturen betaald

103 103 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Voorwaarde in schermstroom Inlogscherm Overzicht belacties [gebruikersnaam en wachtwoord zijn correct] Inloggen [anders]

104 104 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Automatische gebeurtenis Inlogscherm Overzicht belacties [gebruikersnaam en wachtwoord zijn correct] Inloggen [anders] Toon modusloos bericht “gebruikersnaam en/of wachtwoord incorrect”.

105 105 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Vragen?

106 106 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Oefening voor Bedrijfslogicaregels • Beschrijf de bedrijfslogicaregels van uw applicatie

107 107 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Rapporten & Koppelingen

108 108 Hendrik Jan van Randen Inleiding 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

109 109 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Koppelingen tussen systemen webshop iDeal

110 110 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Afhankelijkheden tussen systemen modelview controller

111 111 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Afhankelijkheden tussen packages user interfacebusiness logicentities

112 112 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Vragen over de hele stof?

113 113 Hendrik Jan van Randen Inleiding 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.

114 114 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Van ontwerp naar realisatie

115 115 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Scrum sprint 1 sprint planning sprint demo daily standup retrospective daily standup etc. tijd etc. sprint 2 sprint planning sprint demo daily standup retrospective daily standup etc.

116 116 Hendrik Jan van Randen Inleiding 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

117 117 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Rollen in een Scrum proces product ownerscrum master Het proces teamlid Ontwikkelaar Tester Grafisch ontwerper etc. Functioneel ontwerp

118 118 Hendrik Jan van Randen Inleiding 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

119 119 Hendrik Jan van Randen Inleiding 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 applicatie Runtime interpretatie

120 120 Hendrik Jan van Randen Inleiding 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.

121 121 Hendrik Jan van Randen Inleiding UML Realisatie Klassen Processen Rollen Navigatie Schermen Logica Koppelen Eisen Inleiding Veel modelleerplezier!


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

Verwante presentaties


Ads door Google