CPSC 210 Lecture Notes - Lecture 9: Software Development Process, Uptodate, Dependency Graph
Document Summary
The activity of design involves considering many di erent alternatives to determine a design that makes appropriate trade-o s between such aspects as simplicity, exibility, understandability and performance for the application under development. Software modules (e. g. , classes in an object- oriented program) must depend upon each other to form a working system. While dependencies between modules are necessary, the more dependencies in a system, the more interconnected the modules and the harder it will be to change the system. Coupling is the term used in computer science to indicate dependencies between modules. In contrast, changes to module a are less likely to directly a ect module b or c. Figure 1b provides an alternate design involving the same modules. In this case, module a depends upon module b which in turn depends on module c. in this case, if module c changes, the software developer need only rst consider if changes to module b are necessary.