Object Oriented Software Engineering   View all facts   Glossary   Help
subject > component > module > cohesive module > functionally cohesive module
Next cohesive modulesequentially cohesive module    Upcohesive 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 modulesequentially cohesive module    Upcohesive module