UNIVERSITY OF TORONTO
CSCC40 Analysis and Design of Information Systems
December 20 2006
Duration: 2 hours
One 8.5 by 11 hand-written aid sheet is permitted.
Student Number _____________________________________________________________________
(surname) (given name)
1. Check this examination paper. There are 12 pages including this cover page.
2. Print your name and student number on this examination paper and your examination booklet.
3. Answer all section A and B questions on this examination paper.
4. Answer all section C questions in the examination booklet.
5. The mark for each question is given in the right-hand column.
6. The total number of marks is 93, but this test is worth 25% of your final grade.
1. Read each question carefully.
2. Write legibly and understandably. An unreadable answer receives no credit.
3. For each question, spend time appropriate to the number of marks given for that question.
4. If there seems to be ambiguity in the question, ask the invigilator for clarification or state
your assumptions and continue. If your assumptions are reasonable and don’t trivialize
the problem, you will probably receive full credit.
CSCC40 final exam December 20 2006 page 1 of 12
Section A Answer these questions in this examination paper.
A1 For the following multiple-choice questions, please circle one of a. b. or c. E.g. a 
What do all objects have? a. State, behaviour and identity.
b. Behaviour, data and identity.
c. Instances, structure and similarity.
Which of the following a. The capacity of an object to behave in different ways at different times
best describes according to its current state.
polymorphism? b. The capacity of different objects to respond to a similar message in appropriate
but different ways.
c. The capacity of an object to send different messages to different objects
according to their class.
Which of the following is a. To show the sub-systems that make up a system
not a purpose for using b. To model a task
c. To describe the logic of an operation
Which of the following is a. To document the scope of the system.
not a purpose for using b. To provide a high-level view of system functionality from the users’
use cases? perspective.
c. To describe the logic of operations.
Which of the following is a. An Extend dependency means that the functionality of one use case optionally
true? extends the functionality of another at a particular point or points in its
b. An Extend dependency means that the functionality of one use case always
extends the functionality of another at a particular point or points in its
c. An Extend dependency means that the functionality of one use case inherits
the functionality of another at a particular point or points in its execution.
Which of the following is a. An Include dependency means that the functionality of one use case optionally
true? includes the functionality of another at a particular point or points in its
b. An Include dependency means that the functionality of one use case always
includes the functionality of another at a particular point or points in its
c. An Include dependency means that the functionality of one use case inherits
the functionality of another at a particular point or points in its execution.
What are entity classes? a. Classes that contain data.
b. Classes that contain persistent data.
c. Classes that represent something or some concept in the application domain.
How do operations differ a. A method is a particular implementation of an operation.
from methods? b. An operation is a particular implementation of a method.
c. Some object-oriented programming languages have methods, while other have
CSCC40 final exam December 20 2006 page 2 of 12
One of the following is a a. The operation represents a service that objects of that class should provide to
bad guideline for deciding objects of other classes.
the class where an b. The operation needs to access or update data that is stored in another class that
operation should be has an association with that class.
located. Which one?
c. The operation needs to access or update data that is stored in an attribute of that
The requirements of a. We split the class so that there is one for each use case, and model each class
different use cases may with the particular operations required for its use case.
suggest different b. We include in the class all the operations that are suggested by all the use cases.
operations for the same
c. We model the class with only that subset of operations that applies to all use
class. How do we resolve
An interaction sequence a. It normally does not include design objects or detailed specifications of
diagram drawn during message signatures.
analysis differs from one b. It does not include boundary objects.
drawn during design
c. It does not include control objects.
which of the following
An interaction diagram a. It is always correct to show a message between two objects if there is an
should be consistent with association between their classes.
the associated class b. The sending object must have the object reference of the receiving object before
diagram in various ways. sending an object-scope message.
Which of the following
c. A message should not be shown between two objects if there is no association
statements is true?
between their classes.
A guard condition may be a. A guard condition may only involve attributes of the object that owns the
associated with a statechart.
transition. Which of the b. A guard condition may involve attributes and links of the object that owns the
following statements best statechart.
applies to guard
c. A guard condition may only involve parameters from the triggering event.
When a statechart is a. Every operation in a class must appear as an event on a statechart.
checked for consistency b. Every action should correspond to the execution of an operation on the
with other models of the appropriate class.
system which of the
c. Every event must appear on a sequence diagram.
following is true?
Which of the following is a. Dependencies between the layers are minimized.
true about a closed b. The architecture is less open to change.
c. A layer may only communicate with any of the layers beneath it.
Which of the following is a. It improves performance while providing a client component with services.
a property of a broker b. It hides the server components from the client components.
c. It acts a server component.
Which of the following is a. The attributes in the class will only be accessed by the operations of that class.
a beneficial consequence b. The class will exhibit high levels of encapsulation.
of good cohesion in a
a. The operations in the class will be easier to maintain.
CSCC40 final exam December 20 2006 page 3 of 12
A2 Indicate whether the following statements are true of false. 
Response time, concurrency, throughput are among the considerations when
selecting the processors to be used as clients and/or servers.
Object-oriented database management systems are recommended for large data
volumes and various access requirements.
Object-oriented system designs are suitable for scientific programs with complex
Objects that have only one state will always respond the same way to a message.
Composition as depicted in class diagrams is a subset of aggregation.
Closed architecture means that a layer can communicate only with layers in the
The responsibility documentation of a class, tells you about the cohesion level, but
not the coupling level.
Proxy servers increase application portability but also increase system complexity.
Generalization can be used for use cases, actors and classes.
Closed architecture is less portable than open architecture.
A complete and detailed set of collaboration and sequence diagrams will include
all possible operations and mention all attributes for all classes.
In UML, objects are used to model the application domain and can therefore
model both the human activity and the application software.
A contract is a black box description of a service (of a class or subsystem) that
specifies the results of the service and the conditions under which it will be
The current state of an object is fully described by the instance values of it’s
The duration of a state is normally dependent upon external events in the
Multiple inheritance means that a super class has more than one subclass.
CSCC40 final exam December 20 2006 page 4 of 12
A3 Why can inheritance lead to problems in software evolution? 
Give specific examples of such problems.
A4 How does logical design lay the groundwork for three-layer architecture? 
A5 Choose three of the following quality criteria for computer systems, and give an example 
of how you could measure that quality:
fault tolerance security testability
reusability correctness reliability
portability efficiency co-existence
quality aspect how it can be measured
CSCC40 final exam December 20 2006 page 5 of 12
A6 For each operation listed below, indicate which type of class would most likely include that operation. 
operation interface control entity
retrieve a record
present options to the user
notify completion of a set time interval
track the duration of a user session
A7 For each of the UML diagrams listed below, give an example of how it can be used 
during either the programming or the testing phase.
SDLC phase usefulness in the phase
A8 How does encapsulation help to achieve low coupling and high cohesion? 
A9 Give two reasons for describing the test data in detail for each test plan. 
CSCC40 final exam December 20 2006 page 6 of 12
A10 You are asked to replace an automated payroll system for a fairly large firm. 
some employees are paid by the hour and others are on salary
the old payroll system is part of their existing work scheduling system and the work
scheduling system will not be replaced
some employees work in Canada and some in U.S.A. where the payroll rules and
union deductions are different.
For 3 of the installation methods, describe either a problem or a benefit for using that method.
Refer to the above description and add any assumptions you need to make your point.
problem benefit description of problem OR benefit
A11 Match the terms with the descriptions. 
model _______ a. enables the model to inform each view that
the model data has changed
b. handles the input
c. handles the output
mechanism _______ d. implements the application logic
A12 What distinguishes an CMMI level 5 IT department from a level 4 department? 
CSCC40 final exam December 20 2006 page 7 of 12