Professional Documents
Culture Documents
Fall 2010 Midterm Exam CS 319 Object-Oriented Software Engineering
Fall 2010 Midterm Exam CS 319 Object-Oriented Software Engineering
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.
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:
Nouns Objects/Classes
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.
l) Last but not least, my name is written only on the last page of this exam paper as instructed.
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.
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.
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.
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.
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.
I hereby affirm that the work submitted in this examination is my own exclusively.