Software Engineering - Old Questions
7. What are the advantages of designing and documenting software architecture? What is repository model?
Answer
AI is thinking...
The advantages of designing and documenting software architecture:
1. Stakeholder communication: Architecture may be used as a focus of discussion by system stakeholders.
2. System analysis: Well-documented architecture enables the analysis of whether the system can meet its non-functional requirements.
3. Large-scale reuse: The architecture may be reusable across a range of systems or entire lines of products.
Repository Model
A repository model is a system that will allow interfacing sub-systems to share the same data. Sub-system must exchange data so that they can work together effectively. This may be done in two ways:
1. All shared data is held in a central database that can be accessed by all subsystems. It is called repository model.
2. Each sub-system maintains its own database. Data is interchanged with other sub-systems by passing messages to them.
Example: CASE Toolset
Advantages:
- It is an efficient way to share large amounts of data. There is no need to transmit data explicitly from one sub-system to another.
- Sub-systems that produce data need not be concerned with how that data is used by other subsystems.
- Activities such as backup, security, access control and recovery from error are centralized.
Disadvantages:
- It is a compromise between the specific needs of each tool. Performance may be adversely affected by this compromise.
- Evolution may be difficult as a large volume of information is generated according to an agreed data model.
- Different sub-systems may have different requirements for security, recovery and backup policies. The repository model forces the same policy on all subsystems.