Files
RepoFoundry/docs/use-case-diagram.md

2.6 KiB

Use Case Diagram

Metadata

Key Value
ID UCD-001
CrossReference SA-001, BC-001, US-001, UC-001, UC-002

Version History

Date Status Author Reviewer Change Commit
2026-10-05 Accepted Jens Tirsvad Nielsen S02 Initial version 02875ae
2026-10-07 Proposed Jens Tirsvad Nielsen S02 Added UC-002 Start the script as a global command (includes UC-001) 1cd27f7

Purpose and Scope

The system boundary is RepoFoundry, the create-project.sh script. Inside it is one goal: creating a new project. The only actor is the Maintainer. GitHub, Gitea and the framework repository are services the system calls; they are outside the boundary and are not actors, because no use case describes their goals and the Stakeholder Analysis has no stakeholder for them.

Diagram

@startuml
left to right direction
actor "Maintainer" as M <<Actor>>
rectangle "RepoFoundry" <<System>> {
  usecase "Create a new project" as UC1
  usecase "Start the script as a global command" as UC2
}
M --> UC1
M --> UC2
UC2 ..> UC1 : <<include>>
@enduml

Actor Table

Actor Stereotype Stakeholder ID (SA) Goals (use cases)
Maintainer <<Actor>> S01, S02 Create a new project; start the script as a global command

Use Case Table

Use Case Actor(s) Goal
Start the script as a global command (UC-002) Maintainer Start the script by name from the folder in which the new project is to be created
Create a new project (UC-001) Maintainer Start a new project with a Gitea repository, optionally a GitHub repository and mirror, and a local project with the SQA-QC-Framework

Relationships

From Relationship (<<include>> / <<extend>>) To Justification
UC-002 <<include>> UC-001 Starting by name always ends in creating a project; the project creation is the same whatever way the script was started
None - - The optional GitHub steps are steps 5 and 7 of UC-001, not a separate goal of the Maintainer, so they are not modelled as an <<extend>> use case