Opstellen DEMO Fact Model



Vergelijkbare documenten
DATAMODELLERING BEGRIPPENBOOM

DATAMODELLERING DATA FLOW DIAGRAM

DATAMODELLERING ARCHIMATE DATA- & APPLICATIEMODELLERING

Vision. Mission. Bringing people together to create common understanding in a dynamic workspace.

DATAMODELLERING SIPOC

Tools voor canonieke datamodellering Bert Dingemans

DATAMODELLERING BASIS UML KLASSEMODEL

Informatieobjecten zijn systematisch beschreven

Toelichting PNA TopTrainees concept

Het belang van. Data Modellering. GEMINIT Training. Data Modellering. Frédéric BARBIER

Business Rules: het scheiden van kennis en processen 17 september 2014

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans

DATAMODELLERING DATA MAPPING MODEL

Functionele Specificatie van GRCcontrol. Rieks Joosten

Voorbeeldvraag 1. Welke uitspraak is JUIST:

DATAMODELLERING ARCHIMATE DATAMODELLERING

DATAMODELLERING ER DIAGRAM

Deel I Hoofdstuk 4: Modelleren van Toestand

NAF Insight: ArchiMate en domeintalen 1 November 2012

Marktplaats.nl Hoe werkt het?

Curriculum Vitae Ishak Atak. Naam : Ishak Atak Roepnaam : Ishak. Woonplaats : Utrecht Geboorte datum :

Uitbreiding van UM Aquo cluster metingen, toevoegen optioneel attribuut Identificatie waarnemingssoort aan klasse WaardeReeks MIDDELGROOT

ABN AMRO Project: Conceptueel model hypothekendomein

HR metadata repository. André de Boer (BZK/CBS) (op persoonlijke titel)

Unified Modeling Language

MODULEBESCHRIJVING Databases DBS1

Ambiguïteit in een bedrijfsregel is niet gewenst

Functionele en technische meldingen

0.1 Verdieping BAG Bevragen. versie 0.1. Datum. 1 juli Document versie. 0.1 ConceptICT Services Keten RZDirectie IT

Tentamen SPM1120 Analyse van bedrijfssystemen 18 Januari 2011, 9:00-12:00

ARE methodiek Het ontwikkelen van Informatie Elementen

AUTOMATE WITH BIZAGI BPMS XPRESS

KENMERKEN MODEL BASED TESTING TOOLS

DATAMODELLERING GEAVANCEERD UML KLASSEMODEL

MARKTPLAATS: KOPEN EN VERKOPEN OP INTERNET

onderzoek ontwerp realisatie implementatie

BRP-BZM Use Case Realisations Guidelines

DEMO: De theorie. DEMO: de theorie. Toepassing bij de Koninklijke Marechaussee: KOWA. Ervaringen in de praktijk. Vragen

MODELING IN ENTERPRISE ARCHITECT 10.0

NEN 3610 Linked Data

DATAMODELLERING TOEPASSEN DATA ANALYTICS

Business Rules: het scheiden van kennis en processen 17 september 2014

Systems Engineering en de Modelgebaseerde aanpak. Eric Burgers

PROGRAMMA Vak: Informatica..

Release notes. Versie 2.3

Handleiding Site to Edit Module Veiling

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

Voor en nadelen (spatieel) gedistribueerd

Alexander Zeh Models & Processes september 2014 Oscar Trapman V1-06

Semantiek (met de BAG als voorbeeld) Dienstverlening in verbinding Wetgeving in verbinding 12 maart 2014 Marco Brattinga

Vereenvoudigd sjabloon requirementsdocument. <<Organisatie>>

Thinking of development

Technisch Ontwerp Ontwerp template

Master Thesis Informatiekunde 136IK

Informatie-analyse volgens het NIAM model.

Validatie- en conformiteitsregels

Stakeholder behoeften beschrijven binnen Togaf 9

Op de werkbalk staan drie knoppen, die van links naar rechts staan voor de drie genoemde stappen.

Asset Lifecycle Informatie Management. Visie op Asset management

