Skip to content
UoL CS Notes

Software Design Tutorial

COMP201 Tutorials

  1. For a large project, why is a detailed software design important?

    A detailed software design is made for the developers to help them in implementing the software.

    This is important as in a system with that many sub-systems and components there needs to be strict requirements concerning the communication between each of the sub-systems. This means developing:

    • Classes/Packages
      • Should be re-useable on future systems.
    • Methods for complying with legislation:
      • Securing customer details
    • Testing Methods

    With so many developers people may have different ideas about how the different parts of the system are implemented. Therefore a detailed software design is both:

    • Consistent
    • Complete

    This is important as the design should detail every part of the system so that it can be implemented properly and shouldn’t contradict itself.

  2. List the benefits of the following java keywords:

    • private - This enables encapsulation which is good as it limits coupling.
    • package - This is a collection of classes. Classes in the package are private unless otherwise specified.
    • class - This creates objects which are good as they enable object cohesion which is a strong level of cohesion. They also encapsulate the data with code.
    • extends - This is good as it enables code re-use.

    High cohesion, low coupling code is good as it enables code reuse.