UC3M

Telematic/Audiovisual Syst./Communication Syst. Engineering

Systems Architecture

September 2017 - January 2018

10.9.  Independence of the data model and reuse

For software applications, it is usual to divide the application in different functional modules, being each one independent of each other. With this approach, several advantages can be obtained, such as the following:

  1. Easier to maintain. For example, if there is an error in a module, then the solution is focused in that module and there is no need to look inside other program parts, which makes easier the code maintainability.

  2. Reuse. If a specific module is encapsulated and well defined, then this module can be used for other applications.

One of the typical functional divisions of software applications consists on dividing all program code related to the data interaction, all program code related to the program logic, and all the program code related to the presentation and interaction with the user. In this way, the final application is divided into three big modules.

Therefore, it is interesting to think about how to divide these modules in an application, and first define the assigned functionality for the data module.

10.9.1.  Self-assessment questions

Answer the following questions

  1. Select the two of main advantages of dividing the software application into functional modules.

    • Easier to data store and data reuse

    • Easier to mantain, modules reuse

  2. A tyical functional divisions of software applications is made up of three big modules such as: the program logic, data interaction and presentation and interaction with the user.

    • True

    • False

  3. To divide the software application in modules first, you should define the user interaction module

    • True

    • False