51
Ampersand Masterclass Ontwerpen van Informatiesystemen en Bedrijfsprocessen

Ampersand masterclass

Embed Size (px)

Citation preview

Page 1: Ampersand masterclass

Ampersand Masterclass

Ontwerpen van Informatiesystemen en

Bedrijfsprocessen

Page 2: Ampersand masterclass

Agenda

1. Waarom Ampersand?2. Hoe zit deze cursus in elkaar?3. Een prototype4. Oefening: basiszinnen5. Voorbereiding huiswerk

Page 3: Ampersand masterclass

Waartoe? (purpose)

• Waartoe modelleer je?• Waartoe maak je prototypes?• Waartoe formaliseer je?• Waartoe lees je de wet?

Page 4: Ampersand masterclass

Voorbeeld datamodel

Page 5: Ampersand masterclass

Voorbeeld conceptueel model

Page 6: Ampersand masterclass

Eenvoudige en schone taal

• Axioma’s van Tarski gelden voor gebruikers van de Ampersand-taal

Jaap van der Woude and Stef Joosten. Relational heterogeneity relaxed by subtyping. Proceedings RAMiCS, Lecture Notes in Computer Science. Springer, 2011.

Page 7: Ampersand masterclass

Waartoe prototypes maken?

Page 8: Ampersand masterclass

Waartoe formaliseren?

Page 9: Ampersand masterclass

Waartoe de wet lezen?

Page 10: Ampersand masterclass

Voor wie is & bedoeld?• Requirements Engineers• Wetenschappers• Ontwerpers

Page 11: Ampersand masterclass

1. Waarom Ampersand?2. Hoe zit deze cursus in elkaar?3. Een prototype4. Oefening: basiszinnen5. Voorbereiding huiswerk

Agenda

Page 12: Ampersand masterclass

1. Waarom Ampersand?2. Hoe zit deze cursus in elkaar?3. Een prototype4. Oefening: basiszinnen5. Voorbereiding huiswerk

Agenda

Page 13: Ampersand masterclass

Strafrecht proces

• Officier van Justitie vervolgt

• Griffie organiseert• Rechter beslist

Page 14: Ampersand masterclass

Zelf doen: Delivery

• Ga naar http://www.tarski.nl/www/ampersand/DeliverySimple/

• Probeer dit prototype uit in de rol van vendor of client.

Page 15: Ampersand masterclass

1. Waarom Ampersand?2. Hoe zit deze cursus in elkaar?3. Een prototype4. basiszinnen5. Voorbereiding huiswerk

Agenda

Page 16: Ampersand masterclass

basiszin

“Jan heeft order 15 geplaatst”1. is “waar” of “niet waar”2. binnen context3. binair: <source> relatie <target>

4. betekenis?– Jan ontvangt de levering voor order 15?– Jan ontvangt de rekening order 15?– Jan krijgt vragen over order 15?

Page 17: Ampersand masterclass

Beschrijving basiszinnen

• voorbeeld(en): “Jan heeft order 15 geplaatst.”

• patroon: “<Persoon> heeft <Order> geplaatst.”

• multipliciteiten: precies één persoon per order

• bedoeling: om te weten welke persoon verantwoordelijk is voor het plaatsen van en specifieke order.

• Betekenis: zinnen van het type “<Persoon> heeft <Order> geplaatst.” maken deel uit van de afgesproken taal.

Page 18: Ampersand masterclass

Bedrijfsregels (een voorbeeld)

• Van elke vergunningaanvraag is de identiteit van de aanvrager geverifieerd.(Dus: eerst de identiteit vaststellen)

• Voordat u een vergunningaanvraag in behandeling neemt, dient u de identiteit van de aanvrager te verifiëren.

Page 19: Ampersand masterclass

Bedrijfsregels (voorbeeld)

• Vergunningaanvragen mogen alleen door geautoriseerde medewerkers worden behandeld.

• Elke medewerker die een vergunningaanvraag behandeld dient hiervoor geautoriseerd te zijn.

Page 20: Ampersand masterclass

Regels in soorten:

