Skip to content

UML use case diagram implementation #114

Description

@ibirothe

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

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    diagramTypeNew subdiagram typeenhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions