GorillaSoft

Functional Specifications

Summary
User Interaction

Summary


Introduction

The Northam publication corporation has requested the design of a comprehensive newspaper and magazine sales, customer service and delivery system, in order to maintain and, preferably, expand their position in the Calgary marketplace. Our proposed Product Sales and Delivery System (PSDS) will be an intuitive multi-user interactive computer system. It will implement the following distinct subsystems: a customer sales and services subsystem (SCS), and a delivery scheduling subsystem (PDS).

These two subsystems will be able to function with Northam's existing Accounts Receivable system which currently performs the billing function. The PSDS will also function with the existing management reporting system. The SCS and PDS along with the Accounts Receivable system will be able to carry out all necessary tasks. This is illustrated in Figure 1.

Northam's informal specification discussed a need for an information reporting system, to assist Northam in increasing efficiency, decreasing waste and insuring that all resources are used at maximum potential. The PSDS system will provide all the essential data for this requested function. We do not propose a Sales Planning Subsystem (SPS) as a part of the minimal system, but we will evaluate the possibility to also deliver this by the deadline.

The SCS subsystem handles the "customer-side" of Northam's operations. It will be dealing with requests made by new and/or existing customers. All information relevant to any operation entered by the sales staff, in response to customers, will be made readily available so as to provide staff members with the most accurate and up to date information.

Product delivery information is dealt with by the PDS subsystem. By generating a daily list of deliveries for each carrier and delivery driver, this subsystem is easily the keystone of the PSDS system and its proper functioning is vital to Northam's future success.

A simple yet powerful GUI (Graphical User Interface) will reduce the learning time for new users and allow experienced users to quickly accomplish tasks, thereby increasing worker productivity. The nature of the system is such that multiple copies of documents are unnecessary, resulting in faster responses to your customer's needs and delivery scheduling alterations.

Information, which pertains to the drivers, carriers, and customers (i.e., newspaper boxes, retail outlets, households) will be kept in strict confidence in well defined data structures. These structures include relational forms for Carriers, Trucks, Newspaper Boxes, Households, Retail Outlets, Newspapers and Magazines. Only qualified personnel in the Accounting Department, the Shipping and Receiving Department, and the Customer Service Department will have access to the database.

Manipulation of this data will be provided by numerous functions but the common interface furnishes a predictable routine and appearance to all database actions: adding a record,modifying a record, deleting a record, and viewing a record. These functions will be available for manipulating the data structures mentioned above (See the User Interaction section of this document for a detailed description of all pertinent functions).

By supporting you in your bid to better serve your customers with fast, efficient service, Northam will have the additional advantage of increased customer satisfaction. Knowledge is power, and with the new PSDS system, Northam will be able to retain its competitive edge. Attributes of PSDS will no doubt become a great asset to Northam as it surges ahead into the next century.

Back to top of Summary
Back to Top


User Interaction


