When writing requirements, the question often arises of to what level it is worth detailing the requirements and what artifacts should appear as a result of system analysis.
I try to adhere to the position that this is purely individual and depends on the team and who is comfortable working. It happens that the use-case is enough for developers to make a design, and for testers this is enough to write test cases. Therefore, I will write about those artifacts that may arise when writing requirements and about which you need to think about exactly by the time the development is completed, and you yourself decide and agree within the team when it is worth describing. It is only unambiguous that by the end of development the documentation should contain everything that will be discussed further.
If you do not take into account small features, the implementation of which involves minor improvements, you can simply make changes to the existing descriptions. Systematically, we can distinguish two types of tasks that come into the work of a systems analyst and they need to be described in different ways:
The task of developing a new service or new functionality that only indirectly affects other systems or components
Tasks, the implementation of which involves improvements in a number of systems by process (and, as you know, systems are often segmented by process, and a business feature usually just goes through the entire pipeline and requires improvements in a number of systems)
To describe tasks of the first type, I identified the following structure and description blocks:
General requirements
A block that assumes the designation of the context. What kind of system is it, what is it for, what objects it contains, what are its boundaries.
- target
-
, ,
-
, , . , Confluenc , , , ,
-
, . , .
, , .
, , , . , , .
, , ,
, ( ), , .
(Use case)
, . . , UML-
UML. .
, , / . .
ER-.
, . , , , . . , , , .
, , ( ). .
-
, , \ . , , , ( ).
-
, swagger ( ), ( ), ftp .
.
:
, , , , , . ( ).
:
, . , .
(Use-case)
.
It is easiest to display system interactions and data flows for implementation. It is necessary to decompose all functionality by systems in terms of data, calls and triggers. indicate all relationships and dependencies of tasks. Further detail already at the level of each system separately.