• statisch (=constraint)– invariant (altijd waar)– procesregel (op den duur waar)

• dynamisch (=rekenregel)– beslisregel– functionele afhankelijkheid– workflow-regel– …

Page 21: Ampersand masterclass

Meer voorbeelden

• Voor elke vergunningaanvraag dient er een besluit te zijn.

• Medewerkers krijgen een bepaald gebied toegewezen.

(Vraag: wat zouden consequenties kunnen zijn van deze regels?)

Page 22: Ampersand masterclass

1. Waarom Ampersand?2. Hoe zit deze cursus in elkaar?3. Een prototype4. basiszinnen5. Voorbereiding huiswerk

Agenda

Page 23: Ampersand masterclass

Procesbesturing: het principe

• Computer signaleert.

• Mensen en machines handelen.

Page 24: Ampersand masterclass

Vraagstuk:besturing

schakel schakelschakel

Ondersteuning

metensturen

beslissen

metensturen

beslissen

metensturen

beslissen

strategisch

tactisch

operationeel

productie

Page 25: Ampersand masterclass

Procesmotor

observe events

signal violation

determine action

act

Page 26: Ampersand masterclass

Procesbesturing

Detect

ADL

Business Operations

Processes

Systems

Rule owner

employee

Rule Base

ViolationsDistrib.

UserInterf.

Adapt

Infra

Page 27: Ampersand masterclass

RegistrerenOntvangen en verzenden

Digitalevergunningen Plannen Schrijven Publiceren en

zoekenProductie

analyseren

Zaak-gegevens

Productie-gegevens

Beslissingen

Juridischekennis

Persoons-gegevens Registers

Hearing-gegevensBerichten Dossiers

DoelarchitectuurEenduidige semantiek

Wat is een dossier?

Eén ding in één doos

Applicaties gescheiden

van gegevens

Archief

Page 28: Ampersand masterclass

RegistrerenOntvangen en verzenden

Digitaalprocederen Plannen Schrijven Publiceren en

zoekenProductie

analyseren

Zaak-gegevens

Productie-gegevens

Beslissingen

Juridischekennis

Persoons-gegevens Registers

Zitting--gegevensBerichten Dossiers

Doelarchitectuur

Archief

Koppelvlak

Page 29: Ampersand masterclass

Impact: gegarandeerd functioneel

• Regel = functionele eis• Business ownership• Functionele specificatie afleiden:

– Conceptuele analyse– Datamodel (UML)– Service definities incl. semantiek

Page 30: Ampersand masterclass

Impact: vervuilingsvrije servicelaag • Servicelaag:

– signaleert naar mensen, of– blokkeert, of– corrigeert automatisch

• Visie: een servicelaag is bedoeld om het handhaven van bedrijfsregels te ondersteunen.

Page 31: Ampersand masterclass

Impact: ontwerpen

• Schrijf of hergebruik regels• Genereer de specificatie• Laat de opdrachtgever de regels

goedkeuren• bouwen• Implementeer het proces

Page 32: Ampersand masterclass

Cursus Bedrijfsregels

• Bedrijfsregels in de praktijk• Analyseren mbv bedrijfsregels• Specificeren mbv bedrijfsregels• Toetsen van bedrijfsregels• Vertalen van formeel naar natuurlijk• Vertalen van natuurlijk naar formeel

Page 33: Ampersand masterclass

Bedoeld voor

• Business consultant.• Master niveau.• Eerstejaars wiskunde (bijv. Discrete

wiskunde) reeds behaald.

Page 34: Ampersand masterclass

Eisen

• Snelle internettoegang (in verband met virtuele bijeenkomsten)

• Inschrijving• Engels lezen, Nederlands spreken,

lezen en schrijven.• Aanwezig bij alle bijeenkomsten (vanaf

eigen lokatie).

Page 35: Ampersand masterclass

Materialen

• Site: • Boek:• Tool:• Lesmaterialen:

Page 36: Ampersand masterclass

Bijeenkomsten: wo 14:00 – 17:00u

