Detailed Design Document
CPSC 451 Supplier Group #1

Department of Computer Science
University of Calgary
27 February 1997

Page maintainer: Terrence Asgar-Deen
terrence@cpsc.ucalgary.ca

  • Terrence Asgar-Deen
  • Patrick Chan
  • Thomas Hui
  • Carsten Jaeger
  • Matthew Johnson
  • Brian Low
  • Hoang Nguyen
  • Kevin Pattison
  • Csaba Suveges
  • Jeremy Tang
  • Leena Thakkar
  • Al-Amin Vira
  • Lin Zhang

  • Appendix A The Data Dictionary

    The data dictionary defines and specifies all data elements in the system. Each element is provided in a tabular format for easy reading.


    Name cellular number
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity User.

    The length is exactly 10 digits.

    The format is: (area code) local telephone number.
    For example: (403)830-1234.

    The attribute describes the user's cellular telephone number.


    Name city
    Kind Attribute
    Type String
    Description A non-key attribute of entity Customer.

    The maximum length is 16 characters.

    The format is the type string.
    For example: Calgary.

    The attribute describes the city in which the customer resides. The default city is Calgary.


    Name comments on customer
    Kind Attribute
    Type String
    Description A non-key attribute of entity Customer.

    The maximum length is 8 lines, 80 characters long.

    The format is the type string.

    The attribute describes the comments based on the past history of the particular customer.


    Name comments on product
    Kind Attribute
    Type String
    Description A non-key attribute of entity Product.

    The maximum length is 8 lines, 80 characters long.

    The format is the type string.

    The attribute describes the comments on the product.


    Name comments on user
    Kind Attribute
    Type String
    Description A non-key attribute of entity User.

    The maximum length is 8 lines, 80 characters long.

    The format is the type string.

    The attribute describes the comments on the User.


    Name company name
    Kind Attribute
    Type Alphanumeric
    Description A non-key attribute of entity Customer.

    The maximum length is 35 characters.

    The format is the type string.
    For example: Peachy Business Forms.

    The attribute describes the name of the company.


    Name company's email
    Kind Attribute
    Type String
    Description A non-key attribute of the entity Customer.

    The maximum length is 35 characters.

    The format is a standard Internet email address.
    For example: microcore@popular.fun.com

    The attribute describes the company's email which is a global email address for the company.


    Name company's FAX number
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity Customer.

    The length is exactly 10 digits.

    The format is: (area code) local telephone number.
    For example: (403)280-7843

    The attribute describes the company's FAX number.


    Name company's telephone number
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity Customer.

    The length is exactly 10 digits.

    The format is: (area code) local telephone number.
    For example: (403)630-1386.

    The attribute describes the company's telephone number. This attribute is used to make contact with the company or when the contact person is unreachable.


    Name contact's email address
    Kind Attribute
    Type String
    Description A non-key attribute of the entity Customer.

    The maximum length is 35 string characters.

    The format is a standard Internet email address.
    For example: cruise@ski.fun.com

    The attribute describes the contact person's email address.


    Name contact's name
    Kind Attribute
    Type String
    Description A non-key attribute of entity Customer.

    The maximum length is 20 characters.

    The format is the type string.

    The attribute describes the contact person's name for a particular company.


    Name contact's telephone number
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity Customer.

    The length is exactly 10 digits.

    The format is: (area code) local telephone number.
    For example: (403)830-9968

    The attribute describes the direct telephone number to reach the customer's contact person.


    Name contains
    Kind Relationship (1:M)
    Type @purchase order number + @product number + @motif number
    Description A relationship between entity Product and entity Order.
    The relationship defines the following:
    • One order to one or more products.
    • Each order must contain one or more products
    • Each product can be on zero or more orders.

    Related by the key attributes purchase order number and product number and motif number.


    Name cost per unit
    Kind Attribute
    Type Float
    Description A non-key attribute of entity Product.

    The maximum length is 5 digits and 2 decimal places.
    The maximum amount would be less than $100,000.00.

    The format is: $(amount of the product)
    For example: $363.45

    The attribute describes the cost per unit. This attribute is used to compute the total of a bill of sales. The number of items per unit is irrelevant to the cost per unit.


    Name current position
    Kind Data movement in DFD
    Type Integer
    Description Specifies the current position of a particular customer in the route list of the user. This number is used to move a customer to a new position in the user's route list.

    Name customer
    Kind Data movement in DFD
    Type Instance of an Entity
    Description This data element corresponds to a complete instance of the Entity Customer.

    Name customer criteria
    Kind Data movement in DFD
    Type Integer
    Description This data element corresponds to an integer that is used to specify the type of information that is to be displayed. For example, criteria 2 may display only a particular user's customers.

    Name customer info
    Kind Data movement in DFD
    Type Multiple Field User Input
    Description These fields are input values from the User. They correspond to the fields in the Entity Customer. Not all fields in the Customer data table are necessarily present in an instance of the customer information.

    Name customers
    Kind Data movement in DFD
    Type Instance of an Entity
    Description This data element corresponds to one or more complete instances of the Entity Customer.

    Name Customer
    Kind Entity
    Type @customer ID + position in route list + company name + street address + city + province + postal code + company's telephone number + company's FAX number + company's email address + contact's name + contact's telephone number + contact's email address + date last contacted + days till next contact + comments on customer
    Description An entity in the ERD (Entity Relationship Diagram). This entity corresponds to the customers who are currently served by the company. The entity would include all company information about the customer and the general information about the company's contact person.

    Name customer ID
    Kind Primary Key
    Type Integer
    Description A primary key attribute of entity Customer.

    The maximum length is exactly 8 digits long.

    The format is the type integer.
    For example: 78437893

    The primary key represents a unique customer. This unique ID is used to distinguish between the customers.


    Name date last contacted
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity Customer.

    The maximum length is 8 digits long.

    The format is: day/month/year (dd/mm/yyyy)
    For example: 15/03/1996

    The attribute describes the date that a user last visited the customer.


    Name date of purchase
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity Order.

    The maximum length is 8 digits long.

    The format is: day/month/year (dd/mm/yyyy)
    For example: 27/06/1995

    The attribute describes the date of purchase when the customer places an order.


    Name days till next contact
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity Customer.

    The maximum length is 2 digits long.

    The format is the type integer.
    For example: 60

    This attribute is used by the user to determine when to next visit this particular customer.


    Name description of product
    Kind Attribute
    Type Alphanumeric
    Description A non-key attribute of entity Product.

    The maximum length is 5 lines, 50 characters long.

    The format is the type alphanumeric.

    The attribute describes the related product information in detail.


    Name email address
    Kind Attribute
    Type String
    Description A non-key attribute of entity User.

    The maximum length is 35 characters.

    The format is a standard Internet email address.
    For example: smith@popular.fun.com

    The attribute describes the user's email address.


    Name G.S.T. (Goods and Service Tax)
    Kind Runtime Computation
    Type Float
    Description Runtime computation for an Order.

    The maximum length is 5 digits with 2 decimal places.

    Computed using the formula subtotal * 7%.
    The format is the percentage in decimal form.
    For example: $10 * 0.07 = $0.70

    The attribute represents the Goods and Services Tax (G.S.T.) on an order.


    Name is served by
    Kind Relationship (Mc:1)
    Type @user ID + @customer ID
    Description A relationship between entity Customer and entity User.
    The relationship defines the following:
    • Many (possibly zero) customers to one user
    • Each customer is served by exactly one user.
    • Each user can have zero or more customers.

    Related by the key attributes customer ID and user ID.


    Name maximum visit per day
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity User.

    The maximum length is 2 digits.
    The maximum number of visits per day will be less than 100.

    The format is: (maximum number of visits) per day.
    For example: 7

    The attribute represents the maximum number of people a user can visit on any given day.


    Name motif number
    Kind Primary Key
    Type Alphanumeric
    Description A primary key attribute of entity Product.

    The length is exactly 3 alphanumeric characters.

    The format is: 3 digits motif number (mmm).
    This motif number is classified in the following format (color, design and font).
    For example: csi

    The attribute describes the characteristics of one product. The characteristics include the different combinations of the components (color, design and font). It is combined with product number to generate the primary key for the entity Product.


    Name new password
    Kind Data movement in DFD
    Type String
    Description This data element corresponds to the new password requested by the user.

    Name new position
    Kind Data movement in DFD
    Type Integer
    Description Specifies the new position of a particular customer in the route list of the user. This number is used to move a customer from the current position in the user's route list.

    Name number of items per unit
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity Product.

    The maximum length is 7 digits.
    The maximum amount would be less than 1000000.

    The format is the type integer.
    For example: 1000

    The attribute describes the number of items per unit. This attribute is used to compute the total number of items. The number of items per unit is irrelevant to the cost per unit.


    Name office telephone number
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity User.

    The length is exactly 10 digits.

    The format is: (area code) local telephone number.
    For example: (403)239-4357

    The attribute describes the user's office telephone number.


    Name old password
    Kind Data movement in DFD
    Type String
    Description This data element corresponds to the current password assigned to the user.

    Name order
    Kind Data movement in DFD
    Type Instance of an Entity
    Description This data element corresponds to a complete instance of the Entity Order.

    Name order criteria
    Kind Data movement in DFD
    Type Integer
    Description This data element corresponds to an integer that is used to specify the type of information that is to be displayed. For example, criteria 2 may display only a particular customer's orders.

    Name order filled
    Kind Attribute
    Type Boolean
    Description A non-key attribute of the Entity Order.

    The attribute describes whether or not the order has been filled. Currently, orders cannot be partially filled. This feature is a potential future enhancement that dHACs Software is willing to provide Peachy Business Forms, if found necessary.


    Name order info
    Kind Data movement in DFD
    Type Multiple Field User Input
    Description These fields are input values from the User. They correspond to the fields in the Entity Order. Not all fields in the Order data table are necessarily present in an instance of the order information.

    Name orders
    Kind Data movement in DFD
    Type Instance of an Entity
    Description This data element corresponds to one or more complete instances of the Entity Order.

    Name Order
    Kind Entity
    Type @purchase order number + order filled + date of purchase + customer ID + user ID + product number + motif number + quantity
    Description An entity in the Entity Relationship Diagram (ERD). This entity represents an order that has been placed by the customer. This transaction includes all relevant information.

    Name pager number
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity User.

    The length is exactly 10 digits.

    The format is: (area code) local telephone number.
    For example: (403)238-6543

    The attribute describes the user's pager number.


    Name password
    Kind Attribute
    Type String
    Description A non-key attribute of entity User.

    The maximum length is 8 digits.

    The format is the type string. Further restrictions include that the password is case sensitive and must contain at least one alphabet character and one non-alphabet character.
    For example: dHaCs.s1

    This attribute represents the password for the user. Since there are different user levels, the username and password combination are used to determine the user level of a particular user. Within the system, the password is encrypted.


    Name password
    Kind Data movement in DFD
    Type String
    Description This data element corresponds to the user's password.

    Name password confirm
    Kind Data movement in DFD
    Type String
    Description This data element corresponds to the password that has been retyped to confirm that the new password that has been requested is correct.

    Name places
    Kind Relationship (1:Mc)
    Type @purchase order number + @customer ID
    Description A relationship between entity Customer and entity Order.
    The relationship defines the following:
    • One customer to zero or more orders.
    • Each customer may place zero or more orders.
    • Each order is for only one customer.

    Related by the key attributes customer ID and purchase order number.


    Name position in route list
    Kind Attribute
    Type Integer
    Description A non-key attribute of the Entity Customer.

    The maximum length is 4 digits.

    The format is the type integer.
    For example: 17

    This number represents the position of the customer in their user's (salesperson) route list. This number is used to initially sort the daily route list when it is displayed. When the user changes his/her route ordering, this number corresponds to current position.


    Name postal code
    Kind Attribute
    Type Alphanumeric
    Description A non-key attribute of entity Customer.

    The maximum length is 6 alphanumeric characters.

    The format is: 3 alphanumeric characters followed by a space and 3 alphanumeric characters.
    Simple illustration: letter|number|letter number|letter|number
    For example: T2N 4V3

    The attribute represents the postal code of the customer.


    Name product
    Kind Data movement in DFD
    Type Instance of an Entity
    Description This data element corresponds to a complete instance of the Entity Product.

    Name product criteria
    Kind Data movement in DFD
    Type Integer
    Description This data element corresponds to an integer that is used to specify the type of information that is to be displayed. For example, criteria 2 may display only a particular product motif styles.

    Name product info
    Kind Data movement in DFD
    Type Multiple Field User Input
    Description These fields are input values from the User. They correspond to the fields in the Entity Product. Not all fields in the Product data table are necessarily present in an instance of the product information.

    Name products
    Kind Data movement in DFD
    Type Instance of an Entity
    Description This data element corresponds to one or more complete instances of the Entity Product.

    Name Product
    Kind Entity
    Type @product number + @motif number + product name + size + number of items per unit + cost per unit + comments on product
    Description An Entity in the ERD (Entity Relationship Diagram). This entity represents the products and contains all information about the products that can be sold.

    Name product number
    Kind Primary key
    Type Integer
    Description A Primary key attribute of entity Product.

    The maximum length is 4 digits.

    The format is the type integer.
    For example: 3634

    The primary key specifies the unique product number of a product. It is combined with motif number to generate the primary key for the entity Product.


    Name province
    Kind Attribute
    Type [BC | AB | SK | MB | ON | PQ | PI | NS | NB | YK | NT]
    Description A non-key attribute of the entity Customer.

    The format is: 2 characters.
    For example: AB

    The default value when a new customer is added is AB. The other options are for the future expansion of Peachy Business Forms.


    Name purchase order number
    Kind Primary Key
    Type Integer
    Description The primary key attribute of entity Order.

    The maximum length is 8 digits.

    The format is the type integer.
    For example: 95822454

    This number corresponds to a unique number which describes one purchase order made by a customer.


    Name quantity
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity Order.

    The maximum length is 5 digits.
    The maximum number of visits per day will be less than to 100,000.

    The format is the type integer.
    For example: 1440

    The attribute describes how many forms of one type the customer has ordered for each product and motif number pair.


    Name security level
    Kind Attribute
    Type [ Administrator | Salesperson ]
    Description A non-key attribute of entity User.

    The attribute represents the security privileges of the user. Administrators have full access to the system including all information relating to the salespeople. The Salespeople are a subclass of users that only have access to a limited number of system features. To create a more dynamic system, it is possible that an Administrator may also be a Salesperson.


    Name size
    Kind Attribute
    Type [8.5 * 11 | 8.5 * 14 | 8.5 * 6]
    Description A non-key attribute of entity Product

    The format is the size of the form.
    For example: 8.5 * 14

    The attribute describes the size of a particular product.


    Name status
    Kind Data movement in DFD
    Type Return Message
    Description This data element corresponds to an error message being returned from an operation. An error message may be both successful and unsuccessful. Unsuccessful error messages are further subcategorized into different errors based on the possible errors that can occur in an operation.

    Name street address
    Kind Attribute
    Type String
    Description A non-key attribute of entity Customer.

    The maximum length is 8 lines, 80 characters long.

    The format is: Street goes first , then the address
    For example: 3190 4th Ave N.E.

    The attribute describes the address where the customer is located in the city.


    Name subtotal
    Kind Attribute
    Type Float
    Description Runtime computation for an Order.

    The maximum length is 5 digits with 2 decimal places.

    The format is the percentage in decimal form.
    For example: $10.70

    The attribute represents the total cost of all products on an order before the computation of the Goods and Services Tax. This attribute is used to compute the total of a bill of sales.


    Name Territory
    Kind Weak Entity
    Type @customer ID + territory ID + user ID
    Description This weak entity is associated with the entity Customer. This weak entity is used to keep track of which territory a customer resides in.

    Name territory
    Kind Attribute
    Type Integer
    Description A non-key attribute of entity User.

    The maximum length is 2 digits.

    The format is of type integer.
    For example: 12

    The attribute divides the customers into the territories in which they reside. This will ensure that each customer will be assigned to only one user.


    Name total cost
    Kind Runtime Computation
    Type Float
    Description Runtime computation for an Order.

    The maximum length is 5 digits with 2 decimal places.

    Computed using the formula subtotal + G.S.T.
    The format is the percentage in decimal form.
    For example: $10 + ($10 * 7%) = $10.70

    The attribute represents the total cost of an order.


    Name user
    Kind Data movement in DFD
    Type Instance of an Entity
    Description This data element corresponds to a complete instance of the Entity User.

    Name user criteria
    Kind Data movement in DFD
    Type Integer
    Description This data element corresponds to an integer that is used to specify the type of information that is to be displayed. For example, criteria 2 may display only a particular territory's user.

    Name user info
    Kind Data movement in DFD
    Type Multiple Field User Input
    Description These fields are input values from the User. They correspond to the fields in the Entity User. Not all fields in the User data table are necessarily present in an instance of the user information.

    Name username
    Kind Attribute
    Type String
    Description A non-key attribute of entity User.

    The maximum length is 8 characters.

    The format is the type string.
    For example: smith

    The attribute describes the unique username of the user. While this attribute is unique, it is provided to improve the interface of the system. The username is immediately mapped to the corresponding user ID.


    Name username
    Kind Data movement in DFD
    Type String
    Description This data element corresponds to the user's username.

    Name users
    Kind Data movement in DFD
    Type Instance of an Entity
    Description This data element corresponds to one or more complete instances of the Entity User.

    Name User
    Kind Entity
    Type @user ID + user's name + username + password + security level + office telephone number + cellular number + pager number + email address + maximum visits per day + comments on user
    Description An entity in the ERD (Entity Relationship Diagram). This entity contains all information on the users who are working or have worked for your company.

    Name user ID
    Kind Primary Key
    Type Integer
    Description A primary key attribute of entity User.

    The maximum length is 8 digits.

    The format is the type integer.
    For example: 35492543

    The primary key specifies the unique user identification number in the company.


    Name user's name
    Kind Attribute
    Type String
    Description A non-key attribute of entity User.

    The maximum length is 20 characters.

    The format is the type string.
    For example: Charles Smith

    The attribute describes the name of the user.