One of the first things we are asked to do in Systems Engineering is to ignore the solutions implementation and think just about the Functions...
What is it that our system must DO?
The problem is... this is really hard to answer! It also takes a bit of practise to get right. The reason is that it is all too easy to confuse ourselves with all the other requirements that answer "Are there implementation contraints?" or "How should the system BE?"
System functions and system capabilities are related in that the functions of a system contribute to its overall capabilities.
For example, consider a car. The car's functions might include starting the engine, controlling the speed, and turning the wheels. These functions contribute to the car's overall capability of transporting passengers from one place to another.
Specific tasks or activities that a system must perform to meet its requirements. These functions are defined in the functional analysis and functional breakdown process and provide a detailed understanding of the system's behavior.
These are, on the other hand, the overall abilities of a system to perform a set of functions and meet its requirements. These capabilities are typically defined at a higher level than the individual functions and provide a summary of what the system can do.
The relationship between system functions and system capabilities is that the functions of a system work together to produce the system's capabilities. In other words, the capabilities of a system are the result of the functions that it performs. As a result, it's important to ensure that the functions of a system are defined and implemented in a way that supports the system's desired capabilities.
there are best practices for naming functions in Systems Engineering. These include:
Use descriptive names: Functions should be named in a way that accurately describes their purpose. The name should provide enough information about the function's purpose without being overly lengthy or complicated.
Use consistent naming conventions: Establish a consistent naming convention for functions and stick to it throughout the development process. This helps to ensure that functions are easily recognizable and understandable.
Use abbreviations wisely: Abbreviations can help to reduce the length of function names, but they should be used wisely. Abbreviations should be well-known and commonly used in the industry, or they should be defined in a glossary to ensure that they are understood by all stakeholders.
Avoid ambiguity: Function names should not be ambiguous. They should not be used to describe more than one function, and they should not be similar to the names of other functions.
Use unique names: Function names should be unique within the system. This helps to avoid confusion and ensure that each function can be easily identified and referenced.
Adhering to these best practices helps to ensure that functions are named in a way that is clear, concise, and easily understandable. This improves the overall clarity and coherence of the system and makes it easier for stakeholders to understand the system's functionality.