In dit practicum leer je hoe je met het casetool deze beperkingsregels in een model kunt aanbrengen.

Petri-netten in Protos: wat moet je ermee?

Omgeving van de zaak in kaart. Modellen. Naamgeving. Omgeving van de zaak in kaart #KVAN11 1

De vraag Wat is BIM levert geen eensluidend antwoord. BIM is een typisch voorbeeld van een containerbegrip.

SQL & Datamodelleren

Archimate risico extensies modelleren

INTRODUCTIE MAVIM BPM ONZE SOFTWARE DEMONSTRATIE

XML Datafeeds. Volledig geautomatiseerd advertenties plaatsen V

MDA experiences in een uitvoeringsorganisatie. Eelco van Mens (Architect, Mn Services) 5 juni 2008

Toets informatica V5 module VIII hfst 1, 2 en 3 februari 2011

INFORMATIEARCHITECTUUR DESIGN EN MARKTPLAATS

XML Datafeeds. Volledig geautomatiseerd advertenties plaatsen V

Critical Appraisal of a Topic De 7 stappen van de CAT Bachelor geneeskunde 3de jaar AWV

Successfully combining Requirements Engineering and Conceptual (Business) System Modeling

Technisch Ontwerp W e b s i t e W O S I

De kracht van BI & Architectuur

Hoofdstuk 26: Modelleren in Excel

NK Testen Testrapport team 4. Team: #Test. SUT: Fructasys. Datum Team #test Claudia Star Robin Duiker DYongmit Lepcha Daniël Venhuizen

Zoutafleiding Bijlage bij de RWS Standaard

Titel Uw processen transparant met SAP Process Mining.

Enterprisearchitectuur

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

B l u e D o l p h i n

Samenvatting. Het ontwerpen van controlemechanismen in netwerkorganisaties vanuit een waardeperspectief

DATAMODELLERING SCORE MATRIX

Inmiddels zijn er verschillende versies van het casetool, waaronder CaseTalk. Meer informatie vind je op de site van Casetalk.

Product Risico Analyse

Producten en diensten

B.Sc. Informatica Module 4: Data & Informatie

SPAANSE TAAL EN LITERATUUR (ELEMENTAIR) HAVO

KIM. Slimme acties ondernemen

Software Design Document

Introductie ArchiMate

Rapportage Lineage. Introductie. Methode. J. Stuiver

1. * Database worden vaak gebruikt in Client-Server architectuur.

INFITT01 - Internettechnologie WEEK 8

Ternaire relaties in ERDs zijn lastig

ABN AMRO Verzekeringen Project: Documentbeheer Verzekeringen

Les F-02 UML. 2013, David Lans

DATAMODELLERING CRUD MATRIX

Open Boek - zoekformulier

Transcriptie:

Opstellen Introductie op het opstellen van een Fact Model DEMO Platform bijeenkomst Auteur: Jacob Vos @ImproNotion Relevantie van Fact Model Wat is het resultaat van de transactie? Wat voor feiten mag completer in het leven roepen? Wat voor feiten zitten er in de feitenbank? Wat voor feiten raadpleegt completer? enterprise 1

Casus: Marktplaats Opstellen Fact Model Relatie met Construction Model Praktisch communiceren Business rules Software requirements Gestructureerd verwoorden van feiten F1: Advertentie 925393160 staat in rubriek Fietsen Vouwfietsen F2: Advertentie 925393160 heeft als titel 'RieseundMuller Birdyvouwfiets 9 versn. als Brompton F3: Het aangebodene in advertentie 925393160 is in conditie 'Zo goed als nieuw' F4: De manier van leveren van het aangebodene in advertentie 925393160 is 'Ophalen F5: Het aangebodene in advertentie 925393160 heeft als vraagprijs 700,00 F6: Advertentie 925393160 is geplaatst op 03-05-2015 15:17 F7: Advertentie 925393160 krijgt aandacht met opvalmogelijkheid 'Dagtopper' F8: Advertentie 925393160 is geplaatst door Coen F9: Coen woont in Voorburg, ZH enterprise 2

