- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
De cursus Object Oriented Analysis en Design is bedoeld voor developers en architecten die object georiënteerde analyse en design technieken en UML willen leren.
Om aan de cursus Object Oriented Analysis en Design deel te kunnen nemen is kennis van de basis principes van object oriëntatie en ervaring in object-georiënteerde software ontwikkeling wenselijk.
De stof wordt behandeld aan de hand van presentatie slides. Tijdens de cursus worden oefeningen gedaan met twee case studies die van requirements tot ontwerp worden uitgewerkt. Een modern UML tool wordt gebruikt om UML diagrammen te tekenen. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Object Oriented Analysis and Design.
In de cursus Object Oriented Analysis and Design leren de deelnemers de object georiënteerde manier van denken en de technieken voor het analyseren, ontwerpen en modelleren van een software systeem als een verzameling samenwerkende objecten. De UML taal loopt als een rode draad door de cursus heen.
Na een introductie en overzicht van de belangrijkste object georiënteerde concepten en principes, wordt de moderne methodiek van iteratieve en incrementele systeem ontwikkeling besproken. Vervolgens wordt aandacht besteed aan hoe de requirements van een systeem kunnen worden geanalyseerd en hoe de typische vormen van systeem gebruik kunnen worden beschreven met use cases.
Na een overzicht van UML wordt besproken hoe een domain model kan worden opgesteld, hoe de verschillende objecten kunnen worden onderscheiden met hun respectievelijke attributen en relaties en welke informatie ze uitwisselen. Er wordt aandacht besteed aan hoe verantwoordelijkheden kunnen worden toegewezen aan objecten en hoe deze door interactie modellering vertaald en gevisualiseerd kunnen worden met sequence en collaboration diagrammen en state charts. De verschillende design patterns die in dit proces kunnen worden gebruikt worden ook besproken.
En ook de vertaling van het domain analysis model naar een design class model is onderdeel van de cursus inclusief het ontwerp van een logische architectuur met packages en subsystems en de mapping naar code. De cursus gaat ook in op architectural design waarbij component en deployment diagrammen worden gebruikt.
Tot slot wordt het belang van design patterns voor het implementeren van standaard oplossingen benadrukt.
Module 1 : Software Process |
Module 2 : Requirements Analysis |
|
Software Development Process Software Development Phases Good Software Characteristics Iterative Development Incremental Development Requirements Capturing Requirements Analysis Process System Design Test Driven Development Waterfall Model Evolutionary Development Unified Process |
Understanding Requirements Vision Documents Requirement Analysis Activities Requirement Types Functional Requirements Non-Functional Requirements Requirements Determination Requirements Classification Requirements Specification Conflicting Requirements Requirements Risks The glossary |
Use Cases and Actors Identifying Actors System Context Diagram Identifying Use Cases Use Case Diagram Use Case Modeling Steps High Level Use Cases Expanded Use Case Alternative Paths Scenarios Generalizations include and extends |
Module 4 : UML Overview |
Module 5 : Domain Modeling |
Module 6 : Use Case Realization |
What is UML? UML History UML Design Goals UML Diagrams UML Views Use Case View Logical View Component View Deployment View Notes and Adornments Stereotypes Tagged Values Constraints System Sequence Diagrams |
Why Domain Modeling? Conceptual Classes Noun Identification Physical and Conceptual Objects Similar Conceptual Classes Types of Classes Domain Analysis Classes UML Notation and Classes Lowering Representational Gap Finding Associations Multiplicity and Associations Generalization and Specialization Aggregation and Composition Finding Attributes |
Realizing Requirements System Behavior Input Events and Operations System Sequence Diagrams Scenario with Events Derivation from Use Case Recording System Operations Contract Sections Postconditions Class Responsibilities Class Collaborations Interaction Diagrams Sequence Diagrams Grasps Design Patterns |
Module 7 : Statecharts |
Module 8 : Design Model |
Module 9 : Architectural Design |
State Machine Concepts State Machine Diagram Event Driven Behavior State Machines and Objects Object Behavior Objects and Threads Passive and Active Objects Entry and Exit Actions Internal Transitions State Activities Guards History States |
Transition to Design From Requirements to Design Class Design Diagrams The Design Model Design Aspects Design Model Characteristics Mapping to Code Packages Package Design Packaging Guidelines Data Access Class Packages Subsystems |
System Partitioning Large Scale Element Collaboration Layers and Packages Simple Logical Architecture Consider Coordination Layer Web Application Architecture Consider MVC Architecture Package Dependencies Clustering Vertical Scaling Horizontal Scaling Physical Architecture |
Module 10 : Applying Design Patterns |
||
What are Patterns? Creational Patterns Behavioral Patterns Structural Patterns Architectural Patterns Singleton Abstract Factory Factory Method Reducing Dependencies Observer Pattern Adapter Pattern FaÇade pattern Proxy Pattern |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.