MET CS 770 - Spring 2003 - Homework 1 (Due Feb. 10th, 2003)

MetPool is a non-profit organization that matches volunteers with people/groups in need of help. It maintains a list of voluntary opportunities and a list of volunteers. It matches volunteers to the right opportunities. Everyone has skills to offer and needs to be met. So, volunteers register their own needs. Recipients of help are required to offer their own skills.

Volunteers can register the skills they are offering by the telephone to a volunteer organizer, in person, or by filling out details on a web page. Once registered, they can then deposit their time by the same means.

Voluntary organizations and individuals (including volunteers) can register their needs for help by contacting a volunteer organizer. The volunteer organizer then tries to match up the people offering their time with the opportunities ---

Matching is done on a geographical basis using zip codes and by matching skills to needs. When there is a match, the volunteers are notified of the details, and if they are interested, their details are passed on by the volunteer organizer to the voluntary organization or individual that requested the help.

  1. List the actors
  2. List the use cases
  3. Show the relationship between the actors and the use cases
  4. Write the Basic Scenario for the use cases
  5. Which are the priority use cases for elaboration
  6. List any classes that may exist in the system. Sketch out a first draft class diagram.
  7. Follow the transcripts below between the system analyst (SA) and the METPOOL director (MD):
       SA: Can you tell me more about the information you need to hold about
           Volunteers please?
       MD: Well, we need to know stuff like their name, and contact details...
       SA: Contact details?
       MD: Yes, their telephone  number and email address. We also find it
           useful to know how old our volunteers are.
       SA: So, do you hold a volunteer's date of birth?
       MD: Yes. That can be useful if we get two people with the same name.
      
    Identify any attributes (derived or otherwise) in this transcript and allocate them appropriately to your list of classes. If there are any derived attributes, include the specification of the derivation as a note. Suggest and add to your diagram, suitable types for each attribute.
  8.    SA: So how are volunteers related to volunteering opportunities?
       MD: Well, volunteers will bank time with us. That is time that they
           are available to work on volunteering projects. Based on their
           availability, we can match them to suitable opportunities.
       SA: OK, I can see how you have banked time for volunteers, what about
           the projects?
       MD: Well, there is a similar setup there with organizations banking
           time on the various different projects that they need help with.
       SA: I see. Do you ever get projects that are set up by more than one
           organization?
       MD: No, but an organization may have several projects on our books
           at any one time. Volunteers with banked time can work on several
           different projects. Each time they do some volunteer work, it will
           be only for one project at a time though.
      
    From the above transcript, identify suitable associations between the classes you have identified so far. You should be able to work out the multiplicity of most of the associations as well.