UC001: Initialize a C++ CLI Tool Repository¶
Overview¶
| Property | Value |
|---|---|
| ID | UC001 |
| Level | User Goal |
| Primary Actor | Developer |
| Trigger | Development of a new CLI Tool with C++ |
| Precondition | Empty target repository exists |
| Success Guarantee | Target repository populated with all required files specific to progrmming language and application type |
| Related Rules | BR-001, BR-002, BR-003, BR-004, BR-008, BR-009, BR-011, BR-012, BR-013, BR-014, BR-015 |
| Related Feature | features/UC001-sample_use_case.feature |
Goal¶
- What problem does this use case solve?
- Populates an empty Git repository with all files needed to quickly start development of an C++ CLI tool
- Enforces structured approach by providing guidelines and structure
- What does it explicitly NOT do (scope boundary)?
- Generate complete software artifacts
Main Success Scenario¶
- Developer initiates popultaion of repository: Calls
prjinitwith appropriate command line arguments. - Generator populates the target folder: With respect to command line arguments given by Developer.
- Generator outputs error: Only if error occurs. No output otherwise (Unix philosophy).
Extensions (Alternate Flows)¶
See features/UC001-sample_use_case.feature.
Transaction Boundary¶
No transaction. Generator writes files. All files are written in case of success. In case of failure only a subset of files will exist in the target folder.
Sequence Diagram¶
Not applicable
BDD Scenarios¶
The feature file is the single source of truth for behaviour — it is also executed as an acceptance test. See features/UC001-init_cpp_cli_tool_repo.feature.