Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Please write your name only in the last page.

Fall 2010 Midterm Exam Sample Solutions


CS 319 Object-Oriented Software Engineering
Instructors: Uğur Doğrusöz and Bedir Tekinerdoğan
Reminders
Time: 120 minutes (2 Hours) Q1 15
Write your name and sign only in the last page as indicated. Q2 10
Show your work and reasoning clearly and write legibly, only within Q3 10
the space provided for each question. Do not detach any page(s). Q4 65
For diagrams and programs, clarity is important; if your diagrams or Total 100 pts
programs are sloppy and hard to read, you will lose points.
From the time you receive your exam script, you will have 60 minutes to read all questions and make
sure you understand what is expected from you. During this time you may ask your instructor any
questions should you require any clarification. After that you may not seek any type of feedback from
the instructor.

Question 1: Fill in the blanks [15 pts]


Fill in the blanks below, with a word or more per blank, to form valid statements. When provided with
options, choose one and cross others.

a) A model is an abstract representation of a system that enables us to answer questions about the
system. They are useful when dealing with systems that are too large, too small, too complicated, or
too expensive to experience firsthand.

b) The functional model, represented in UML with use case diagrams, describes the functionality of the
system from the user’s point of view.

c) Interaction diagrams describe behavior as a sequence of messages exchanged among a set of objects,
whereas state machine diagrams describe behavior in terms of states of an individual object.

d) Functional requirements describe the interactions between the system and its environment
independent of its implementation. The environment includes the user and any other external system
with which the system interacts.

e) “The product shall respond to the user with 1 second for most cases” is a good/bad example of a
requirement.

f) A scenario is an instance of a use case; that is, a use case specifies all possible scenarios for a given
piece of functionality.

g) In object-oriented analysis, developers build a model describing the application domain.

h) In an analysis object model, entity objects represent the persistent information tracked by the system.
Boundary objects represent the interactions between the actors and the system. Control objects are in
charge of realizing use cases.

i) Natural language analysis [Abbott, 1983] is an intuitive set of heuristics for identifying objects,
attributes, and associations from a requirements specification. These heuristics map parts of speech
to model components as follows. Following are some examples:

CS 319 Midterm, Fall 2010, CS Dept., Bilkent University Page 1 of 6


Please write your name only in the last page.

Part of speech Model component

Nouns Objects/Classes

Having verbs Aggregation

Doing verbs Operation

j) Object modeling is the central activity in object-oriented analysis. This model, depicted with UML
class diagrams, includes classes, attributes, and operations, forming a visual dictionary of the main
concepts visible to the user.

k) A message in a sequence diagram going from an object of class A to an object of class B


corresponds to a method of class A/B.

l) Last but not least, my name is written only on the last page of this exam paper as instructed.

Question 2: SE [10 pts]


Name and explain the two most major factors affecting the quality of today’s software systems. In other
words, what makes software engineering such a difficult and challenging discipline nowadays?

1. Complexity: The system is so complex that no single programmer can understand it anymore.
The introduction of one bug fix causes another bug.

2. Change: The “Entropy” of a software system increases with each change: Each implemented
change erodes the structure of the system which makes the next change even more expensive
(“Second Law of Software Dynamics”). As time goes on, the cost to implement a change will
be too high, and the system will then be unable to support its intended task. This is true of all
systems, independent of their application domain or technological base.

Question 3: OOA/D and UML [10 pts]


Study the following activity diagram constructed during the analysis of a course registration system of a
university. Describe in your own words (plain English) what this diagram might be conveying. Make
and state any assumptions you might find to be necessary to interpret the diagram.

CS 319 Midterm, Fall 2010, CS Dept., Bilkent University Page 2 of 6


Please write your name only in the last page.

The student fills out the form by specifying the semester, the course to take (department and course
number) and the section, to which the student would like to be added. Then, the student clicks the
OK button. The system checks whether the particular section is still open for registration and the
maximum count hasn’t been reached. If so, the system checks if the particular section of the added
course fits the student’s schedule. Add operation is not allowed when there are any conflicts in the
schedule. If there is no conflict, the system updates the database and simultaneously notifies the
billing system of the change. It then displays an appropriate message. The student may, of course,
cancel the add operation at any point during this process.

Question 4: OOA and UML [65 pts]


Consider the following problem description:

A conference chair system (CCS) is to be designed and implemented to automate the review process for
scientific events such as conferences and workshops as described below.

An author can submit three different types of papers using CCS: long research paper, short research paper or
industrial experience paper. All papers should include a title, an abstract, a list of keywords, size, and a list of
authors. For industrial experience papers, it is also mandatory to submit the source code of the application.

Not every paper submitted is to be selected for presentation and included in the proceedings. The review
and selection process is performed by an organization committee. The organization committee consists of
members. One of the members is assigned as the chair of the organization. The chair is responsible for
checking the completeness of the submitted papers and assigning the papers to other members for
reviewing. When the chair assigns a paper to a reviewer, it is first checked that the area of expertise of the
reviewer matches the keywords provided in the paper. Each paper is assigned to at least two reviewers.
Each reviewer is responsible for reviewing the assigned paper(s) and writing a review. Based on the reviews,
papers to be included in the final proceedings are selected by the chair. Once the selection is completed, the
chair can send notification emails about the decisions to all authors using CCS.

CS 319 Midterm, Fall 2010, CS Dept., Bilkent University Page 3 of 6


Please write your name only in the last page.

To properly authenticate different user types, a username/password is required for each user.

a) [20 pts] Draw a use case diagram for CCS described above.

b) [25 pts] Perform a quick application domain analysis to come up with an object model for CSS.
You do not need to identify the operations of objects. Express your findings with a class diagram.

CS 319 Midterm, Fall 2010, CS Dept., Bilkent University Page 4 of 6


Please write your name only in the last page.

c) [20 pts] Consider the following use case scenario of CCS:

Assuming a conference chair named Ali using CCS has successfully logged on to the system, as part of the
assignment process, he first browses the submitted papers. Among them, he selects paper #3 and finds
the submission to be complete. He then lists the available reviewers matching the subject area of the
paper based on provided keywords. Reviewer #5 seems to be a good fit, and is assigned as a reviewer to
paper #3.

First, identify the use case that this scenario belongs to. Then, draw a sequence diagram for this
particular scenario. You may use any software/solution domain objects if needed as well.

CS 319 Midterm, Fall 2010, CS Dept., Bilkent University Page 5 of 6


Please write your name only in the last page.
Mini Dictionary:
area of expertise uzmanlık alanı
to assign atamak, belirlemek
to authenticate doğrulamak
to be in charge of sorumlusu olmak
challenging zorlu
to convey iletmek, ifade etmek
to depict göstermek, tanımlamak
firsthand ilk elden, doğrudan
heuristic deneye dayalı, sezgisel
to interpret yorumlamak, değerlendirmek
mandatory zorunlu
paper makale
proceedings tutanak, kongre/çalıştay kitapçığı
to review değerlendirmek, incelemek, eleştirmek
to submit göndermek, sunmak, teslim etmek
to track izini takip etmek
workshop çalıştay

I hereby affirm that the work submitted in this examination is my own exclusively.

Name & Signature: Uğur Doğrusöz Bedir Tekinerdoğan

CS 319 Midterm, Fall 2010, CS Dept., Bilkent University Page 6 of 6

You might also like