Bookmark Backup

Requirements Specification

Raymond Frey

Dr. Bi

September 17, 2010

Submitted in partial fulfillment

of the requirements of

CMPS 490 – Computer Projects

Software Requirements Specification for Bmark Backup Page ii

Table of Contents

Table of Contents ii

1. Introduction 1

1.1 Purpose 1

1.2 Project Scope 1

1.3 References 2

1.4 Glossary 2

2. Overall Description 2

2.1 System Overview 2

2.2 Functional Requirements 3

2.2.1 User Use Case #1: Create Account 3

2.2.2 User Use Case #2: Login 3

2.2.3 User Use Case #3: Logout 3

2.2.4 User Use Case #4: Manual Update Bookmarks 3

2.2.5 User Use Case #5: Automatically Update Bookmarks 4

2.2.6 User Use Case #5: Stop Automatically Update Bookmarks 4

2.3 User Interface Specification 5

2.4 Non-functional Requirements 5

2.4.1. Product Non-functional Requirements 5

2.4.2 Process Non-functional Requirements 5

2.5 System Evolution 6

3. Requirements Specification 6

3.1 External Interface Requirements 6

3.2 Functional Requirements 6

3.2.1 User’s Functional Requirements 6

3.3 Detailed Non-functional Requirements 8

4. Gantt Chart 9

Software Requirements Specification for Bmark Backup Page 7

1.  Introduction

1.1  Purpose

The purpose of this document is to provide a description of the features and funtionality that will be provided in the system. The scope and enviroment of this system will be provided in the document. The user will be able to use this document to view the use case situations. The goal of this document is to outline the system in simple and easy to understand terms and to show the functionality of the system.

1.2  Project Scope

This software is created to provide and easy way of sharing bookmarks between multiple devices. The Android Application market has millions of customers and thousands of new customers every day. There is not currently a product that offers to synchronize bookmarks with Firefox. Only Google Chrome is supported at this point. Many users have the need to store their bookmarks in a remote location and retrieve them later. This program would allow for the downloaded of bookmarks to the clients bookmark tab in their browser.

The Java Application would be able to be obtained from a web address at the time of release. Consiquently the Android Application would be able to be retrieved using the Android MarketPlace via the Android Operating System. The application is designed to be simple to install and simple to run. The user only needs a few clicks to get the program up and running. The background of the program is designed to gather the bookmarks and upload them to a server. Easy of use is the main focus of this program. The fewer clicks a user has to perform the easier the system will be to use.

1.3  References

Frey, Raymond. “Bookmark Backup Extended Abstract.”

University of Scranton. 27 August 2010.

Frey, Raymond. “Bookmark Backup Justification and

Feasibility.” University of Scranton. 3 September 2010.

1.4  Glossary

FTP Server / A file server used to host the SQLite files
Database / An organized collection of data.
Database Management System / Also known as a DBMS. This is a program/suite used to manage a database and run operations on this database as indicated by the end user of the system.
PostgreSQL / A Database Management System that is free open source. The system makes use of SQL to query the database and returns the results to the server as requested.
SQL / Structured Query Language – A widely used computer language to create, edit, and retrieve data from a database.
SQLite / A Database Management System that is free and open source. It is run on a local machine and is for storing local information into a database.

2.  Overall Description

2.1  System Overview

Figure 1 - System Environment

The System is designed to work with multiple users over multiple platforms. The only parts of the system that are dependent on the number of people are the servers which would have to handle each user. The Java Application and Android application are independent of the number of users. Each user must have the Java Application, but each user does not have to have the Android Application. The Android Application will also have the exact same use cases. The programs are designed to have the same buttons and functions.

2.2  Functional Requirements

Functional requirements are services that are going to be provided to the user. The main type of user is the regular user. Administrators are not needed in this system because it should be self sufficient by the regular user/customer

2.2.1  User Use Case #1: Create Account

Brief Description:

1.  User goes to the New User login screen.

2.  The user enters desired Username and Password into form boxes.

3.  The user will be redirected to the User Login Screen if successful.

2.2.2  User Use Case #2: Login

Brief Description:

Enter Username and Password into the Login Screen

Click Send

User will be presented with the homepage.

2.2.3  User Use Case #3: Logout

Brief Description:

1.  Click Exit or Switch Users on the Home screen.

2.2.4  User Use Case #4: Manual Update Bookmarks

Brief Description:

1.  Users Clicks Sync Bookmarks

2.  Bookmarks are automatically downloaded and copied to the

local bookmark folder.

2.2.5  User Use Case #5: Automatically Update Bookmarks

Brief Description:

1.  User clicks “Automatically Update Bookmarks”

2.  The Bookmarks will be automatically updated at a certain interval.

2.2.6  User Use Case #5: Stop Automatically Update Bookmarks

Brief Description:

1.  User clicks “Stop Automatic Update Bookmarks”

