Current Version: Elaboration Iteration 2, Started 8/27/2003
Elaboration Iteration 1, Completed 11/14/2002
Inception, Completed 9/5/2002
Project Vision and Business Case
This document gives the vision and business case for the StickSync project. This page is divided into the following sections:
- Introduction
- Stakeholder Descriptions
- Product Overview
- Summary of System Features
- Other Requirements and Constraints
Introduction
We envision a cross-platform application for synchronizing files across multiple computers using portable mass storage devices (PMSD), such as Sony's Micro VaultTM solid-state hard drive. These typically hold 128MB to 1GB of data, but in the future may be larger.
The project is intended to fulfill a real-world need that the developers have and which we believe others will have as well. Briefly, this is the need to synchronize files between multiple computers, including at least a Macintosh, Windows PCs, and a Linux server. It would be useful to people without a high-speed internet connection (such as high security applications), or for people who didn't trust their internet connection or that wanted an additional way to move files.
Stakeholder Descriptions
Stakeholder (Non-User) Summary
The non-user stakeholders in the system include:
- The manufacturers of PMSDs.
- Iowa State University's Department of Computer Science, who employs the developers of the project.
- Gary Leavens, developer and course instructor
- Curtis (Curt) Clifton, developer and a graduate student working with Gary, who started this project as part of his work in the Preparing Future Faculty program.
- The teaching assistants for the course, who are also somewhat developers.
User Summary
The user of the system is a person with access to two or more computers and at least one PMSD. This person wants to keep several files or directories synchronized between the computers. The user is assumed to be adept at manipulating files and directories.
Key High-level Goals and Problems of the Stakeholders
- The manufacturers of PMSDs want to sell more of their products. Their problem is to find ways to make their products more useful and desirable.
- Iowa State University's Department of Computer Science wants to educate students as well as it can within its budget constraints.
- Gary wants to use the project as an example for teaching the course material on OO analysis and design. His problem is how to convey this knowledge clearly to students.
- Curt, and the TAs, want to use the project to learn more about OO Analysis and Design, curriculum development, and for teaching experience. Their problem is both to learn how to convey this knowledge to students and to abstract that knowledge from only the existing examples in Larman's book.
Key High-Level User Goals
The users own one or more PMSDs and need a system that can:
- Synchronize files and directories, containing many megabytes of data, between pairs of computers, without using a network connection.
- Minimize the data that must be transferred, because of the high cost per unit storage of PMSDs versus hard drives.
- Easily manage the set of files and directories to be synchronized.
- Allow user control over resolving conflicts during synchronization.
- Prevent loss of data due to system, computer, or PMSD failure.
Product Overview
StickSync is able to synchronize files and directories between pairs of computers using PMSDs for transfer of data. In essence, it keeps a table that maps files to their most recent contents, and keeps track of the file modification dates on various computers, to be able to tell if the files have been simultaneously changed. The table, file contents, and other information necessary are stored on the PMSD.
The following is a context diagram for the system. Essentially the system mediates interactions between the User, one or more PMSDs, and one or more pairs of computers.
Summary of System Features
The system provides:
- Synchronization of files and directories between pairs of computers that may not be connected on a network.
- Management of files and directories to be synchronized.
- Logging of operations performed.
Other Requirements and Constraints
See the use cases and the supplementary specification for details on other requirements and constraints.
Last modified Friday, October 8, 2004.
This web page is for the StickSync project, developed as an example for Com S 362 at Iowa State University. Please direct any comments or questions about this project to Gary T. Leavens at leavens@cs-DOT-iastate-DOT-edu or Curtis Clifton at cclifton@cs-DOT-iastate-DOT-edu (after replacing -DOT- with `.').