Efficient Management of Donations at Donation Bank

Slide Note
Embed
Share

Donation Bank is a non-profit organization that collects gifts from private individuals. Gifts need to be certified for tax deduction purposes and attributed to specific projects. Donors receive acknowledgements and certificates for their contributions. The organization maintains archives for persons, gifts, and projects and follows specific event processes to manage donations effectively. Two possible solutions are proposed for acknowledging gift attributions. Explore the complete specification through object-event tables for Project, Person, Gift, and Gift Attribution.


Uploaded on Sep 14, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Donation Bank Case Donation Bank is a non-profit organization that collects gifts from private persons. Collected gifts need to be certified for tax deduction purposes. Donation Bank has a number of projects, and gifts can be donated to projects. The only prerequisite is that the sum of the amounts of the donations for a project doesn t exceed the project budget (which is fixed when a project is defined, but can be changed afterwards). When a person donates money, (s)he can attribute the gift to a particular project. Non-attributed gifts of the past year are attributed by the Donation Bank Council to one or more projects by the end of January. When a gift is attributed to a project, an acknowledgement is sent to the person. Donation acknowledgements should happen only once. During the month May, each person receives a certificate for the total amount of gifts of the past fiscal year. Each gift is certified at most once. Persons, gifts and projects are archived as appropriate for a duration of 15 years. After that the information can be deleted.

  2. Business Events Default creating and ending events for each Class Project: createProject, endProject Person: createPerson, endPerson Gift: donate_gift, end_gift Gift attribution: attribute, end_attribution

  3. Business Events Events to register the fact that A gift has been certified: certify A gift or gift attribution has been acknowledged: acknowledge As the specifications are a bit ambiguous (natural language !), two options are possible: either each attribution of a gift is acknowledged, meaning that a person can receive several acknowledgements per gift ( Solution version 2) Or acknowledgement is done once per gift, stating the complete list of attributions for that gift in the acknowledgement letter ( Solution version 1)

  4. Object-Event Table Solution 1 Project Person create_project C mod_project M end_project E create_person mod_person end_person donate_gift acknowledge certify end_gift attribute M end_attribution M Gift Gift Attribution C M E M M M M M M C M M E M M C E

  5. Object-Event Table Solution 2 Project Person create_project C mod_project M end_project E create_person mod_person end_person donate_gift certify end_gift attribute M acknowledge M end_attribution M Gift Gift Attribution C M E M M M M M M C M E M M M C M E

  6. Object-Event Table complete specification Project O/C O/M O/E Person Gift Gift Attribution To complete the specification of the OET, we need to specify which object type owns the event and which object types acquire the event via propagation (see Chapter 5). create_project mod_project end_project create_person mod_person end_person donate_gift certify end_gift attribute acknowledge end_attribution O/C O/M O/E A/M A/M A/M A/M A/M A/M This is done by adding O/ (owned) or A/ (acquired) to the corresponding cell. O/C O/M O/E A/M A/M A/M A/M A/M A/M O/C O/M O/E

  7. Wrong 1 1 Gift Attribution attribute acknowledge end_attribution attribute acknowledge Wrong: Acknowledgement shouldn t happen more than once end_attribution

  8. Correct for Solution 1 2 2 Gift Attribution attribute end_attribution attribute end_attribution

  9. Correct for Solution 2 3 3 Gift Attribution attribute acknowledge end_attribution attribute acknowledge end_attribution

  10. Wrong 1 1 Gift donate_gift certify end_gift attribute acknowledge end_attribution donate_gift attribute, acknowledge, certify, end_attribution Wrong: Certification of a gift shouldn t happen more than once end_gift

  11. Correct for Solution 1 2 2 Gift donate_gift certify end_gift attribute acknowledge end_gift_attribution donate_gift attribute acknowledge certify end_attribution Correct: Gift is attributed possibly several times, then acknowledged once in its entirety, then certified once. Upon deletion of the gift, attributions of this gift are deleted first. end_gift

  12. Correct for Solution 2 Gift donate_gift certify end_gift attribute acknowledge end_attribution 3 3 donate_gift attribute, acknowledge, certify, end_attribution Correct: Gift is attributed & acknowledged possibly several times (one acknowledgement for each attribution), then certified once. Upon deletion of the gift, attributions of this gift are deleted first. end_gift

  13. Wrong 4 4 Gift donate_gift certify end_certificate end_gift attribute acknowledge end_attribution donate_gift attribute, acknowledge, certify, end_attribution end_certificate Wrong: Because of the presence of the event end_certificate end_gift

  14. Correct for Solution 2 1 1 Project create_project mod_project end_project attribute acknowledge end_attribution create_project mod_project, attribute, acknowledge, end_attribution Correct: Default lifecycle matching OET version 2. end_project

  15. Wrong 2 2 Project create_project mod_project end_project attribute create_project mod_project, attribute Wrong: Missing event: all event marked in the OET should be present in the lifecycle. end_project

  16. Correct for Solution 1 3 3 Project create_project mod_project end_project attribute end_attribution create_project mod_project, attribute, end_attribution Correct: Default lifecycle matching OET version 1. end_project

  17. Correct for both solution 1 1 1 1 Person create_person mod_person end_person donate_gift certify end_gift attribute acknowledge end_attribution create_person mod_person, donate_gift, certify, end_gift, attribute, acknowledge, end_attribution end_person Correct: Default lifecycle matching OET version 1 & 2.

  18. Wrong 2 2 Person create_person mod_person end_person create_person mod_person Wrong: Missing event: all event marked in the OET should be present in the lifecycle. end_person

  19. Wrong 3 3 Person create_person mod_person end_person donate_gift certify acknowledge create_person mod_person, donate_gift, certify, acknowledge Wrong: Missing event: all event marked in the OET should be present in the lifecycle. end_person

Related