1. Introduction

This document defines requirements for an electronic Rolodex Tool. The tool is used to store and retrieve personal information records. Each record is in a simple format containing a person's name, address, and other information.

In addition to providing useful functionality, the Rolodex Tool serves as a pedagogical example of software engineering concepts and principles. The software development artifacts for the Rolodex tool are considered part of the overall Rolodex Tool package.

1.1. Problem Statement

The functional problem to be solved by the Rolodex Tool is straightforward -- to manage a collection of information records efficiently and reliably. This problem is sufficiently simple to be of little technical interest on its own. Hence, the problem of primary interest here is pedagogical. The specific problem is to provide a small yet complete example of the software development life cycle. The example needs to be small enough to be presented in a concise fashion. At the same time, the example system must embody typical software functionality, so that students can adapt concepts illustrated in the example in their work on class software projects.

1.2. System Personnel

The personnel involved in the Rolodex Tool project are organized into the following groups:

  1. system developer
  2. software engineering students
  3. end users
  4. outside parties

The system developer is Gene Fisher. He has developed the Rolodex Tool for use by undergraduate software engineering students at Cal Poly university.

End users of the Rolodex Tool are those people who may use the tool for its actual functional purpose. As noted in the previous section, the Rolodex Tool has little functional interest as an operational piece of software. Hence, the non-academic end user community is likely to be small.

The Rolodex Tool and its development artifacts are available as public domain software for use by outside parties. The project directory is located at

http://www.csc.calpoly.edu/~gfisher/projects/rolodex.

1.3. Operational Setting

There are two operational settings for the Rolodex Tool: (1) normal use as a functioning software system; (2) use as an example in software engineering courses.

Since the Rolodex Tool is intended to be as general public domain software, there is no specific operational setting in which it is intended to be installed. The setting for which it is appropriately suited is an individual or organizational environment where users maintain personal information records.

For use as a pedagogical example, the Rolodex Tool is intended to fit the curriculum used by Gene Fisher in undergraduate and graduate software engineering courses at Cal Poly University. These courses are two-quarter sequences that cover standard aspects of software engineering, with emphasis on the practical application of formal methods. For the most part, the concepts covered in these courses, and hence the concepts embodied in the Rolodex Tool, are mainstream software engineering. Other instructors may therefore find the Rolodex Tool and its development artifacts useful as course examples.

1.4. Impacts

The positive potential impacts of the Rolodex Tool as a functioning system are increased convenience and efficiency in managing personal information records. The positive impacts of the Rolodex Tool as a course example are

  1. the presentation of a small, self-contained software system that students can use as a guide for their own software development work;
  2. an illustration of how formal methods of can be put to practical use.

Potential negative impacts include those common to any user-oriented software system. Viz., if the system is poorly designed and implemented, it can be inconvenient to use and decrease rather than increase user productivity. If a user relies on a flawed implementation of the system to store vital information, the user may suffer inconvenience or more serious disruption of work activities if the system looses or corrupts information.

As a course example, the use of the Rolodex Tool has no significant negative impacts, unless its development methodology is considered weak or unrelated to the concepts being taught in a particular course. Such negative impacts can be easily avoided if instructors carefully examine the example before using it in a particular software engineering curriculum.

1.5. Related Systems

There are many widely used commercial systems that provide functionality comparable to the Rolodex Tool. The functionality of the Rolodex Tool is generally too limited to be offered in a stand-alone commercial tool. Rather, a variety of tools provide Rolodex-like functionality as a (small) subset of other features. In particular, any tool that allows the user easily to create, store, and locate database records provides essentially all of the functionality available in the Rolodex Tool. Popular tools that provide such functionality include Microsoft Access (http://www.microsoft.com/office/access) and AppleWorks for the MacIntosh (http://www.apple.com/appleworks).




Prev: [none] | Next: functional | Up: index | Top: index