CS- Software Engineering. Homework

Assignment# 1 

Due 9/25/2014 8:59am


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, 

and contradictions. 

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 

use cases.





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 

other user’s pictures but if comments violate the terms of use then they can be removed 

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.

"Is this question part of your assignment? We can help"