MerrimanInd / MerrimanInd/drawpyo
UML use case diagram implementation
- Dominant language
- Python
- Stars
- 412
- Forks
- 48
- PR merge metrics
- No merged PRs in 30d
Description
Automatically layout use case diagrams from structured input. This is **VERY** useful in solution architecture.
This issue involves all conceptional work, that is needed to find a practical input format.
**UML Use Case Diagrams**.
---
## 1. Actor Notation
* **Shape:** Stick figure
* **Placement:**
* Always **outside** the system boundary
* **Inheritance:**
* Solid line with **hollow triangle**
* Triangle points **to the parent actor**
---
## 2. Use Case Notation
* **Shape:** Oval (ellipse)
* **Placement:**
* Always **inside** the system boundary
* **Inheritance:**
* Solid line with **hollow triangle**
* Triangle points **to the parent use case**
---
## 3. System Boundary
* **Shape:** Rectangle
* **Contents:**
* Only use cases are allowed inside
* **Actors:**
* Never placed inside the boundary
---
## 4. Association (Actor ↔ Use Case)
* **Line type:** Solid line
* **Arrowhead:** None (by default)
* **Connection:**
* Actor ↔ Use Case only
---
## 5. «include» Relationship
* **Line type:** Dashed line
* **Arrowhead:** Open arrow
* **Direction:**
* From base use case → included use case
* **Label:**
* «include» (with guillemets)
* Placed near the line
* **Connection:**
* Use Case → Use Case only
---
## 6. «extend» Relationship
* **Line type:** Dashed line
* **Arrowhead:** Open arrow
* **Direction:**
* From extending use case → base use case
* **Label:**
* «extend»
* **Optional:**
* Extension point name in brackets (rarely shown)
---
## 7. Generalization (Inheritance)
Applies to **actors and use cases**.
* **Line type:** Solid line
* **Arrowhead:** Hollow triangle
* **Direction:**
* Child → Parent
* **Label:** None
---
## 8. Visual Legend (Quick Reference)
| Element | Shape | Line | Arrow |
| -------------- | ------------ | ------ | --------------- |
| Actor | Stick figure | — | — |
| Use Case | Oval | — | — |
| System | Rectangle | — | — |
| Association | — | Solid | None |
| «include» | — | Dashed | Open |
| «extend» | — | Dashed | Open |
| Generalization | — | Solid | Hollow triangle |
---

Contributor guide
Research direction
No file, test, or entry point is named. Start by reading the repository's existing diagram-generation APIs and UML-related support, then define a practical structured input format and verify that it can represent the listed actors, use cases, boundaries, and relationships.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100