DONATE:2012 Spring Requirements and Analysis Document

= Overview =

Client Profile



 * YWCA is a global organization that seeks to eliminate racism and empower women. They provide a safe haven for victims of abuse, rape and domestic violence, provide resources for women and children to empower their lives, and advocate for civil and women rights in Congress.
 * The YWCA in Manchester provides a number of services to the community including a Youth and Teen program and a Family Education program that offer education and support for parents and children in the region, and also comprehensive Victims services including a crisis line, safety planning, support groups and legal advice.
 * The YWCA is a 501(c)(3) not-for-profit organization that relies on donations from the community to continue to provide these essential services.

Problem Description

 * Donations are given to the YWCA through a number of avenues. These donations need to be allocated according to the donors wishes, possible event allocation, and also they have to be tabulated for the accounting systems. The donor also requires reciepts for their own tax records, and the YWCA also would like to show their appriciation by sending the donors a personal Thank You letter.

System Objectives
A Donate system for the YWCA in Manchester needs to automate the tracking of donations made to the YWCA. All the information currently recorded on the speadsheets would need to be replicated and organised to allow for the provision of reports including reciepts and Thank you letters.

= Current System = In the YWCA in Manchester, the donations are managed by Cathy ….. in the ... department.

The systems she currently uses comprises of the following actions: - Schematically the information flow can be organised thus:-
 * Manual retrieval of donor information on a hand written form.
 * Collection of money and/or in kind goods from the donor.
 * Provision of a manual written receipt for the donor.
 * Copy of manual receept kept for YWCA records
 * Copy of hand written form is then passed onto Cathy who enters the information into her master spreadsheet
 * Provision for non-anonymous donors, of a Thank you letter detailing the donation value including Directors signature.
 * Provision of summary monatary information for accounts for the financial year end ( June 30th)



Activity Diagram The activity diagram details the process flow for the current system identfying the flow of information in a logical form.



System Artifacts

 * The YWCA currently uses an excel spreadsheet to track donations. An example page is shown below:-




 * A donor is provided with a form to fill out when a donation is made. A receipt is hand generated from that information. And example is detailed below:-




 * A Thank-You Letter is sent to the donor's address which was collected on the original information form. An example is shown below :-



Other User Requirements Artifacts

User Requirements Meeting Notes taken March 29 2012

1. How is event data collected/used ? Where is event data placed? 2. Review: designation values are programs: YWCA, Shelter, Emily's place (non-event) event is for a specific department 3. Ability to send thank you to an individual at a company? Yes. (report related) 4. Glossary - programs are functions within the YWCA 5. Do events change? Yes. Do programs change? Yes. annual(recurring) events, unique events well-established 6. Name, if hosted by author organizer, contact person, designation 7. In-kind donations estimated value: $____ specific information: w/qty & estimated price per item 8. payment types for monetary donations- cash, paypal, credit card, check, gift cards(each unique store), in-kind variety of gift cards: store, value, #of gift cards 9. example: "quilting group" 1)gift cards march 1, 2010	 2)cash 3)in-kind making a donation with 3 lines 10. Is a donation sold to generate cash? Yes, cell phones. 11. How to find the value of a gift card?	Front check on gift card value. 12. Required data for donation	->value(estimated or 	->designation ->named or anonymous donor 13. Delete duplications; delete mistakes; remove mistakes with caution 14. Edit: correcting any entered fields 15. Fiscal year: July-June 16. Pull donations for specific dates ranges 17. Security: authentication & end-user privileges ; hide/protect information? View/read: any end-user Add: Add/Edit/Delete: 18. Who entered the donation? 19. Add donation start w/donor -> add donation -> enter donation lines minimum info for anonymous donor -> only donation info (don't care / know whether individual or organization) 20. Reporting features 21. Bcakup/Recovery a)make copy (daily)

= Proposed System =

Functional Requirements
DONATE system is engaged by a single YWCA staff member. The system executes commands given by the user.


 * 1) Manage donors by tracking and identifying donors as individuals or organizations and maintaining donor data.
 * 2) The business member/staff may add, delete, update, search or view donors.
 * 3) The add function adds a new donor to the database.
 * 4) The delete function deletes a donor from the database.
 * 5) The update function edits donor information.
 * 6) The search function displays donor and their information excluding donation amounts.
 * 7) The view function allows to view all donors (individuals or organizations) or particular donor.
 * 8) Manage donations by tracking and identifying donors as individuals or organizations and maintaining donation data.
 * 9) The business member/staff may add, delete, update, search or view donations sorted by date or amount.
 * 10) The add function adds a new donation to the database.
 * 11) The delete function deletes a donation amount from the database of existing donor.
 * 12) The update function edits donation amount.
 * 13) The search function displays donation and their information including donor name.
 * 14) The view function allows to view all donation (individuals or organizations) by amount or date.
 * 15) Manage fund-raising events by tracking date, location, etc. and linking donations to events.

Non-Functional Requirements

 * 1) The DONATE system is written in PHP, CSS and HTML.
 * 2) The DONATE system will engage user via Grahpical User Interface (GUI) created in CSS and HTML.

