Domeinmodellering-Opdracht/2 Activiteiten/Assignments/Opdracht14/2 Opdrachtbeschrijving
Inhoud
- 1 Studietaak 14: Object Oriented Modeling via UML (Unified Modeling Language): een aantal (statische en dynamische) aspecten
- 2 Instructie
- 3 Opgave 14.a: online banking system
- 4 Opgave 14.b : UML classes and relational mapping
- 5 = = = Intermezzo : de oude opdracht 7 over hierarchische data = = =
- 6 (zelf)Reflectie/nabespreking
- 7 Dead line voor het inleveren
Studietaak 14: Object Oriented Modeling via UML (Unified Modeling Language): een aantal (statische en dynamische) aspecten
Achtergrond
Tot nu toe hebben we de ‘data-gerichte aanpak’ van systeemontwikkeling gevolgd, waarbij we vooral gekeken hebben naar het achterliggende datamodel. In de praktijk is het vaak zinvol [vooral bij meer ‘technische systemen’] om tegelijk met de data-analyse ook een proces-analyse te doen; meestal gebeurt dat dan via de zogenaamde ‘object-oriëntatie’. De industrie-standaard voor objectgericht werken is momenteel: UML (Unified Modeling Language).
Leerdoelen
Na afloop van deze studietaak:- eenvoudige ‘use cases’ opstellen;
- eenvoudige UML class diagrams opstellen;
- een bij een use case behorend (eenvoudig) sequence diagram opstellen;
- een samengesteld class diagram ‘Rmappen’ naar een zinvolle ‘relationele databasestructuur’.
Instructie
Vereiste voorkennis: de materie van blok A en de voorafgaande onderdelen van blok B.
Voorbereiding:
Zoals gebruikelijk zul je in de DM-werkplaats voor deze opdracht twéé bijdragen moeten aanmaken: eentje waar je je uitwerking van deze eerste opdracht inzet (in Speciaal:Mypage/2009-10/Domeinmodellering/Opdracht14/Opdracht) en een waarin je je reflectie erop plaatst in Speciaal:Mypage/2009-10/Domeinmodellering/Opdracht14/Reflectie. Let er weer op, dat je helemaal op het einde van deze 'URL's' (dus achter enerzijds 'Opdracht' en anderzijds 'Reflectie' géén '/' backslash plaatst! Plaats -zoals aangegeven in de 'Werkplaats instructies'- de daar gegeven exacte code aan het begin van de bijdrages.
De taken:
1. Voer vóór maandag 11 januari '10 (13:30u) de volgende studieactiviteiten uit:
a) Bestudeer de sheets van de colleges van maandag 4 en donderdag 7 januari 2010 (en zonodig artikelen/stukken via de opgegeven URL’s);
b) Stel, mede naar aanleiding van je ervaringen/problemen/invallen bij het uitwerken van de hierna gestelde opgaven, een lijstje op van punten die je op het werkcollege van maandag 11 januari 2010 ter sprake wilt brengen (ter verduidelijking ...).
c) Werk de volgende 3 opgaven uit:
- er is op maandag 11 januari '10 maar één werk(groep)college: van 13:45-14:30u (zowel voor de Informatica- als voor de IK-studenten). Na afloop van dit werkcollege ‘gaan we verder met presentaties over de casusuitwerkingen
- je bent op het werk(groep)college alléén welkom als je serieus aan deze studietaak hebt gewerkt en je uitwerking (ook al heb je maar een deel van de opdracht succesvol kunnen oplossen) hebt ingeleverd en een print van je uitwerkingen meeneemt naar het werkcollege. Op die print kun je dan voor jezelf eventueel benodigde correcties/aantekeningen maken.
Opgave 14.a: online banking system
Imagine an Online Banking System where -through internet- a client (after a successful login) may consult her bankaccount(s), see all her transfers, remit money to other accounts and change her address.
- Make a use case diagram for such a banking system. If possible: try to use <<include>>, <<extend>> and [maybe] ‘generalizations’.
- Make a use case description for at least the use case ‘remit money to other account’. Make use of one of the given ‘use case templates’. Use in this description one or more extension points!
- Such a banking system holds [at least] data about account holders, their accounts and all money transfers.
Design for this UoD a UML class diagram, capable of taking account of all these data. Indicate of all relevant classes their names, their attributes and their class relationships. Make use of your own ‘domain knowledge’ (text, nouns...) and see if you can get inspiration from your own use case description.
Opgave 14.b : UML classes and relational mapping
- Apply a transformation (‘Rmap’) from the following UML class diagram to an appropriate relational database structure (in a ‘horizontal layout’). Pay special attention to data integrity.
- Maybe you designed a relational database structure with 4 tables... Try to optimize your database structure (to get less than 4 tables) and explain why and how you can do this.
Resultaat: de gevraagde (UML-) diagrammen en/of verkregen relationele structuur.
Indien gevraagd moeten ook bijbehorende verklaringen worden gegeven.
= = = Intermezzo : de oude opdracht 7 over hierarchische data = = =
N.B. ter herinnering:
Vóór dezelfde dead line (maandag 11 januari '10 om 13:30u) moet ook de volgende opdracht (assignment 7) worden gemaakt:
Exercise 7 : on hierarchical data
Consider the table 'Personnel' with 'nested sets':
empname | lft | rgt |
'Albert' | 1 | 12 |
'Bert' | 2 | 13 |
'Chuck' | 4 | 11 |
'Donna' | 5 | 6 |
'Eddie' | 7 | 8 |
'Fred' | 9 | 10 |
Base SQL-queries on it to find answers to the next information demands:
- Show a given employee and all his/her supervisors.
- Show a given employee and all subordinates.
- Add a column 'salary' to the table and find an answer to: show the total salaries being controlled by each employee.
= = = = = Einde intermezzo = = = = = = = = = = = = = = = =
(zelf)Reflectie/nabespreking
Ga allereerst zelf na of je de eerder omschreven leerdoelen van deze studietaak hebt gehaald.
Op het (werk/responsie)college van maandag 11 januari ’10 zullen de opdrachten worden nabesproken. Zorg er bovendien voor dat je eventuele problemen/onduidelijkheden, die je tegen gekomen bent bij het maken van het inleverdeel van deze opdracht, op een rijtje hebt staan, zodat als die knelpunten in de nabespreking niet al eerder ter tafel zijn komen, jij ze zelf kunt aankaarten. Vraag je ook af, of je de hiervoor omschreven beoordelingscriteria zèlf goed begrijpt en kunt toepassen.
=> Geef in het gekopieerde -bij deze opdracht behorende- werkplaatssjabloon bij de parameter 'Percentage' aan hoeveel procent -naar jouw eigen inschatting- van deze opdracht je correct gemaakt hebt. (dus bijvoorbeeld [tussen dubbele vierkante haken..] Percentage::80 ).
En geef bij de parameter 'Status' een van de volgende waarden aan: 'bezig', 'klaar', 'opgegeven', 'deels geslaagd'. (Dus bijvoorbeeld de default-waarde Status::bezig geeft aan dat je op dat moment nog bezig bent met het werken aan deze opdracht. Als je later er verder aan gewerkt hebt, pas dan die Status- en Percentage-waarde aan.)
Vul voor de Studie-parameter een van de volgende waarden in: IC, IK, hbo-IC of hbo-IK (die laatste 2 mogelijkheden voor 'hbo-doorstromers'.
Vergeet ook niet om bij het reflectiedeel waarden in te vullen voor zowel 'Studie' als voor 'Remark' (de inhoud van die laatste parameter verschijnt in het reflectieoverzicht onder het kopje 'Korte opmerking van auteur zelf').
Kijk ook bij de 'reflectieonderdelen' van anderen wat zij daar als vraag hebben gesteld of moeilijke gegevensvraag hebben bedacht en of je correcties in of aanvullingen bij hun uitwerking kunt aanbrengen. We verwachten dat je bij de 'reflecties' van zeker 2 andere studenten een reactie/commentaar/suggestie hebt gegeven.
Breng je commentaar.. als volgt aan: Bewerk de reflectie-pagina van je mede-student. Kopieer en plak onderstaande regel onder zijn/haar reflectie en vervang "Mijn commentaar" door je eigen commentaar en/of vragen.
{{!|~~~|| Mijn commentaar }}
En kijk uiteraard regelmatig bij je eigen 'reflectie' of je door anderen aangebrachte veranderingen begrijpt en/of ze correct zijn en reageer er desnoods op!
Nogmaals: op het voor IC- en IK-studenten gezamenlijk werk(groep)college van maandag 11 januari ’10 worden (van 13:45-14:30u) de ingeleverde opdrachten en eventueel gerezen vragen&problemen nabesproken. Zorg er voor dat je eventuele problemen/onduidelijkheden, die je tegen gekomen bent bij het maken van het inleverdeel van deze opdracht, op een rijtje hebt staan, zodat als die knelpunten in de nabespreking niet al eerder ter tafel zijn komen, jij ze zèlf kunt aankaarten.
=> Breng een uitdraai van zowel je uitwerkingen als van je reflectie-deel als entreebewijs mee naar het werkcollege.
N.B. als je er echt serieus aan hebt zitten werken, is ook een print van een slechts ‘gedeeltelijk gelukte’ uitwerking al voldoende als entreebewijs...
Dead line voor het inleveren
Deadline voor het inleveren: maandag 11-1-10 vóór 13:30u in de DM-werkplaats; vergeet niet je naam (en studie en studentnummer) ook binnen je uitwerking te vermelden.