Add "Domeinmodel"
226
Domeinmodel.md
Normal file
226
Domeinmodel.md
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
# Domeinmodel
|
||||||
|
|
||||||
|
## 1. Conceptueel domeinmodel
|
||||||
|
|
||||||
|
### Kerndomeinen
|
||||||
|
|
||||||
|
Het informatiemodel is opgebouwd rond de volgende kerndomeinen:
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
||||||
|
│ STRATEGIE │────▶│ PROJECT │────▶│ OVERDRACHT │
|
||||||
|
│ & ROADMAP │ │ & FASE │ │ & TRANSITIE │
|
||||||
|
└─────────────┘ └──────┬──────┘ └─────────────┘
|
||||||
|
│
|
||||||
|
┌────────────┼────────────┐
|
||||||
|
▼ ▼ ▼
|
||||||
|
┌──────────┐ ┌──────────┐ ┌──────────┐
|
||||||
|
│COMMITMENT│ │ BESLUIT │ │ DOCUMENT │
|
||||||
|
│ & ACTIE │ │& BUDGET │ │ & KENNIS │
|
||||||
|
└──────────┘ └──────────┘ └──────────┘
|
||||||
|
│ │ │
|
||||||
|
└────────────┼────────────┘
|
||||||
|
▼
|
||||||
|
┌──────────┐
|
||||||
|
│ ACTOR │
|
||||||
|
│ & ROL │
|
||||||
|
└──────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Entiteiten en relaties
|
||||||
|
|
||||||
|
### 2.1 Strategie & Roadmap
|
||||||
|
|
||||||
|
| Entiteit | Beschrijving | Kernattributen |
|
||||||
|
|----------|-------------|----------------|
|
||||||
|
| **Thema** | Strategisch innovatiethema | naam, beschrijving, prioriteit, periode |
|
||||||
|
| **Speerpunt** | Concreet speerpunt binnen een thema | naam, beschrijving, eigenaar, status |
|
||||||
|
| **Roadmap-item** | Visueel element op de tijdlijn | titel, start, eind, type, status, thema |
|
||||||
|
|
||||||
|
**Relaties:**
|
||||||
|
- Thema `1:N` Speerpunt
|
||||||
|
- Thema `1:N` Roadmap-item
|
||||||
|
- Speerpunt `1:N` Project
|
||||||
|
|
||||||
|
### 2.2 Project & Fase
|
||||||
|
|
||||||
|
| Entiteit | Beschrijving | Kernattributen |
|
||||||
|
|----------|-------------|----------------|
|
||||||
|
| **Project** | Innovatietraject | naam, beschrijving, eigenaar, status, prioriteit, startdatum, streef-einddatum |
|
||||||
|
| **Fase** | Stap in de innovatielevenscyclus | type, status, startdatum, einddatum, opmerkingen |
|
||||||
|
| **Risico** | Geïdentificeerd risico | beschrijving, impact, kans, mitigatie, eigenaar |
|
||||||
|
| **Afhankelijkheid** | Relatie tussen projecten | type, beschrijving, status |
|
||||||
|
|
||||||
|
**Relaties:**
|
||||||
|
- Project `1:N` Fase (een project doorloopt meerdere fasen)
|
||||||
|
- Project `N:M` Project (afhankelijkheden)
|
||||||
|
- Project `1:N` Risico
|
||||||
|
- Project `N:1` Speerpunt
|
||||||
|
|
||||||
|
**Fasetype-enum:**
|
||||||
|
```
|
||||||
|
signaal | verkenning | concept | experiment | pilot |
|
||||||
|
besluitvorming | overdracht_bouwen | overdracht_beheer | evaluatie
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.3 Commitment & Actie
|
||||||
|
|
||||||
|
| Entiteit | Beschrijving | Kernattributen |
|
||||||
|
|----------|-------------|----------------|
|
||||||
|
| **Commitment** | Toezegging of afspraak | beschrijving, eigenaar, deadline, status, bron |
|
||||||
|
| **Actie** | Concrete uitvoerbare stap | beschrijving, eigenaar, deadline, status, prioriteit |
|
||||||
|
|
||||||
|
**Relaties:**
|
||||||
|
- Project `1:N` Commitment
|
||||||
|
- Commitment `1:N` Actie
|
||||||
|
- Besluit `1:N` Commitment
|
||||||
|
- Actor `1:N` Commitment (als eigenaar)
|
||||||
|
- Actor `1:N` Actie (als eigenaar)
|
||||||
|
|
||||||
|
### 2.4 Besluit & Budget
|
||||||
|
|
||||||
|
| Entiteit | Beschrijving | Kernattributen |
|
||||||
|
|----------|-------------|----------------|
|
||||||
|
| **Besluit** | Bestuurlijk of managementbesluit | titel, beschrijving, datum, type, status, onderbouwing |
|
||||||
|
| **Budget** | Financiële toekenning | bedrag, type, periode, status |
|
||||||
|
| **Besteding** | Daadwerkelijke uitgave | bedrag, beschrijving, datum, categorie |
|
||||||
|
|
||||||
|
**Relaties:**
|
||||||
|
- Project `1:N` Besluit
|
||||||
|
- Project `1:N` Budget
|
||||||
|
- Budget `1:N` Besteding
|
||||||
|
- Besluit `1:N` Commitment
|
||||||
|
|
||||||
|
### 2.5 Document & Kennis
|
||||||
|
|
||||||
|
| Entiteit | Beschrijving | Kernattributen |
|
||||||
|
|----------|-------------|----------------|
|
||||||
|
| **Document** | Projectdocument of bijlage | titel, type, inhoud, versie, auteur, datum |
|
||||||
|
| **Kennisartikel** | Kennisbankitem | titel, inhoud, tags, auteur, datum |
|
||||||
|
| **Lesson Learned** | Reflectie op een traject | titel, inhoud, project, fase, tags |
|
||||||
|
| **Tag** | Classificatielabel | naam, categorie |
|
||||||
|
|
||||||
|
**Relaties:**
|
||||||
|
- Project `1:N` Document
|
||||||
|
- Project `1:N` Lesson Learned
|
||||||
|
- Fase `1:N` Document
|
||||||
|
- Document `N:M` Tag
|
||||||
|
- Kennisartikel `N:M` Tag
|
||||||
|
|
||||||
|
### 2.6 Overdracht & Transitie
|
||||||
|
|
||||||
|
| Entiteit | Beschrijving | Kernattributen |
|
||||||
|
|----------|-------------|----------------|
|
||||||
|
| **Overdrachtsplan** | Plan voor transitie | type, status, eigenaar_rnd, eigenaar_ontvanger |
|
||||||
|
| **Criterium** | Voorwaarde voor overdracht | beschrijving, status, verificatie |
|
||||||
|
| **Acceptatie** | Formele acceptatie | datum, door, opmerkingen, status |
|
||||||
|
|
||||||
|
**Relaties:**
|
||||||
|
- Project `1:N` Overdrachtsplan
|
||||||
|
- Overdrachtsplan `1:N` Criterium
|
||||||
|
- Overdrachtsplan `1:1` Acceptatie
|
||||||
|
|
||||||
|
### 2.7 Actor & Rol
|
||||||
|
|
||||||
|
| Entiteit | Beschrijving | Kernattributen |
|
||||||
|
|----------|-------------|----------------|
|
||||||
|
| **Gebruiker** | Systeemgebruiker | naam, email, functie, afdeling |
|
||||||
|
| **Rol** | Systeemrol | naam, beschrijving, permissies |
|
||||||
|
| **Projectrol** | Rol binnen een project | type (eigenaar, lid, reviewer, stakeholder) |
|
||||||
|
|
||||||
|
**Relaties:**
|
||||||
|
- Gebruiker `N:M` Rol (systeemrollen)
|
||||||
|
- Gebruiker `N:M` Project (via Projectrol)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Lifecycle / Statusmodel van een project
|
||||||
|
|
||||||
|
```
|
||||||
|
┌──────────┐
|
||||||
|
│ SIGNAAL │
|
||||||
|
└────┬─────┘
|
||||||
|
▼
|
||||||
|
┌──────────┐
|
||||||
|
│VERKENNING│
|
||||||
|
└────┬─────┘
|
||||||
|
▼
|
||||||
|
┌──────────┐
|
||||||
|
┌───▶│ CONCEPT │◀── heropenen
|
||||||
|
│ └────┬─────┘
|
||||||
|
│ ▼
|
||||||
|
│ ┌──────────┐
|
||||||
|
parkeren──┤ │EXPERIMENT│
|
||||||
|
│ └────┬─────┘
|
||||||
|
│ ▼
|
||||||
|
│ ┌──────────┐
|
||||||
|
└───▶│ PILOT │
|
||||||
|
└────┬─────┘
|
||||||
|
▼
|
||||||
|
┌──────────┐
|
||||||
|
│ BESLUIT │──── afwijzen ──▶ GESTOPT
|
||||||
|
└────┬─────┘
|
||||||
|
▼
|
||||||
|
┌──────────┐
|
||||||
|
│OVERDRACHT│
|
||||||
|
│ BOUWEN │
|
||||||
|
└────┬─────┘
|
||||||
|
▼
|
||||||
|
┌──────────┐
|
||||||
|
│OVERDRACHT│
|
||||||
|
│ BEHEER │
|
||||||
|
└────┬─────┘
|
||||||
|
▼
|
||||||
|
┌──────────┐
|
||||||
|
│EVALUATIE │
|
||||||
|
└────┬─────┘
|
||||||
|
▼
|
||||||
|
┌──────────┐
|
||||||
|
│AFGEROND │
|
||||||
|
└──────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
**Aanvullende statussen:**
|
||||||
|
- **Geparkeerd** — tijdelijk stilgelegd, kan worden heropend
|
||||||
|
- **Gestopt** — definitief beëindigd (met reden en lessons learned)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Voorstel voor kennislaag
|
||||||
|
|
||||||
|
### Relationeel vs. vector vs. graph
|
||||||
|
|
||||||
|
| Aspect | Relationeel (PostgreSQL) | Vector (pgvector) | Graph |
|
||||||
|
|--------|------------------------|-------------------|-------|
|
||||||
|
| Gestructureerde data | Primair | Niet geschikt | Mogelijk |
|
||||||
|
| Zoeken in documentinhoud | Beperkt (full-text) | Semantisch zoeken | Niet primair |
|
||||||
|
| Relaties tussen entiteiten | Goed (FK's, joins) | Niet geschikt | Excellent |
|
||||||
|
| Complexiteit | Laag | Midden | Hoog |
|
||||||
|
| Onderhoud | Laag | Midden | Hoog |
|
||||||
|
|
||||||
|
### Advies
|
||||||
|
|
||||||
|
**MVP:** PostgreSQL met pgvector-extensie
|
||||||
|
- Relationeel model voor alle gestructureerde data
|
||||||
|
- pgvector voor embeddings van documenten en kennisartikelen
|
||||||
|
- Full-text search als fallback
|
||||||
|
|
||||||
|
**Later evalueren:** Knowledge graph
|
||||||
|
- Pas overwegen wanneer relatie-queries aantoonbaar complex worden
|
||||||
|
- Bijvoorbeeld: "welke projecten zijn indirect afhankelijk van besluit X?"
|
||||||
|
- Neo4j of Apache AGE (PostgreSQL-extensie) als dan relevant
|
||||||
|
|
||||||
|
### Aanname
|
||||||
|
Een relationeel model met pgvector dekt de behoeften van de MVP en waarschijnlijk ook de fasen daarna. Een knowledge graph voegt pas meerwaarde toe bij complexe traversal-queries over veel entiteiten. Dit is een aanname die we bewust monitoren.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Open vragen bij het domeinmodel
|
||||||
|
|
||||||
|
1. Moet er een apart entiteitstype zijn voor "aanbestedingen" of valt dit onder projecten?
|
||||||
|
2. Hoe gedetailleerd moet het financiële model zijn? (Kostenplaatsen, facturen, of alleen budgetten?)
|
||||||
|
3. Moeten er templates zijn voor veelvoorkomende projecttypen?
|
||||||
|
4. Is er een bestaande taxonomie of tagstructuur die overgenomen moet worden?
|
||||||
|
5. Hoe wordt omgegaan met vertrouwelijkheid per project? (Projectniveau, documentniveau, of beide?)
|
||||||
Reference in New Issue
Block a user