Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Computer program
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Cohesion=== The levels of cohesion from worst to best are:<ref name="se-ch8-220">{{cite book | last = Schach | first = Stephen R. | title = Software Engineering | publisher = Aksen Associates Incorporated Publishers | year = 1990 | page = 220 | isbn = 0-256-08515-3 }}</ref> * ''Coincidental Cohesion'': A module has coincidental cohesion if it performs multiple functions, and the functions are completely unrelated. For example, <code>function read_sales_record_print_next_line_convert_to_float()</code>. Coincidental cohesion occurs in practice if management enforces silly rules. For example, "Every module will have between 35 and 50 executable statements."<ref name="se-ch8-220"/> * Logical Cohesion: A module has logical cohesion if it has available a series of functions, but only one of them is executed. For example, <code>function perform_arithmetic( perform_addition, a, b )</code>. * ''Temporal Cohesion'': A module has temporal cohesion if it performs functions related to time. One example, <code>function initialize_variables_and_open_files()</code>. Another example, <code>stage_one()</code>, <code>stage_two()</code>, ... * ''Procedural Cohesion'': A module has procedural cohesion if it performs multiple loosely related functions. For example, <code>function read_part_number_update_employee_record()</code>. * ''Communicational Cohesion'': A module has communicational cohesion if it performs multiple closely related functions. For example, <code>function read_part_number_update_sales_record()</code>. * ''Informational Cohesion'': A module has informational cohesion if it performs multiple functions, but each function has its own entry and exit points. Moreover, the functions share the same data structure. Object-oriented classes work at this level. * ''Functional Cohesion'': a module has functional cohesion if it achieves a single goal working only on local variables. Moreover, it may be reusable in other contexts.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Computer program
(section)
Add topic