CpSc 372

Exam 1

 

Name______________________________________________

 

Answer any FIVE of the six questions. Place a large X on the page for the question you are not answering. If you answer all six, one of them will NOT be graded. Be certain that you answer all parts of the questions you select. All questions are counted the same: 20 points each.

 

  1. The Unified Modeling Language (UML) defines a syntax that can be used to describe various types of development artifacts.
    1. Explain the meaning and purpose of each of the symbols in the circle below.

 

  1. Signal a collision exception; initiates a discontinuous flow of control
  2. Handle a collision exception; terminates a discontinuous flow of control

 

 

 

 

 

    1. What information is represented by the 1..* in the “a” circle in the diagram below?

 

One or more sprites are associated with a GameBoard

 

What is being represented by the arrow in the “a” circle in the diagram below?

 

A uni-directional association

 

Write a text description of the relationship between Game and Rules shown in the “b” circle.

 

An instance of Rules is composed in the definition of Game. Each Game has exactly one instance of Rules.

 

 

    1. What relationship(s) are there between a state diagram and a sequence diagram?

 

The transition edges on a state diagram correspond to the messages shown on a sequence diagram.

 

 


 

 

  1. Consider a system that stores the identities of people who are frequent fliers on NorthByNorthwest airline. The system stores photographs, fingerprints, birthdates, social security numbers, and personally chosen code words. This system is linked to the system that stores reservations for flights. When a reservation is made, that system queries this storage system and retrieves a link to the passenger, if the person is in the database. A person may have their reservation rejected if their database record is marked as “do not fly.”
    1. Describe two actors for such a system. Do not use the ones from question 3 below.

Reservationist and security officer

 

    1. Define an abstract level use case for the system.

 

The reservationist enters identifying information for a person asking to purchase a ticket. The system responds by searching for a record with the correct key. It returns the result of the search to the reservationist.

 

    1. Define a system end-to-end use case that specializes the abstract use case you created in (b).

 

The reservationist enters the social security number for a person asking to purchase a ticket. The system responds by searching for a record with the correct key. It returns either an advisory that the person is not allowed to fly, is allowed to fly or no person was found.

 

 

    1. Draw the use case diagram for (a), (b), and (c).

 

 

 


 

  1. Consider the system in question 2.
    1. Describe a role of the software engineer with respect to that system.

 

The software engineer designs the layout of data in the database

 

    1. Describe a role of the computer scientist with respect to that system.

 

The computer scientist defines efficient search algorithms for database queries

 

    1. List two non-functional requirements for the system. Which would be most important?

 

Query performance takes less than 1 second; unauthorized personnel are prevented from accessing the information of the passengers

 

    1. Give one example for each non-functional requirement of a technique that could be used on the architecture of the system to achieve the non-functional requirement?

 

An efficient algorithm is selected for searching the data

Passwords are used to secure access

 

 

 

 


 

  1. The three basic UML diagrams are the class diagram, sequence diagram and state diagram.
    1. Each is used to capture a different kind of information. Describe the information that each diagram is used to represent.

 

Class shows definitions of concepts; sequence shows the interactions between objects; state shows the different modes of operation for objects from a class.

 

    1. A state diagram has an arrow from one state to another and a sequence diagram has an arrow from one object to another. In what way is the arrow in the state diagram the same as the one in the sequence diagram? In what way are they different?

 

The arrows are the same in that they correspond to method definitions. The methods shown in the state diagram are all methods in one class. The messages in the sequence diagram are showing the interactions between two objects.

 

 

    1. We are going to add a new type of brick to the Brickles game. Initially the brick looks like any other one. After the brick is hit, it does not disappear. Instead it changes color. Then the second time it is hit it disappears. Choose the best UML diagram to represent this behavior and draw the diagram.

 

 

 


 

  1. Consider the change described in 4c above. There are several ways we could implement this. One would be to give that type of brick its own counter that increments each time the brick is hit. A second way would be for the BrickPile to keep a list of all bricks that have been hit once and all bricks that have been hit twice.

 

    1. List 3 criteria that could be used to evaluate the quality of each design choice.

 

Ease of implementation; performance; memory use

 

    1. Prioritize these and justify the priorities with a sentence of two for each.

 

 

Performance – 1 This action will occur often; the performance of this algorithm is important

Ease of implementation – 2  This is a minor detail we want to finish quickly.

Memory usage – 3 There are lots of bricks. A memory waste will affect the whole system

 

 

    1. Construct and fill in the decision matrix.

 

 

 


 

  1. A process model determines the sequence in which a set of process phases is carried out. 

 

    1. We considered several process models including the iterative and waterfall models.  The Rational Unified Process is based on the iterative model. What does the iterative model add to a process that is missing in the waterfall model?

 

The iterative model provides a controlled method of handling mistakes, changes of mind, and just remembered items.

 

    1. You wrote a process as part of one assignment. In that process, what happens if a mistake is made in one of the phases of that process and not discovered until several phases later?

 

Individual answers

 

    1. A phase description in a process definition has a number of sections: Complete 4 of the sections below for the requirements phase of the software development process.

Ø        Description - The requirements define the features and functions of the product.

Ø        Responsibility – The analysts are responsible for creating the requirements model.

Ø        Input – The features identified during feasibility, the information gained from interviews with stakeholders

Ø        Entry Criteria – An initial contractual obligation to produce a system

Ø        Activities – interviews, trade studies, Use case definitions

Ø        Output – use case model

Ø        Exit Criteria – review of model shows that it is complete , correct and consistent

Ø        Metrics – number of use cases