|
Winter Quarter 1996 Document Author: Project Sponsors: |
CyberGuide Team:
Matt Howser (Architect/Programmer/Manager) |
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.
Because of the object-oriented nature of Delphi, the design specification will be presented in object model format.
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}
procedure TCyberGuideForm.SelectStaff {Bring up a list of staff to select project}
procedure TCyberGuideForm.DisplayAbstract {Display current project's abstract}
procedure TLookupForm.SetToProjects {set Lookup for projects}
procedure TLookupForm.SetToStaff {set Lookup for staff}
Screen captures have been made, but are currently in transit. They will be posted ASAP.