Languages for Architecture Design
Languages for architecture design includes the following:
- Unified Modelling Language(UML): A modelling language used for visualizing the design of a system.
- System Modelling Language(SysML): A Modelling Language used in the design and modelling of engineering systems
- Architecture Analysis and Design Language(AADL): An architecture description language developed by SAE International
Components of Architecture
- External Devices
Criteria for Software Architecture Verification
Let’s now examine some factors that could serve as the criteria for architecture verification
Dependability: How reliable is the system?
How is error detection and recovery efficiency?
How well does it handle faults
Performance: In terms of resource management and assignment, scheduling etc
Security: Ensures that critical data is protected from unauthorize use. Provides for authentication, authorization and access control
Maintainability: How maintainable is the codes and other artifacts?
Usability: User-friendly interface separate from the model.
Testability: Provides for tests to be carried out comprehensively.
Techniques for Architecture Verification
1. Requirement Based Analysis: Architecture Trade-off Analysis (ATAM): This is examination of the quality objectives and their attributes as well as how the architecture satisfies these objectives.
2. Systematic Based Analysis: Static Analysis: This method examines the external and internal interface of the system to check presence or absence of defects and their impact. Static analysis can be Interface Analysis or Fault Effect Analysis
Interface Analysis: Check if the interfaces of the system conforms to requirements
Fault Effect Analysis: Analysis of the presence of faults in the architecture and their effects.
3. Model Based Methods: Quantitative Analysis: This focuses on the performance of the system in terms of performance, dependability and safety.