Sei sulla pagina 1di 4

COMP 235 - Midterm Exam

May 12, 2011


page 1 of 4

Name: _________________________

The number of marks allocated per question appears in parentheses: total = 43.
1.

(2) Bert and Ernie are using subversion for their Street project and they both checked out their copy of the
project at the same time. Bert and Ernie then both separately modify the file Cookie.java. Bert then commits his version of Cookie.java.
a) Explain what happens when Ernie later tries to commit his version of Cookie.java
b) Explain how Ernie can resolve this problem and check in his code

2.

(2) In Subversion, explain what it means to check out a working copy.


Also, how/when does a working copy differ from the current version in the repository?

3.

(4) Draw a UML statechart diagram for an electronic combination lock using an extended state variable.
Be sure to label the transitions and include guard conditions.

COMP 235 - Midterm Exam

May 12, 2011


page 2 of 4

Name: _________________________

4.

(2) Compare the centralized control model to the event-based control model.

5.

(2) Explain why managing a software project is usually more difficult than managing other types of engineering projects.

6.

(2) In Java, the Stack ADT is implemented by inheriting the Vector class. Explain why this is not a good
idea and explain what should have been done instead.

7.

(5) Match the definitions to the following terms:


Use Case Diagrams _____
Class Diagrams
_____
Sequence Diagrams _____
Statechart Diagrams _____
Activity Diagrams
_____
a) Describe the static structure of the system: Objects, Attributes, Associations
b) Describe the dynamic behavior of an individual object (essentially a finite state automaton)
c) Model the deployment of components in the system
d) Model the dynamic behavior of a system, in particular the workflow (essentially a flowchart)
e) Describe the functional behavior of the system as seen by the user
f) Describe the dynamic behavior between actors and the system and between objects of the system

8.

(3) We have three main tools for dealing with complexity: abstraction, decomposition, and hierarchy.
Briefly describe each of these tools.

COMP 235 - Midterm Exam

9.

May 12, 2011


page 3 of 4

Name: _________________________

(5) a) Describe the purpose of each of the following three UML symbols
b) Draw one sensible class diagram that uses all of them. Ensure that your UML classes have the requisite number of partitions.

10. (2) Describe any two sources of complexity in the development of software.

11. (2) Describe any two major differences between software engineering and computer science.

12. (2) Pick any two of the following software quality characteristics and describe how they apply to software
development: availability, dependability, efficiency, maintainability, performance, reliability, robustness,
scalability, security, testability.

13. (2) Explain the difference between a model and a view.

COMP 235 - Midterm Exam

May 12, 2011


page 4 of 4

Name: _________________________

14. (2) Briefly describe each of: the Repository model and the Client/Server model.

15. (2) Write a use case for our box office application.

16. (4) Draw a sequence diagram for the box office application up to and including pressing the search button.
You must include any appropriate boundary or control objects (and be sure to properly name them).

Potrebbero piacerti anche