Below is a plain language description for the development of a Family Reunion software
application. It is fairly detailed, but there may be ambiguous areas, functional omissions,
This and the two remaining assignments will involve you in the creation of a project
notebook for this fictitious software system. While there will not be any programming
during these assignments, by the end of assignment 3, you will have a viable design
that could be serve as the basis for an implementation team.
Feel free to ask questions in class or through Blackboard regarding the software
description. I will transmit any changes/clarifications/corrections I make to the software
description to all students via Blackboard.
For this assignment, you will read through the fake client’s description and extract an
essential set of requirements, involved entities (e.g., the users), and the relationships
between requirements and entities. Your assignment submission will include the
following work products:
1. A list of at least 20 use cases, each one summarizing a functional requirement of
the system in a sentence or two. This is also a good place to indicate possible
security threats. You can specify security threats and/or system constraints either
with individual use cases or as separate list items, or both. This list should be
concise and meaningful.
2. A list of definitions of key terms used by the software system. Indicate which
definitions are objects, i.e., data structures that the system will use/manipulate.
3. A list of the user types of the system and other entities external to the system.
You will also indicate under each entity type the use cases to which the entity has
access (i.e., who can do what). For the use cases, you only need to refer to
specific use cases in the list produced in #1 (utilize a use case id or name).
4. A Use Case Diagram that illustrates the relationships between entity types and
We want to create a web and mobile application that will allow family members and
friends to schedule and organize family reunions and share photos and comments
privately with each other for a family’s reunions.
A person can register and start a family group in the application and send invitations to
other people to join the family group. People may also register separately with the site and request to join an existing family group. When someone joins a family group they
specify at least one relationship to someone else in that group (except for the first
member of the family group). Relationships may always be changed later.
There are 2 kinds of user accounts: basic and premium. A basic user account is free
and basic users can access all functions but can only upload a set # of photos per day.
A premium user account is $5 per month and there are no upload restrictions.
Family members will receive notifications about new reunion events and reminders if
they members have not confirmed attendance or absence. Family members can rsvp to
commit to either attending or not attending the reunion. Reunion organizers can
designate reunion roles that family members can volunteer for. People can’t do anything
for past reunions except post photos and comments. Reunion information pages will
show a map to the event.
Family members will receive notifications when new pictures are uploaded (but only 1
notification per day or so). Any basic or premium member can post comments about any
by an admin.
Keep all work products in a single document. Organize it with a simple table of contents.
All of your assignments will add to this document.
Please submit your Assignment 1 document as a PDF via Blackboard by the deadline
(late submissions will be penalized). If you must submit multiple files, zip them up
together and submit the zip file.