Beruflich Dokumente
Kultur Dokumente
Lane Department of Computer Science and Electrical Engineering Advanced Software Engineering Spring 2009
Table of Contents
1.1 GOALS AND OBJECTIVES........................................................................................................................5 1.2 STATEMENT OF SCOPE............................................................................................................................5 1.3 SOFTWARE CONTEXT............................................................................................................................6 1.4 MAJOR CONSTRAINTS...........................................................................................................................6 2.0 USAGE SCENARIO................................................................................................................................6 2.1 USER PROFILES.......................................................................................................................................6 2.2 USE-CASES..............................................................................................................................................7 3.0 DATA MODEL AND DESCRIPTION................................................................................................10 3.1 DATA DESCRIPTION..............................................................................................................................10 3.1.1 Data objects.................................................................................................................................10 3.1.2 Relationships................................................................................................................................10 3.1.3 Complete data model................................................................................................................11 ...........................................................................................................................................................11 3.1.4 Data dictionary............................................................................................................................11 4.0 FUNCTIONAL MODEL AND DESCRIPTION.................................................................................11 ..................................................................................................................................................................11 4.1 APPLICATION FUNCTIONS.....................................................................................................................12 4.1.1 Login............................................................................................................................................12 4.1.2. Logout.........................................................................................................................................12 4.1.3. Import Photo...............................................................................................................................12 4.1.4. Take Photo..................................................................................................................................12 4.1.5. Save Photo..................................................................................................................................12 4.1.6. Delete Photo...............................................................................................................................12 4.1.7. Upload Photo..............................................................................................................................12 4.1.8. Upload Album.............................................................................................................................12 4.1.9. Make Album................................................................................................................................12 4.1.10 Add to Album.............................................................................................................................13 4.1.11 Edit Album.................................................................................................................................13 4.1.12 Remove from Album...................................................................................................................13 4.1.13 Delete Album.............................................................................................................................13 4.1.14 Register Account........................................................................................................................13 4.1.15 View Friends Portfolio.............................................................................................................13 4.2 WEB PAGE FUNCTIONS .......................................................................................................................13 4.2.1 Login............................................................................................................................................13 4.2.2 Logout..........................................................................................................................................13 4.2.3 View Album..................................................................................................................................14 4.2.4 Add Comment...............................................................................................................................14 4.2.5 Delete Comment...........................................................................................................................14 4.2.6 Edit Album...................................................................................................................................14 4.2.7 Edit Photo....................................................................................................................................14 4.2.8 Delete Photo................................................................................................................................14 4.2.9 Delete Album...............................................................................................................................14 4.2.10 Flag Photo.................................................................................................................................14 4.2.11 Change Password......................................................................................................................14 4.2.12 Forgot Password.......................................................................................................................15 4.2.13 Search for Friends.....................................................................................................................15 4.2.14 Add to Friends ..........................................................................................................................15 4.3 ADMINISTRATOR FUNCTIONS...............................................................................................................15 4.3.1 Check Picture Flag......................................................................................................................15 4.3.2 Delete Photo................................................................................................................................15
4.3.3 Delete User..................................................................................................................................15 4.3.4 Delete Album ..............................................................................................................................15 4.3.5 Ban IP/Email...............................................................................................................................16 4.3.6 Mass Email to Users....................................................................................................................16 4.4 SOFTWARE INTERFACE DESCRIPTION.................................................................................................16 4.4.1 External machine interfaces.....................................................................................................16 4.4.2 External system interfaces...........................................................................................................16 4.4.3 User interface...........................................................................................................................16 4.5 CONTROL FLOW DESCRIPTION............................................................................................................17 5.0 BEHAVIORAL MODEL AND DESCRIPTION...............................................................................17 5.1 DESCRIPTION FOR SOFTWARE BEHAVIOR............................................................................................17 5.1.1 Web Software Events...................................................................................................................17 5.1.2 Phone Software Events................................................................................................................19 5.1.3 Web Software States....................................................................................................................20 5.1.4 Phone Software States.................................................................................................................21 ..................................................................................................................................................................22 5.2 STATE TRANSITION DIAGRAMS............................................................................................................23 6.0 RESTRICTIONS, LIMITATIONS, AND CONSTRAINTS..............................................................25 7.0 VALIDATION CRITERIA...................................................................................................................25 7.1 CLASSES OF TESTS AND RESPONSES..................................................................................................25 7.1.1. Incorrect Login...........................................................................................................................25 7.1.2. Incorrect Photo Format..............................................................................................................25 7.1.3. Unavailable Username...............................................................................................................25 7.1.4. Blank Comment...........................................................................................................................25 7.2 PERFORMANCE BOUNDS.....................................................................................................................25 8.0 APPENDICES.........................................................................................................................................26 8.1 PRODUCT STRATEGIES.......................................................................................................................26
Figure Index
FIGURE 1: USE CASE DIAGRAM THAT IS TRUE FOR ALL USERS OF THE PICFOLIO WEBSITE........................................................................................................................................................7 FIGURE 2: USE CASE DIAGRAM OF DISTINCT PHONE APPLICATION USES...........................8 FIGURE 3: USE CASE DIAGRAM OF DISTINCT ADMINISTRATOR USES...................................9 FIGURE 4: ENTITY RELATIONSHIP DIAGRAM OF THE DATA OBJECTS IN PICFOLIO......11 FIGURE 5: STATE DIAGRAM FOR PICFOLIO WEBSITE................................................................23 FIGURE 6: STATE DIAGRAM FOR IPHONE PICFOLIO APPLICATION.....................................24
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 theyve 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 users 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.
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.
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.
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.
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.
to group together into an album. When they are finished selecting photos they can then select finish, which will create the album.
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.
5.1.1.7 Committing Information Once the users 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 users 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 users username and Email address, the users 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 Friends Portfolio Once the user has selected a member of their friends list, they will be redirected to that users albums and photos.
5.1.2.9 View Friends Portfolio When the user selects a member from their friends list, they will be redirected to that users portfolio.
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.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.
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.