Use Case Model
The end-users of the DONATE system are either the Business Manager or designated Staff. The interactions between end-users and the system are meant to complete a specific work process that the system implements and automates. Such interactions are represented with use cases, which model the functional features of the system, i.e., what the system should do. See Functional Requirements section for the list of the system's features.

To fully describe a DONATE use case, the following information is provided:
 * The name of the use case succinctly names a functional feature of the system.
 * The use case goal is a summary sentence of the system's feature.
 * The use case description details on what the feature consists of and/or how it is carried out.
 * The end-users for the DONATE system are Business Manager and Staff. In case other end-users are involved, then a Types of users entry is added to indicate if there any other additional end-user.
 * The interactions between the end-user and the system are described as a sequence of steps. These interactions show the normal flow of events that implement the work process that the use case captures. Note that the steps alternate between the end-user and the system. Higher-level use cases may have more complex steps that reference simpler use cases.

Managing Donation
Name: View Donation
 * Goal: To view individual or organization donation sorted by date or amount.
 * Description: Business Manager or Staff can view all donation in the system sorted by date or amount.
 * Steps:
 * 1) Business Manager/Staff selects "All" or one of the alphabetic letters to view the individual donation by last name or organization by name.
 * 2) The system displays all the donations by date/amount (depending on sort order) or by name with the corresponding letter of name or organization name.
 * Entry Condition:
 * 1) Business Manager/Staff logs into DONATE system.
 * 2) The system displays homepage of most recent donations sorted by date.

Name: Add Donation
 * Goal: To add new donations in the DONATE system.
 * Description: The Business Manager or designated Staff adds a new donation in the system; when a donation is processed and its already not present in the system.
 * Steps:
 * 1) Business Manager/Staff enters the donation amount of an individual donor or organization name.  Business Manager or Staff saves the new donation data.
 * 2) The system executes the add function and displays confirmation message.
 * Entry Condition:
 * 1) Business Manager/Staff logs into DONATE system.
 * 2) The system displays homepage of most recent donations sorted by date.

Name: Search Donation
 * Goal: To find donation based on name, date or amount information.
 * Description: The Business Manager or designated Staff may find a donation by entering information s/he knows about the donor's name.
 * Steps:
 * 1) Business Manager/Staff member enters the donor name information, whether last name, first name, or organization name.
 * 2) The system either displays donation with the matching name information or a message such as "No donor with this name information can be found".
 * Entry Condition:
 * 1) Business Manager/Staff logs into DONATE system.
 * 2) The system displays homepage of most recent donations sorted by date

Name: Update Donation
 * Goal: To update donor information.
 * Description: Business Manager only can make updates to donor data.
 * Types of users: Business Manager
 * Steps:
 * 1) Business Manager updates donation information by clicking on the pencil icon next to the donation information row.
 * 2) The system executes the update function and displays confirmation message that the updates were completed.
 * Entry Condition:
 * 1) Business Manager/Staff logs into DONATE system.
 * 2) The system displays homepage of most recent donations sorted by date

Name: Delete Donation
 * Goal: To delete a donor from the system.
 * Description: Business Manager only can delete donors from the system.
 * Types of users: Business Manager.
 * Steps:
 * 1) Business Manager deletes donation by clicking on the x icon next to the donation information row.
 * 2) The system executes the delete function and displays confirmation message that the delete function was executed.
 * Entry Condition:
 * 1) Business Manager/Staff logs into DONATE system.
 * 2) The system displays homepage of most recent donations sorted by date

Managing Donors
Name: View Donors
 * Goal: To view individual or organization donors from which donations have been processed.
 * Description: Business Manager or Staff can view all donors in the system in alphabetical order of their names, or s/he can select to view donors whose name starts with a specific letter.
 * Steps:
 * 1) Business Manager/Staff select "All" or one of the alphabetic letters to view the individual donor by last name or organization by name.
 * 2) The system displays all the donors with the corresponding letter of name.
 * Entry Condition:
 * 1) Business Manager/Staff logs into DONATE system.
 * 2) The system displays homepage of most recent donations sorted by date.

Name: Add Donor
 * Goal: To add new donors in the DONATE system.
 * Description: The Business Manager or designated Staff adds a new donor in the system when a donation is processed and its donor is not anonymous OR its donor is not already in the system. New donor's information includes name and contact information.
 * Steps:
 * 1) Business Manager/Staff enters the donor's first/last name (if individual donor) or organization name (if organization donor). Contact information includes full address, phone, fax, and email. When all required fields are filled, Business Manager or Staff saves the new donor data.
 * 2) The system executes the add function and displays confirmation message.
 * Entry Condition:
 * 1) Business Manager/Staff logs into DONATE system.
 * 2) The system displays homepage of most recent donations sorted by date.

