SOFTWARE REQUIREMENTS SPECIFICATION

advertisement
West Virginia University
Lane Department of Computer Science and Electrical
Engineering
Advanced Software Engineering
Spring 2009
Software Requirements Specification
February 13, 2009
PicFolio
Created By:
Brett Carpenter
Kathryn Ehrlich
Jason Spencer
Table of Contents
1.0 INTRODUCTION .................................................................................................................................. 6
1.1 GOALS AND OBJECTIVES ....................................................................................................................... 6
1.2 STATEMENT OF SCOPE .......................................................................................................................... 6
1.3 SOFTWARE CONTEXT ............................................................................................................................ 7
1.4 MAJOR CONSTRAINTS ........................................................................................................................... 7
2.0 USAGE SCENARIO .............................................................................................................................. 7
2.1 USER PROFILES ..................................................................................................................................... 7
2.2 USE-CASES............................................................................................................................................ 8
3.0 DATA MODEL AND DESCRIPTION ...............................................................................................11
3.1 DATA DESCRIPTION .............................................................................................................................11
3.1.1 Data objects ................................................................................................................................11
3.1.2 Relationships ...............................................................................................................................11
3.1.3 Complete data model ..................................................................................................................12
3.1.4 Data dictionary ...........................................................................................................................12
4.0 FUNCTIONAL MODEL AND DESCRIPTION ................................................................................12
4.1 APPLICATION FUNCTIONS ....................................................................................................................13
4.1.1 Login ...........................................................................................................................................13
4.1.2. Logout ........................................................................................................................................13
4.1.3. Import Photo ..............................................................................................................................13
4.1.4. Take Photo .................................................................................................................................13
4.1.5. Save Photo .................................................................................................................................13
4.1.6. Delete Photo...............................................................................................................................13
4.1.7. Upload Photo .............................................................................................................................13
4.1.8. Upload Album ............................................................................................................................13
4.1.9. Make Album ...............................................................................................................................13
4.1.10 Add to Album.............................................................................................................................14
4.1.11 Edit Album ................................................................................................................................14
4.1.12 Remove from Album ..................................................................................................................14
4.1.13 Delete Album .............................................................................................................................14
4.1.14 Register Account .......................................................................................................................14
4.1.15 View Friend’s Portfolio ............................................................................................................14
4.2 WEB PAGE FUNCTIONS ........................................................................................................................14
4.2.1 Login ...........................................................................................................................................14
4.2.2 Logout .........................................................................................................................................14
4.2.3 View Album .................................................................................................................................15
4.2.4 Add Comment ..............................................................................................................................15
4.2.5 Delete Comment ..........................................................................................................................15
4.2.6 Edit Album ..................................................................................................................................15
4.2.7 Edit Photo ...................................................................................................................................15
4.2.8 Delete Photo................................................................................................................................15
4.2.9 Delete Album ...............................................................................................................................15
4.2.10 Flag Photo ................................................................................................................................15
4.2.11 Change Password .....................................................................................................................15
4.2.12 Forgot Password .......................................................................................................................16
4.2.13 Search for Friends ....................................................................................................................16
4.2.14 Add to Friends...........................................................................................................................16
4.3 ADMINISTRATOR FUNCTIONS ..............................................................................................................16
4.3.1 Check Picture Flag .....................................................................................................................16
4.3.2 Delete Photo................................................................................................................................16
4.3.3 Delete User .................................................................................................................................16
4.3.4 Delete Album ...............................................................................................................................16
4.3.5 Ban IP/Email ...............................................................................................................................17
4.3.6 Mass Email to Users ...................................................................................................................17
4.4 SOFTWARE INTERFACE DESCRIPTION ..................................................................................................17
4.4.1 External machine interfaces ........................................................................................................17
4.4.2 External system interfaces ..........................................................................................................17
4.4.3 User interface..............................................................................................................................17
4.5 CONTROL FLOW DESCRIPTION..............................................................................................................18
5.0 BEHAVIORAL MODEL AND DESCRIPTION................................................................................18
5.1 DESCRIPTION FOR SOFTWARE BEHAVIOR ............................................................................................18
5.1.1 Web Software Events ...................................................................................................................18
5.1.1.1 Incorrect User name or Password ........................................................................................................ 18
5.1.1.2 Correct User name and Password ........................................................................................................ 18
5.1.1.3 Access Level is “Administrator” ......................................................................................................... 18
5.1.1.3 Access Level is “Member” .................................................................................................................. 18
5.1.1.4 Comment Submission ......................................................................................................................... 18
5.1.1.5 Flagging a Photograph ........................................................................................................................ 18
5.1.1.6 View Photos/Albums........................................................................................................................... 18
5.1.1.7 Committing Information ..................................................................................................................... 19
5.1.1.8 Submitting a Search ............................................................................................................................ 19
5.1.1.9 Selecting a Subscription ...................................................................................................................... 19
5.1.1.10 Selecting Option from Menu ............................................................................................................. 19
5.1.1.11 Verifying the Username/IP Ban ........................................................................................................ 19
5.1.1.12 Submitting Photo/Album/Content Edits ............................................................................................ 19
5.1.1.13 Forgotten Password ........................................................................................................................... 19
5.1.1.14 Deleting a Flagged Photo .................................................................................................................. 19
5.1.1.15 Registration Event ............................................................................................................................. 19
5.1.2.9 View Friend’s Portfolio ....................................................................................................................... 20
5.1.2 Phone Software Events................................................................................................................20
5.1.2.1 Registration Event ............................................................................................................................... 20
5.1.2.2 Login ................................................................................................................................................... 20
5.1.2.3 Logout ................................................................................................................................................. 20
5.1.2.4 Menu Option Event ............................................................................................................................. 20
5.1.2.5 Save Photo........................................................................................................................................... 20
5.1.2.6 Uploading a Photo ............................................................................................................................... 20
5.1.2.7 Viewing a Album/Photo ...................................................................................................................... 20
5.1.2.8 Submitting Edits for Album or Photo .................................................................................................. 20
5.1.2.9 View Friend’s Portfolio ....................................................................................................................... 21
5.1.3 Web Software States ....................................................................................................................21
5.1.3.1 Registration ......................................................................................................................................... 21
5.1.3.1 Login ................................................................................................................................................... 21
5.1.3.2 Member Interface ................................................................................................................................ 21
5.1.3.3 View Photos/Albums........................................................................................................................... 21
5.1.3.4 Edit Photos/Albums/Content ............................................................................................................... 21
5.1.3.5 Searching............................................................................................................................................. 21
5.1.3.6 Subscribe ............................................................................................................................................. 21
5.1.3.7 View Friends Portfolio/Albums/Photograph ....................................................................................... 21
5.1.3.8 Flag Photo ........................................................................................................................................... 21
5.1.3.9 Change Information............................................................................................................................. 22
5.1.3.10 View/Delete Flagged Photos ............................................................................................................. 22
5.1.3.11 Ban username/IP ............................................................................................................................... 22
5.1.4 Phone Software States .................................................................................................................22
5.1.4.1 Registration ......................................................................................................................................... 22
5.1.4.2 Login ................................................................................................................................................... 22
5.1.4.3 Menu ................................................................................................................................................... 22
5.1.4.4 Upload Photograph .............................................................................................................................. 22
5.1.4.5 Take photograph/Save Photograph...................................................................................................... 22
5.1.4.6 View Album/Photograph ..................................................................................................................... 22
5.1.4.7 Edit Album/Photograph....................................................................................................................... 23
5.1.4.8 View Friends Portfolios ...................................................................................................................... 23
5.2 STATE TRANSITION DIAGRAMS ...........................................................................................................24
6.0 RESTRICTIONS, LIMITATIONS, AND CONSTRAINTS .............................................................26
7.0 VALIDATION CRITERIA ..................................................................................................................26
7.1 CLASSES OF TESTS AND RESPONSES ....................................................................................................26
7.1.1. Incorrect Login ..........................................................................................................................26
7.1.2. Incorrect Photo Format .............................................................................................................26
7.1.3. Unavailable Username ..............................................................................................................26
7.1.4. Blank Comment ..........................................................................................................................26
7.2 PERFORMANCE BOUNDS.......................................................................................................................26
8.0 APPENDICES .......................................................................................................................................27
8.1 PRODUCT STRATEGIES .........................................................................................................................27
Figure Index
Figure 1: Use Case Diagram that is true for all users of the PicFolio Website. ................. 8
Figure 2: Use Case Diagram of distinct iPhone Application uses. ..................................... 9
Figure 3: Use Case Diagram of distinct Administrator uses. ........................................... 10
Figure 4: Entity Relationship Diagram of the Data Objects in PicFolio. ......................... 12
Figure 5: State Diagram for PicFolio Website .................................................................. 24
Figure 6: State Diagram for phone PicFolio Application ................................................. 25
1.0 Introduction
This document contains the specification of PicFolio, the product to be developed. This
product will consist of two components; a blackberry application and a user friendly
website. Together, these two parts will act as an internet based photo portfolio. The
application for the Blackberry will allow a user to group pictures they’ve taken on their
phone into albums (which can be named). The application will then allow the user to
upload these albums or pictures to their personal photo portfolio. When the pictures are
uploaded, they will keep their groupings, or can be reorganized and grouped again. The
website can be accessed by a user via the internet using either their phone or a computer
with an internet connection. The user will have a unique username and password in order
to access their account. A user’s web page will be customizable, including the
permissions to albums and color design of their portfolio web page.
The website will be accessible to anyone who has an internet connection and Email
address for registration purposes. The phone application will only work for owners of
Blackberry mobile phones. Users who do not own a Blackberry will be able to upload
photos from their computer to their personal photo portfolio; therefore, making this
product available to a wider range of customers.
1.1 Goals and objectives
The goal of PicFolio is to provide an accessible and easy to use photo portfolio.
Also, PicFolio plans to provide an easy storage facility for Blackberry users who
use their phone as their personal camera. The product will give the user the ability
to upload their photos to a safe location before they continue taking more pictures.
It will give users the convenience of data archiving without having to stop to
download files onto their home computer.
1.2 Statement of scope
The phone application will give the user the option to import pictures previously
taken on their Blackberry or take a photo from within the application. The user
will also be able to organize their photos into albums and give the albums unique
names. Once the user has albums made, he/she will be able to send them to their
personal photo portfolio web page where they will be hosted and available for
other users of the website to view and comment on.
The website will give any person with an internet connection and Email address
the chance to register with the website and create their own personal photo
portfolio. These users will not necessarily own a Blackberry, but they will have
nearly the same functionality through the website as they would through a
Blackberry phone.
The website will have two login types: member and administrator. Users that own
a Blackberry or are a registered user through the website have the member login
type (unless granted administrator status by those who maintain the system). The
administrator login type is reserved for users that are site owners or who work for
the website. Administrative users will have all the same functionality when using
the website as member users do, but will have a set of unique menu options that
will allow them to take action on users uploading or posting inappropriate photos
or comments.
1.3 Software context
The application will be available exclusively on the Blackberry phones. These
phones are available through most cell phone providers. The target audience for
this product is limited to Blackberry users who utilize and download mobile
applications. The audience for the website is limited to those who have an internet
connection and Email address.
1.4 Major constraints
A major constraint of the application portion of this product is the fact that it will
only be compatible with Blackberry software. The website, however, will be
accessible to anyone with an internet connection.
2.0 Usage scenario
2.1 User profiles
Blackberry Users – Blackberry users are those who will have access to the
application portion of the PicFolio product. Through the application they will also
be registered users of the website.
Website Users – Website Users, Blackberry Users, and any other person who is
registered with PicFolio (this also includes Administrative Users).
Administrative Users – Administrative Users are site owners, or people who work
for the benefit of the website. Administrative Users have access to all other user
functions plus the functions listed in section 4.3 of this document.
2.2 Use-cases
Figures 1, 2, and 3 below show the different use cases for the users of PicFolio.
Figure 1 shows the use cases where all users utilize the system. Figures 2 and 3
show the distinct uses for the phone application and Administrative Users.
Figure 1: Use Case Diagram that is true for all users of the PicFolio Website.
Figure 2: Use Case Diagram of distinct Phone Application uses.
Figure 3: Use Case Diagram of distinct Administrator uses.
3.0 Data Model and Description
3.1 Data Description
The PicFolio product will utilize a few different data objects. These objects will
be the main sources of the information the product needs in order to function
properly. The data will come in the form of usernames, passwords, photo files,
and folders containing a group of photo files.
3.1.1 Data objects
The first data object is the user. The user will contribute their username,
password and any files or folder of files they want to upload via the
internet through use of the website or the application. The user will supply
a unique username for login purposes, and they will supply their email
address so that the administrator can easily send emails to the users. The
users will also have a penname that they can supply that will allow other
users to identify them with.
The second data object is a photo file. These files are uploaded to the web
page via the internet using either the application or the web page. Each file
will have a name which will be associated with the photo when it is
uploaded.
The third data object is the folder that is named, which is also known as an
album. These folders will contain multiple files, each containing a photo
and with their own name. When the folder is uploaded as an album, the
album will take the name of the folder, and the photos held in the folder
will be labeled with their individual file names.
3.1.2 Relationships
The relationships between the data objects above can be seen in Figure 4
of this document. The user data object will communicate with the files and
folders related to them through the functions described in section 4.0.
3.1.3 Complete data model
Figure 4: Entity Relationship Diagram of the Data Objects in PicFolio.
3.1.4 Data dictionary
The data for the PicFolio product will be kept in two to three data stores.
The first database will contain user login information. The second
database will keep track of each user’s albums and individual picture
information. The third will store the comments users can make on an other
user’s picture or album.
4.0 Functional Model and Description
In the following sections, the major functions of the PicFolio product will be described.
The functions are separated into three major categories, which include: Application
Functions, Web Functions, and Administrator Functions. The Web Functions are
available to all users of the internet software. The Application Functions are limited to
Blackberry Users and the Administrative Functions are limited to only the Administrative
users. This section also contains information about the user interfaces of the phone
application and the website. All of this information is further displayed and connected
together with the data flow diagram seen in section 4.5.
4.1 Application Functions
4.1.1 Login
The Login function will log a user into the Blackberry application when
provided with the proper credentials.
4.1.2. Logout
The Logout function allows the user to end their connection and exit the
phone application. Logging out will return the user to last menu screen
they used on their Blackberry.
4.1.3. Import Photo
The Import Photo function allows the user to import photos currently on
their Blackberry to the PicFolio application for them to group into albums
and later upload to their web photo portfolio.
4.1.4. Take Photo
The Take Photo function allows the user to take a photo using the
Blackberry’s built in camera.
4.1.5. Save Photo
The Save Photo function allows the user to save the photo in which they
have just taken so it can be used later with the PicFolio application.
4.1.6. Delete Photo
The Delete Photo function works in three different ways. First, it allows
the user to discard a photo taken within the application. Second, it allows
the user to discard photos that were previously saved. Third, it allows the
user to delete a photo that had been previously uploaded to the website.
4.1.7. Upload Photo
The Upload Photo function allows the user to browse to a photo on their
Blackberry to upload to the website.
4.1.8. Upload Album
The Upload Album function allows the user to browse to an album on
their Blackberry to upload to the website.
4.1.9. Make Album
The Make Album function allows the user to create an album of photos on
their Blackberry. In order to do this, the user will be able to go to a menu
that will show all photos that they have taken and are not in an album.
Once at this menu, the user will be able to check off the photos they want
to group together into an album. When they are finished selecting photos
they can then select “finish,” which will create the album.
4.1.10 Add to Album
The Add to Album function allows the user to select an album in which
they want to add a selected photo. The selected photo then becomes part of
that particular album.
4.1.11 Edit Album
The Edit Album function allows the user to edit characteristics about the
album such as the name and the order of photos.
4.1.12 Remove from Album
The Remove from Album function allows the user to remove a selection
of photos from a particular album. The photos will no longer be apart of
the album.
4.1.13 Delete Album
The Delete Album function allows the user to delete an entire album. This
will also discard an album on their phone or form the website.
4.1.14 Register Account
The Register Account function will only be executed the first time the
application is downloaded onto the Blackberry. The function will allow
the Blackberry User to register with the website, creating their photo
portfolio.
4.1.15 View Friend’s Portfolio
The View Friend’s Portfolio function will allow the user of the Blackberry
to quickly link to a friend’s PicFolio web page and then display their
friend’s albums and photos.
4.2 Web Page Functions
4.2.1 Login
The Login function will log a user in to their website account when
provided with the proper credentials. Upon login, the user will have access
to all of their photographs and albums.
4.2.2 Logout
The Logout function will log the user out of the website and end their
session. Once the user is logged out, they will be taken to the login
screen.
4.2.3 View Album
The View Album function will access the user's photo album and present
it to the user via the website.
4.2.4 Add Comment
The Add Comment function will allow viewers to comment on a single
photo.
4.2.5 Delete Comment
The Delete Comment function will allow the user to delete comments that
they may feel are inappropriate. This function will also be given to the
administrator for all user comments.
4.2.6 Edit Album
The Edit Album function will allow a user to format their albums by
changing the album name or organizing the album differently.
4.2.7 Edit Photo
The Edit Photo function will allow the user to delete a photograph or edit a
caption describing the photograph.
4.2.8 Delete Photo
The Delete Photo function will allow a user to delete selected photos from
the website.
4.2.9 Delete Album
The Delete Album function will allow a user to delete an entire album and
it’s contents from the website.
4.2.10 Flag Photo
The Flag Photo function will allow users to flag inappropriate photos on
the website. After a user flags a photo, a message will be issued to the
Administrator User notifying him/her of the content.
4.2.11 Change Password
The Change Password function will allow a user to change their password
after being logged into the system. The function will take the new
password as input and a second input of the same password for
verification. Once verifying, the new password will replace the old
password in the user information data store.
4.2.12 Forgot Password
The Forgot Password function will allow a user to have their password
reset by providing their login name and Email. Once providing this
information, a message will be sent to their Email account containing a
new password generated as a random string of characters.
4.2.13 Search for Friends
The Search for Friends function will allow users to search the website for
other users using either their unique user name or their Email address.
4.2.14 Add to Friends
The Add to Friends function will allow users to add a link to another
user’s web page on their own web page. This list will help connect people
on the website and allow for the sharing of photos.
4.3 Administrator Functions
4.3.1 Check Picture Flag
The Check Picture Flag function allows the administrator of the website to
see what pictures have been marked by users as inappropriate. After
seeing the photos that have been flagged by other users, the Administrator
can choose to delete these photos.
4.3.2 Delete Photo
The Delete Photo function will allow the administrator to delete photos
that have been flagged as inappropriate by other users of the website. This
will help keep a safe environment for all users of the website.
4.3.3 Delete User
The Delete User function will allow the administrator of the website to
delete a user who is abusing the website’s policies.
4.3.4 Delete Album
The Delete Album function will allow the administrator of the website to
delete an entire album that has been flagged by users for being
inappropriate.
4.3.5 Ban IP/Email
The Ban IP/Email function will allow the administrator of the website to
ban a user fro-m accessing the website. For this function to be used, the
user must be flagged by other users on multiple occasions for
inappropriate behavior.
4.3.6 Mass Email to Users
The Mass Email to Users function will allow the administrator of the
website to send an Email to all registered users of the website. This
function will be used to tell users about additions to the website, policy
changes, and more.
4.4 Software Interface Description
The PicFolio product will have two interfaces for it’s users. The first will be the
application interface viewed through the use of a Blackberry phone. The second
will be the interface viewed via the website. These two interfaces will be made
similar to help ease of use. In the sections below, the document will describe how
these interfaces interact with each other.
4.4.1 External machine interfaces
This product will interface with two different machines. The first is the
user’s Blackberry, which will be hosting the application. This will mean
that the application must be compatible with the Blackberry OS. The
second is the user’s computer, which will need to have access to a
compatible internet browser.
4.4.2 External system interfaces
Both the application and the website will depend on the user having a
connection to the internet. The operating systems of the Blackberry and
the computer will need to have compatible browser settings in order to
operate the PicFolio product. The internet services are external to these
two devices, but they give a direct connection to the PicFolio product.
4.4.3 User interface
There are two user interfaces for the PicFolio product. The first is hosted
on the Blackberry as a part of the application. This interface will not only
be compatible with the Blackberry OS, and it will also be compatible with
the Blackberry Internet Service Browser. This interface will be easy to use
and will allow the users to take pictures, group them together, and then
upload them onto the PicFolio website. The second interface is hosted on
the internet as a website. This website interface will have the same sort of
functionality as the Blackberry application, but will be compatible with all
web browsers, allowing users who do not own a Blackberry to still take
part in the website’s functions.
4.5 Control flow description
The control flow of the PicFolio product will start with the user logging in to the
Blackberry application or to the website. From this point, the user will control
what state they enter next by selecting different options on their menu page. This
is described in more detail in section 5.0 and its subsequent sections.
5.0 Behavioral Model and Description
5.1 Description for Software Behavior
5.1.1 Web Software Events
5.1.1.1 Incorrect User name or Password
Upon entering a user name or password that is incorrect, the user
will return to the login page and will be prompted to enter the
information again.
5.1.1.2 Correct User name and Password
Once providing a user name and password that match the same
credentials given during registration, the user will be granted
access to the system. Features available in the user's interface will
be limited by their login type.
5.1.1.3 Access Level is “Administrator”
If the login type is administrator – the user will be given access to
the administrator functions, as well as the member functions.
5.1.1.3 Access Level is “Member”
If the login type is member – the user will be given access to solely
the member functions.
5.1.1.4 Comment Submission
After entering a comment and submitting, the text of the comment
is added to the comment listing udner the photograph.
5.1.1.5 Flagging a Photograph
Upon submitting a “flag” - the administrator is notified of the
inappropriate photograph with the corresponding link, the
username of the user who made the submission, and the reason for
the flag.
5.1.1.6 View Photos/Albums
Once clicking on an option, the user will be directed to the
appropriate photo or album.
5.1.1.7 Committing Information
Once the user’s preferences have been edited, they will be
submitted to the system, and the user will return to the main menu.
5.1.1.8 Submitting a Search
Once entering search criteria, the search is made and the results are
returned, sending the user back to the search state.
5.1.1.9 Selecting a Subscription
Once submitting a subscription request, the “friend” will be added
to the user’s friend list, and the user will be directed back to the
main menu.
5.1.1.10 Selecting Option from Menu
Upon clicking on an option, the user will be directed to the
appropriate state.
5.1.1.11 Verifying the Username/IP Ban
Once verifying the action, the request is made, and the username is
located and then deleted. After completion of the deletion, the user
is sent back to the main menu.
5.1.1.12 Submitting Photo/Album/Content Edits
Once entering the appropriate data, the edits are submitted and
acted upon. Once completing the edits, the user is directed back to
the main menu.
5.1.1.13 Forgotten Password
After submitting the user’s username and Email address, the user’s
password is reset and is issued an email with the new password.
The user will be prompted to check their Email.
5.1.1.14 Deleting a Flagged Photo
Once the administrator submits the photo for deletion, the photo
and any associated content is removed. After this event is
completed, the administrator is returned to the main menu.
5.1.1.15 Registration Event
Once the user has submitted registration information on the
website, the system will save the information in user data store.
The user will then be redirected to the Login screen.
5.1.2.9 View Friend’s Portfolio
Once the user has selected a member of their friend’s list, they will
be redirected to that user’s albums and photos.
5.1.2 Phone Software Events
5.1.2.1 Registration Event
Once the user has submitted registration information, the system
will take the information the user supplies and update the user data
store. The user will then be logged in to the application.
5.1.2.2 Login
When a user has entered a username and password, the system will
verify that they have an account and proper credentials before
redirecting them to the main menu.
5.1.2.3 Logout
Once a user has submitted to logout, the system will close the
application and end the user’s session.
5.1.2.4 Menu Option Event
The Menu Option Event occurs when the user has selected an
option listed on their main menu. They will then be directed to the
corresponding state.
5.1.2.5 Save Photo
Once the user has taken a photo, they will be prompted to save it.
If they choose to save the photo, it will be stored in the system.
Otherwise the photo will be discarded. Following this, the user will
be directed back to the main menu.
5.1.2.6 Uploading a Photo
After the user has browsed for a photo and selecting upload, the
photo will be sent to the user’s web page. When the photo is
loaded, the user will be redirected to the main menu.
5.1.2.7 Viewing a Album/Photo
Once clicking on an option, the user will be directed to the
appropriate photo or album.
5.1.2.8 Submitting Edits for Album or Photo
Once a user has submitted edits to be made on the album or photo,
the user will be directed back to the main menu.
5.1.2.9 View Friend’s Portfolio
When the user selects a member from their friend’s list, they will
be redirected to that user’s portfolio.
5.1.3 Web Software States
5.1.3.1 Registration
The user will be able to enter a registration state where they can
enter the appropriate data to register for an account.
5.1.3.1 Login
This will be the first state the user enters when using the web based
software.
5.1.3.2 Member Interface
After login, the member is provided with an interface listing the
various options they will be able to access (dependent on their
access level).
5.1.3.3 View Photos/Albums
This state will display albums and photos that belong to the user,
and will allow him/her to view associated data (comments,
captions, etc.).
5.1.3.4 Edit Photos/Albums/Content
This state will allow the user to edit photos or albums. This
includes editing comments, content information, or deleting photos
or entire albums.
5.1.3.5 Searching
The search state will allow a user to enter in the email address or
username of a friend in order to locate their account with PicFolio.
5.1.3.6 Subscribe
Once locating a friend, the user will enter the subscribe state,
allowing them to subscribe to a users account if they choose.
5.1.3.7 View Friends Portfolio/Albums/Photograph
This will be the state users enter when they are viewing another
user's portfolio. In this state, the user will also be able to add
comments to photographs they are viewing.
5.1.3.8 Flag Photo
The flag photo state will be the state the user enters if they decide
to “flag a photo.” They will be prompted to verify the action, and
provide a description as to why the request is being made.
5.1.3.9 Change Information
The user will enter the change information state when they choose
to edit their preferences (password, pen name).
5.1.3.10 View/Delete Flagged Photos
The administrator will enter this state to review photos that are
questionable, see the usernames associated with these photos, and
then delete either the user or photo from the system.
5.1.3.11 Ban username/IP
The administrator will enter this state if he/she chooses a user
name to consider banning (from the flagged photo list) as a
verification for the deletion.
5.1.4 Phone Software States
5.1.4.1 Registration
If the user does not have an account, they can enter a registration
state where they can enter information and sign up.
5.1.4.2 Login
This will be the first state the user enters when using the software.
Login information will have to be provided to continue using the
software.
5.1.4.3 Menu
This will be the state where the user can choose from the list of
features provided by the phone application.
5.1.4.4 Upload Photograph
This state will present the user with features to choose the file path
of a photo or album, add a caption to that photo/album, and then
upload that photo/album to the website.
5.1.4.5 Take photograph/Save Photograph
The user will enter the phone's picture capturing mode and will be
able to save it to their hard drive or discard the photo if they do not
want to it saved.
5.1.4.6 View Album/Photograph
The user will be in a state which presents him/her with the existing
photos and albums on their PicFolio account.
5.1.4.7 Edit Album/Photograph
The user will be in a state where they can edit or delete the album,
photograph, or information associated with either item.
5.1.4.8 View Friends Portfolios
This state will allow the user to view the albums and photos of
friends they have designated on their account.
5.2 State Transition Diagrams
Figure 5: State Diagram for PicFolio Website
Figure 6: State Diagram for iPhone PicFolio Application
6.0 Restrictions, Limitations, and Constraints
The product’s phone application will be limited to those who have a Blackberry device,
and data plan. The web page portion of this product will be limited to those who have a
supported web browser and internet connection. The web page is not limited to customers
of the Blackberry, but is open to any users with a login ID and password. This product, as
a whole, is limited when there is no connection to the internet. Although the application
will still be able to take pictures and group those pictures into albums, the application will
not be able to upload those pictures to the web page if no internet connection is available.
The web page will also only be accessible when a connection to the internet is made.
7.0 Validation Criteria
The validation process has the intention of testing the system to ensure that all possible
flaws are handled properly and the system does not fail. The possible error cases are
listed with their appropriate response in the following section.
7.1 Classes of Tests and Responses
7.1.1. Incorrect Login
If the user attempts to login with the incorrect information, an error
message will be displayed asking them to attempt to login again.
7.1.2. Incorrect Photo Format
If the user attempts to Import a file that is not a photo they will be
prompted that the file they chose is ineligible to be imported, the software
will then ask them to choose a different file.
7.1.3. Unavailable Username
During registration - if the username selected by the user is already taken,
then he / she will be given an error message and prompted to choose a
different username.
7.1.4. Blank Comment
If the user submits a blank comment, he / she will be warned that the
comment field was left blank and that it will not be posted.
7.2 Performance bounds
Due to the fact that the application is on a phone, upload speeds would be
determined by the network in the users’ area. Likewise, when the user accesses
their account via the Internet the speeds would be determined by the user's
Internet Service Provider. The major performance factor of the system is speed, as
a user would not want to wait extensive amounts of time to upload their photos.
However, the performance is up to the network speeds that the user has with their
phone and internet connection, not the system itself.
8.0 Appendices
8.1 Product Strategies
The PicFolio application will be marketed as a tool for the user's mobile device
that will make organizing and sharing their photos easier. The application could
easily be adopted as a tool for a photography class to be used by the students.
Students could easily keep their portfolios and give their professors direct access
to their work. Teachers could easily evaluate the photos from the web, and leave
comments for improvements or comments of praise on individual photos. Other
uses could be employed or suggested to customers such as sharing memories from
ceremonies such as weddings and gradation, to sharing family moments such as
vacations. The Application will most likely be offered for free in order to attract
more users, which means that anyone with the appropriate phone can obtain the
application for their own use.
The website will be available to everyone to use, and not limited to those with
Blackberry devices. Which means they could easily upload and share their photos
from their computer as opposed to a phone, and participate in the same way those
with the phone application do. The same type of activities previously stated could
be done without the phone application, the difference is that as soon as a user with
the phone application takes their photos they can instantly organize them and
upload them before they even touch their computer.
Download