Opleiding: Object georiënteerde analyse en design met UML (Virtueel)
Lesmethode :
Virtueel
Algemeen :
In deze vierdaagse cursus leer je door middel van een structurele en stapsgewijze aanpak een requirements specificatie (functioneel ontwerp) uit te werken tot een object georiënteerd model (technisch ontwerp).
In de analyse fase maak je met UML-diagrammen een object georiënteerd domein model. Dit doe je op basis van de Use Cases die we hebben opgesteld in het functioneel ontwerp. We besteden veel aandacht aan de praktische toepassing van UML.
In de design fase zet je dit analyse domein model om in een design model. Het design model geeft weer hoe je het systeem gaat implementeren. Hierbij leer je tal van vuistregels en design patterns voor een beter systeemontwerp.
Deze cursus bestaat voor 50% uit theorie en voor 50% uit praktische oefeningen.
Doel :
Na het volgen van deze cursus kun je flexibele en goed onderhoudbare object georiënteerde systemen ontwerpen.
Je kunt zelf een functioneel en technisch ontwerp maken met behulp van een stapsgewijze aanpak op basis van de UML standaard.
Doelgroep :
Deze cursus is geschikt voor ontwerpers en ontwikkelaars die hun kennis en vaardigheden op het gebied van object georiënteerd ontwerpen willen uitbreiden.
Voorkennis :
De volgende voorkennis is vereist:
- Inleiding Object-Oriëntatie en UML
Onderwerpen :
- Software ontwikkeling methoden
- Waterval
- RUP
- Fasen
- Iteraties
- Agile
- Agile requirements
- Agile modeling
- UML
- UML diagrammen
- Model en views
- Requirements met use cases
- Use case diagram
- Actors
- Use cases
- Include en extend relaties
- Generalisatie
- Use case beschrijvingen
- Hoofd scenario
- Alternatieve scenario's
- Use case template
- Activity diagram
- Parallelle flows
- Conditionele flows
- Swimlanes
- Toestands diagram
- Entry, do en exit acties
- Object oriëntatie
- Object georiënteerd denken
- OO principes
- CRC cards
- CRC workshop
- Domein model
- Class diagram
- Het vinden van de juiste klassen
- Attributen en gedrag
- Relaties
- Mutipliciteit
- GRASP patterns
- Creator
- Information Expert
- Low Coupling
- Controller
- High Cohesion
- Polymorphism
- Pure Fabrication
- Indirection
- Law of Demeter (Don¿t talk to strangers)
- Sequence diagram
- Verantwoordelijkheden van de domein objecten
- Boundary objecten
- Design principes
- Keep it simple
- Keep it flexible
- Loose coupling
- Separation of concern
- Information hiding
- Principle of modularity
- Abstraction
- SOLID principes
- Single Responsibility Principle (SRP)
- Open-Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- Architectuur stijlen
- Object georiënteerd
- Component based
- Service georiënteerd
- Domain driven design
- Client-server
- Event bus
- Hub and spoke
- Layering
- Blackboard
- Pipe and filter
- Object oriented design
- Visibility
- Relaties
- Dependency versus associatie
- Associatie klassen
- Inheritance
- Interface
- Abstracte klassen
- Polymorphisme
- Service objecten
- Data access objecten
- Service gateway objecten
- Value objecten
- Component en service oriented design
- Component encapsulatie
- Autonome services
- Encapsulatie van processen
- Design patterns
- Command
- Mediator
- Strategy
- Observer
- Model-view-controller
- State
- Iterator
- Facade
- Singleton
- Proxy
- Visitor
- Factory
- Refactoring