Name: Search Donor (by Name)
 * Goal: To find donor based on name information.
 * Description: The Business Manager or designated Staff may find a donor by entering information s/he knows about the donor's name.
 * Steps:
 * 1) Business Manager/Staff member enters the donor name information, whether last name, first name, or organization name.
 * 2) The system either displays donors with the matching name information or a message such as "No donor with this name information can be found".
 * Entry Condition:
 * 1) Business Manager/Staff logs into DONATE system.
 * 2) The system displays homepage of most recent donations sorted by date

Name: Update Donor
 * Goal: To update donor information.
 * Description: Business Manager only can make updates to donor data.
 * Types of users: Business Manager.
 * Steps:
 * 1) Business Manager updates donor information presented in an "Edit Donor" form and submits the form when done.
 * 2) The system executes the update function and displays confirmation message that the updates were completed.
 * Entry Condition:
 * 1) Business Manager/Staff logs into DONATE system.
 * 2) The system displays homepage of most recent donations sorted by date

Name: Delete Donor
 * Goal: To delete a donor from the system.
 * Description: Business Manager only can delete donors from the system.
 * Types of users: Business Manager.
 * Steps:
 * 1) Business Manager deletes donor for which information is presented in a "Delete Donor" form and confirms deletion.
 * 2) The system executes the delete function and displays confirmation message that the delete function was executed.
 * Entry Condition:
 * 1) Business Manager/Staff logs into DONATE system.
 * 2) The system displays homepage of most recent donations sorted by date

Managing Events
Name: View Event(s)
 * Goal: To view an event or events that may occur monthly or annually.
 * Description: Business Manager or Staff can view all events taking place in the system for an specific time.
 * Steps:
 * 1) Business Manager/Staff select "All" or one of the alphabetic letters of the month to view an event.
 * 2) The system displays all events or an specific ones for a particular month with the corresponding letter of month.

Name: Add Event(s)
 * Goal: To add event(s) in the DONATE system.
 * Description: The Business Manager or designated Staff adds a new event(s) in the system; the DONATE system confirms similar event is not in the system OR another event is not scheduled at the same place/time.
 * Steps:
 * 1) Business Manager/Staff enters a description and a location of the event into the DONATE SYSTEM.
 * 2) The system executes the add function and displays confirmation message.

Name: Find Event(s)
 * Goal: To find event(s) in the DONATE system.
 * Description: The Business Manager or designated Staff may find event(s) by viewing all the events taking place for the whole year or by specific month.
 * Steps:
 * 1) Business Manager/Staff member enters the event name OR clicks "All" to view all the events.
 * 2) The system either displays event(s) with the matching name or a message such as "No event with this name can be found".

Name: Update Event(s)
 * Goal: To update event(s) information.
 * Description: Business Manager only can make updates to event(s) data.
 * Types of users: Business Manager.
 * Steps:
 * 1) Business Manager updates event(s) information presented in an "Edit Event" form and submits the form when done.
 * 2) The system executes the update function and displays confirmation message that the updates were completed.

Name: Delete Event(s)
 * Goal: To delete event(s) from the system.
 * Description: Business Manager only can delete event(s) from the system.
 * Types of users: Business Manager.
 * Steps:
 * 1) Business Manager deletes event(s) for which information is presented in a "Delete Event" form and confirms deletion.
 * 2) The system executes the delete function and displays confirmation message that the delete function was executed.

Higher-Level Use Cases
Name: Operate DONATE
 * Goal: To give access to all the system's functional features.
 * Description: Business Manager or designated Staff initiates any of the features supported by the system: process donations, donors, and events, and reporting donation data on various criteria.
 * Steps:
 * 1) If Business Manager/Staff selects "Donations", the system assists with donation data processing (use case Manage Donations).
 * 2) If Business Manager/Staff selects "Donors", the system assists with donor data processing (use case Manage Donors).
 * 3) If Business Manager/Staff selects "Events" the system assists with event data processing (use case Manage Events).

Name: Manage Donations
 * Goal: To search, view, add, update or delete Donations in the DONATE system.
 * Description:
 * Steps:
 * 1) If Business Manager/Staff enters name data in the “Search” field, the system performs a donation search (use case Search Donation).
 * 2) If Business Manager/Staff selects “View”, the system display donations (use case View Donation).
 * 3) If Business Manager/Staff selects “Add”, the system adds a new donation (use case Add Donation).
 * 4) If Business Manager/Staff selects  “Delete”, the system deletes a donation (use case Delete Donation).
 * 5) If Business Manager/Staff selects “Update”, the system updates donation amount (use case Update Donation).

Name: Manage Donors
 * Goal: To search, view, add, update or delete Donors in the DONATE system.
 * Description:
 * Steps:
 * 1) If Business Manager/Staff enters name data in the “Search” field, the system performs a donor search (use case Search Donor).
 * 2) If Business Manager/Staff selects “View”, the system displays donors (use case View Donor).
 * 3) If Business Manager/Staff selects “Add”, the system adds a new donor (use case Add Donor).
 * 4) If Business Manager/Staff selects  “Delete”, the system deletes a donor (use case Delete Donor).
 * 5) If Business Manager/Staff selects “Update”, the system updates donor data (use case Update Donor).

Target Environment
= Glossary =