2.  The Bookmarks will not be automatically updated at a certain interval.

2.3  User Interface Specification

The users using this system need only minimum computer knowledge. The system is designed to be an easy to use application for anyone that uses the Firefox internet browser and Android Operating system on a mobile device.

2.4  Non-functional Requirements

This section of the document will cover those requirements that are not the functional requirements of the system. Such requirements are the constraints of the system as it pertains to performance relative to a given system.

2.4.1. Product Non-functional Requirements

The performance of the application will rely heavily on the system on which the system is used. Older computers and Android phones may take long in processing the bookmark files and setting the files in the bookmark folder.

. The hardware involved includes a database server, CS Dept Server 8 – PostgreSQL DBMS. The server is constantly running and should not be a problem in this application. The server could because full bu the PostgreSQL database only uses one table for login information. The FTP server is more likely to fill because it holds the current file for bookmarks. These files are substantially bigger than the login records.

2.4.2 Process Non-functional Requirements

Currently, the system is being developed using the Eclipse IDE. This Application is built with the Java Programming Language. Both Android and the Java Application are constructed using Java. JDBC will be used to interact with the PostgreSQL database server.

2.5  System Evolution

Over time the FTP server will fill with users. Some of these users may not want to use the system anymore but their data will remain. A “delete account” feature may be added at a future date to allow for accounts to be deleted that meet certain idle time requirements. These accounts require minimum space but depending of the amount of users the server could fill up quickly.

3.  Requirements Specification

3.1  External Interface Requirements

3.2  Functional Requirements

3.2.1  User’s Functional Requirements

3.2.1.1 Create “Account” User

Use Case Name / Create “Account” User
Priority / Essential
Trigger / None
Precondition / The user is at the “New User” screen
Basic Path / Click “New User” button on Login screen
Alternative Path / None
Postcondition / The user will be able to login to the system
Exception Paths / None

3.2.1.2 Login

Use Case Name / Login
Priority / Essential
Trigger / None
Precondition / The user is at the login page
Basic Path / Open Java file or Android Application
Alternative Path / None
Postcondition / The user will be logged in to the system
Exception Paths / None

3.2.1.3 Logout

Use Case Name / Logout
Priority / Essential
Trigger / None
Precondition / The user is logged into the system
Basic Path / Click “Exit ” button
Alternative Path / None
Postcondition / The user will be logged out of the system
Exception Paths / None

3.2.1.4 Manual “Update” Bookmarks

Use Case Name / Manual “Update” Bookmarks
Priority / Essential
Trigger / None
Precondition / The user is logged into the system
Basic Path / Click “Manual Update” button
Alternative Path / None
Postcondition / The bookmarks will be updated.
Exception Paths / None

3.2.1.5 Automatic “Update” Bookmarks

Use Case Name / Automatic “Update” Bookmarks
Priority / Essential
Trigger / None
Precondition / The user is logged into the system
Basic Path / Click “Automatic Update” button
Alternative Path / None
Postcondition / The bookmarks will be updated at the time interval
Exception Paths / None

3.2.1.5 Stop Automatic “Update” Bookmarks

Use Case Name / Stop Automatic “Update” Bookmarks
Priority / Essential
Trigger / None
Precondition / The user is logged into the system
Basic Path / Click “Stop Automatic Update” button
Alternative Path / None
Postcondition / The bookmarks will not be updated at the time interval
Exception Paths / None

3.3  Detailed Non-functional Requirements

Hardware:

●  Client computers that have access to the web via the Internet/Network connections

●  Android Phones that have access to Internet/WiFi connections

Software:

●  The FTP server is platform dependant but is running FreeBSD on server 8.

●  PostgreSQL database must be running and currently is on CS Department’s Server 8.

●  Client computers must have the newest package of Java Installed.

●  Android phones need this application in order to synchronize bookmarks

Network interface:

●  Internet/Network connectivity will be needed to access the PostgreSQL DBMS.

4.  Gantt Chart

Activity / Complete / Status / 9/3 / 9/17 / 9/24 / 10/1 / 10/22 / 11/6 / 11/29 / 12/9
Proposal / 100% / A / SSSSS
Analysis / 95% / S / SSS / SSSSS
Specification / 95% / S / BSSSS / SSSSS
High-level Design / 40% / S / SSS / SSSSS / SSS
System Design / 40% / S / SS / SSSSS / SSSSS / SS
Implementation / 10% / S / SSSSS / SSSSS / SSSSS / SSSSS / SS
Module Testing / 0% / S / SSSSS / SSSSS / SSSSS / SSSS
Integration Testing / 0% / S / SSS / SSSSS / SSSSS / SSSSS / SS

Project Status Symbols

S Scheduled

A Satisfactory

C Caution

F Critical

Planning/Progress Symbols

B Work Before Scheduled Time

S Scheduled Activity Time

A Work After Scheduled Time