• 4 okt: Relaties• 18 okt: ADL• 15 nov: Regels• 29 nov: Praktijk: RBAC• 13 dec: Reaal Autorisatie• 10 jan: Reaal DIS/WfM• 24 jan: Reaal DIS/WfM

Page 37: Ampersand masterclass

Resultaten: relatiealgebra

• Relevante foutmeldingen worden afgeleid m.b.v. een bewijsgenerator.– Dus: begrijpelijke feedback, met zonodig

een bewijs erbij.

Gerard Michels, Sebastiaan Joosten, Jaap van der Woude, and Stef Joosten, Ampersand: Applying Relation Algebra in Practice, accepted in Proceedings RAMiCS, Lecture Notes in Computer Science. Springer, 2011.

Page 38: Ampersand masterclass

Resultaat:Ontwerp van INDiGO (2007)

Process driven Case management

Au PairHandling plan (customized)

Knowledgemodel

Business rules / Law & Legislation

FLOW

KNOW

Page 39: Ampersand masterclass

Resultaat:Ontwerp van VIRO (2010)

ESB

CM+Scanstraat DM

KM

Data TextIntegratie Printstraat CDD+ZRP

Portals

Web services

PortalsCM+ GUI

Portaal medewerker

. . .

Page 40: Ampersand masterclass

Onderzoekshypothese

• Elk bedrijfsproces wordt bepaald door de concrete afspraken die door de belanghebbenden zijn gemaakt.

• Voorbeeld: het verlenen van milieuvergunningen (alle afspraken staan beschreven in de toepasselijke regelgeving)

Page 41: Ampersand masterclass

Hoe?

Taal

Proces(sen)

OntologieServices

Page 42: Ampersand masterclass

Doel: een integrale ontwerpaanpak

• Taal (van “de Business”)

• Regels: invariante -en procesregels

• Services en processen• Werkende software: functionele

specificaties en prototypes

Page 43: Ampersand masterclass

Automatiserenvan formeledelen

Geïntegreerd ontwerpenideeën Specificeren

Implementeren

Ontwerpen Func. Specs

RealiserenCode

Page 44: Ampersand masterclass

Onderzoeksthema’s

• Ontologie: betere wiki-functionaliteit door gebruik van semantiek (Rutledge)

• Webservices: ondersteunen van bedrijfsproces met nieuwe media (Lemmen, Wedemeijer)

• Procesmodelleren (vd Woude, Voorhoeve, Roubtsova)

• Databases: methoden voor ontwerp (Wiegerink)

• Ampersand: automatisering van het ontwerpproces (Michels, Joosten, vd Woude, Wedemeijer)

Page 45: Ampersand masterclass

Thema: Ontologie

• Als een Ampersand-model een ontologie representeert, kunnen we dan een Wiki genereren?

• Als een Wiki de ontologie dynamisch kan veranderen, kunnen we dan dynamisch omgaan met een Ampersand-model?

Page 46: Ampersand masterclass

Webservices

• Welke constraints gelden voor services, als een ontologie gegeven is?

• Is dit bruikbaar bij het ontwerpen van services?

• Welke fundamentele constraints stellen nieuwe media aan webservices?

Page 47: Ampersand masterclass

Procesmodelleren

• Zijn procesmodellen afleidbaar uit een ontologie? Zo nee, welke kennis moeten we erbij leveren om het tóch te kunnen?

Page 48: Ampersand masterclass

Databases

• Hoe ver kun je gaan met het verrijken van database-generatoren? Kunnen we databases in samenhang met processen ontwerpen?

Page 49: Ampersand masterclass

Ampersand:

Neem een database die door Ampersand gegenereerd is. Kunnen we Ampersand zo aanpassen dat gebruikers (lees: studenten) ook de inhoud kunnen editen?

Page 50: Ampersand masterclass

Resultaat:Atlas(OBR 2010, Gerard Michels)

• Een gereedschap waarmee studenten hun bedrijfsregels toetsen op consistentie en kunnen uitproberen.

• In productie sinds medio 2010

Page 51: Ampersand masterclass

Hoe?

Language

Processes

OntologyServices