The preliminary system is divided in four major subsystems, Sales and Customer Service, Products, Delivery, and Reports. The main menu will offer buttons to get into each of the subsystems. Each subsystem may be further divided into more detailed subsystems, for example, the Sales and Customer Service system will further divide into home delivery, retail stores and news box subsystems. With the exception of the reporting subsystem, each subsystem will include similar control bar located near the top of the screen above a specific form.

  • General Functions
  • Household Functions
  • Retail Functions
  • News Box Functions
  • Carrier Functions
  • Driver Functions
  • Newspaper Functions
  • Magazine Functions
  • Delivery Scheduling Lists

    Back to Summary
    Back to Top
    Back to Title Page


    General Functions

    General functions work exactly the same across all subsystems and forms. These general functions may vary in terms of user input and system response depending on which subsystem and form they are activated from. A specific combination subsystem and form act on a unique type of record. Each type of record has different data fields and requirements for their proper entry. These details are described later in their functional areas.

    Main Menu as of start up

    These general functions on the control bar include the abilityto add, delete, query, scroll through the list of available records, and to jump to different forms. Note: the ability to edit a record is a general function but it does not require a special button.

    Sample Screen Shot

    Add a record:

    Pressing the ADD button will present a blank form to be filled out. The required data fields must be properly entered for this to be successful. Required data for different types of records may be different. Other data fields besides the required ones may be entered at this time. System messages will appear in accordance to the success or failure of the addition of the new record. If any data is not properly entered then the addition will fail.

    View / Query a record:

    Records appear in form view starting at the beginning of the database. Scrolling through the database is accomplished by pressing the forward and back buttons located at the bottom of the form.

    The simplest way to locate a record is to query the database by providing specific search criteria's. Any of the data fields for a record can be used as a search criteria. The search criteria (this can include more than one criteria i.e., a name and a telephone number may be used together) is entered into system and then it is told to search. The result will be a list of possible matches.

    Edit / Delete a record:

    The editing and deleting of a record can be accomplished once the specific record is found. To then edit a record the a person can simply change any of the data fields in the record; no special button need to be pressed. If any data field is improperly entered the system will not allow the user to continue. The system will then ask whether the changes are to be saved.

    Deleting a record is done by pressing on the DELETE button. The system will then ask the user to confirm this action.

    Printing a record:

    Printing of a record is accomplished by pressing the print button, and is available in all forms.

    Main Menu with subsystem selection options

    Back to Top Of User Interaction


    Household Functions

    Functions in this area allow the adding, editing, viewing and searching of a household customer. For the data to be properly entered each data field must meet the following requirements,

    Data Field
    Requirements
    First Name 15 or less text characters
    Last Name 15 or less text characters
    Street Address 40 or less text characters
    City20 or less text characters
    Postal Code L#L #L# format of where # - is number 0-9 and L is between A-Z
    Telephone Number 3 digit area code followed by a 3 dash 4 digit number
    District This must be selected from the available choices
    Special delivery instructions 100 or less text characters

    Add a household:

    The add function follows the general add function explained earlier. The following required data fields must be entered properly.
    • first name
    • last name
    • street address
    • city
    • postal code
    • telephone number

    A warning will be generated if there already exists a person in the database with the same name and telephone number and then ask whether is the user still wants to add the new customer. If the addition is successful then the new customer is assigned an Account Number.

    View / Query a household:

    Viewing and querying of a household customer is described by the general view / query functions. Note: the account number may also be used as a search criteria.

    Edit / Delete a household:

    Editing and deleting of a household customer is described by the general edit / delete functions. Note: a customer may not be deleted until all amounts owing are paid; delivery may be stopped until this time though.

    Subscribe / Unsubscribe to a Newspaper:

    Subscribing to a newspaper is done in the Newspaper section of the form. The number of copies field specify the number of copies the customer receives. To unsubscribe to the newspaper, simply change this number to zero. Note: Changes are reflected in the next days delivery schedule.

    Subscribe / Unsubscribe to Magazines:

    Subscribing to a magazines is done in the magazines section of the form. A table is presented showing the magazines currently subscribed to. Subscribing to a magazine requires selecting a magazine from a drop box (this prevents users from mistyping the magazine name) and choosing the subscription length from another drop box. By choosing the magazine to be the none selection, then the magazine is unsubscribed.

    Back to Top Of User Interaction


    Retail Functions

    Functions in this area allow the adding, editing, viewing and searching of a retail customer. For the data to be properly entered each data field must meet the following requirements,

    Data Field
    Requirements
    Company Name 25 or less text characters
    Contact Name 20 or less text characters
    Street Address 40 or less text characters
    City20 or less text characters
    Postal Code L#L #L# format of where # - is number 0-9 and L is between A-Z
    Telephone Number 3 digit area code followed by a 3 dash 4 digit number
    District This must be selected from the available choices
    Special delivery instructions 100 or less text characters

    Add a retail customer:

    The add function follows the general add function explained earlier. The following required data fields must be entered properly.
    • company name
    • street address
    • city
    • postal code
    • telephone number

    The system will return an unsuccessful message should any of the required data fields be missing or not entered properly and prompt the user to correct the problem. A warning will be generated if there already exists a retail customer in the database with the same name and telephone number. It then ask whether is the user still wants to add the new customer. If the addition is successful then the new customer is assigned an Account Number.

    View / Query a retail customer:

    Viewing and querying of a retail customer is described by the general view / query functions. Note: the account number may also be used as a search criteria.

    Edit / Delete a retail customer:

    Editing and deleting of a retail customer is described by the general edit / delete functions. Note: a customer may not be deleted until all amounts owing are paid; delivery may be stopped until this time though.

    Newspaper delivery:

    Specifying the number of newspapers a retail outlet receives on a daily basis is done by entering the number in the Newspaper delivery field. This field is in the Newspaper delivery section of the retail customer form.

    Magazine delivery:

    The retail customer form maintains a table of magazines that are delivered to the retail outlet. Selecting the magazines delivered to a retail outlet it done by the use of a drop boxes. The number of magazines to be delivered is done by entering the number in the accompanying field.

    Daily Returns:

    Periodic returns of newspapers and magazines are entered in a column besides the newspaper and magazine delivery table. The input for the respective product cannot exceed the amount delivered; if it does then a error message is displayed. For example if 10 "Life on Mars" magazines are delivered then the most that can be returned is 10.

    Back to Top Of User Interaction


    News Box Functions

    Functions in this area allow the adding, editing, viewing and searching of a news box . For the data to be properly entered each data field must meet the following requirements,

    Data Field
    Requirements
    Street Address 60 or less text characters
    District This must be selected from the available choices

    Add a news box:

    The add function is described by the general add function explained earlier. The required data field that must be properly entered is the,
    • street address

    The addition of a news box will also fail if there already exist a news box at the same address. If the addition of a news box is successful then the a news box number is assigned.

    View / Query a news box:

    Viewing and querying of a news box is described by the general view / query functions. Note: the news box number may also be used as a search criteria.

    Edit / Delete a news box:

    Editing and deleting of a news box is described by the general edit / delete functions.

    Newspaper delivery:

    Specifying the number of newspapers a news box receives on a daily basis is done by entering the number in the Newspaper delivery field. This field is in the Newspaper delivery section of the News box form.

    Back to Top Of User Interaction


    Carrier Functions

    Functions in this area allow the adding, editing, viewing and searching of a carriers. For the data to be properly entered each data field must meet the following requirements,

    Data Field
    Requirements
    First Name 15 or less text characters
    Last Name 15 or less text characters
    Street Address 40 or less text characters
    City20 or less text characters
    Postal Code L#L #L# format of where # - is number 0-9 and L is between A-Z
    Telephone Number 3 digit area code followed by a 3 dash 4 digit number
    District This must be selected from the available choices

    Add a carrier:

    The add function is described by the general add function explained earlier. The required data fields that must be properly entered are,
    • first name
    • last name
    • street address
    • city
    • postal code
    • telephone

    The addition of a carrier will fail if there already exist a carrier at the same address. If the addition is successful then the carrier is assigned a carrier number.

    View / Query a carrier:

    Viewing and querying of a carriers is described by the general view / query functions. Note: the carrier number may also be used as a search criteria.

    Edit / Delete a carrier:

    Editing and deleting of a carrier is described by the general edit / delete functions.

    Carrier route selection:

    The selection of the carrier's route is performed in the route selection section of the form. In this section there will be a table containing the currently selected households on the carriers route. Addition of a household to a carriers route is accomplished by selecting the household from a drop box and pressing the nearby ADD to route button. Removal is done by selecting the household from the table and pressing the REMOVE button.

    Back to Top Of User Interaction


    Driver Functions

    Functions in this area allow the adding, editing, viewing and searching of a driver. For the data to be properly entered each data field must meet the following requirements,

    Data Field
    Requirements
    First Name 15 or less text characters
    Last Name 15 or less text characters

    Add a driver:

    The add function is described by the general add function explained earlier. The required data fields that must be properly entered are,
    • first name
    • last name

    The addition of a driver will fail if there already exist a driver with the same name. If the addition is successful then the driver is assigned a driver number.

    View / Query a driver:

    Viewing and querying of a driver is described by the general view / query functions. Note: the driver number may also be used as a search criteria.

    Edit / Delete a driver:

    Editing and deleting of a driver is described by the general edit / delete functions.

    Driver route selection:

    The selection of the driver's route is performed in the route selection section of the form. This section will have two tables containing the currently selected carriers and retail outlets (respectively) on the carriers route. Addition of a carrier/retail outlet to a drivers route is accomplished by selecting the desired carrier/retail outlet from a drop box and pressing the nearby ADD to route button. Removal is done by selecting the carrier/retail outlet from the table and pressing the REMOVE button.

    Back to Top Of User Interaction


    Newspaper Functions

    Functions in this area allow the editing of information pertaining to individual newspapers. For the data to be properly entered each data field must meet the following requirements,

    Data Field
    Requirements
    Retailers Price Dollar amount (ie. $0.75)
    Household Price Dollar amount (ie. $1.00)

    Editing of prices:

    Editing of retailer and household prices is simply done by overwriting the price in the respective fields.

    Back to Top Of User Interaction


    Magazine Functions

    Functions in this area allow the adding, editing, viewing and searching of magazines. For the data to be properly entered each data field must meet the following requirements,

    Data Field
    Requirements
    Magazine Name 15 or less text characters
    Publisher Name 15 or less text characters
    Frequency of Delivery A choice of weekly, biweekly and monthly
    Individual Retailers Price Dollar amount
    Subscription Price (1/4 year) Dollar amount
    Subscription Price (1/2 year) Dollar amount
    Subscription Price (1 year) Dollar amount
    Subscription Price (2 year) Dollar amount

    Add a magazine:

    The add function is described by the general add function explained earlier. The required data fields include all the above. The addition of a magazine will fail if there already exist a magazine with the same name. If the addition is successful then the driver is assigned a product number.

    View / Query a magazine:

    Viewing and querying of a magazine is described by the general view / query functions. Note: the product number may also be used as a search criteria.

    Edit / Delete a magazine:

    Editing and deleting of a driver is described by the general edit / delete functions.

    Back to Top Of User Interaction


    Delivery Scheduling Lists

    The generation of delivery related lists by the PDS are accessed via buttons in the PDS menu. Available lists are displayed as buttons with accompanying descriptions. By pressing on the desired button the list is generated. From there a user may press to print a hard copy by pressing the print button.

    Available Reports:

  • Truck packing lists - generates packing instructions for each truck showing the amounts of each product to be loaded into the truck .
  • Individual carrier delivery lists - generates a delivery list for each carrier.
  • Individual driver delivery lists - generates a delivery list for each delivery driver.


    Sample Carrier List

    Sample Driver List

    Sample Packing List


    Back to top of user interaction
    Back to Top
    Back to Title Page
    Back to Detailed Design Document