Monday, 9 February 2015

F452 Modular Programming


Description:

  • Each stage in development is completed in blocks/modules
  • The initial problem is separated into smaller subtasks, tasks are split until a solution can be written. This process is called stepwise refinement.
  • One needs a clearly defined interface so that one can expect an outcome.
  • The contract between modules is defined in the interface definition.

Advantages:

  • Smaller problems are easier to solve, test and understand.
    • Debugging is also easier.
  • Changes that need to be made are easier to plan.
  • Modules can be built by separate teams.
  • Code can be written in different languages.
  • Modules can be rewritten (ctrl c, ctrl v).

Disadvantages:

  • Integration of modules.
  • Clashes, eg using different version of a library.
  • Testing the interface.





No comments:

Post a Comment