Software Engineering - Old Questions

7. What is repository model? Explain its advantages and disadvantages.

6 marks | Asked in 2075

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.