Department of Computer Science

College of Engineering

University of Nevada, Reno

 

CS 425/625 Software Engineering

 

Assignment #2

 

September 24, 2003

 

Due: Tuesday, October 7, 2:00 p.m.

Points: 50

Weight in course grade: 7%

 

 

1    Do Exercise 4.9, page 93 of the textbook [Somm00].                                           

 

[8 points] 

 

2    Consider either (a) an online flight reservation system or (b) the software product you described in Exercise 2 of Assignment #1 (CS 425/625) and write for it the following:

 

·     Three user requirements using the format shown in Fig. 5.10 of the textbook [Somm00];

·     One system requirement using the standard form shown in Fig. 5.13 of the textbook; and

·     Two non-functional requirements.

 

If you use (b) above, include again in this assignment the description of the software product you provided for Exercise 2 of A#1.                                                                                                                

 

[12 points] 

 

3    Do (part of) Exercise 7.4, page 169 of the textbook [Somm00], as follows: Draw the state machine model (state diagram) for a telephone answering machine which records incoming messages and displays the number of accepted messages on an LED display. The system should record incoming messages and play them upon the owner’s request. Also, the system should allow the telephone owner to dial in, type a sequence of numbers (identified as tones) and have the recorded messages replayed over the phone. State your assumptions and describe the state diagram.                                                                                                                                                         

 

[15 points]

 

4    Develop an object model (a class diagram) for a software system of your choice showing:

      - at least 6 classes in the class diagram;

      - the attributes of each class;

      - the relationships between classes;

      - cardinality constraints on relationships;

      - for one of the class, two non-trivial methods. 

      Your model should illustrate all three main types of relationship: inheritance, aggregation, and association. Note that a non-trivial method involves computations based on one or more attributes. State your assumptions and describe the class diagram. Also, briefly explain the two non-trivial methods.                                     

 

[15 points] 

 

Notes on submission:

 

·     Remember that this is an individual assignment, not a team work. Thus, collaboration is not allowed.

·     Hand in the printed hardcopy of your assignment to the instructor in room SEM-236. If he is not there, slip your assignment under his office’s door.