Skip to content

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

  1. Developer initiates popultaion of repository: Calls prjinit with appropriate command line arguments.
  2. Generator populates the target folder: With respect to command line arguments given by Developer.
  3. 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.