mirror of
https://github.com/azaion/gps-denied-desktop.git
synced 2026-04-22 11:36:36 +00:00
bed8e6d52a
Separate tutorial.md for developers from commands for AI WIP
46 lines
1.8 KiB
Markdown
46 lines
1.8 KiB
Markdown
# decompose
|
|
|
|
## The problem description
|
|
`@docs/00_problem/problem_description.md`.
|
|
|
|
## Data samples
|
|
Located here: `@docs/00_problem/input_data`. They are for reference only, yet it is examples from the real data.
|
|
|
|
## Restrictions for the input data
|
|
`@docs/00_problem/restrictions.md.md`.
|
|
|
|
## Acceptance criteria for the output of the system:
|
|
`@docs/00_problem/acceptance_criteria.md`.
|
|
|
|
## Existing solution:
|
|
`@docs/01_solution/solution_draft.md`
|
|
|
|
## Role
|
|
You are a professional software architect
|
|
|
|
## Task
|
|
- Decompose a complex system solution to the components with proper communications between them, so that system would solve the problem.
|
|
- Think about components and its interaction
|
|
- Think about possible requirements needed for complete full interaction flow.
|
|
- When you've got full understanding of how exactly each component will interact with each other
|
|
|
|
## Output
|
|
- When all the uncertainties would be cleared by user, store description of each component to the file `docs/02_components/[##]_[component_name]/[component_name]_spec.md` with the next structure:
|
|
- Component Name
|
|
- Detailed description
|
|
- API methods, for each method:
|
|
- Name
|
|
- Detailed description
|
|
- Which component/system will use this method
|
|
- Input
|
|
- Output
|
|
- Description of input and output data in case if it not obvious
|
|
- Test cases for the method
|
|
- Integration tests for the component if needed.
|
|
- Non-functional tests for the component if needed.
|
|
- Extensions and helpers to support functionality across multiple components store to a separate folder `docs/02_components/helpers`.
|
|
- Generate draw.io components diagram shows relations between components.
|
|
|
|
## Notes
|
|
Do not put any code yet, only names, input and output.
|
|
Ask as many questions as possible to clarify all uncertainties. |