ASSIGNMENT 2 QUESTIONS AND ANSWERS
Assignment Administration
Due Date 09/04/2020
Submission Procedure Electronically via myUnisa
Number of Questions 08
Total Marks 100
Contribution to Year Mark 40%
Unique Assignment Number 889888
, Assignment Questions
Question 1 [12]
There are a number of principles of object-oriented design which are regarded as good design
principles. Of the ones that are listed below, pick any four (4) and describe what each of those entail.
• Object responsibility
Object responsibility is a design principle in which objects are responsible for carrying out
system tasks. These tasks are categorized in two layers: knowing and doing
“Knowing” includes an object’s responsibilities for knowing about its own data and knowing
about other classes with which it must collaborate to carry out use cases.
“Doing” includes all the activities an object does to assist in executing a use case. Some of
those activities include receiving and processing messages. Another activity is to instantiate,
or create, new objects that may be required for completion of a use case. Classes must
collaborate to carry out a use case, and some classes are responsible for coordinating the
collaboration.
• Protection from variations
Protection from variations is a principle that drives the multilayer design pattern. Designers
could mix all the user-interface logic and business logic together in the same classes. A
better approach is to decouple the user-interface logic from the business logic. Then, the
user interface can be rewritten without affecting the business logic.
• Indirection
is the principle of decoupling two classes or other system components by placing an
intermediate class between them to serve as a link. Examples who be a placement agent
who receives public’s curriculum vitae and sends to companies when they need
• Coupling
Is a qualitative measure of how closely the classes in a design class diagram are linked. There
is low and high coupling, which low coupling is better that high coupling as it make the
system easier to understand. High coupling cascades changes through the entire system
should a change be make in one class.
Assignment Administration
Due Date 09/04/2020
Submission Procedure Electronically via myUnisa
Number of Questions 08
Total Marks 100
Contribution to Year Mark 40%
Unique Assignment Number 889888
, Assignment Questions
Question 1 [12]
There are a number of principles of object-oriented design which are regarded as good design
principles. Of the ones that are listed below, pick any four (4) and describe what each of those entail.
• Object responsibility
Object responsibility is a design principle in which objects are responsible for carrying out
system tasks. These tasks are categorized in two layers: knowing and doing
“Knowing” includes an object’s responsibilities for knowing about its own data and knowing
about other classes with which it must collaborate to carry out use cases.
“Doing” includes all the activities an object does to assist in executing a use case. Some of
those activities include receiving and processing messages. Another activity is to instantiate,
or create, new objects that may be required for completion of a use case. Classes must
collaborate to carry out a use case, and some classes are responsible for coordinating the
collaboration.
• Protection from variations
Protection from variations is a principle that drives the multilayer design pattern. Designers
could mix all the user-interface logic and business logic together in the same classes. A
better approach is to decouple the user-interface logic from the business logic. Then, the
user interface can be rewritten without affecting the business logic.
• Indirection
is the principle of decoupling two classes or other system components by placing an
intermediate class between them to serve as a link. Examples who be a placement agent
who receives public’s curriculum vitae and sends to companies when they need
• Coupling
Is a qualitative measure of how closely the classes in a design class diagram are linked. There
is low and high coupling, which low coupling is better that high coupling as it make the
system easier to understand. High coupling cascades changes through the entire system
should a change be make in one class.