Modelleren F1: Advertentie in rubriek (1) Advertentie 925393160 staat in rubriek Fietsen Vouwfietsen Identificeert een object van het type advertentie Identificeert een object van het type rubriek Feit Advertentie [advertentie] staat in rubriek [rubriek] Feittype Invulplaats voor referentie naar een object van het type advertentie Invulplaats voor referentie naar een object van het type rubriek Modelleren F1: Advertentie in rubriek (2) Objecttype Reference law Feittype 925393160 925393160 Fietsen Vouwfietsen Fietsen Vouwfietsen Voorbeeldpopulaties 916831416 925991674 925991663 916831416 Fietsen Vouwfietsen 925991674 Fietsen Jongens 925991663 Fietsen Kinderfietsjes Fietsen Jongens Fietsen Kinderfietsjes Lezen: Advertentie + 925393160 + staat in + rubriek + Fietsen Vouwfietsen enterprise 3

Refereren naar objecten Identificatie advertentie: (uniek) advertentienummer Identificatie rubriek: (unieke) naam In Object Role Modeling(ORM): Ontologisch gezien is de manier van identificeren niet interessant; daarom in DEMO: Benoemen van objecttypen Er bestaat een advertentie 925393160 Drukt het bestaan uit van een object Identificeert een object van het type advertentie Feit Er bestaat een advertentie [advertentie] Feittype Invulplaats voor referentie naar een object van het type advertentie enterprise 4

Modelleren F2: Titel van advertentie Advertentie 925393160 heeft als titel 'Riese und Muller Birdy vouwfiets 9 versn. als Brompton Uitgangspunt: Tekstvelden worden niet in het Fact Model gemodelleerd. Teksten en namen zijn aanduidingen van concepten.in ontologie gaat het om wat iets is, niet hoe je er naar verwijst. Modelleren F3: Conditie van aangebodene Het aangebodene in advertentie 925393160 is in conditie 'Zo goed als nieuw' Feit Het aangebodene in advertentie [advertentie] is in conditie [conditie] Feittype Object Fact Diagram enterprise 5

Modelleren F4: Manier van leveren (1) De manier van leveren van het aangebodene in advertentie 925393160 is 'Ophalen' Feit Voor het aangebodene in advertentie [advertentie] geldt leveringswijze [leveringswijze] Feittype Manier van leveren is benoemd als Leveringswijze Modelleren F4: Manier van leveren (2) Object Fact Diagram enterprise 6

Modelleren F5: Vraagprijs (1) Het aangebodene in advertentie 925393160 heeft als vraagprijs 700,00 Feit Het aangebodene in advertentie [advertentie] heeft als vraagprijs [geldbedrag] Feittype Zie volgende slide Modelleren F5: Vraagprijs (2) Object Fact Diagram DEMO hanteert scales voor bijv. tijd, gewicht, geld, temperatuur. Zie DEMO-3 specificatie, v3.7. Het geldbedrag wordt uitgedrukt in euro s; het scale sort = Ratio ( R ). enterprise 7

Modelleren F6: Datum plaatsing Advertentie 925393160 is geplaatst op 03-05-2015 15:17 Ik ga ervan uit dat dit de datum is waarop de advertentie is gepubliceerd. Dit is het moment waarop het resultaat van de transactie tot stand is gekomen. Uitgangspunt: Momenten waarop resultaten tot stand komen, modelleer je niet expliciet. Ze zijn in DEMO impliciet aanwezig. Namelijk als coördinatiefeiten (. is accepted ). Modelleren F7: Opvalmogelijkheid Advertentie 925393160 krijgt aandacht met opvalmogelijkheid 'Dagtopper' enterprise 8

Modelleren F8: Adverteerder (1) Advertentie 925393160 is geplaatst door Coen Feit Advertentie [advertentie] is geplaatst door [persoon] Feittype Bewust niet: adverteerder. Reden: we weten dat er ook bieders zijn, en dat dit dezelfde personen kunnen zijn als adverteerders. Adverteerder is dus een rol die een persoon speelt, en die persoon kan ook de rol bieder spelen. Modelleren F8: Adverteerder (2) ADVERTEERDER is een afgeleid objecttype: een persoon is een adverteerder indien er een advertentie is geplaatst door die persoon enterprise 9

