BRP-BZM Use Case Realisations Guidelines

Vergelijkbare documenten
BRP-BZM Leeswijzer. Aanbesteding BZM gemeenten. Versie Definitief

KUC132 Onderhouden kiesdistricten en bureaus

Burgerzaken modules - MUC115 Raadplegen ontvangen systeemberichten

KUC081 Uitgifte rijbewijs

BRP-BZM Business Rule Guidelines

KUC043 Ontbinden huwelijk of partnerschap

UML is een visuele taal om processen, software en systemen te kunnen modeleren.

Burgerzaken modules - BRP-BZM Leeswijzer

KUC052 Registreren inschrijving op grond van aangifte verblijf en adres

Interactie diagrammen

Keten Test Case KUC205 Afhandelen Akte Actuele status Definitief

Beheervoorziening BSN - Use Case Specificatie 16: Toets of nummer een BSN is

KUC041 Registreren Huwelijk of Partnerschap Voorbereiding

KUC043 Ontbinden huwelijk enof partnerschap Definitief

case: sequence- en communicatiediagrammen

KUC082 Onderhouden rijbewijs

KUC031 Uitgeven document

KUC053 Registreren verhuizing vanuit Nederland Definitief

KUC071 Uitgifte reisdocument

Deel I Hoofdstuk 6: Modelleren van interactie

KTC201 Raadpleeg persoonsgegevens Definitief

KUC041 Registreren huwelijk of partnerschap Definitief

KUC045 Verbeteren huwelijk of partnerschap Definitief

ARE methodiek Het ontwikkelen van Informatie Elementen

DATAMODELLERING BASIS UML KLASSEMODEL

Unified Modeling Language

KUC091 Registreren overlijden Definitief

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2

Beheervoorziening BSN - Overzicht functionaliteiten

Beheervoorziening BSN - Use Case Specificatie 31: Vastleggen autorisatiegegevens

Rapportage Lineage. Introductie. Methode. J. Stuiver

Burgerzaken modules - KUC061 Registreren verzoek verkrijgen Nederlandse nationaliteit

case: toestandsdiagrammen

DATAMODELLERING CRUD MATRIX

Burgerzaken modules - KUC055 Corrigeren adres

Ontwerp Versturen Patiëntgegevens

KUC044 Omzetten partnerschap naar huwelijk Definitief

Burgerzaken modules - KUC132 Onderhouden stemdistricten en - bureaus

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Functioneel ontwerp. Omgevingsloket online. Koppeling met GBA

VAN USE CASE NAAR TEST CASE ORDINA SMART COMPETENCE CENTER

Burgerzaken modules - KUC205 Afhandelen Akte

Burgerzaken modules - Toelichting koppelvlakken

Les F-02 UML. 2013, David Lans

StUF in een notendop. Opsteller: Henri Korver Datum: 21 september 2005 Versie: 0.1 CONCEPT

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

KUC021 Wijzigen naam en/of geslacht

Mogelijk onvolledige datum

KUC200 Behandelen zaak

Technisch ontwerp in UML voor AngularJS-applicaties en andere webapplicaties

Burgerzaken modules - KUC134 Verwerken verkiezingsuitslag

