SE-2800 Software Engineering Process

Dr. Mark Sebern -- Winter quarter 2013-2014


Lab 1

Revised: 17 December 2013

Acknowledgment

This lab was developed by Dr. Rob Hasker; all errors in its adaptation are the responsibility of the instructor.

Overview

This lab will give you experience at estimating story sizes.

Recall the pet medical database application you implemented in SE-2030 based on the following (slightly edited) stories, where the stories marked as Unimplemented were ones that your group was not to have implemented. Additional stories have been added.

  1. As a User, I want to be able to view a list of my specified pet's medical history within a specified time period (this might include a time period that extends into the future so that I can see upcoming events). Keep in mind that I want to be able to keep track of multiple pets, and be able to select and see which of my pets I'm viewing at any time. The history can consist of vaccinations, checkups, grooming, and medicine administration (e.g. when the last or next heartworm pill was or should be taken).
  2. As a User, I want to be able to enter a new event for my selected pet. I should be able to enter an upcoming event, or enter a past event that I had previously forgotten about. I want to be able to create the following types of events:
    • checkup events, where I can specify the date and vet's office/name
    • grooming events, where I can specify the date, groomer/office name, and type of grooming
    • vaccination/medication events, where I can specify the date and type of vaccination or medication
    • weight recordings, where I specify the date and the weight of my pet on that date
    • general notes, where I specify the date and what happened on that day (for example, my pet was sprayed by a skunk)
  3. As a User, whenever I start the app I want it to list the upcoming events for the next 30 days for my last-selected pet.
  4. Unimplemented: As a User, I want to be able to selectively filter the events by event category that the app shows me according to event type. I want to be able to select from one to all event categories, in any combination.
  5. Unimplemented: As a User, I want to be able to edit an event in case I made an error.
  6. Unimplemented: As a User, I want to be able to delete an event (for example, if I cancel a grooming appointment).
  7. As a User, I want events to be saved automatically whenever I finish creating one.
  8. New: As a User, I want to view a chart showing the pet's weight over time so I can see trends.
  9. New: As a User, I want the system to identify the frequency with which each vaccine is given and list on demand any vaccinations which may be overdue.
  10. New: As a User, I want to be able to move a pet to a list of departed pets with a description of the departure (deceased, lost, etc.) and a date. It should be possible to view the history for pets on this list, but these pets would not appear on the main list.

From the stories you have already implemented, select one or two of "medium" size, and use these examples as a calibration for the "5 story points" value.

For each of the new or unimplemented stories (if you run out, consult with the instructor), do the following:

Assignment submission (due by 9PM, Thursday, December 19)

Document the planning process (including details of the planning rounds) in a single PDF (probably composed in Word) document. Include the names of group members. One group member should email a single copy to your instructor, and additional copies to the rest of the group.