Software Engineering - Old Questions

7. What are the advantages of designing and documenting software architecture? What is repository model?

6 marks | Asked in 2071

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.