Files
RepoFoundry/docs/use-case-diagram.md
Tirsvad 0b0a3b419a Record S02's acceptance of RC-022 to RC-030
- Review records RC-022 to RC-030 are Accepted
- The documents they review are set to Accepted (previous rows Deprecated)
- RC-028 and RC-029: Go-with-conditions becomes Go; the two action items are closed
- OC-001, SD-001 and DCD-001 carry a note that the UC-002 documents supersede the startProjectCreation signature
2026-10-07 16:38:36 +08:00

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 Deprecated Jens Tirsvad Nielsen S02 Initial version 02875ae
2026-10-07 Accepted 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