1 / 7

Software Modules in Software Design

Software Modules in Software Design. What is a Module?. “A set of one or more contiguous program statements having a name by which other parts of the system can invoke it, and preferably having its own distinct set of variable names.” [Stevens, Myers…74].

lruth
Download Presentation

Software Modules in Software Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Modules in Software Design

  2. What is a Module? “A set of one or more contiguous program statements having a name by which other parts of the system can invoke it, and preferably having its own distinct set of variable names.” [Stevens, Myers…74]

  3. “A module is a lexically contiguous sequence of program statements, bounded by boundary elements, having an aggregate identifier.” [Yourdon, Constantine 79]

  4. Avantages • Decomposition into easily dealt with pieces • can abstract call by descriptive naming • break up program into system “architecture” • reduce complexity that one inspector needs to view when considering a design concept • debug by following trail of destruction through interfaces to independent module for repair • what properties does a module need to accomplish all this?

  5. Conservation of Complexity • Move complexity of singular program module to interfaces between less complex modules • hierarchy and decomposition, “divide and conquer” • Net complexity is conserved, but it is divided so as to give programmers some leverage?

  6. Cohesion and Coupling(a “system” concept!) • Cohesion • the degree of interaction within a module • Coupling • the degree of interaction between modules

  7. Module Cohesion • Informational • Functional

More Related