Design Specification For Interface Group

Database Interface

Thanksgiving Day News

Other Design Specifications

Objectives

Interfaces

Design Constraints

  1. The Database and Recordset objects will be written in Java using the Msql class library.
  2. The Database and Recordset objects will also work with a simple text file database (one text file for each table in the database).
  3. The client programmer should only refer to the abstract Record and Recordset objects is his/her code.
  4. All Recordsets are created by the AbstractDataFactory (or it's subclasses).
  5. All Records are created by the AbstractDataFactory or the Recordsets that have been created by the AbstractDataFactory.
  6. Switching between use of text and msql will involve changing one line of code (the declaration of the global AbstractDataFactory object).
  7. Since Record especially is a large abstract class, exceptions will be thrown if client code accesses any "virtual" functions in the base class. For example, the base Record class may have a virtual method called "MinimumBid" which will be implemented by a BidRecord class. The base Record class may also have a virtual method called "DestinationCity" which will be implemented by a RideRecord class. If a RideRecord class is created by the AbstractDataFactory and the client code tries to access the "MinimumBid" function--this will call the base Record class's method which should throw an exception indicating that there is no concrete implementation of that method in the RideRecord class.
  8. To enforce that all Records and Recordsets are created by the AbstractDataFactory, the constructors for these objects will be protected and all "Database Interface" classes will be in the same package.

Design Description

System Initialization Strategy

Requirements Cross Reference

Group Organization

Name/E-mail

Phone Number

Design and Implementation Area

Gene

226-9759

Server-Side Cron Process

Brian

370-2394

Profanity Filter, Keywords, Parser

Dave

377-9219

Profanity Filter, Keywords, Parser

Eric

371-4209

Database Interface

Cameron

370-0482

Maintenance Interface and Application

Everyone's E-mail