Software Engineering:
Each of the following heuristics helps make a good module according to some modularity principle. Identify the principle for each letter.
Modularity principles:
Principle of Small Modules
Principle of Information Hiding
Principle of Least Privilege
Principle of Coupling
Principle of Cohesion
(a) Make all attributes of a class protected or private.?
(b) A class should capture exactly one key abstraction.
(c) Make sure an operation needs all its parameters.?
(d) Spin off unrelated data into another class.?
(e) Minimize the number of classes with which a class collaborates.
(f) Most of the operations in a class should use most of the attributes most of the time.?
(g) Model the real world whenever possible.?
(h) Do not change the state of an object without going through its public interface.