Exercises:

Exercise 1: Use ArgoUML as a tool to draw the UML diagrams for the following software system. (ArgoUML is Open Source Software, whose official website is: http://argouml.tigris.org/). As least the use-case diagrams and the class (object) diagrams should be included.

Consider the following set of requirements for a university information system that is used to keep track of students transcripts.

a. The university keeps track of each student's name, student number, social security number, current address and phone, permanent address and phone, birthdate, sex, class (freshman, sophomore, ..., graduate), major department, minor department (if any), and degree program (B.A., B.S., ..., Ph.D.). Some user applications need to refer to the city, state, and zip of the student's permanent address, and to the students' last name. Both social security number and student number have unique values for each student.

b. Each department is described by a name, department code, office number, office phone and college. Both name and code have unique values for each department.

c. Each course has a course name, description, code number, number of semester hours, level, and offering department. The value of code number is unique for each course.

d. Each section has an instructor, semester, year, course, and section number. The section number distinguishes different sections of the same course that are taught during the same semester/year; its values are 1, 2, 3, ...; up to the number of sections taught during each semester.

e. A grade report has a student, section, and grade.

The applications are: (1) An administrator can update the courses to be taught by instructors, and enter the list of students taking a course. (2) An instructor can enter and update the grades of the course(s) taught by this instructor. (3) A student can request a grade report from the information system.


Exercise 2: The UML provides a common language for software developers to communicate with each other. In the term project, each team/person will use UML for the specification of the software component to be developed by this team/person. Each term/person should provide a high-level description, rationale, and initial UML specification of the term project. The UML diagrams to be delivered include the use case diagram, the class diagram, the activity diagram and the collaboration diagram. These four types of diagrams are chosen because they can all be created using the software tool ArgoUML as long as feedback loops are avoided. In creating the class diagram, try to remain consistent with the database schemas for the virtual classroom. The name of variables used in the diagrams should also remain consistent with the variables for the "remote control" supplied by the teaching assistant. If you follow these rules it will be easier later to integrate the UML diagrams to generate a combined overall specification.

Milestone 1: Specify messages to a component.

Milestone 2: Test interface between remote control and component. You should have already started the implementation of the component, concentrating on the interface with the remote control. You will demonstrate how your component can interact with the remote control. The scenario is as follows: First you run the remote control, which will appear on the screen. Then you use the remote control to send a message to your component. The message typically consists of some variables and their values. You can enter the variable names and values through the remote control. The output message should also appear on the remote control. You can test most of your messages this way.