docs: Add market analysis and features for Lean Pathfinding to documentation
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
# Marktanalyse
|
||||
|
||||
## Vergleichtabelle
|
||||
|
||||
| Feature | **WB** | **CM** | **FI** | **OP** | **TJ** | **PL** | **IS** |
|
||||
|----------------------------------|:--------:|:------:|:------:|:------:|:------:|:------:|:------:|
|
||||
| Hierarchische Struktur | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| AND / OR / optional | ✓ | ✓ | ✓ | – | – | – | ◐ |
|
||||
| XOR / exactly-one | (✓) | ✓ | ✓ | – | – | – | ◐ |
|
||||
| Cross-Dependencies / Constraints | (✓) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
||||
| Aufwand / Kosten | ✓ | ✓ | ◐ | ✓ | ✓ | ✓ | ◐ |
|
||||
| Fortschrittsstatus | ✓ | – | – | ✓ | ✓ | ✓ | – |
|
||||
| Kostenoptimierung | ✓ | ✓ | ◐ | – | – | – | – |
|
||||
| **Lean Pathfinding** | **✓** | – | – | – | – | – | – |
|
||||
| **Lean Pathfinding + DC** | **(✓)** | – | – | – | – | – | – |
|
||||
| Diagramm in GUI editierbar | – | ◐ | ✓ | ✓ | – | ✓ | ✓ |
|
||||
| Text → Diagramm | ✓ | ◐ | ✓ | – | ✓ | – | – |
|
||||
| **Browser-App** | **✓** | ✓ | – | ✓ | – | – | ✓ |
|
||||
|
||||
**Legende**
|
||||
|
||||
✓ : vorhanden
|
||||
(✓) : für Werkbaum geplant
|
||||
◐ : teilweise / über Erweiterungen
|
||||
– : nicht vorhanden
|
||||
|
||||
CM: ClaferMoo
|
||||
FI: FeatureIDE
|
||||
OP: OpenProject
|
||||
TJ: TaskJuggler
|
||||
PL: ProjectLibre
|
||||
IS: piStar/iStar
|
||||
|
||||
DC: Dependecy Closure
|
||||
|
||||
## Quellen zu den verglichenen Open-Source-Werkzeugen
|
||||
|
||||
### FeatureIDE
|
||||
|
||||
- [FeatureIDE – Official Website](https://featureide.github.io/)
|
||||
- Feature Modeling
|
||||
- grafischer und textueller Editor
|
||||
- Mandatory / Optional / OR / Alternative (XOR)
|
||||
- Cross-Tree Constraints
|
||||
- Folding und Layout großer Feature-Modelle
|
||||
|
||||
### ClaferMoo
|
||||
|
||||
- [ClaferMoo Standalone – GitHub](https://github.com/gsdlab/claferMooStandalone)
|
||||
- Multi-Objective Optimizer für attributed feature models
|
||||
- Kosten-/Qualitätsattribute
|
||||
- Optimierung mehrerer Ziele
|
||||
- MIT License
|
||||
|
||||
### TaskJuggler
|
||||
|
||||
- [TaskJuggler – Official Documentation](https://taskjuggler.org/documentation.html)
|
||||
- [TaskJuggler Manual – Introduction](https://taskjuggler.org/tj3/manual/Intro.html)
|
||||
- [TaskJuggler Tutorial](https://github.com/taskjuggler/TaskJuggler/blob/master/manual/Tutorial)
|
||||
- textbasierte Projektbeschreibung
|
||||
- hierarchische Tasks
|
||||
- Aufwand, Kosten und Fortschritt
|
||||
- klassische Task-Dependencies
|
||||
- Scheduling und Reporting
|
||||
|
||||
### OpenProject
|
||||
|
||||
- [OpenProject – Official Website](https://www.openproject.org/)
|
||||
- [OpenProject – Gantt Charts](https://www.openproject.org/docs/user-guide/gantt-chart/)
|
||||
- [OpenProject – Work Package Relations and Hierarchies](https://www.openproject.org/docs/user-guide/work-packages/work-package-relations-hierarchies/)
|
||||
- browserbasierte Open-Source-Projektplanung
|
||||
- Work-Package-Hierarchien
|
||||
- Fortschritt und Aufwand
|
||||
- Gantt-Diagramme
|
||||
- Dependencies zwischen Work Packages
|
||||
|
||||
### ProjectLibre Desktop
|
||||
|
||||
- [ProjectLibre Desktop – Official Website](https://projectlibre.com/projectlibre-desktop/)
|
||||
- [ProjectLibre – SourceForge](https://sourceforge.net/projects/projectlibre/)
|
||||
- Open-Source-Desktop-Projektplanung
|
||||
- Work Breakdown Structure
|
||||
- Gantt Charts
|
||||
- Network Diagrams
|
||||
- Dependencies
|
||||
- Critical Path Analysis
|
||||
|
||||
### piStar / iStar
|
||||
|
||||
- [piStar – GitHub](https://github.com/jhcp/piStar)
|
||||
- [piStar Requirements](https://github.com/jhcp/piStar/blob/master/docs/REQUIREMENTS.md)
|
||||
- Open-Source Goal Modeling
|
||||
- iStar 2.0
|
||||
- vollständig browserbasiert
|
||||
- grafischer Modell-Editor
|
||||
- Goals, Tasks und Dependencies
|
||||
@@ -104,3 +104,29 @@ Tastendruck ein Commit); und wer bei einem Backend eigentlich was darf
|
||||
erweitert D18 (heute rein statisch/kostenminimierend) um Nutzen- und
|
||||
Status-/Zeitachse.
|
||||
- Attribut-Syntax für Termine/Meilensteine.
|
||||
|
||||
## Features für vollständiges Lean-Pathfinding
|
||||
|
||||
- **Ein-/Ausklappbare Teilbäume**
|
||||
Teilbäume können im Text mit einer kompakten Zeichensyntax als initial eingeklappt markiert werden. `>` steht dabei für „ab hier einklappen“, `<` kann innerhalb eines eingeklappten Bereichs gezielt wieder sichtbare Teilbäume hervorholen. Im Diagramm kann anschließend unabhängig vom Text interaktiv ein- und ausgeklappt werden.
|
||||
|
||||
- **Knoten-IDs**
|
||||
Knoten können über eine kompakte ID wie `#auth` eindeutig adressiert werden. IDs bestehen aus einem whitespace-freien Bezeichner und dienen insbesondere als Ziel für Querverweise und Abhängigkeiten.
|
||||
|
||||
- **Abhängigkeiten zwischen Knoten**
|
||||
Mit einer Syntax wie `:#auth,#api` kann ein Knoten von anderen Knoten außerhalb seines eigenen Teilbaums abhängig gemacht werden. Dependencies beeinflussen nicht, wann Arbeiten beginnen dürfen, sondern den **effektiven Status** eines Knotens.
|
||||
|
||||
- **Intrinsischer und effektiver Status**
|
||||
Der intrinsische Status beschreibt den tatsächlichen Bearbeitungsstand eines Knotens. Der effektive Status berücksichtigt zusätzlich seine Abhängigkeiten. Ein intrinsisch fertiger Knoten kann daher effektiv noch nicht vollständig fertig sein, solange Dependencies nicht erfüllt sind.
|
||||
|
||||
- **Dependency-aware Lean Pathfinding**
|
||||
Das Lean Pathfinding berücksichtigt künftig nicht nur den Restaufwand innerhalb des gewählten Teilbaums, sondern die gesamte notwendige **Dependency Closure**. Gemeinsam benötigte Dependencies werden dabei nur einmal berechnet. Zyklen sind zulässig und entsprechen gemeinsam fertigzustellenden Gruppen.
|
||||
|
||||
- **Visualisierung von Dependencies**
|
||||
Abhängigkeiten werden als optisch sekundäre Querverbindungen im Diagramm dargestellt, etwa dünn oder gestrichelt. Bei Auswahl eines Knotens können dessen ein- und ausgehende Dependencies hervorgehoben werden.
|
||||
|
||||
- **XOR / exklusives Oder**
|
||||
Zusätzlich zu `all-of`, `any-of` und optionalen Knoten soll eine echte XOR-Gruppe unterstützt werden: Genau eine Alternative darf realisiert werden. Als kompakte Syntax bietet sich beispielsweise `x` an.
|
||||
|
||||
- **Knotenbeschreibungen / Detailtexte**
|
||||
Knoten können zusätzliche Erläuterungstexte erhalten, die im Diagramm als Tooltip oder Pop-up angezeigt werden. Vorgesehen sind kurze, direkt beim Knoten eingerückte Texte sowie längere, über die Knoten-ID referenzierte Beschreibungsblöcke am Ende des Dokuments.
|
||||
|
||||
Reference in New Issue
Block a user