Software Architecture may have the following characteristics:
A justifying rationale for the chosen architecture.
Individual functional and non-functional behavior of the software
component
Settings for application parameters (being a technical implementation
solution for configurability-oriented requirements)
Technical characteristics of interfaces for relationships between software components such as:
Synchronization of Processes and tasks
Programming language call
APIs
Specifications of SW libraries
Method definitions in an object- oriented class definitions or
UML/SysML interface classes
Callback functions, “hooks”
Dynamics of software components and software states such as:
Logical software operating modes (e.g, start-up, shutdown, normal
mode, calibration, diagnosis, etc.)
intercommunication (processes, tasks, threads) and priority
time slices and cycle time
interrupts with their priorities
interactions between software components
Explanatory annotations, e.g, with natural language, for single elements
or entire diagrams/models.
|