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:

  1. Introduction
  2. Stakeholder Descriptions
  3. Product Overview
  4. Summary of System Features
  5. Other Requirements and Constraints


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.

Return to top

Stakeholder Descriptions

Stakeholder (Non-User) Summary

The non-user stakeholders in the system include:

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

Key High-Level User Goals

The users need a system to fulfill these goals:

Is this the right level of detail for these goals? !!!

Return to top

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.

Context Diagram

Return to top

Summary of System Features

The system provides:

Return to top

Other Requirements and Constraints

See the use cases and the supplementary specification for details on other requirements and constraints.

Return to top

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 `.').