Overview
The assignments for this class will be based on the following scenario:
The local animal shelter wants to create a web based application to manage a pet adoption program. In this program, volunteers take abandoned, negleted or unwanted pets home and care for them until they are adopted out.
Here is a brief statement of work the shelter has provided you.
Mercy Animal Shelter Statement of Work
History and Background
The Mercy Animal Shelter employees volunteer to care for shelter animals until they can be adopted. Typically the animals volunteers tend are too young or too sick to be cared for well in the shelter itself. Volunteers have usually been self selecting, coming in to the shelter to ask if they could help. But there have never been enough volunteers to handle all the animals.
When a person indicates that they want to volunteer, they write their name and address in a notebook at the main desk. Before they can become a volunteer the clinic must do a background check to make sure the volunteer has no history of abusing animals. Many people on the list are never checked out and sometimes it is difficult to tell who has had a background check and who hasn't.
When a person gets an animal to care for, they write their name, contact information and the animal's name in another notebook. When someone wants to adopt the animal we call and the volunteer delivers the animal back to the clinic. The notebook is not always updated, so it is not always clear what animals are still in foster care and what ones have been adopted. Also animals are often moved from one foster care residence to another, and again this is not always noted.
Statement of Scope
The Mercy Animal Shelter foster care application needs to track several aspects of the foster care program. It must track the location and condition of all the animals in foster care. It must contain a list of all available volunteers, their addresses and contact information and whether they have passed the background check. It should also track the volunteer's performance in the program in terms of quality of care and conformance to the rules. It should also track adoption information. Volunteers should be able to register. The application should track when and if they have had a successful background check. When a volunteer has been given a foster animal the application should accept weekly and/or montly reports on the animal's status. For the staff at the clinic, the application should allow them to see at a glance what animals are being fostered and by whom. They should also be able to retrieve a list of available volunteers. They should also be able to quickly check the status of any animal in the clinic's care. It is important that the volunteer information be confidential.
Constraints
Currently we have allocated $40,000 dollars to this project. It is unlikely that we can aquire more funding in the short term. The clinic uses a city wide mainframe database of animals. It would be beneficial if the new system were compatible with that database. The clinic has 4 windows XP based computers at present, one of which is networked with the city system.
Schedule
We would like this application in place as soon as possible. Currently we are alloting 3 to 6 months for the project
Currently we see the inital deliverables as follows:
- Initial meetings, interviews and information gathering
- Feasibility study and proposals
- Analysis of system requirements (use cases)
- Analysis of System strucuures (class diagrams, activy, sequence diagrams
- Database design and devepment
- Application prototype
Assignment One
Identify the key actors. Create a list of questions that you would ask each actor. (at least 10 in total).
Assignment Two
Create a feasibility study for the project. It should include technical feasiblity, Schedule feasibilty, and a spreadsheet with financial feasibility. In addition create a powerpoint that presents at least three alternatives with their advantages and disadvantages and recommends one. You can do this individually or in small groups. We will show the powerpoints to the class.
Assignment Three
Use Visio to create Use case diagrams to show the ways each actor will "use" the application. Write up at least one of the use case specifying the initial state, the trigger, and the steps involved in the use case.
Assignment Four
Create an activity diagram for the use case you wrote up.
Assignment Five
Create a class diagram for the Application, showing all the domain area objects, their fields and methods
Assignment Six
Create a sequence diagram that shows the messages passed between objects when a pet is assigned for foster care
Midterm
The midterm will be based on the powerpoints and examples presented so far in class. After the midterm, I will meet with each student for 15 minutes to go over the results
Assignment Seven
Modify the class diagram to contain relationships. Include any incidents of composition and/or inheritance
Assignment Eight
In code, C# or VB create class libraries for two of the classes you defined in your diagrams. Write a short console application to test your class