Modelleren F9: Woonplaats Coen woont in Voorburg, ZH Feit Samengesteld feit! Coen woont in Voorburg Voorburg behoort tot Zuid-Holland [persoon] woont in [plaats] [plaats] behoort tot [provincie] Feittype Modelleren F9: Woonplaats enterprise 10

Uniciteit aangeven (1) Het streepje geeft aan dat advertentie maar één keer mag voorkomen in de populatie [advertentie] staat in [rubriek]. Dus: een advertentie staat in maximaal één rubriek. Het ontbreken van een streepje geeft aan dat rubriek een onbeperkt aantal keren mag voorkomen in de populatie [advertentie] staat in [rubriek]. Dus: er kan een oneindig aantal advertenties in een rubriek staan. 925393160 Fietsen Vouwfietsen 916831416 Fietsen Vouwfietsen 925991674 Fietsen Jongens 925991663 Fietsen Kinderfietsjes Uniciteit aangeven (2) Het streepje geeft aan dat iedere combinatie van opvalmogelijkheid en advertentie maar één keer mag voorkomen in de populatie. Dus: een advertentie kan aandacht krijgen met meerdere opvalmogelijkheden, en een opvalmogelijkheid kan gebruikt worden bij meerdere advertenties. enterprise 11

Uniciteit aangeven (3) Afhankelijkheid aangeven (1) De stip geeft aan dat iedere advertentie voor dient te komen in de populatie [advertentie] staat in [rubriek]. Dus: iedere advertentie staat in een rubriek. Het ontbreken van een stip geeft aan dat een rubriek niet voor hoeft te komen in de populatie [advertentie] staat in [rubriek]. Dus: een rubriek kan bestaan zonder dat er een advertentie in staat. 925393160 Fietsen Vouwfietsen 916831416 Fietsen Vouwfietsen 925991674 Fietsen Jongens 925991663 Fietsen Kinderfietsjes enterprise 12

Afhankelijkheid aangeven (2) Fact Model m.b.t. het bieden Een bod representeert een ingediend verzoek tot levering. Dus een coördinatiefeit. Deze modelleer je niet in het FactModel. Maar wel het object dat ontstaat wanneer het verzoek wordt ingewilligd. enterprise 13

Relatie met Construction Model (1) Voor ieder gemodelleerd objecttype en feittype geldt: objecten / feiten ervan ontstaan binnen de beschouwde wereld, nl. bij executie van een transactie; die transactie dient dus gemodelleerd te zijn objecten / feiten ervan ontstaan buitende beschouwde wereld ; dus: een externe feitenbank moet ervoor gemodelleerd zijn We kijken hiervoor naar het Construction Model bij de Marktplaats casus Relatie met Construction Model(2) Transaction Product Table (TPT): Transaction Product Kind O-T01 O-R01 advertentiebeheer is uitgevoerd voor [periode] O-T02 O-R02 [advertentie] is gepubliceerd O-T04 O-R04 behoeftevervulling is uitgevoerd voor [periode] O-T05 O-R05 [levering] is uitgevoerd enterprise 14

Relatie met Construction Model(3) GEÏNTERESSEERDE [levering] is gevraagd door [persoon] [levering] betreft aangebodene in [advertentie] ADVERTEERDER LEVERING [levering] heeft als biedprijs [geldbedrag] R O-R05 [levering] is uitgevoerd [advertentie] is gepubliceerd O-R01 Geldbedrag: euro PERSOON ADVERTENTIE RUBRIEK [advertentie] is geplaatst door [persoon] [advertentie] staat in [rubriek] [persoon] woont in [plaats] PLAATS het aangebodene in [advertentie] is in [conditie] CONDITIE PROVINCIE [plaats] behoort tot [provincie] voor het aangebodene in [advertentie] geldt [leveringswijze] LEVERINGSWIJZE Geldbedrag: euro OPVALMOGELIJKHEID [advertentie] krijgt aandacht met [opvalmogelijkheid] het aangebodene in [advertentie] heeft als vraagprijs [geldbedrag] R Relatie met Construction Model(4) In het vorige schema zijn de feit-/objecttypen gekleurd waarvan feiten tot stand komen bij de uitvoering van gemodelleerde transactietypen (zie arcering in TPT) Voor overige feit-/objecttypen worden de feiten beschouwd als bestaand, ofwel extern (en daarom grijs gekleurd) Mogelijke externe feitenbanken: Personen Plaatsen (incl. provincies) Opvalmogelijkheden Stamgegevens (rubrieken, condities, leveringswijzen) enterprise 15

