WHEE! - McMaster University

Transcription

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-2003Page 1 of 251Due:33Mar03(oops! April 2nd)"CS gone Rational?: Rational Rose and UML"DESIGN:The purpose of this assignment is to introduce the student to some aspects of using an objectoriented and visual modelling environment to present essentially through graphical means, the requirementsspecification of a software problem. In particular, use will be made of the Unified Modelling Language(UML) as implemented via Rational Rose from the Rational Software Corporation. (NOTE: this multithousand dollar package is part of a SEED (Software Engineering Educational Development) grant fromRational to CAS, and is gratefully acknowledged.) This is done in two parts: (1) creation of a Use CaseModel Main Diagram, using Rational Rose, as outlined in Appendix 1; (2) generation of a report (in yourfavourite word processor), which provides the characteristics of each use case element as illustrated in themain diagram.SOLUTION (What is given.):The student is provided with a Problem Statement and Supplementary SpecificationForm, from which information, necessary to construct the Use Case Model Main Diagram, as outlined in thelectures, is to be extracted. To ease the marking time for the TAs, a Glossary of Terms is also provided inorder to standardize on the parameter names, which are to be used in your solution. In order to do thisassignment and extract the details necessary to do it, it would not be unusual to re-read the specificationdocuments many times.REQUIREMENTS:Part #1 –Using Rational ROSE, create a Use-Case diagram based on the information provided below: ProblemStatement, Supplementary Specification and the Glossary of Terms. Do not forget to obtain thenecessary screen dumps to show this part of your solution in the usual hard copy report, while in the terminalroom (ITC-237). NOTE: for this solution only, no floppy disk is required foryour solution, so make sure the screen dumps taken are sufficient toshow the correctness of this part of your solution.Part #2 –Using a word processor of your choice, and, using the outline for the Use-Case Descriptors provided inAppendix 2, create one Use-Case Descriptor page(s) for each of the use-cases shown in your developedMain Diagram of the Model. [Although solutions are not unique, I ended up with nine Descriptors,including Special Cases.]LAST ASSIGNMENT in CS3SE3 for 2002/2003WHEE!

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-2003Page 2 of 252Due:33Mar03(oops! April 2nd)Problem StatementAs the head of information systems for Wylie College you are tasked with developing a new studentregistration system. The college would like a new client-server system to replace its much older systemdeveloped around mainframe technology. The new system will allow students to register for courses andview report cards from personal computers attached to the campus LAN as well as over the Internet.Professors will be able to access the system to sign up to teach courses as well as record grades.Due to a decrease in federal funding, the college cannot afford to replace the entire system at once. Thecollege will keep the existing course catalogue database where all course information is maintained. Thisdatabase is an INGRES relational database running on a DEC VAX. Fortunately the college has invested inan open SQL interface that allows access to this database from college's Unix servers. The legacy systemperformance is rather poor, so the new system must ensure that access to the data on the legacy systemoccurs in a timely manner. The new system will access course information from the legacy database but willnot update it. The registrar's office will continue to maintain course information through another system.At the beginning of each semester, students may request a course catalogue containing a list of courseofferings for the semester. Information about each course, such as professor, department, and prerequisites,will be included to help students make informed decisions.The new system will allow students to select four course offerings for the coming semester. Inaddition, each student will indicate two alternative choices in case the student cannot be assigned to aprimary selection. Course offerings will have a maximum of ten students and a minimum of threestudents. A course offering with fewer than three students will be cancelled. For each semester, there isa period of time that students can change their schedule. Students must be able to access the systemduring this time to add or drop courses. Once the registration process is completed for a student, theregistration system sends information to the billing system so the student can be billed for thesemester. If a course fills up during the actual registration process, the student must be notified of thechange before submitting the schedule for processing.At the end of the semester, the student will be able to access the system to view an electronic report card.Since student grades are sensitive information, the system must employ extra security measures to preventunauthorized access.Professors must be able to access the on-line system to indicate which courses they will be teaching. Theywill also need to see which students signed up for their course offerings. In addition, the professors will beable to record the grades for the students in each class.

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-2003Page 3 of 253Due:33Mar03(oops! April 2nd)Course Registration System Glossary1IntroductionThis document is used to define terminology specific to the problem domain, explaining terms,which may be unfamiliar to the reader of the use-case descriptions or other project documents.Often, this document can be used as an informational data dictionary, capturing data definitions sothat use-case descriptions and other project documents can focus on what the system must do withthe information.2DefinitionsThe glossary contains the working definitions for the key concepts in the Course RegistrationSystem.CourseA class offered by the university.Course OfferingA specific delivery of the course for a specific semester - you could run the same course in parallelsessions in the semester. Includes the days of the week and times it is offered.Course CatalogueThe unabridged catalogue of all the courses offered by the university.FacultyAll the professors teaching at the university.Finance SystemThe system used for processing billing information.GradeThe evaluation for a particular student for a particular course offering.ProfessorA person teaching classes at the university.Report CardAll the grades for all courses taken by a student in a given semester.RosterAll the students enrolled in a particular course offering.StudentA person enrolled in classes at the university.

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-2003Page 4 of 254Due:33Mar03(oops! April 2nd)ScheduleThe courses a student has selected for the current semester.TranscriptThe history of the grades for all courses, for a particular student sent to the finance system, which inturn, bills the students.Course Registration SystemSupplementary Specification1. ObjectivesThe purpose of this document is to define requirements of the Course Registration System. ThisSupplementary Specification lists the requirements that are not readily captured in the use cases ofthe use- case model. The Supplementary Specifications and the use-case model together capture acomplete set of requirements on the system.2. ScopeThis Supplementary Specification applies to the Course Registration System, which will bedeveloped by the OOA and OOD students. This specification defines the non-functionalrequirements of the system; such as reliability, usability, performance, and supportability, as well asfunctional requirements that are common across a number of use cases. (The functional requirementsare defined in the Use Case Specifications.).3. ReferencesNone.4. Functionality Multiple users must be able to perform their work concurrently.If a course offering becomes full while a student is building a schedule including thatoffering, the student must be notified.5. UsabilityThe desktop user-interface shall be Windows NT and Windows2000 compliant.6. ReliabilityThe system shall be available 24 hours a day 7 days a week, with no more than 10% down time.7. PerformanceThe system shall support up to 2000 simultaneous users against the central database at any giventime, and up to 500 simultaneous users against the local servers at any one time.The system shall provide access to the legacy course catalogue database with no more than a 10second latency.Note: Risk-based prototypes have found that the legacy course catalogue database cannot meet ourperformance needs without some creative use of mid-tier processing powerThe system must be able to complete 80% of all transactions within 2 to 3 minutes.

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-2003Page 5 of 255Due:33Mar03(oops! April 2nd)8. SupportabilityNone.9.Security The system must prevent students from changing any schedules other than their own, andprofessors from modifying assigned course offerings for other professors. Only Professors can enter grades for students. Only the Registrar is allowed to change any student information.10. Design ConstraintsThe system shall integrate with an existing legacy system, the Course Catalogue System, which is anRDBMS database.The system shall provide a Windows-based desktop interface and a web-browser interface.

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-2003Page 6 of 256Due:33Mar03(oops! April 2nd)Appendix 1Use-Case Main Diagram Construction in Rational RoseClickHere.Figure 1: Opening view of Rational’s Rose: the UML package does much more than just UseCase diagrams. It can generate program code from descriptions also. (Even DTDs fromXML fame, and DOMs.) However, none of this is needed now so just Cancel .

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-2003Page 7 of 257Due:33Mar03(oops! April 2nd)Figure 2: After the first screen selector is cancelled, the default form (graphic window) for the“Class Diagram: Main Logical View” appears, as above. By using the navigationalbrowser in the upper left window, add the “Use Case Diagram: Main Use-Case View”.Figure 3: Bringing up the “Use Case Diagram: Main Use-Case View”, so that this drawingspace can be used to construct the required Use-Case configuration for the solutionto the Course Registration problem.

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-2003Page 8 of 258Due:33Mar03(oops! April 2nd)Figure 4: Using the “Use Case Diagram: Main Use-Case View” to construct the diagram for solution: thefirst Use-Case is the login operation, represented by the coloured oval. It can be labeled either byleft clicking the default label below the drawing in the usual filename rename operation, OR byright clicking on the object to bring up the Case Specification window which allows not only namechange but also annotated text space, and other object class possibilities, as shown above.

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-2003Page 9 of 259Due:33Mar03(oops! April 2nd)Figure 5: Adding an Actor to the “Use Case Diagram: Main Use-Case View” by dragging the “stickman”from the vertical component selection menu bar onto the Diagram in typical visual componentplacement manner. Note the continuing addition of these components in the browser in the upperleft corner of the Rational Rose window.

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-200310Page 10 of 25Due:33Mar03(oops! April 2nd)Figure 6: These sequence of screendumps illustratethe selection ofthe associationcomponent fromthe menu anddragging themouse from the“Student” Actorto the “Login”Use-Case (a) In(b) with the pointer over the destination, it isreleased formingthe solid lineassociation.Appendix 2Use-Case Descriptor Pages in Rational Rose

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-200311Page 11 of 25Due:33Mar03(oops! April 2nd)6. “Name of the Use-Case”6.1 Brief DescriptionThis use case allows .6.2 Flow of Events6.2. 1 Basic FlowThis use case starts when .I . The system requests .2. Once the one of the subflows is executed.If the is selected , the “ ” subflow is executed.If the is selected , the “ ” subflow is executed. .6.2.1.1 “ ” subflow details1. The system retrieves .2. The selects 4 primary “ “ and 2 alternate “ “ from .3. Once selections are made, the system creates .4. The “ “ subflow is executed.6.2.1.2 “ “ subflow details1. etc.6.2.2 Alternative Flows (Optional)6.2.2.1 “ “ subflow detailsExplain why and what can be done by the actor in this special case.6.2.2.2 “ “ special conditions name hereExplain why and what can be done by the actor in this special case.6.2.2.3 “ “ may be exception handling hereExplain why and what can be done by the actor in this special case.6.2.2.4 etc.6.3 Special RequirementsNone.6.4 Pre-ConditionsThe Student must be logged onto the system before this use case begins.6.5 Post-ConditionsIf the use case was successful, the student schedule is created, updated, or deleted. Otherwise, thesystem state is unchanged.6.6 Extension PointsNone.

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-2003ANSWERSUse-Case Model Diagram12Page 12 of 25Due:33Mar03(oops! April 2nd)

Assignment Number 8Set:26Mar03CS3SE3 Visual ProgrammingSOLUTIONSwfsp/2002-200313Page 13 of 25Due:33Mar03(oops! April 2nd)Use-Case Descriptors2. Close Registration2.1 Brief DescriptionThis use case allows a Registrar to close the registration process. Course offerings that do not have enough students are cancelled.Course offerings m

Course Registration System Supplementary Specification 1. Objectives The purpose of this document is to define requirements of the Course Registration System. This Supplementary Specification lists the requirements that are not readily captured in the use cases of the use- case model. The Supplementary Specifications and the use-case model together capture a complete set of requirements on the .