UNB Faculty of Computer Science                                           CS3013 Software Engineering II

Assignment 3  February 6, 2001 due February 13, 2001           evening section 02B, course ID 153463

 

Question 1.  Exercise 5, page 128 of the textbook.  I have modified it slightly as follows:

Assume the FieldOfficer can invoke a Help feature when filling in an EmergencyReport.  The HelpReportEmergency feature provides a detailed description for each field and specifies which fields are required.  Modify the ReportEmergency use case (see Figure 4-11 on p. 116 of the text) to include this help functionality.  Which relationship (“include” or “extend”) should be used to relate the ReportEmergency and HelpReportEmergency?

 

Question 2.  For the use case diagram for the banking system (see Figure 1 below, also online as a Rational Rose .mdl file here), write up a use case and draw a sequence diagram for “Open Account”. 

Figure 1.  Preliminary use case diagram for a banking system.

 

Figure 2.  Preliminary class diagram for the banking system.

 

The “Open Account” use case has the teller and the customer as principal actors.  The basic action is for the teller to request the customer’s ID (if they have one), and to create a new account for the customer as requested.  There are two basic account types; a chequing account (which comes with paper cheques) and a savings account (which is automatically enabled for a debit card).  As mentioned above, create

          (a) a formal use case description for “Open Account”,

          (b) a scenario (write this up as in e.g. Fig. 4-5, p.109 of the text) for the “Open Account” use case,

          (c) a sequence diagram for the use case scenario you created in (b),

          (d) an update (if necessary) to the main class diagram to add any new classes (with their appropriate attributes and operations), along with any new attributes or operations to the existing classes, as well as any new relationships between the existing and/or new classes. 

 

Save all of these changes and updates in the modified Rational Rose .mdl file to be handed in with your assignment.

 

Question 3.  For your updated banking system model from Question 2, add another use case called “Withdraw”.  Assume that there are two variations of the use case; one using an Automated Teller Machine and one using a person (the Teller) for assistance.  As for Question 2, write up a use case and draw a sequence diagram for “Withdraw”.  Similar to the approach used in Question 2 above, create

          (a) a formal use case description for “WithdrawUsingATM”,

          (b) a scenario (write this up as in e.g. Fig. 4-5, p.109 of the text) for the “WithdrawUsingATM” use case,

          (c) a sequence diagram for the use case scenario you created in (b),

          (d) an update (if necessary) to the main class diagram from Question 2 to add any new classes (with their appropriate attributes and operations), along with any new attributes or operations to the existing classes, as well as any new relationships between the existing and/or new classes. 

 

Save all of these changes and updates in the modified Rational Rose .mdl file to be handed in with your assignment.

 

 

Note that you must draw all diagrams using Rational Rose and submit printouts of the diagrams with your printed assignment.  All assignments must be handed in on 8.5 by 11 inch paper, typed, with all pages numbered and with a cover page giving the course information, student information, date, and table of contents.  Assignments should be handed to the instructor in class, or placed in the wooden bin provided on E-level between Head and Gillin Halls.  In addition, attach a floppy disk containing your modified .mdl file resulting from Questions 2 and 3.