CyberGuide Design Document

CyberGuide Logo

Winter Quarter 1996
2/9/96

Document Author:

Jason Bennett

Project Sponsors:

Gregory Abowd


CyberGuide Team:

Matt Howser (Architect/Programmer/Manager)
Derek Adams (Programmer/Architect/Manager)
Jason Bennett (Technical Writer/Manager)


Project Description of Target System

High-level architecture

sample architecture picture

Figure 1: Sample architecture drawing (CyberGuide)

CyberGuide is a hand-held tour guide system conceived and designed to be as flexible and interactive as possible. It can be broken up into several distinct components, each of which is required for full functionality. Figure 1 shows the distinct parts which make up the complete CyberGuide system, leaving one part blank for enumeration by another team.

The database component is the heart of the system, serving data and providing control to most of the rest of the system. The component reads from the database on the local (or remote) disk, and sends the data to the interface and the display, showing it to the user and allowing him to read it and possibly select more data.

The interface is the control structure between the database and the user display. It manages the data requested by the user and sends it to be displayed. This component knows how to interpret user requests and translate them into data pulls from the database.

The display is the main part from the user's perspective. It displays the map and any information about projects requested by the user. The map is read from a pre-written *.INI file which lists the important characteristics of the room. Utilizing the map, the user can select what information he wants pulled from the database or where he wants to go next.

In using the system, the user will look at the map read from the INI file, and decide which project to select. The CyberGuideForm will provide him lists to select from, whether it be a list of projects or staff. It will also dislpay a short abstract to help inform the user of what he is looking at. The one selected looked-up by the LookupForm, which will grab data from the database for use by the User.

The serial link, while a very important component of CyberGuide, is being implemented seperately by another team. This will be seemlessly integrated through the magic of object-oriented development at the proper time. Currently, it is planned that the link will provide position information and possibly a two-way link to a remote server. The actual implementation of this remains to be seen.

Design specification

Because of the object-oriented nature of Delphi, the design specification will be presented in object model format.

TCyberDB Component - Inherits from TObject

function TCyberDb.get_project_id {Returns the unique project id}

function TCyberDb.get_project_summary {Returns the summary of the specified project}

function TCyberDb.get_project_title {Returns the title of the specified project}

function TCyberDb.get_project_abstract {Returns the abstract of the specified project}

function TCyberDb.get_project_staff {Returns all staff on project}

function TCyberDb.get_projects {Returns all projects of a staff member}

function TCyberDb.get_all_projects {Returns all projects in database}

function TCyberDb.get_all_staff {Returns all staff in database}

function TCyberDb.get_project_info_source {Returns a TDataSource for PorjectInfo}

function TCyberDb.get_staff_source {Returns a TSourse for staff}

TCyberGuideForm Component - Inherits from TObject

procedure TCyberGuideForm.SelectProjects {Bring up a list of projects to select}

procedure TCyberGuideForm.SelectStaff {Bring up a list of staff to select project}

procedure TCyberGuideForm.DisplayAbstract {Display current project's abstract}

TLookupForm Component - Inherits from TObject

procedure TLookupForm.ChangePage {Switch to correct tab}

procedure TLookupForm.SetToProjects {set Lookup for projects}

procedure TLookupForm.SetToStaff {set Lookup for staff}

TCyberMap - Inherits from TObject

TCyberDisplay - Inherits from TObject

User Interface

Screen captures have been made, but are currently in transit. They will be posted ASAP.


Link to CyberGuide Project Notebook
Last Modified 2/9/96 -- Jason Bennett