seq3
seq3
seq3
3. What is cohesion?
4. What is coupling?
Coupling is a qualitative measure of the degree to which classes are connected to one
another. As classes (and components) become more interdependent, coupling increases. An
important objective in component-level design is to keep coupling as low as is possible.
Types of coupling are
Content, common, control, stamp, data, routine call, type use, inclusion and
external coupling
Software design is an iterative process through which requirements are translated into a
“blueprint” for constructing the software. Initially, the blueprint depicts a holistic view of
software. That is, the design is represented at a high level of abstraction— a level that can be
directly traced to the specific system objective and more detailed data, functional, and
behavioral requirements. As design iterations occur, subsequent refinement leads to design
representations at much lower levels of abstraction. These can still be traced to requirements,
but the connection is more subtle.
8. Define modularity.
Modularity is the most common manifestation of separation of concerns. Software is
divided into separately named and addressable components, sometimes called modules
that are integrated to satisfy problem requirements. It has been stated that “modularity is
the single attribute of software that allows a program to be intellectually manageable”
9. What is refactoring?
“Refactoring is the process of changing a software system in such a way that it does
not alter the external behavior of the code [design] yet improves its internal structure.”
These interface design elements allow the software to communicate externally and enable
internal communication and collaboration among the components that populate the
software architecture.
15 MARKS