Praktisch communiceren Rolboxen, streepjes, stippen: wordt lastig gevonden Mogelijkheden (zie volgende slides): Voorbeeldpopulaties Uniciteit en afhankelijkheid: tekstueel uitdrukken SBVR structuurdiagram Glossary met begrippen Tijdens modelleren, als deliverable Voorbeeldpopulaties 925393160 916831416 925991674 925991663 924448135 925393160 Fietsen Vouwfietsen 916831416 Fietsen Vouwfietsen 925991674 Fietsen Jongens 925991663 Fietsen Kinderfietsjes 925991663 Fietsen Jongens Fietsen Vouwfietsen Fietsen Jongens Fietsen Kinderfietsjes Fietsen Tandems Rubriek ontbreekt Advertentie in twee rubrieken Rubriek zonder advertenties (= OK) enterprise 16

Beperkingsregels tekstueel uitdrukken 1) Iedere Advertentie staat in precies één Rubriek 2) Het aangebodene in iedereadvertentie is in precies één Conditie 3) Iedere combinatie van Advertentie en Opvalmogelijkheid komt slechts één keer voor 4) Iedere Advertentieis geplaatst door precies één Persoon 5) Iedere Levering betreft precies één Advertentie 6) Iedere Levering is gevraagd door precies één Persoon SBVR structuurdiagram geplaatst door betreft Levering is uitgevoerd biedprijs Geldbedrag is gepubliceerd bieder Persoon geplaatst door adverteerder Advertentie staat in Rubriek woont in Plaats geldt voor aangebodene in Conditie Provincie behoort tot geldt voor Leveringswijze Opvalmogelijkheid krijgt aandacht met vraagprijs Geldbedrag enterprise 17

Term adverteerder advertentie advertentie is gepubliceerd bieder bod Definitie Glossary Persoon die een advertentie heeft geplaatst. Bekendmaking van een persoondat h/zij iets ter overname aanbiedt. Een advertentie is op een marktplaats zichtbaargemaakt zodat er biedingen op het erin aangebodene uitgebracht kunnen worden. Persoon die een bod heeft uitgebracht. Verzoek aan een adverteerder om voor een bepaald geldbedrag het in een advertentie aangebodene te leveren. aanvaarden bod Het beloven door een adverteerder aan een biederom te leveren volgens een bepaald bod van de bieder. levering is uitgevoerd Hetaangebodene in een advertentie is in handen gesteld van een bieder. Business rules(1) Geldige toestanden en toestandsovergangen Regels w.b. uniciteit, afhankelijkheid = business rules (m.b.t. toestanden) Handhaving business rulesis verantwoordelijkheid van actorrol die feit creëert Bijv. CA02 Advertentie publiceerder checkt of in het verzoek om een advertentie te publiceren, de rubriek is opgegeven (= actieregel) enterprise 18

Business rules(2) Nauwkeurige definitie: volg naamgeving objecttypen en feittypen uit feitenmodel Informeel: Iemand mag niet op z n eigen advertentie bieden Formeel: Voor iedere Persoonen Advertentie geldt hoogstens één van het volgende: die Advertentie is geplaatst door die Persoon; een Leveringis gevraagd door die Persoonen die Leveringbetreft het aangebodene in die Advertentie Software requirements (1) Scope: gerelateerd aan FactModel ( data requirements ) Uitwerken Fact Model + business rules Conceptueel gegevensmodel = requirements t.b.v. te ontwerpen logisch datamodel (bijv. relationeel model) Rules deels in datamodel, deels applicatielogica In gecontroleerde natuurlijke taal, voor gebruiker begrijpelijk Met behulp van Object Role Modeling(ORM) enterprise 19

