Object Oriented Analysis en Design
Lesgeld
Cursus Object Oriented Analysis en Design
In de cursus Object Oriented Analysis en Design leren deelnemers essentiële technieken en concepten voor het ontwerpen en analyseren van object-georiënteerde systemen. Deze cursus biedt een diepgaand inzicht in moderne methoden en principes die cruciaal zijn voor effectieve softwareontwikkeling.
Iteratieve en Incrementele Ontwikkeling
Na een introductie en overzicht van de belangrijkste object-georiënteerde concepten en princi
Cursus Object Oriented Analysis en Design
In de cursus Object Oriented Analysis en Design leren deelnemers essentiële technieken en concepten voor het ontwerpen en analyseren van object-georiënteerde systemen. Deze cursus biedt een diepgaand inzicht in moderne methoden en principes die cruciaal zijn voor effectieve softwareontwikkeling.
Iteratieve en Incrementele Ontwikkeling
Na een introductie en overzicht van de belangrijkste object-georiënteerde concepten en principes, wordt de moderne methodiek van iteratieve en incrementele systeemontwikkeling besproken. Deze aanpak stelt teams in staat om flexibel te reageren op veranderingen en de kwaliteit van het eindproduct te verbeteren.
Requirements Gathering en Use Cases
Vervolgens wordt aandacht besteed aan hoe de requirements van een systeem kunnen worden geanalyseerd en hoe de typische vormen van systeemgebruik kunnen worden beschreven met use cases. Deze technieken helpen bij het vaststellen van de behoeften van eindgebruikers en het vastleggen van functionele vereisten.
Domain Modeling
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. Dit vormt de basis voor een goed gestructureerd systeemontwerp.
Interaction Modeling
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, wat de effectiviteit van de ontwikkeling vergroot.
Packages en Subsystems
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. Dit helpt bij het organiseren van de softwarecomponenten op een overzichtelijke manier.
Architectural Design
De cursus gaat ook in op architectural design, waarbij component- en deployment-diagrammen worden gebruikt om de structuur en interacties binnen het systeem visueel weer te geven.
Design Patterns
Tot slot wordt het belang van design patterns voor het implementeren van standaardoplossingen benadrukt. Deze patronen helpen ontwikkelaars om bewezen oplossingen toe te passen en de onderhoudbaarheid van de code te verbeteren.
Voor meer informatie over gerelateerde onderwerpen kunt u de cursus Domain Driven Design bekijken.
Doelgroep Cursus Object Oriented Analysis en Design
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.
Voorkennis Cursus Object Oriented Analysis en Design
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.
Uitvoering Training Object Oriented Analysis en Design
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.
Certificering Object Oriented Analysis and Design
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Object Oriented Analysis and Design.
Modules
Module 1 : Software Process
- Software Development Process
- Software Development Phases
- Good Software Characteristics
- Iterative and Incremental Development
- Requirements Capturing
- Requirements Analysis Process
- System Design
- Test Driven Development
- Waterfall Model
- Evolutionary Development
- Unified Process
Module 2 : Requirements Analysis
- Understanding Requirements
- Vision Documents
- Requirement Analysis Activities
- Requirement Types
- Functional Requirements
- Non-Functional Requirements
- Requirements Determination
- Requirements Classification
- Conflicting Requirements
- Requirements Risks
- The glossary
Module 3 : Use Case Modeling
- Use Cases and Actors
- Identifying Actors
- System Context Diagram
- Identifying Use Cases
- Use Case Diagram
- Use Case Modeling Steps
- High Level Use Cases
- Alternative Paths
- Scenarios
- Generalizations
- include and extends
Module 4 : UML Overview
- What is UML?
- UML Diagrams
- Use Case View
- Logical View
- Component View
- Deployment View
- Notes and Adornments
- Stereotypes
- Tagged Values
- Constraints
- System Sequence Diagrams
Module 5 : Domain Modeling
- Why Domain Modeling?
- Conceptual Classes
- Noun Identification
- Physical and Conceptual Objects
- Types of Classes
- Domain Analysis Classes
- Finding Associations
- Multiplicity and Associations
- Generalization and Specialization
- Aggregation and Composition
- Finding Attributes
Module 6 : Use Case Realization
- Realizing Requirements
- System Behavior
- Input Events and Operations
- System Sequence Diagrams
- Derivation from Use Case
- Postconditions
- Class Responsibilities
- Class Collaborations
- Interaction Diagrams
- Sequence Diagrams
- Grasps Design Patterns
Module 7 : Statecharts
- 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
Module 8 : Design Model
- 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
Module 9 : Architectural Design
- 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