Object Oriëntatie Foundation (OOF.NL)
EXIN Hét exameninstituut voor ICT’ers Janssoenborch - Hoog Catharijne Godebaldkwartier 365 3511 DT Utrecht Postbus 19147 3501 DC Utrecht Nederland T F E I
+31 30 234 48 11 +31 30 231 59 86
[email protected] www.exin.nl
Datum: 1 juli 2010
Alle rechten voorbehouden. Niets uit deze uitgave mag worden openbaar gemaakt of verveelvoudigd, opgeslagen in een dataverwerkend systeem of uitgezonden in enige vorm door middel van druk, fotokopie of welke andere vorm dan ook zonder toestemming van EXIN
Object Oriëntatie Foundation
2
INHOUD 1. Profiel 2. Exameneisen 3. Begrippenlijst 4. Literatuur
4 5 7 9
Object Oriëntatie Foundation
3
1. Profiel De Object Oriëntatie Foundation is een onmisbare module voor startende IT’ers. De inhoud van deze foundation biedt een goede basis voor iedereen die zich verder wil ontwikkelen op het gebied van systeemontwerp, systeemontwikkeling, programmeren en software engineering. Inhoud De module Object Oriëntatie Foundation biedt een praktische introductie op Object Oriëntatie (OO). Er wordt aandacht gegeven aan Unified Modelling Language (UML), belangrijke modelleringstechniek en aan de belangrijkste OO-begrippen die via UML worden toegepast. Verder vormt de module een kennismaking met verschillende typen programmeertalen. Diverse aspecten als het plaatsen van OO-programmeertalen en de belangrijkste verschillen en voordelen van OO ten opzichte van gestructureerd programmeren komen aan bod. De onderwerpen van deze module zijn: objectoriëntatie en systeemontwikkeling, object georiënteerd denken en een inleiding Unified Modeling Language (UML). Doelgroep De module richt zich op starterende IT’ers die weinig of niets afweten van OO-ontwikkeling en zich graag willen oriënteren op objectoriëntatie. Of IT’ers met kennis van gestructureerde programmeertalen die op objectoriëntatie willen overstappen. Context De module Object Oriëntatie Foundation maakt deel uit van de Tracks Foundation serie: kwadrant Informatiesystemen. Voorkennis Geen. Indicatie studielast 60 uren. Training Het maximum aantal deelnemers is 25. (Dit geldt niet voor een online- of computer based training.) Contacturen Het minimum aantal contacturen tijdens de training is 15. Dit omvat groepsopdrachten, voorbereiding op het examen en korte pauzes. Dit aantal uren is exclusief huiswerk, logistieke voorbereiding van het examen en lunchpauzes. Praktijkopdracht(en) Niet van toepassing. Examenvorm Computergestuurde multiplechoicevragen. Examenduur 60 minuten. Examendetails Aantal vragen: 30 Cesuur: 65 % (20 van 30) Open boek/notities: nee Elektronische hulpmiddelen toegestaan: nee Voorbeeldvragen U kunt een voorbeeldexamen downloaden via www.exin.nl. Training provider Op de website van EXIN vindt u een lijst van geaccrediteerde training providers http://www.exin.nl/opleiders. Object Oriëntatie Foundation
4
2. Exameneisen De exameneisen zijn uitgewerkt in examenspecificaties. In onderstaande tabel staan de onderwerpen van de module (exameneisen). Het gewicht van de verschillende onderwerpen in het examen wordt uitgedrukt in een percentage van het totaal. Exameneis
Examenspecificatie
Gewicht (%)
1. Objectoriëntatie en systeemontwikkeling
10
1.1 De kandidaat heeft inzicht in de historische achtergrond van objectoriëntatie.
2 Objectgeoriënteerd denken
10
40
2.1 De kandidaat kent de voordelen en valkuilen van objectoriëntatie (OO).
10
2.2 De kandidaat kent de basisbegrippen van OO en hun toepassing.
15
2.3 De kandidaat kent de basisprincipes van het Objectgeoriënteerd modelleren.
15
3 Inleiding Unified Modeling Language (UML)
50
3.1 De kandidaat kent de belangrijkste begrippen en basisnotaties van UML.
10
3.2 De kandidaat heeft inzicht in klasse- (class) en objectdiagrammen.
15
3.3 De kandidaat heeft inzicht in use-case-diagrammen.
10
3.4 De kandidaat heeft inzicht in de toepassing van interactiediagrammen.
15
Totaal
100
Object Oriëntatie Foundation
5
Examenspecificaties 1. Objectoriëntatie en systeemontwikkeling (10%) 1.1 De kandidaat heeft inzicht in de historische achtergrond van objectoriëntatie. De kandidaat kan: 1.1.1 de verschillen tussen objectgeoriënteerd en gestructureerd modelleren beschrijven; 1.1.2 de verschillen beschrijven tussen moderne methoden en de traditionele methode van systeemontwikkeling.
2. Objectgeoriënteerd denken (40%) 2.1 De kandidaat kent de voordelen en valkuilen van objectoriëntatie (OO). De kandidaat kan: 2.1.1 de voordelen van OO benoemen; 2.1.2 de valkuilen van OO benoemen. 2.2 De kandidaat kent de basisbegrippen van OO en hun toepassing. De kandidaat kan: 2.2.1 de basisbegrippen van OO beschrijven; 2.2.2 de onderlinge relaties tussen de OO begrippen omschrijven. 2.3 De kandidaat kent de basisprincipes van het objectgeoriënteerd modelleren. De kandidaat kan: 2.3.1 het concept insluiting (encapsulation) omschrijven; 2.3.2 het concept overerving (inheritance) omschrijven; 2.3.3 het concept polymorfie (polymorphism) omschrijven.
3. Inleiding Unified Modeling Language (UML) (50%) 3.1 De kandidaat kent de belangrijkste begrippen en basisnotaties van UML. De kandidaat kan: 3.1.1 een aantal basisbegrippen omschrijven; 3.1.2 de verschillende diagrammen en hun onderlinge samenhang beschrijven. 3.2 De kandidaat heeft inzicht in klasse- (class) en objectdiagrammen. De kandidaat kan: 3.2.1 een klassendiagram interpreteren; 3.2.2 een objectdiagram interpreteren. 3.3 De kandidaat heeft inzicht in use-case-diagrammen. De kandidaat kan: 3.3.1 aangeven welke categorie systeemeisen geschikt is voor beschrijving met use-case-beschrijvingen; 3.3.2 een use-case-diagram interpreteren; 3.3.3 de relatie tussen use-case-beschrijvingen en use-case-diagrammen beschrijven. 3.4 De kandidaat heeft inzicht in de toepassing van interactiediagrammen. De kandidaat kan: 3.4.1 een sequencediagram interpreteren; 3.4.2 een communicatiediagram interpreteren; 3.4.3 de relatie tussen een sequencediagram en een communicatiediagram beschrijven.
Object Oriëntatie Foundation
6
3. Begrippenlijst De begrippenlijst bevat de begrippen die in de toets kunnen worden behandeld.
1. Objectoriëntatie en systeemontwikkeling 1.1
Historische achtergrond • agile ontwikkelen • datageoriënteerde ontwikkeling • domeinmodellering • functionele decompositie • incrementeel ontwikkelen • iteratief ontwikkelen • waterval ontwikkeling
2. Objectgeoriënteerd denken 2.2 2.3
Basisbegrippen OO • associatie (association) • attribuut (attribute) • bericht (message) • instantie (instance) • klasse (class) • methode (method) • object • operatie (operation) Basisprincipe OO • generalisatie • implementatie • implementation-hiding • insluiting (encapsulation) • interface • overerving (Inheritance) • polymorfie (polymorpism) • specialisatie • verantwoordelijkheden (responsibilities)
3. Inleiding Unified Modeling Language (UML) 3.1
Begrippen en basisnotaties UML • activiteitsdiagram (activity diagram) • applicatiemodel • communicatiediagram (communication diagram) • componentdiagram (component diagram) • deploymentdiagram (deployment diagram) • domeinmodel • gedrag (behavorial) • implementatiemodel • klassediagram (class diagram) • modelleertaal • objectdiagram (object diagram) • sequencediagram (sequence diagram) • structuur (structural) • toestandsdiagram (state chart diagram) • use-case-diagram (use-case-diagram)
Object Oriëntatie Foundation
7
3.2 3.3 3.4
Klasse- en objectdiagrammen • abstracte klasse (abstract class) • aggregatie (aggregation) • applicatieklasse • associatieklasse (association class) • beschermd (protected) • compositie (composition) • commentaar (note box) • concrete klasse (concrete class) • constraint • domeinklasse • hulpklasse • implementatieklasse • link • multipliciteit (multiplicity) • publiek (public) • privé (private) • rol (role) • stereotype • zichtbaarheid (visibility) Use-case-diagrammen • actor • extends-relatie • functionele systeemeisen • include-relatie • interactiestappen • niet-functionele systeemeisen • scenario • use case Interactiediagrammen • actief object • conditionele boodschap • frame • interactie • iteratie • levenslijn (life line) • recursie (recursion) • resultaat (result) • verwijzing (ref frame)
Toelichting en verantwoording Het basisbegrip methode (method) wordt niet gebruikt in boek B en C. Het wordt wel gebruikt in boek A, echter niet gedefinieerd. Er wordt wel verondersteld dat kandidaten het begrip methode (method) kennen, omdat het zo’n algemeen gebruikt OO-begrip is. In boek B wordt het begrip extends-relatie gebruikt voor de UML use-case-relatie <<extend>>. In een van de diagrammen, komt <<extends>> voor. Dit is in UML 2.1 geen correct stereotype.
Object Oriëntatie Foundation
8
4. Literatuur Examenliteratuur A Sintes, A. Objectgeoriënteerd programmeren in 21 dagen Den Haag: Pearson Education/ Addison Wesley, 6e herziene druk, 2002 ISBN 978 90 430 0543 2 B Warmer, J. & Kleppe, A. Praktisch UML 4e editie Amsterdam: Pearson Education Benelux BV, 4e editie, 2007 ISBN 978 90 430 1265 2 C Warmer, J. & Kleppe, A. Praktisch UML 2e editie Pearson Education/ Addison Wesley, 2e druk, 2001 ISBN 90 430 0494 4 N.B De betreffende paragrafen uit deze literatuur zijn als pdf beschikbaar via de website www.exin.nl.
Aanvullende literatuur D Faber, E., Kockelkoren, Ch., Kreeft, L., Reubsaet, G., Snel, R., & Wesselink, M. Object Oriented Foundation E3 ICT, 1e druk, 2005 ISBN 10: 90 769 3964 0 ISBN 13: 978 90 769 3964 3
Samenhang literatuur en examenspecificaties Examenspecificatie
Literatuur
1.1
B:
§ 2.7 - 2.8
C:
§ 2.1 t/m § 2.5
2.1
A:
H 1 blz. 19 - 23; H 3 blz. 75 - 77
2.2
A:
H 1 blz. 10 - 12; H 4 blz. 92 - 97; H 6
B:
§ 2.3; § 4.1.2 t/m § 4.2.5
A:
H 2; H 4, blz. 83 - 92 en blz. 101 - 102; H 6, blz. 139 - 144; H 8 blz. 216, blz. 630
B:
§ 4.2.8, § 4.6.7 en § 5.7
3.1
B:
§ 2.3, § 2.5 t/m § 2.7 § 3.1 t/m § 3.4, § 5.3
3.2
A: B:
H 8 blz. 213-215 § 4.2,§ 4.3, § 4.4.2, § 4.4.7, § 4.4.8, § 4.4.9, § 4.4.11, § 4.4.18 § 4.6.1, § 4.6.2, § 16.6.3
3.3
A:
H 9 blz. 235
B:
§ 8.2 t/m § 8.6
B:
§ 10.2.1 t/m § 10.2.4, § 10.2.7, § 10.2.8, § 10.2.10,
B:
§ 10.2.11, § 10.3, § 10.4
2.3
3.4
Object Oriëntatie Foundation
9