Software requirements (2) Objecttypen en feittypen uit coördinatiewereld Bijv. objecttype Bod Momenten waarop coördinatiefeiten tot stand komen: welke expliciet? Bijv. datum+tijdwaarop bod is geplaatst, datum+tijdwaarop advertentie is gepubliceerd Referentiewijze per objecttype Bijv. advertentienummer, e-mailadres voor persoon, plaatsnaam Tekstvelden, raw data velden Bijv. titel + beschrijving advertentie, advertentiefoto s Software requirements (3) 1 5 3 4 2 enterprise 20

Software requirements (4) Rules in ORM zowel grafisch als tekstueel Complexe rules alleen tekstueel Bijv. (informeel!): ieder bod bij een advertentie dient hoger te zijn dan enig eerder geplaatst bod bij die advertentie Bijv. (informeel!): bod bij advertentie mag alleen lager zijn dan vraagprijs indien de adverteerder dat heeft toegestaan voor die advertentie Diverse soorten rules ondersteund in ORM Bijv. subsetconstraint, frequencyconstraint, ring constraint Bijlagen enterprise 21

Literatuur over Fact Based Modeling(1) Terry Halpin(2015). Object-Role Modeling Fundamentals. A practical Guide todata Modeling with ORM. Vers van de pers. Laagdrempelige introductie van ORM. Inclusief uitleg over modelleren met behulp van NORMA (zie slide over tools). Terry Halpin& Tony Morgan (2008). Information ModelingandRelationalDatabases. Second Edition. Bijna 900 pagina s diepgang over vooral ORM, maar ook de relatie met ERD, UML, SQL, procesmodelleren. Beschrijft in detail wat in Fundamentals passeert. Literatuur over Fact Based Modeling(2) Nijssen & Le Cat (2009). Kennis Gebaseerd Werken. Dé manier om kennis productief te maken. SjirNijssen is de grondlegger van feit-gebaseerd modelleren. Hij legt CogNIAM, een familielid van ORM, uit, inclusief de relatie met o.a. SBVR en BPMN. Guido Bakema e.a. (2005). Volledig Communicatiegeoriënteerde Informatiemodellering FCO-IM. Leerboek waarin stap-voor-stap een ander familielid van ORM wordt besproken. Als je door wilt graven in feitgebaseerd modelleren enterprise 22

Andere aanbevolen literatuur Rob van Haarst(2013). SBVR made easy. Business Vocabulary and Rules as a Critical Asset. Een perfecte introductie op SBVR. De auteur beschrijft hoe de omvangrijke SBVR-standaard op een praktische manier kan worden toegepast om bedrijfsvocabulaire vast te leggen. Ronald G. Ross (2013). Business RuleConcepts. Getting to the Point of Knowledge. Fourth Edition. Een bondige introductie. Benadrukt het implementatieonafhankelijk beschrijven van business rulesmet behulp van natuurlijke taal. Relateert aan SBVR. Tools gebruikt rond deze presentatie Xemod Opstellen FactModel, waaronder Object FactDiagram, gerelateerd aan Construction Model http://www.mprise.nl/xemod-productoverzicht.aspx MS Visio i.c.m. ORM2-stencil Tekenen van ORM-diagrammen, getweaked naar OFD s https://www.ormfoundation.org/files/folders/visio_stencils/default.as px NORMA, gratis add-on op gratis Visual Studio versie Opstellen ORM model, grafisch + tekstueel https://www.ormfoundation.org/files/folders/norma_the_software/d efault.aspx enterprise 23

Personalia Jacob Vos jacobvos@impronotion.nl (06) 53277341 in linkedin.com/in/jacobvos1 www.impronotion.nl Architectuur, analyse en ontwerp van bedrijfsprocessen en informatievoorziening Refereren naar objecten (bij slide 7) enterprise 24