First, the basic premise that the objective of a software project is to decompose it into modules that can be implemented in parallel and by independent teams.
Therefore we must follow the SWEBOK emerald board.
Software Engineering Body of Knowledge, also known by the acronym SWEBOK.
It is a document, organized by the IEEE Computer Society (an international scientific society), with the support of several researchers and industry professionals.
The purpose of SWEBOK is precisely to document the body of knowledge that characterizes the area that we now call Software Engineering.
SWEBOK defines 12 areas of knowledge in Software Engineering:
1) Requirements Engineering
2) Software Design
3) Software Building
4) Software Testing
5) Software maintenance
7) Project Management
8) Software Processes
9) Software ModelsS
11) Professional Practice
12) Economic Aspects
13) Fundamentals of Computing,
14) Fundamentals of Mathematics
15) Fundamentals of Engineering