Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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.
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.
8.
(3) We have three main tools for dealing with complexity: abstraction, decomposition, and hierarchy.
Briefly describe each of these tools.
9.
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.
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).