OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
HOGESCHOOL ROTTERDAM
IAN02 - Informatie-analyse (objectgeoriënteerde analyse)
MODULEWIJZER IAN02
1
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
Modulecode: Modulenaam: Belasting (aantal cp): Bestemd voor: Categorie: Behoort tot traject: Vereiste voorkennis: Werkvorm: Toetsing: Vrijstelling: Leermiddelen:
IAN02 Informatieanalyse 2 2 INF/TI kennis van objectgeoriënteerd programmeren college en practicum ontwerp + verslag (van case) Boek: Titel: Learning UML 2.0
Aanbevolen boek:
Auteur: Uitgever: ISBN: Jaar: Auteur: Titel: Uitgever: ISBN:
Hoofddoel:
Leerdoelen:
Inhoud:
Competenties Opmerkingen Auteur: Versie Datum:
MODULEWIJZER IAN02
Russel Miles, Kim Hamilton 0-596-00982-8 2006 L.A. Maciaszek Requirements Analysis and System Design Addison Wesley 0-201-70944-9
Na het met succes voltooien van deze module is de student in staat om voor een eenvoudig systeem (bestaande uit 7 tot 10 klassen) een analyse en een ontwerp te maken op basis van functionele en niet-functionele specificaties. aan het eind van de module is kan de student: concepten van de objectgeoriënteerde analyse begrijpen en hanteren; een object georiënteerd model van een eenvoudig systeem analyseren en ontwerpen in UML (Unified Modelling Language); een objectgeoriënteerde analyse/ontwerp maken met behulp van een case-tool (Rational Rose, Jude, System Architect) In deze module wordt aandacht besteed aan: object georiënteerd analyseren, ontwerpen; Statische modellen van een (informatie)systemen: klassediagram, objectdiagram, use-casediagram; Dynamische modellen van (informatie)systemen: sequencediagram, collaboratiediagram, toestandsdiagram; Concepten van objectoriëntatie: objecten, klassen, associatie, aggregatie, compositie, (meervoudige) overerving, instantiëren, abstractie, encapsulation, dynamische binding, overloading, polymorfisme, persistentie, message en methode. Competentie 9 - Software systeem eisen specificeren (VT10) Competentie 10 - Software systeem analyseren en ontwerpen (VT11 en VT13) Met UML wordt steeds de standaard UML versie 2.0 bedoeld A.L.J. Busker 6 April 2011
2
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
Inhoudsopgave 1 Inleiding............................................................................................................................................... 4 2 Doelstelling van de module................................................................................................................. 5 3 Begineisen........................................................................................................................................... 6 4 Werkvorm(en)..................................................................................................................................... 7 5 Leerstof................................................................................................................................................ 8 5.1 Powerpoint presentaties................................................................................................................ 8 5.2 Verplichte literatuur....................................................................................................................... 8 5.3 Aanbevolen literatuur.................................................................................................................... 8 6 Kwartaalschema................................................................................................................................ 10 7 Leereenheden.................................................................................................................................... 12 7.1 Leereenheid 1: introductie........................................................................................................... 12 7.2 Leereenheid 2: Eisen en Usecases............................................................................................. 12 7.3 Leereenheid 3: Klasse - en Objectdiagram.................................................................................12 7.4 Leereenheid 4: Sequencediagrammen.......................................................................................12 7.5 Leereenheid 5: Toestandsdiagrammen.......................................................................................12 7.6 Leereenheid 6: praktijkopdracht.................................................................................................. 12 7.7 Leereenheid 7: praktijkopdracht.................................................................................................. 13 7.8 Leereenheid 8: afronding praktijkopdracht..................................................................................13 8 Toetsing............................................................................................................................................. 14 8.1 Praktisch deel............................................................................................................................. 14 8.2 Herkansing.................................................................................................................................. 14 Bijlage A: practicum beoordelingsformulier.........................................................................................15
MODULEWIJZER IAN02
3
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
1
Inleiding
Object oriëntatie (OO) speelt een belangrijke rol op veel gebieden in de Informatie technologie. Het veelvuldig gebruik van de term OO dat je de indruk krijgt dat het een oplossing is voor alle problemen. Natuurlijk is dit niet het geval maar het belang van OO mag ook niet worden onderschat. Object Oriëntatie is een een wijze van modelleren die door inkapseling van gedrag en gegevens de onderhoudbaarheid (aanpassingen en uitbreidingen) van systemen kan bevorderen. Mechanismen als overerving en delegatie dragen bij aan de configureerbaarheid van systemen. Belangrijk hierbij is het woord “kan”. Gebruik van OO vereist namelijk een andere wijze van denken en werken. Softwareontwikkelaars moet zich de mechanismen eigen maken en deze op een correcte wijze toepassen om tot flexibele systemen te komen. Na het succesvol doorlopen van deze module moet de student voldoende kennis en vaardigheden bezitten om zelfstandig of in teamverband te kunnen functioneren bij de ontwikkeling van systemen volgens de OO-principes Deze module vormt een belangrijke bijdrage bij het optimaal kunnen vervullen van functies als: systeemontwerper, software-architect, software-engineer en applicatieprogrammeur.
MODULEWIJZER IAN02
4
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
2
Doelstelling van de module
Na het met succes voltooien van deze module is de student in staat om voor een eenvoudig systeem (bestaande uit 7 tot 10 klassen) een analyse en een ontwerp te maken op basis van functionele en niet-functionele specificaties. Dit ontwerp dient als basis voor de implementatie van het systeem in een objectgeoriënteerde programmeertaal als C++ of Java.
MODULEWIJZER IAN02
5
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
3
Begineisen
Voor deze module is voorkennis van en ervaring met een object georiënteerde programmeertaal (JAVA, C++) noodzakelijk (PRG02). Kennis van andere analysemethoden (technieken) is wenselijk IAN01 (gegevensanalyse, ERD) is aan te bevelen.
MODULEWIJZER IAN02
6
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
4
Werkvorm(en)
De module is opgebouwd uit een theoriedeel (hoor-/instructiecollege) en een practicumdeel. Het eerste uur van theorieles wordt de theorie uitgelegd en in het tweede uur wordt gewerkt in groepjes van 2 á 3 studenten, aan het toepassen van de theorie op de uitgereikte casus. In het practicum wordt een teamcasus uitgereikt dat met behulp van een case-tool (bijv. JUDE, Astah, System Architect) moet worden uitgewerkt.
MODULEWIJZER IAN02
7
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
5
Leerstof
5.1
Powerpoint presentaties
Zie http://confluence.cmi-hro.nl 5.2 Boek
Verplichte literatuur Auteurs Titel Uitgever ISBN Jaar
: : : : :
Russel Miles & Kim Hamilton Learning UML 2.0 Prentice Hall 0-596-00982-8 2006
Dit boek wordt gebruikt bij de modules IAN02 en programmeren. 5.3
Aanbevolen literatuur
Boek
Auteurs Titel Uitgever ISBN
: : : :
Grady Booch Object-Oriented Analysis and Design with Applications Addison Wesley 0-80-535340-2
Boek
Auteurs Titel Uitgever ISBN
: : : :
Richard D. Lee & William M. Tepfenhart Practical object-oriented development with UML and JAVA Prentice Hall 0-13-067238-6
Boek
Auteur Titel Uitgever ISBN
: : : :
Hoogendoorn, Sander Pragmatisch modelleren met UML 2.0 Addison-Wesley 90-430-0652-1
Boek
Auteur Titel Uitgever ISBN
: : : :
Bruegge, Bernd & Dutoit, Allen H. Object-oriented Software Engineering using UML, Patterns and JAVA Prentice Hall 0-13-191179-1
Boek
Auteur Titel Uitgever ISBN
: : : :
Fowler, Martin UML distilled 3rd ed. Addison-Wesley 0-321-19368-7
Boek
Auteur Titel Uitgever ISBN
: : : :
Connallen, J. Building Web Applications with UML Addison-Wesley 0-201-32579-9
Boek
Auteur Titel Uitgever ISBN
: : : :
Warmer, J. en Kleppe, A. The object Constraint Language, Preciese Modeling with UML Addison-Wesley 0-201-37940-6
Boek
Auteur Titel Uitgever
: Oestereich,Bern : Developing Software with UML : Addison-Wesley
MODULEWIJZER IAN02
8
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
ISBN
MODULEWIJZER IAN02
: 0-201-39826-5
9
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
6
Kwartaalschema
In dit schema staat een beknopt overzicht van de onderwerpen die tijdens hoorcollege en practicum aan bod komen. Toelichting: HIC = theorie (hoorcollege en/of werkcollege), ZS = zelfstudie, PR = practicum Week 1
werkvorm HIC
sbu
Inhoud
1
Inleiding werkvorm, module Inleiding object oriëntatie Inleiding UML (use-case diagram)
ZS
2
opstellen niet-functionele, functionele eisen en use-cases voor het systeem in de oefencasus. Bestuderen: [Miles] H1 en H2 Uitreiking en toelichting teamopdracht (teamcase) Gebruik case-tool Formuleren probleemstelling, functionele en niet-functionele eisen van de teamcase Concepten objectoriëntatie object analyse (statische diagrammen): klasse- en objectdiagram en use cases oefencase: identificeren van kandidaatklassen, selecteren van de klassen, maken van model dictionary, identificeren van associaties, attributen en operaties, opzetten concept objectmodel
PR+ZS 4
2
HIC
1
Identificeren en selecteren van kandidaatklassen van de case via: brainstormsessies isoleren van zelfst. naamw. uit probleemomschrijving(Rumbaugh) categorisatie, clustering, prototyping, met gezond verstand (Booch)
ZS
2
PR+ZS 4 3
HIC
1
ZS
2
PR+ZS 4
4
HIC
1
ZS
2
PR+ZS 4
5
HIC
MODULEWIJZER IAN02
1
Stel lijst met (voorlopig) klassen van de oefencase op. Bestuderen: [Miles] H4, H5, H6 Bespreken per team: probleemstelling, functionele en niet- functionele eisen van de teamcase Opstellen use cases, identificeren en selecteren van kandidaatklassen. Dynamische diagrammmen (sequence- en collaboratiediagram) Ontwikkelen sequencediagrammenvan de case Bestuderen: [Miles] H7, H8 Bespreken per team: use cases, kandidaatklassen Opstellen lijst met definitieve klassen Ontwikkelen van het klassediagram voor teamcase met behulp van casetool Dynamische diagrammmen (sequence- en collaboratiediagram) Bespreken resultaten oefencase Ontwikkelen sequencediagrammen Bestuderen: [Miles] H7, H8 Bespreken per team: use cases, kandidaatklassen Opstellen lijst met definitieve klassen Ontwikkelen van het klassediagram voor teamcase met behulp van casetool Dynamische diagrammen (toestands- en activiteitsdiagram).
10
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
Week
werkvorm ZS
sbu
Inhoud
2
Ontwikkelen toestandsdiagrammen Bestuderen: [Miles] H14
PR+ZS 4 6
7
8
HIC ZS PR+ZS HIC
1 1 4 1
Bespreken sequencediagrammen voor de teamcase en verder ontwikkelen model. Bespreken/toelichting/behandelen vragen Bestuderen stof [Miles], presentaties http://www.med.hro.nl/busal Afronden teamcase ontwerp+verslag Bespreken/toelichten/behandelen vragen
ZS
1
Bestuderen stof [Miles], presentaties http://www.med.hro.nl/busal
PR+ZS 4 HIC 1
Ontwikkelen teamcase en inleveren ontwerp+verslag Bespreken/toelichting/behandelen vragen
ZS 1 PR+ZS 4
Bestuderen stof [Miles], presentaties http://www.med.hro.nl/busal Afronden teamcase en inleveren ontwerp+verslag
MODULEWIJZER IAN02
11
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
7 7.1
Leereenheden Leereenheid 1: introductie
In deze leereenheid maak je kennis met de principes van object oriëntatie en het gebruik van een hulpmiddel (tool) Rational Rose of JUDE. Na het volgen van leereenheid 1 kan de student: het doel (nut) van object georiënteerde analyse uitleggen object georiënteerde analyse plaatsen in een automatiseringsproject(traject) een probleembeschrijving opstellen van een eenvoudige automatiseringsopdracht verschillende notatiewijzen rondom UML benoemen een Case-Tool (bijv. Astah, Jude) op eenvoudige wijze gebruiken begrippen als encapsulation, data hiding en data abstraction uitleggen 7.2
Leereenheid 2: Eisen en Usecases
Na het volgen van leereenheid 2 kan de student: • de begrippen functionele eisen en niet-functionele eisen uitleggen • de relatie tussen eisen en use-cases uitleggen • functionele en de niet-functionele systeem eisen formuleren van een eenvoudige systeem • use-cases diagrammen inclusief use-case templates maken en gebruiken 7.3
Leereenheid 3: Klasse - en Objectdiagram
Na het volgen van leereenheid 2 kan de student: de begrippen: klasse, associatie, aggregatie, compositie, overerving, attribuut, operatie en methode uitleggen en toepassen een lijst met kandidaatklassen opstellen aan de hand van een probleemstelling en eisen een overwogen selectie van de klassen maken abstracte klassen en operaties herkennen en benoemen associaties, attributen, operaties en rollen herkennen en toepassen een concept klassediagram ontwikkelen klassen aanmaken met een case-tool een concept objectmodel verfijnen en klassen aanmaken met een case-tool een object(domein)model aanmaken met case-tool 7.4
Leereenheid 4: Sequencediagrammen
Na het volgen van leereenheid 3 kan de student: de begrippen interactie, a-synchroon event, conditioneel event en tijdconstraints uitleggen en toepassen de werkwijze voor het ontwikkelen van een dynamisch model hanteren inzicht hebben in gebruik en doel van sequence (event trace) diagrammen inzicht hebben in gebruik en doel van collaboration (event flow)diagrammen essentieel verschil tussen sequence - en collaboration- diagrammen uitleggen 7.5
Leereenheid 5: Toestandsdiagrammen
Na het volgen van leereenheid 4 heeft de student: kennis van de begrippen: toestand, transitie, begin en eindtoestand, activiteit, activiteitstoestand, guard, actie en automatische transitie en kan deze hanteren kennis van de begrippen: subtoestanden, splitsing , synchronisatie en swimlanes en kan deze toepassen inzicht in gebruik en doel toestandsdiagrammen (state transition diagram) vaardigheden om sequence - en toestandsdiagrammen te maken met een case-tool 7.6
Leereenheid 6: praktijkopdracht
Tijdens dit practicum werken de studenten verder aan hun praktijkopdracht en wordt kennis verder aangescherpt.
MODULEWIJZER IAN02
12
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
7.7
Leereenheid 7: praktijkopdracht
Tijdens dit practicum werken de studenten verder aan hun praktijkopdracht en wordt kennis verder aangescherpt. 7.8
Leereenheid 8: afronding praktijkopdracht
Tijdens dit practicum werken de studenten verder aan hun praktijkopdracht en wordt kennis verder aangescherpt. Aan het einde van de les worden de praktijkopdrachten ingeleverd.
MODULEWIJZER IAN02
13
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
8
Toetsing
De module wordt afgesloten met een teamverslag van de case en een ontwerp. 8.1
Praktisch deel
Het practicum wordt beoordeeld op de volgende punten: • doelstelling • probleembeschrijving • niet-functionele systeemeisen • functionele systeemeisen • klassen* • associaties, attributen, rollen en operaties* • aggregaties en composities • definitieve klassediagram* • use-case template • use-case diagram* • sequencediagrammen* • toestandsdiagrammen* • samenvatting / conclusie / evaluatie • literatuurlijst *) uitwerken met case-tool Alle hierboven genoemde onderdelen (criteria) moeten in het verslag zijn opgenomen, tenzij in overleg met de begeleidende practicumdocent, de lijst met criteria is bijgesteld. Bijlage A: practicum beoordelingsformulier is een formulier dat gehanteerd wordt bij de beoordeling van het practicum. Hierin is tevens de verdeelsleutel van de genoemde criteria te vinden. 8.2
Herkansing
Herkansing van het practicum is alleen mogelijk in het kwartaal volgend op het kwartaal waarin deze module in het curriculum is opgenomen. Hiervoor wordt een nieuwe opdracht beschikbaar gesteld in overleg met de begeleidend practicumdocent.
MODULEWIJZER IAN02
14
VAN 15
OPLEIDING INFORMATICA/TECHNISCHE INFORMATICA
Bijlage A: practicum beoordelingsformulier 1
Punten Totalen
deel totalen
20 15 15
MODULEWIJZER IAN02
RAPPORT duidelijke titel
0.0 0.00 0.00 0.00 0.00
structuur / indeling layout literatuurlijst
0.0 0.00 0.00 0.00
Analyse en ontwerp 10
0.0
0.00 0.00
PROBLEEMSTELLING 10 probleembeschrijving (kort en helder) 10 functionele eisen 10 niet-functionele eisen
60
100
uitstekend
30
8 10
goed
2 1 1 1
6
voldoende
5
matig
punten per subonderd eel Waardering 5 ORGANISATIE 3 planning 2 samenwerking
slecht
Punten per HOOFD onderdeel
4
0.0
use-case diagram (overzicht use-cases en gedetailleerde beschrijving van elke use-case) klasse-diagram (inclusief attributen, operaties, associaties, rollen, aggregaties en composities en beschrijving daarvan) sequencediagrammen (incl. beschrijvingen) toestandsdiagrammen
0.00 0.00 0.00 0.00
Totaal aantal punten Cijfer
0.0
15
VAN 15