Current Version: 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. The project will also serve as an example project for Com S 362.
StickSync as an Example
One of the textbooks for Com S 362 is Craig Larman's, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. Larman's text includes a single running example throughout. In the past students were interested in having additional examples to illustrate the ideas discussed in the course. This project tries to be such an example.
Instead of just being an example of the final product, this project will be a work in progress. Artifacts in the project will change as the project evolves. We won't claim that the artifacts are perfect, nor can they be. But the process of iteratively developing the artifacts is intended to illustrate many of the key ideas of the course. To help illustrate the process we will provide a journal describing the work done on the project as it happens. Hopefully this journal will serve to distinguish the process from the artifacts it produces.
StickSync as a Tool
The project is not just an example for the course, but is intended to fulfill a real-world need (of the developers', at any rate). Briefly, this is the need to synchronize files between two computers, one a Macintosh without a high-speed internet connection and one a PC. The developers do have access to a Sony Micro VaultTM that can transfer up to 128MB of data. We would like to use this to synchronize the files on the two computers.
Stakeholder Descriptions
Stakeholder (Non-User) Summary
The non-user stakeholders in the system include:
- students in Com S 362,
- Gary Leavens, the course instructor
- Curtis (Curt) Clifton, a graduate student working with Gary in the Preparing Future Faculty program.
- The manufacturers of PMSDs.
User Summary
The user of the system is a person with access to two computers and at least one PMSD who 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 students in Com S 362 want an example for understanding the course material and for developing their own projects. Their problem is to abstract from this project and the example in Larman's book general knowledge about OO analysis and design.
- 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, wants to use the project to learn more about OO Analysis and Design, curriculum development, and for teaching experience. His 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.
- 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.
Key High-Level User Goals
The users need a system to fulfill these goals:
- synchronize files and directories between pairs of computers using PMSDs for transfer of data
- 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
Is this the right level of detail for these goals? !!!
Product Overview
StickSync is able to synchronize files and directories between pairs of computers using PMSDs for transfer of data. It essentially stores 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 file contents and other information 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.
- Management of 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 Tuesday, September 16, 2003.
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 `.').