Juliana van Stolberglaan CA Den Haag Postbus AC Den Haag [Handleiding Generieke interface Energielabels.

DATAMODELLERING DATA MAPPING MODEL

Beheervoorziening BSN - Use Case Specificatie 27: Genereren nummers

Wijzigingsvoorstel op het Logisch Model Aquo

Burgerzaken modules - KUC052 Registreren inschrijving op grond van aangifte verblijf en adres

Objectgericht Ontwerpen

Een inleiding in de Unified Modeling Language 79

Functioneel ontwerp. Omgevingsloket online. Koppeling met GBA

Onder aanvoering van de Object Modeling Group (OMG) werd UML een standaard op het gebied van objectgeoriënteerde modelleren.

1. Milieuklacht Handleiding opladen XML in mkros Werken met Refertes... 5

Hoofdstuk Error! Style not defined Use-case analyse

Ontwerp. <naam applicatie>

Functionele Dataservice Beschrijving

Technisch ontwerp in UML voor Angular-applicaties en andere webapplicaties

Software Test Plan. Yannick Verschueren

KUC051 Registreren verhuizing binnen Nederland Definitief

Burgerzaken modules - KUC043 Ontbinden huwelijk of partnerschap

Handleiding: OpenEmm nieuwsbrief manager Diergaarde Blijdorp

Dynamiek met VO-Script

Beheervoorziening BSN - Use Case 17: Authenticeren

DATAMODELLERING SIPOC

VERA 3.0. Bijlage D.4 - Keuzen verstuffing. Versie: 3.0 Datum: Status: Definitief

toon overzicht personeel toonoverzichtpersoneel() getpersoneelsleden() getgegevens() overzicht : Magazijnconsole : VoorraadBeheer : Produktsoort

DATAMODELLERING DATA FLOW DIAGRAM

DATAMODELLERING RACI MATRIX

Wijzigingsvoorstel op het Logisch Model Aquo Wijziging specificatie Wanddikte (ZATWANDD)

0.1 LVBAG Bevragen Productbeschrijving. versie 1.0. Datum. 10 augustus Document versie. 1.0 ConceptICT Services Keten RZDirectie IT

Functionele en technische meldingen

Burgerzaken modules - KUC004 Registreren ontkenning mede-ouderschap

Gebruikershandleiding Digikoppeling Compliance Voorziening (Portaal)

Burgerzaken modules - KUC202 Uitgeven uittreksel/afschrift burgerlijke stand

Beheervoorziening BSN

Documentatie. InstantModules Q42. Versie 1.1

Detail Ontwerp 4317 Nieuwe StUF release Omgevingsloket online release 2.9

Software Design Document

Burgerzaken modules - KUC042 Registreren huwelijk of partnerschap

De modellen die hiervoor gebruikt zijn zijn: Class diagrams; object diagrams; use case diagrams.

Methodiek. Versie: 16/05/ :42:35

Temperatuur logger synchronisatie

Beheervoorziening BSN - Use Case Specificatie 28: Ophalen nummergegevens

voorbeeldexamen Object Oriëntatie Foundation (OOF.NL) editie juli 2010 inhoud inleiding 3 voorbeeldexamen 4 antwoordindicatie 11 evaluatie 22

PS IFA 2.1 Savvion handmatig afboeken van (deel)verplichting

DATAMODELLERING ARCHIMATE DATA- & APPLICATIEMODELLERING

Een model voor procesondersteuning

Generieke interface energielabels

Keteininformatiemodellering op basis van UML

1. Welke diagrammen beschrijven het dynamisch gedrag van een applicatie?

Burgerzaken modules - KUC031 Uitgeven document

Transcriptie:

BRP-BZM Use Case Realisations Guidelines Versie 2.0 02-09-2011 Definitief

Versiehistorie Datum Versie Auteur 23-12-2010 0.1 Eerste versie R.F. Schaaf 04-01-2011 1.0 Feedback verwerkt R. Schaaf en D. Geluk rond E. Lopes Cardozo structuur EA en veschil message / operatie 05-01-2011 1.1 Toelichting interface aangevuld E. Lopes Cardozo 06-01-2011 1.2 Naamgeving van KUCR s in EA aangepast R. Froma Tekst opgenomen over de wijze waarop delen van flow hergebruikt kunnen worden. 02-09-2011 2.0 Aangeboden aan stuurgroep D. Geluk Reviewhistorie Datum Versie Reviewers Confidentieel Modernisering GBA, 2011 Pagina 2 van 6

Inhoudsopgave 1. USE CASE REALISATIONS GUIDELINES (KETEN NIVEAU)... 4 1.1 ALGEMEEN... 4 1.2 ADDITIONELE DOCUMENTATIE... 4 1.3 SEQUENCE DIAGRAMMEN... 4 Confidentieel Modernisering GBA, 2011 Pagina 3 van 6

1. Use Case Realisations Guidelines (keten niveau) 1.1 Algemeen Meer dan diagrammen Neem het goede niveau Een Realisation bevat (sequence) diagrammen, maar is daar niet tot beperkt. Overweeg dus wat je nodig hebt; is het nodig om een model van de keten bij te leveren? Hoe zit het met (gebruikers- / systeem) interfaces? Vaak heb je meer nodig dan alleen diagrammen. Een keten Use Case beschrijft de werking van de keten, niet de werking van de individuele systemen. 1.2 Additionele Documentatie Definieer Keten Definieer externe interfaces Definieer interne interfaces Maak een model van de hele keten; welke Actors zijn er voor de keten, welk systeem praat met welk ander systeem? Interfaces met actors dienen gedefinieerd te worden. Dit vereist meestal een apart interface-document. Zeker waar het gaat om externe partijen die een interactie hebben met de keten is het van belang om de interface goed duidelijk te hebben. Interfaces tussen systemen binnen de keten dienen op hoofdlijnen gedefinieerd te worden. Indien het werk uiteindelijk door meerdere partijen gedaan zal worden dan zal ook voor deze interfaces een detail uitwerking plaats moeten vinden (zoals bij externe interfaces), anders is het voldoende om dit te doen op louter logisch niveau. Hiermee wordt bedoeld dat wel degelijk moet worden aangegeven hoe een interface kan worden aangesproken, welke gegevens moeten / kunnen worden meegegeven en terug worden gestuurd. Voorbeeld - WEL: definiëren dat BSN wordt meegegeven - NIET: definiëren formaat BSN attribuut - NIET: definiëren verschijningsvorm (XML bericht met schema) 1.3 Sequence Diagrammen Neem het goede niveau Neem alleen deelnemende elementen op Een keten Use Case beschrijft de werking van de keten, niet de werking van de individuele systemen. De elementen uit het sequence diagram zijn dus de (externe) Actors en de verschillende systemen in de keten. Componenten binnen de systemen worden dus niet opgenomen. Beperk je tot de elementen die echt deelnemen aan de interactie, dus Actors die een rol vervullen en de systemen die in de interactie deelnemen. Confidentieel Modernisering GBA, 2011 Pagina 4 van 6

Modelleer interactie tussen elementen Alleen interactie tussen elementen wordt opgenomen. Dus de interactie tussen een actor en een systeem, de interactie tussen systeem A en systeem B, maar niet de interne acties die een systeem onderneemt. De interne functionaliteit is belangrijk, maar pas als je op systeem niveau bezig bent, niet op keten niveau. Elementen van een keten leven altijd Let op lengte activations Resultaten van synchrone aanroepen niet vermelden Resultaten van asynchrone aanroepen wel vermelden Werk niet alle gevallen uit Kijk uit met fragments Beperk complexiteit Een eventuele uitzondering hierop kan hierop gemaakt worden indien de interne functionaliteit expliciet beschreven is in de keten use case. De levenslijnen van elk element van een sequence diagram op keten niveau begint bovenaan en loopt door tot het einde. Systemen worden niet halverwege ergens aangemaakt of verwijderd Een activation van een element duurt tot de hele interactie die hij start is afgelopen. Dus als systeem A een ander systeem, B, aanroept, dan loopt de activation binnen A tenminste tot het punt waar B zijn werk klaar heeft In het sequence diagram staan de aanroepen van systemen, de waarden die terug worden gegeven zijn impliciet opgenomen door het einde van activation in het aangeroepen systeem. Er wordt aangenomen dat als je een systeem aanroept deze aan het einde iets terug geeft. Indien de aanroep asynchroon is, dus je roept een systeem aan maar wacht niet op antwoord, dan moet het feit dat het aangeroepen systeem een antwoord geeft ergens opgenomen worden. Dit kan zijn door een gestippelde pijl terug, of door een expliciete aanroep vanuit het andere systeem, maar het moet ergens terug komen. Maak een sequence diagram voor het basis scenario (alles gaat goed) en vul dit aan met diagrammen voor de afwijkingen. In deze extra diagrammen kan gewoon verwezen worden naar het basis scenario (UML2 heeft hier mogelijkheden voor, maar een note werkt ook prima). Als je 10 gevallen hebt die ongeveer gelijk zijn werk er dan 1 uit. Het gaat om het begrip, niet om het in detail vastleggen van alles. Het gebruik van een fragment betekent vaak dat je 2 verschillende gevallen in 1 diagram aan het stoppen bent. Dat kan nuttig zijn, maar let er op dat het de leesbaarheid ten goede komt. Het gaat er om dat het systeem begrepen kan worden. Het gaat er niet om om zo veel mogelijk in 1 diagram te zetten. Loops zijn vaak niet te vermijden, maar zijn alt, opt, par, region echt nodig? Tools als Enterprise Architect nodigen uit om veel complexiteit in diagrammen toe te voegen. Maar voegt het echt iets toe? Details toevoegen kost tijd, zowel bij het maken van het diagram als in het onderhoud. Vaak is een eenvoudige note al genoeg en kan vaak zaken beter beschrijven dan het diagram. Het gaat er om dat we weten hoe het moet werken, we gaan geen code genereren. Gebruik dus steeds die methode die het meeste begrip geeft bij de minste inspanning. Maak de diagrammen leesbaar Laat een buitenstaander de use case lezen en dan het diagram zien. Is het dan te begrijpen? Confidentieel Modernisering GBA, 2011 Pagina 5 van 6

Maak alleen diagrammen die iets toevoegen Verwijder diagrammen die niet (meer) relevant zijn Enterprise Architect Vraag je steeds af voegt dit diagram iets toe, heeft iemand hier echt iets aan? Als het antwoord nee is, waarom zou je het diagram dan maken? Een diagram dat gemaakt wordt moet ook onderhouden worden Als een diagram niet meer gebruikt wordt dient deze te worden verwijderd. Het zou immers alleen maar verwarring op kunnen leveren. Use case realisations op ketenniveau worden binnen EA ondergebracht binnen package Use Case Realisations binnen het Use Case Model. Verder geldt (zie ook configuration management plan): 1. Maak per Keten Use Case een use case specifiek package KUCRxxx - <naam use case> Voorbeeld KUCR001 Aangegeven geboorte 2. Maak binnen een use case specifiek package voor iedere relevant use case module, flow of scenario een package KUCRxxx.<use case module id> - <naam flow> Voorbeeld KUCR001.1 Basic Flow 3. Gebruik altijd objecten in sequence diagrammen en vermijd links Messages 4. Wanneer op een gegeven moment dezelfde flow diverse malen terug komt in de diagrammen, overweeg dan om deze flow eenmaal apart te modelleren en deze vervolgens in de diagrammen waar deze flow voor komt op te nemen als link. Hiervoor kun je het (generieke) diagram slepen op de lifeline waar die start. Dat scheelt heel veel werk. Let wel op dat bij wijzigingen van een generieke flow gecontroleerd wordt of die wijziging van toepassing is op alle diagrammen waar die gebruikt wordt. Met message wordt hier bedoeld een eerste indicatie of versie van een operatie. Streef naar zoveel mogelijk (her)gebruik van operaties op componenten. Maak inzichtelijk wanneer iets een message is. (toevoeging TEKST voor de message naam) Op het niveau van keten use case worden uiteindelijk alle messages omgezet naar operaties om zo de interfaces van systemen te formaliseren. Confidentieel Modernisering GBA, 2011 Pagina 6 van 6