Object Oriented Software Engineering   View all facts   Glossary   Help
subject > component > module > cohesive module > functionally cohesive module
Next cohesive module: sequentially cohesive module    Up: cohesive module

functionally cohesive module
subjectfact 
functionally cohesive modulecan call the services of other modules, but the called modules must preserve the functional cohesion2001-08-30 14:55:40.0
does not have side effects such as updating a database or creating a new file2001-08-30 14:55:40.0
does not interact with the user2001-08-30 14:55:40.0
has example
  • A module that computes a mathematical function such as sine or cosine
  • A module that takes a set of equations and solves for the unknowns
  • A module in a chemical factory that takes data from various monitoring devices and computes the yield of a chemical process as a percentage of the theoretical maximum
2001-08-30 14:55:40.0
has example a module that inputs meteorological data from weather stations and satellites and generates an atmospheric model that other systems can use to generate weather forecasts2001-08-30 14:55:40.0
has inputs function parameters, but they can also include files or some other stream of data2001-08-30 14:55:40.0
is a subtopic of 9.2 - Principles Leading to Good Design2001-08-30 14:55:40.0
is a kind of cohesive module2001-08-30 14:55:41.0
returns a simple return value or a more complex data structure2001-08-30 14:55:41.0
cohesive modulecan contain sub-modules with different types of cohesion2001-08-30 14:54:56.0
can use the services of other modules without reducing cohesion, as long as the services of the other modules are not doing things that should be in the cohesive module2001-08-30 14:54:56.0
modulehas high cohesion if related aspects of a system are kept together in this module, and unrelated aspects are kept out2001-08-30 14:56:38.0
is implemented2001-08-30 14:56:38.0
lacks side effects if it does not modify any data, and does not leave behind any information, other than its result, that would have an effect on other computations2001-08-30 14:56:38.0
componentis reusable if it can be used in several different systems with little or no modification2001-08-30 14:55:00.0
may perform a special-purpose function such as the user interface for a particular system2001-08-30 14:55:00.0

Next cohesive module: sequentially cohesive module    Up: cohesive module