17,19c17,19 < and to view calendar information in a variety of useful ways. Administrative < users run a Calendar Tool Administration program to manage Calendar Tool < databases and perform other administrative functions. --- > and to view their calendar information in a variety of useful ways. > Administrative users can schedule meetings for groups of users and perform > other system administration functions. 24a25,106 > > >

> 1.1. Problem Statement >

>
>

> The general problems to be solved by the Calendar Tool are the following: >

    >
  1. > to provide a reliable and easy to use tool that manages an individual's > calendar, in a manner comparable to non-electronic media such as day planners > and date books >
  2. > to provide a secure group environment that manages a collection of individual > calendars for the purposes of group scheduling and information sharing >
> While these problems have been solved by a number of commercially available and > public domain products, the Calendar Tool provides a solution with certain > functional improvements over existing tools. In addition, the development of > the Calendar Tool focuses on two other specific problems not addressed in > commercial tools: >
    >
  1. > to provide a pedagogical example for use in the instruction of software > engineering, including an example of the practical application of formal > methods >
  2. > to provide fully documented public domain source code for use by others >
> > >

> 1.2. System Personnel >

>
>

> The personnel involved in the Calendar Tool project are organized into the > following categories: >

    >
  1. > end users >
      >
    1. > registered users >
    2. > user group leaders >
    3. > system administrators >
    4. > offline and unregistered users >
    5. > unregistered individual users >
    >
  2. > system developers >
  3. > software engineering students >
  4. > interested outside parties >
>

> End users are those who use the Calendar Tool for its intended purpose. > Registered end users have an account on one or more Calendar Tool central host > computers, where calendars are shared among users and multi-user meetings can > be scheduled. Group leaders are designated registered users who may perform > group scheduling operations which affect other users' calendars. Master system > administrators perform overall system administration functions, including user > and group leader registration. Offline and unregistered users are those who > use the Calendar Tool for an individual personal calendar, without being > connected to a Calendar Tool central host. >

> The primary system developer is Gene Fisher. His efforts are based on the work > of a number of software engineering students who have used the Calendar Tool as > a class project in software engineering courses. Students whose work has been > particularly helpful are Larry Bolef, Brent Smolinski, Rick Myers, Brandon > Wallace, and Oliver Wallace. >

> As noted above, the Calendar Tool is intended to serve as an example for use in > software engineering courses. The students who use the Calendar Tool for this > purpose focus on the artifacts of its development rather than its use as a > functioning tool. 26c108,182 < Further introductory material is presented in these subsections: --- > The Calendar Tool is available as public domain software for use by interested > outside parties. The project directory is located at >

> 
> http://www.csc.calpoly.edu/~gfisher/projects/calendar
> 
> 
> > >

> 1.3. Operational Setting >

>
>

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

> Since the Calendar Tool is designed 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 office or organizational > environment of some form, where users maintain their own calendars and need to > schedule meetings with other users on a regular basis. >

> For use as a pedagogical example, the Calendar Tool has been designed 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 Calendar Tool, > are mainstream software engineering. Other instructors may therefore find the > Calendar Tool and its development artifacts useful as course examples. > > >

> 1.4. Impacts >

> >

> The positive potential impacts of the Calendar Tool as a functioning system are > increased convenience and efficiency in managing individual and group > calendars. The positive impacts of the Calendar Tool as a course example are >

    >
  1. > the presentation of a non-trivial 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. More > specific negative impacts relate to issues of privacy, reliability, and data > integrity. If the system implementation is flawed, it may reveal private > information that users do not wish to be revealed. If an organization of users > relies on a flawed implementation of the system to schedule critical events, > and such events are improperly or incompletely scheduled, the organization may > suffer significant disruption of its operations. Significant disruption may > also occur if the system looses or corrupts important calendar data. >

> As a course example, the use of the Calendar 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 >

> >

> Widely used commercial systems that provide functionality comparable to the > Calendar Tool include 27a184 > 29,30c186 < < problem statement for the the Calendar Tool project --- > Microsoft Outlook, 31a188 > 33,34c190 < < project personnel --- > Netscape Calendar 35a192 > 37,38c194 < < operational setting --- > Qualcomm Now-Up-to-Date, 39a196 > 41,42c198 < < impacts of an installed product --- > FileMaker (formerly Claris) Organizer, 43a200,201 > and > 45,46c203 < < related systems, including a feature comparison matrix --- > On Technology Meeting Maker. 49c206,224 < --- >

> Each of these systems provides a wide variety of calendar and scheduling > functionality. In terms of such functionality, the goal for the Calendar Tool > is to provide the important core features found in these tools, not the full > range of features found in all of them. The Calendar Tool does provide modest > functional improvements in three areas, when compared to most commercially > available tools. These improvements are: >

    >
  1. > more flexibility in viewing and selecting from lists of possible meeting times > that are generated by the automatic scheduler; >
  2. > more flexibility in specifying recurring events; >
  3. > more extensive forms of view filtering. >
>

> The goals for the Calendar Tool relating to public domain source code and sound > pedagogical development are not met by any of the above commercial systems.