1. Sketch and describe the Model-View-Controller architectural Style?
Lesson 7 (pages 62)
Subsystems are classified into 3 different types
Model subsystem: Responsible for application domain knowledge
subscriber notifier
View subsystem: Responsible for displaying information to
the user
Controller subsystem: Responsible for interacting with the
user and notifying views of changes in the model
2. Discuss the advantages and disadvantages of centralized and decentralized designs in
software control.
Lesson 8
3. Give an example of refactoring.
Lesson 10
4. Give an example of a bidirectional one-to-many association mapping in the code.
Lesson 10
5. Give an example of implementing contract violation handling.
Lesson 10
6. Describe the types of testing. What does each of them test, who carries it out and what is the
goal of each type of testing?
Lesson 11
7. Give an example of white-box testing.
Lesson 11
8. Sketch and describe the use of drivers and stubs. What is the difference between these two?
Lesson 12
9. Sketch and describe the sandwich testing strategy.
Lesson 12
10. Describe briefly the eight issues of System Design.
Lesson 7
11. How can we achieve high coherence and low coupling in system design?
Lesson 7
12. Describe P2P and client-server architectural styles? What is the difference?
Lesson 7
13. Describe the access matrix implementations.
Lesson 8
14. What is delegation? Give an example.
Lesson 9
15. Describe contraction and the Liskov principle.
Lesson 9
16. Sketch and describe the schema of the four transformations from model space to source code
space.
Lesson 10
17. Explain collapsing of objects. Give an example.
Lesson 10
18. Give an example of mapping a many-to-many association in the code,
Lesson 10
19. Give an example of black-box testing.
Lesson 11
20. Explain Subsystems and Services. Give an example.
Lesson 7
21. Describe the mapping between UML object models and relational databases.
Lesson 8
22. Which are the 4 types of reuse? Describe them by giving an example.
Lesson 9
23. Describe White Box and Black Box Reuse.
Lesson 9
24. Which is the difference between generalization and specialization when discovering
inheritance associations. Provide an example.
Lesson 9
25. What is an OO Contract? How can we model it?
Lesson 10
26. Give an example of mapping a one-to-one association in the code.
Lesson 10
27. Compare Bottom Up and Top Down testing strategies.
Lesson 12