Download de presentatie
GepubliceerdElias Timmermans Laatst gewijzigd meer dan 9 jaar geleden
1
OGO 2.2 2006 coordinatoren: K.M. van Hee & J.P. Veltkamp
Ontwerp van een generiek bedrijfsinformatiesysteem OGO coordinatoren: K.M. van Hee & J.P. Veltkamp
2
Agenda Leerdoelen Voorkennis Projectopdracht Projectaanpak Tijdlijnen
Begeleiding Beoordeling
3
Leerdoelen (1) Ontwerpen van een complex software product met wetenschappelijk verantwoorde methoden en technieken I.h.b. een functioneel ontwerp met verificatie en validatie: verificatie: bewijzen van structuur en gedragseigenschappen validatie: door middel van experimenten met een prototype
4
Leerdoelen (2) Leren toepassen van methoden en technieken
Inzicht krijgen in product-software (een generiek systeem) Leren prototypen Leren efficient en effectief samen te werken Leren presenteren van een complex ontwerp
5
Voorkennis Databases 1 Systeemmodelleren 1
6
Technieken: datamodelleren (1)
Gebruik ERD techniek Beperk je tot functionele relaties; noteer deze als gerichte arcs. Geef ze een unieke en korte naam Dus n-m relaties worden geobjectiveerd tot een entiteit met functionele relaties Schrijf constraints op in predicaten logica
7
Technieken: datamodelleren (2)
8
Technieken: datamodelleren (3)
Constraints: Een werknemer kan alleen activiteiten hebben in een project waar hij in mag werken: Een werknemer kan alleen werk invullen voor een taak van een activiteit die hij mag uitvoeren:
9
Technieken: procesmodelleren (1)
Maak per use case een (klassiek) Petri net Beperk je tot workflow netten (Wfnet) Wfnet heeft 1 begin plaats i (initial) en 1 eind plaats f (final) en elke andere plaats of transitie ligt op een pad van i naar f. Wfnetten modelleren procedures (flowcharts met parallelliteit) Als we I en f weglaten hebben we een zgn t-workflow
10
Technieken: procesmodelleren (2)
pay_damage start register c5 c3 c4 c2 c1 check_damage send_letter NOK OK check_policy NOK NOK
11
Technieken: procesmodelleren (3)
pay_damage start register c5 c3 c4 c2 c1 check_damage send_letter NOK OK check_policy NOK 2 x !
12
Technieken: procesmodelleren (4)
pay_damage start register c5 c3 c4 c2 c1 check_damage send_letter NOK OK check_policy NOK NOK
13
Technieken: procesmodelleren (5)
Soundness: workflows moeten altijd netjes kunnen eindigen Formeel: voor elke bereikbare toestand vanuit marking [i] moet de marking [f] bereikbaar zijn. Er zijn technieken om soundness te verifieren (Woflan) Er zijn constructietechnieken om soundness te garanderen
14
Technieken: procesmodelleren (6)
Er zijn constructietechnieken om soundness te garanderen: “soundness by construction” Hier zijn 5 refinement regels: Door een model met een enkele plaats te beginnen en deze regels toe te passen krijg je een sound Wfnet
15
Technieken: CRUD matrix
C=create, R=retrieve, U=update, D=delete Voor elke transitie is de worklows en elke entiteit in het data model leggen we vast of de transitie de entiteit gebruikt en hoe (CRUD) Zo kunnen we onderzoeken of entiteiten wel netjes beheerd worden en of transtities wel iets “nuttigs” doen
16
Technieken: componentenmodel (1)
Component is een subnet met data stores Een component heeft 1 t-workflow en 0 of meer data stores Data store is een speciale plaats met altijd bidirectionele verbindingen met transities en altijd 1 token. Componenten zijn onderling verbonden door uitwisselen van tokens via interface plaatsen. In een componenten model specificeren we datatypes en de transitielogica
17
Technieken: componentenmodel (2)
18
Foute koppelingen (1)
19
Foute koppelingen (2) Kan dit gerepareerd worden?
Is er een betere oplossing?
20
Foute koppeling (3) Betere oplossing!
21
Foute koppelingen (4)
22
Projectopdracht (1) Een ontwerp voor een generieke bedrijfsapplicatie
Een informatiesysteem voor een bedrijfstype dat configureerbare producten maakt op bestelling (Make-To-Order) op basis van een productencatalogus Voorbeelden: computers, racefietsen, auto’s, adventure reizen
23
Projectopdracht (2) Enige fysieke activiteit: ontvangen van componenten, assembleren van deze componenten tot een product en het klaar zetten voor vervoer naar de klant Alle overige activiteiten worden uitbesteed of geautomatiseerd De componenten worden gemaakt / geleverd door toeleveranciers Transport door verzorgd door transportbedrijven
24
Projectopdracht (3) Actors (stakeholders): klanten
componenten-leveranciers transporteurs banken (voor betaling) system engineers XXX (configuratie) management XXX (beheer van systeem)
25
Projectopdracht (4) Context diagram
26
Projectopdracht (5) component leverancier bank klant system transport
rfi rfp proposal proposal payment add to account confirm deliver transport order delivery onvolledig voorbeeld van use cases als Message Sequence Chart (MSC)
27
Projectopdracht (6) UR: user requirements
Informeel, in tekst of plaatjes: business: wat is het bedrijfsdoel? actors: welke personen en andere systemen hebben interactie met het systeem? use cases: een “stuk functionaliteit” of een service van het systeem. Te beschrijven als scenario’s (actie-rijen) of als MSC entities: object typen die een rol spelen
28
Projectopdracht (7) BA: business architecture
Data model beschrijft the business objects, hun relaties en de constraints Process modellen voor elke use case en voor elke object life cycle (met een workflow net) Verificatie (soundness, CRUD)
29
Projectopdracht (8) SA: software architectuur
Componenten model (componenten en onderlinge interactie-relaties) Model per component (transitielogica en data types) Verificatie (soundness, database integrity)
30
Projectopdracht (9) DD: Detailed design in de vorm van een prototype
Validatie door ontwikkeling van een prototype met behulp van YasperWE, Infopath (MS), met name het user interface
31
Projectopdracht (10) Parameters voor flexibiliteit: # klanten
# toeveranciers # banken # transporteurs # producten
32
Projectopdracht (11) Parameters voor genericiteit:
Productencatalogus (vorm) Business rules: betaling door klanten (vooraf, achteraf, mengvorm) wel of geen ruggespraak met toeleveranciers voordat een proposal wordt gedaan betaling van toeleveranciers regels voor selectie van toeveranciers
33
Projectopdracht (12) Tips voor prototype:
maak stubs voor banken, toeveranciers maak een incrementeel model: test steeds stukken die klaar zijn doe het eerst voor ongekleurde netten en als dat goed gaat, met kleur Gebruik YasperWE en Infopath
34
Projectaanpak (1) Werk gefaseerd, registreer tijdsbesteding
Mijlpalen in contract met opdrachtgever UR: user requirements en werkplan BA: business architectuur: datamodel en workflows, CRUD SA: functionele architectuur: componenten en hun interacties; specificaties van plaatstypen en processorlogica; verificatie DD: Prototype YasperWE+ Infopath PD: Presentatie/demonstratie
35
Projectaanpak (2) Maak werkplan:
definieer taken door 1 persoon of koppel te doen zonder tussenkomst van anderen bepaal de precedentierelaties tussen de taken schat de tijd die een taak kost wijs taken toe aan personen bepaal de doorlooptijd en het kritieke pad Onderscheid product- en procesdocumenten: productdoc: beschrijving van views op het systeem procesdoc: planningen, logboek, vergaderstukken, vragen en antwoorden.
36
Projectaanpak (3) Houd in elk geval rekening met de volgende taken:
projectmanagement: vertegenwoordiging naar de opdrachtgevers, bewaking van de planning en de afstemming tussen de taken en hun uitvoerders kwaliteitsmanagement: zorg dat de producten gecontroleerd worden voordat ze vrijgegeven worden projectadministratie: bijhouden van product-en procesdocumentatie
37
Tijdlijnen Mijlpalen die fasen afsluiten:
12 dec UR (user requirements) 12 jan BA (software requirements) 13 feb College pres./dem. 16 feb FA (software architecture) 9 mrt DD (prototype) 14 mrt PD (presentatie en dem.)
38
Begeleiding (1) Elke groep heeft een tutor: Wekelijks overleg
Jeroen Keiren Jan Martijn van der Werf Wekelijks overleg Tutor heeft 3 rollen: opdrachtgever (als vertegenwoordiger van coordinatoren) technisch adviseur beoordelaar
39
Begeleiding (2) Tutoren hebben wekelijks overleg met de coordinatoren
In deze vergaderingen worden de problemen besproken en oplossingen geboden In het begin zullen de teams vragen hebben over de user requirements: de tutoren beslissen, soms na ruggespraak met de coordinatoren Reinier Post is op de achtergrond beschikbaar voor YasperWE/Infopath vragen StudyWeb: voor uitwisseling van kennis Vragen zoveel mogelijk per stellen College: presenteren/demonstreren
40
Beoordeling Criteria: Differentiatie:
producten (ca 70%) procesverslag (ca 10%) presentatie/demonstratie (ca 20%) Differentiatie: op basis van onderlinge beoordeling Tutoren doen voorstel, coordinatoren, (Van Hee, Veltkamp) beslissen
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.