Learning Center
Plans & pricing Sign in
Sign Out

System Requirements Specification v1 final


									       Simple Family Photos
Nathan Armstrong, Timothy Clark, David Cohen,
Shuai Jiang, Jayson Na, Ita Pai, Corneliu Suciu

  Software Requirements

                  Version 1

             January 21, 2011

          CSE 403 - CSRocks Inc.

Version   Primary             Description of Version             Date
          Author(s)                                            Completed
1         Armstrong, Clark,   Preliminary Requirements Draft    01/21/11
          Cohen, Jiang,
          Na, Pai, & Suciu
                             Overall Description


Simple Family Photos is a web interface designed for uploading and grouping
photographs into events. These events can be shared among family and friends,
and provide a logical structure for searching and viewing photos. The site is
intended to solve the issues that arise when many family members take
photographs at an event and have no easy way to aggregate and share them.
Simple Family Photos will provide central storage and a simple way to upload
and view these event photographs for anyone in the family.

The site is intended to be used by families. That being said, most families will
consist of people with widely varying technological skill sets. Simple Family
Photos will be tailored so that all of the members will be able to contribute and
add/view pictures. With this user base in mind, one of the benefits of Simple
Family Photos will be lowered complexity for the photo sharing process. The site
will be simple to use, and faster than trying to send photos through email, share
them on digital media, or send links to individual photo albums. Another benefit
will be time savings. The aggregate nature of the site will speed up the event
photo sharing process—each member will upload their photos once, without
worrying about distributing them to every other family member.

Some alternatives that exist for viewing and sharing photos include Facebook,
Photobucket, Picasa, and Flickr. While being very powerful, these websites are
designed with technologically savvy users in mind; they are not always simple for
the average person to use. Additionally, these sites tend to group photographs
together by user. This method is sufficient for the purpose of maintaining user
pages and searching for arbitrary pictures, but would leave much to be desired
as photo storage for an event.

In contrast to these systems, Simple Family Photos will focus on being easy to
use for anyone, regardless of technological skill, while also providing a means to
collect photos from multiple family members into a single event album. This
difference should be clear to any user who’s tried using other photo-sharing
systems: the simplicity of group sharing will be much more obvious compared to
the single-user alternatives.

We expect at least two very different levels of documentation this will require. At
a basic level, most users will need to understand how to operate the basics:
uploading pictures and organizing them into events, as well as searching for
specific event albums. This will require a system for providing simple help about
these processes to new users, as well as reference animations, which can be
used to demonstrate simple procedures.
The more advanced level of documentation will apply for family administrators,
who are assumed to have a greater technological grasp. The admin
documentation would need to be more detailed to account for greater control
complexity. While some tasks could be demonstrated in a manner similar to the
basic level of documentation, others would require more explanation, likely in the
form of help files and tool-tips.


Simple Family Photos’ focus is to support photo albums of family-based events.
We are not aiming to provide a feature-laden general service for publishing
photos or a site that will cater to the social networking set; we want to replicate
the family photo album sharing experience. This will keep the site simple and
easy to use for less technologically skilled users.

The site will also not be a guaranteed backup service. The service will store
photos on a central server (and will likely be backed up regularly) but it will make
no guarantees about reliability. It will be made clear to users that they should not
upload pictures to the site and then delete local copies.

Simple Family Photos will be web-based. As long as a user is running a device
with a web browser, he or she should be able to view and upload photographs to
family events. This keeps the site simple and accessible. We may use HTML 5
for some features (e.g., multiple uploads), with a graceful fallback to HTML 4.01
for users who are not using up-to-date web browsers.

Internally, we will be running an Apache web server on Cubist. We will also be
using Cubist for our database storage (MySQL or PostgreSQL).

Performance is an important factor in any photo sharing website. The storage
database behind Simple Family Photos must be quick when searching, browsing,
and downloading pictures. The front-end itself must always be quick to respond,
without major delays in user control.
                       Use Cases
Case Summary Diagram
Use Cases

1) View event photos

Goal                    User wants to look at photos from an event.

Level                   User

Primary Actor           User

Precondition            User has been authenticated, and is at the home page

Success End Condition User is happy after browsing the whole event

Failure End Condition   User is unable to see all the desired photos

Trigger                 User starts looking for an event

Main Success Scenario 1.   User browses to an event.
                      2.   User selects the event.
                      3.   Site displays event page.
                      4.   User browses event.
                      5.   User selects individual photo.
                      6.   Site displays photo.

Extensions              1a. Desired event does not exist
                               1a 1. User modifies search criteria
                               1a 2. User cancels search
                        5a. Event contains no photos
                        6a. Photo is corrupted
                        all Client-server connection fails

Variations              User searches for event by event name or date
2) Upload a photo to an event

Goal                 User wants to upload an event photo

Level                User

Primary Actor        User

Precondition         User has been authenticated, and is at the home page

Success end          User has uploaded a photo to the desired event

Failure end          Photo is not uploaded to the desired event

Trigger              User starts looking for an event to add a photo to

Main success         1.   User browses for an event.
scenario             2.   User selects the event.
                     3.   Site displays event page.
                     4.   User clicks button to add a photo.
                     5.   User selects photo to upload from his or her computer.
                     6.   Photo is uploaded to the event.
                     7.   Site displays event with new photo included.

Extensions           1a. Desired event does not exist
                            1a. 1 User modifies search criteria
                            1a. 2 User decides to create an event
                     5a. User decides not to upload
                            5a. 1 Site displays event page
                     5b. User selects no photos to upload
                     6a. Photo is too large
                            6a. 1 Site informs user that file is too large; photo is
                            not uploaded
                     6b. File is corrupted, or not a photo
                            6b. 1 Photo is not uploaded

Variations           User searches for event by event name or date
                     User wants to upload multiple photos to one event
                     Drag-and-drop photos to album
                               Feature List
Planned Features

Feature                                       Target
Family Creation                               Beta
Event Management                              Beta
Photo Uploads                                 Beta
Editing Photo Description                     Beta
Login/Authentication                          Final
Drag and Drop Uploading                       Final
Deleting Photos                               Final
Adding Family Members                         Final
Photo Download Options (Events, Individual)   Stretch
Duplicate Image Detection                     Stretch
Optional E-Mail notifications                 Stretch
                         UI Prototype

Prototype 1 - Viewing Events
Prototype 2 - View Single Event
Prototype 3 - Add/Upload Photos

To top