CSC 312 Test Answers
CSC 312 Test Answers
TEST ANSWERS
1. Write briefly on the following concepts: (The object model p14. Sec1)
3. According to Levy, enumerate any three (3) events that contributed to the
evolution of OO concepts (The object model p11. CH2)
Ans:
5. Elucidate on the two sweeping trends that were historically responsible for
the evolution of the object model.(The object model p2 Sec1)
Ans:
Ans:
9. Enumerate the four spectrum of abstraction you know (The object model
p17 CH2)
11. What is the overall goal of decomposition into modules and its technical
concerns? (The object model p28 Sec1)
Ans:
13. Explain any one of the three minor elements of object model (The object
model p16 Sec1)
Ans: There are three minor elements of the object model (By minor, we mean
that each of these elements is a useful, but not essential, part of the object
model.):
14. In applying the object model, five benefits are eminent. Identify any three
of them. (The object model p44 Sec 1)
i. The use of the object model helps us to exploit the expressive power
of object-based and object-oriented programming languages.
ii. The use of the object model encourages the reuse not only of
software but of entire designs, leading to the creation of reusable
application frameworks.
iii. The use of the object model produces systems that are built on stable
intermediate forms, which are more resilient to change. This also
means that such systems can be allowed to evolve over time, rather
than be abandoned or completely redesigned in response to the first
major change in requirements.
iv. Pragmatics, explains further how the object model reduces the risks
inherent in developing complex systems. This benefit accrues
primarily because integration is spread out across the lifecycle rather
than occurring as one major event. The object model’s guidance in
designing an intelligent separation of concerns also reduces
development risk and increases our confidence in the correctness of
our design.
v. The object model appeals to the workings of human cognition. As
Robson suggests, “Many people who have no idea how a computer
works find the idea of object-oriented systems quite natural”
15. What does UML stands for and how does it helps a software developer?
(Notational UML p3 CH5)
Ans:
16. On a given project, over time, what are the three levels of maturity in which
the system design could evolve? (Notation UML p8)
Ans: On a given project, over time, the system’s design will evolve:
18. Given the UML models/diagrams below, describe how they can be built
and applied to practical problems using suitable illustrations.
20. What is a design pattern and how would you as a developer benefit from
one? (Design patterns p12 Intro)
Ans:
Put simply, design patterns help a designer get a design "right" faster.
21. In each category of design patterns, describe any one example of a design
pattern, specifying the nature of the problem it addresses, its solution and how
it can be adopted to real-world scenarios.(Design patterns p64)
Ans:
NOTE
1. Questions 2, 6, 7 and 21 are not answered but might be during tutorials
2. Questions having comments “..more explanation needed” might not be
revisited, thus more read should be done on them.
3. Answers provided to the questions are sourced from four (4) materials
provided by the course lecturers.
4. This document is subject to modification as suggestions, criticism and
more elaborations are welcomed.
5. This document is NOT answers to exams questions (rather, already
written test), thus you are advised to read on CSC312 entirely.
6. Shun any form of exam malpractice, keep this document away from
exams hall.