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. 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. Also tell what each text string names.

 

 

The entire box is a class definition box

+ public attribute  # protected attribute  - private attribute; name in the top third of the box is the class name; names in the middle third are attribute names; after the colon is the type of each attribute; names in bottom third are operation names; void indicates no value is returned

 

 

 

    1. What information is given by the following UML diagram? Be complete.

 

The information given in the sequence diagram is the algorithm for animating the set of movableSprites

 

Three objects participate in this algorithm. The first object sends the startMovement message to the second object which in turn sends the move message to each movableSprite object in the set

 

    1. Explain the difference between a sequence diagram and an activity diagram. (Difference does not mean define both. It means tell how they are different.)

 

The difference is how many sequences of messages may be represented

 

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

 

The class diagram must define all of the items used on the sequence diagram

 


 

 

  1. Consider a software system that runs the pricing and check-out systems for a grocery store. The system would be built by a staff of professionals who have built several of these systems for other grocery stores. The system will use a standard relational database to store prices. The system supports people entering prices for items in the database and responds to queries from scanners and cash registers for prices of certain items. The system would be written in C, a language most of the professionals have known for a long time. The user interface would be a simple monitor and a printer that prints each item, its cost and then a total cost at the end.
    1. Describe two actors for such a system.

Cashier

Manager

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

Perform customer transaction

 

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

Ring Up Groceries

 

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

 

 

 


 

  1. For the system described in question 2,
    1. Give a complete statement of one risk associated with this system.

 

There is a 40% chance that the software will not work properly because of equipment incompatibilities. If it does not then either the software must be modified or the store must buy additional hardware. This risk can be mitigated by doing additional analysis of the various hardware configurations.

 

    1. Describe what each of the pieces of a risk statement mean.

The scenario that might happen

The probability that it might happen

The cost if it happens.

The mitigation that can be done to either reduce the cost or the probability

 

    1. Consider the elements of a feasibility study. What information would you collect to show that this project (building the system described in question 2) is feasible.

 

The error rates made by staff entering prices by hand and the total cost of those errors would give one input about cost

 

The speed with which a customer is processed and the reduction in the number of staff needed as a result is another count

 

Looking at how such systems are used in other industries would be another input.

 

    1. Who in the organization performs a feasibility study?

It is a combined effort. It is led by management, maybe the prospective project leader. Technical people are also used to evaluate the technical aspects.

 

 

 

 

 


 

  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 – concepts defined as a set of data and operations on that data

Sequence – algorithms represented as message patterns

State – patterns of variable values that lead to differences in behavior

 

    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 both define sequence

They are different in that one shows the sequence of messages while the other shows a sequence of states

 

    1. What in the class diagram corresponds to the arrows described in part b of this question?

 

The method names in the class definition correspond to the message names in both the state and sequence diagrams.

 

 


 

  1. We are constructing an ArcadeGame product line, which contains 4 products at this point. The original product line had three products: brickles, pong and bowling.
    1. Describe one change that had to be made to the product line when it was decided to add pinball to the product line.

 

Gravity-constrained movableSprites

 

    1. Describe one high level abstraction that is important to the success of the product line design.

 

Sprite or GameBoard

 

    1. Describe one of the on-line product line documents that you read. What was the purpose of the document? What did you learn from the document?

 

Varies with document

 

 


 

  1. A process model determines the sequence in which a set of process phases is carried out.
    1. Select two of the models we studied and compare them to each other. What does model A do better than model B? What does model B do better than model A?

 

Take the waterfall and the iterative models. The waterfall is better about estimating when a project will be complete. The iterative is better at moving forward even when some information is missing.

 

 

    1. In the spiral process model, risk is evaluated as a part of each iteration. The project cannot just stop at these points. So if an action is determined to be a high risk, what is done?

 

The risk mitigation procedure is used.

 

    1. Describe two of the sections in the format for describing a process phase. What do they add to the process description?

 

Exit criteria – this gives criteria for moving to the next phase

Output – these are the deliverables produced by that phase