Customer/Product Tracking System System Design Specification

1. Management Summary

The web-based intranet will involve the data of employees, customer, inventory, and orders. To begin

implementation, the design must be presented to include the components of the program, program, database

design, interface design, and the type of architecture that should be in place. In addition, there is

consideration of support processing, environmental and implementation requirements.

2. System Components Details

a. Program Design

System Components

BTS Customer/Product Tracking System System Components

Provided Processes 4 Employee Info. Employee Employee Information Process Information Employee Returned Information Employee Information External Entity External Customer Returned Login Result Information Customer Entity Information Login Attempt

1 Customer Information Provided Customer Info. Customer Process Validated Customer Processed Customer Info. Employee Customer Information Information

Customer Information

2 Returned Order Information Completed Customer Orders Requested Order Information Current Order Info.

Returned Product Information Requested Product Info. Requested Product Information Process Customer Returned Inventory Product 3 Orders Info. Returned Info. External Entity Order Info. Returned Product Order/Product Information Reference Info. Process Inventory Information Order Info. Order/Product Reference Info, Customer * Warranty Information

Request Returned Requested Warranty Information Inventory Inventory Info. Info.

D2 Customers D1 Employee Data Storage D4 Orders

D3 Inventory D5 Order_Inv_Ref BTS – Structure Chart

1.0 Customer - Product Tracking System Validated Employee Customer Data Data

Customer Information Current Employee Info Order Info. Login Attempt .

Order Info. o . f o n f I n I y

Customer Info. , r t . c o o f t o u f n n t d I n e I s o

y v r e t y n t P u n I n q a r a e r r r R a a W 1.1 1.2 W 1.4 Process Customer Process Customer Process Employee Information Orders Information Login 1.3 Result

Process Inventory .

Login Info. o Information f n d I

Requested e e e t e e Product Info, e a e . y y d . y w o o o p l f o l o e l f p n p U

Product Info. N I p n I m m m E E E . o

Product Info. f n I

Warranty Info. t c u

d 1.4.2 1.4.3

o 1.4.1 r New Employee Update Employee

P Login Process Process Process

1.3.1 1.3.2 1.3.3 Search Available Lookup Warranty Manage Product Inventory Information Information . o f n I

. t . c

o o

f f u

n n d

I I

o t

y r

r c P

o u

t d d

n o e

e r t

v a P

n d

I w p e U N

1.3.3.1 1.3.3.2 1.3.3.3 Retrieve Inventory New Product Update Product Process Process Process b. User Interface Design (Output/Input Design)

Core Requirements:  Spreadsheet like input. o Table layout with row level data  New input at the bottom of the table  Records are selectable on the left hand side of the table by radio button.  Four Required Actions: o Edit . Usable only on existing records. . Allows the user to modify the record data. o Delete . Usable only on existing records. . Prompts for a confirmation of deletion using JavaScript. . If confirmed, attempts to delete a record. o Save . Saves a new record, or an existing record in edit mode. o Cancel  Actions are to be performed on a per-record basis.  Actions are represented by buttons with text.  Menu selection for the core screens, from left to right: o Employees o Customers o Inventory o Orders o Reports  Menu to be in tabular form located in the top right corner.  System messages to be above tables. o Information, Warnings, Errors.

Employees Screen Requirements:  Include core requirements  Data collected, in order from left to right: o Employee ID – Automatically generated by system. o Last Name – Text field, 100 characters maximum. Required. o First Name – Text field, 100 characters maximum. Required. o Title – Text field, 100 characters maximum. o Pay Style – Drop down selection. Required. . Hourly, Salary, Commission o Pay Rate – Validated numeric text field. Required. o Start Date – Date formatted field. Required. o End Date – Date formatted field. Customers Screen Requirements:  Include core requirements  Add an additional action: o New Order . Usable only on existing customer records . Pre-selects a customer and moves to the Orders screen with the selected customer selected for a new order.  Data collected, in order from left to right: o Customer ID – Automatically generated by system. o Last Name – Text field, 100 characters maximum. Required. o First Name – Text field, 100 characters maximum. Required. o Company Name – Text field, 100 characters maximum. o Address – Text field, 255 characters maximum. o City – Text field, 100 characters maximum. o State/Province – Text field, 100 characters maximum. o Postal (Zip) – Text field, 20 characters maximum. o Country – Drop down selection. Required. o Phone (Primary) – Validated text field. 20 characters maximum. Required. o Phone (Secondary) – Validated text field. 20 characters maximum. o Fax – Validated text field. 20 characters maximum. o Email Address – Validated text field. 255 characters maximum. o Date Added – Formatted date field. Required. o Comments – Text field. 255 characters maximum.

Inventory Screen Requirements:  Include core requirements.  Data collected, in order from left to right: o Inventory ID – Automatically generated by system. o Product Name – Text field, 100 characters maximum. Required. o Product Brand – Text field, 100 characters maximum. Required. o Cost – Validated numeric text field. Required. o Warranty Duration – Drop down selection. Required. o Warranty Information – Text field, 2000 characters maximum. o Warranty Expiration – Formatted date field. o Product Description – Text field, 2000 characters maximum. o Date Added – Formatted date field. Required. o Date Ended – Formatted date field. Orders Screen Requirements:  Include core requirements.  Add an additional action: o Modify Order . Usable only on existing orders. . Sends the user to the order management screen for the selected order.  Data collected, in order from left to right: o Order ID – Automatically generated by system. o Employee – Drop down selection. Required. o Customer – Drop down selection. Required. o Order Date – Date formatted field. Required. o Paid – Drop down selection. Yes or No. Required. o Cost – Automatically generated by system. o Markup – Automatically generated by system. o Subtotal – Automatically generated by system. o Tax – Automatically generated by system. o Total – Automatically generated by system.

Order Management Screen Requirements:  Include core requirements.  Add an additional action: o Return to Orders . Returns the user to the orders screen.  Can only add/edit when order is not set as paid.  Data collected, in order from left to right: o Inventory ID – Automatically generated by system. See Product Name. o Product Name – Text field lookup, 255 characters maximum. Required. . Performs a lookup for a product based on name/brand. . New window appears containing similar results in table format.  Single selection  Data Available: o Inventory ID o Product Name o Product Brand o Cost  Search box available to search again if no results.  Two Actions: o Select . Selects the desired inventory item. o Cancel . Cancels the product lookup. . Selected result updates the Order Management fields. o Product Brand – Automatically generated by system. See Product Name. o Quantity – Validated numeric text field. Required. o Inventory Price – Automatically generated by system. See Product Name. o Cost – Validated numeric text field. Required. UI Prototype Screens

Employees Screen:

Customers Screen: Inventory Screen:

Orders Screen: Order Management Screen:

Order Management Inventory Lookup Screen: c. File and Database Design BTS Customer/Product Tracking System

ERD

INVENTORY EMPLOYEES PK inventory _id PK employee_id product _name last_name product _brand CUSTOMERS first_name cost title PK customer _id product_descr pay_style warranty _duration pay_rate last_name warranty_info start _date first_name warranty_end_date end_date company_name date_added address date_ended city state_prov postal country primary_phone secondary _phone ORDERS ORDER_INV_REF fax PK order_id PK,FK1 order_id email PK,FK2 inventory _id date _added FK1 employee_id comments FK2 customer _id quantity order_date cost paid

Login

employee_id username password

BTS Database Development

Customers Table Field Type Null Default Links to Comments customer_id int(8) No Unique Customer ID last_name varchar(100) No Customer Last Name first_name varchar(100) No Customer First Name company_name varchar(100) Yes NULL Company Name address varchar(255) Yes NULL Customer/Company Address city varchar(100) Yes Houston City state_province varchar(100) Yes Texas State or Province postal varchar(20) Yes 77058 Postal Code country enum('US', 'CA') No US Country 'US' or 'CA' primary_phone varchar(20) No Primary phone number, required. secondary_phone varchar(20) Yes NULL Secondary phone number fax varchar(20) Yes NULL Fax number email_address varchar(255) Yes NULL Email address date_added date No Date added to database comments text Yes NULL Additional Information

Employees Table Field Type Null Default Links to Comments Unique Employee employee_id int(8) No ID Employee Last last_name varchar(100) No Name Employee First first_name varchar(100) No Name title varchar(100) No Temporary Employee Job Title Pay Style, 'H' for Hourly, 'S' for pay_style enum('H', 'S', 'C') No H Monthly Salary, 'C' for Commission pay_rate float(8,2) No 8.25 Pay Rate Employee Start start_date date No Date Employee End end_date date Yes NULL Date Inventory Table Field Type Null Default Links to Comments inventory_id int(8) No Unique Inventory ID product_name varchar(100) No Product Name product_brand varchar(100) No Product Brand cost float(8,2) No 0.00 Product Cost warranty_info varchar(2000) Yes NULL Warranty Information Duration of warranty in years. 0.5 can warranty_duration double(3,2) No 0.00 be used to reference 6 months. warranty_end_date date Yes NULL Warranty Offer End Date product_descr varchar(2000) Yes NULL Product Description date_added date No Date Added to Inventory date_ended date Yes NULL Date Removed from Inventory

Order_Inv_Ref Table Field Type Null Default Links to Comments order_id int(8) No orders -> order_id Reference to orders.order_id inventory_id int(8) No inventory -> inventory_id reference to inventory.inventory_id quantity int(8) No 1 Ammount of the selected item to be sold cost float(8,2) No 0.00 Cost per unit at time of order

Orders Table Field Type Null Default Links to Comments order_id int(8) No Unique Order ID employee_id int(8) No employees -> employee_id Reference to employees.employee_id customer_id int(8) No customers -> customer_id Reference to customers.customer_id order_date date No Date of Order paid enum('N', 'Y') No N Payment Status 'Y' for Yes, 'N' for N comments text No Additional order comments

e. Support Processing Design

In order to better manage system problems due to hardware failures, system software errors, user

mistakes and power outages, we need to provide system support by including:

. Backup and Recovery—Copy data files to a back-up server on a periodic basis as processing

occurs and being able to recover those files in event of data loss.

. File Retention— Archive files that will be retained depending on the type of data and for

whatever legal requirements.

. Restart—The objective is to restart the system if an error occurs while the program is running

. Start-up processing—The transition from the old system(s) to the new should be direct, but may

need to be done through phases as data is being entered into each part.

3. Environmental Requirements

. Linux operating system, two hard drives in RAID-1 (mirrored) mode for redundancy in the event of

failure

. Application Server Requirements: Oracle Application Server version 10.1.2 OR Apache Tomcat

version 5.5

. Database Requirements: MySQL version 5.0

. Security constraints:The database and application servers run on restricted accounts on the system,

and that a specific database account be created for the system (isam4635)

. Additional requirements: Database account connectivity be limited to only that of the application

server (localhost) or to remote workstations of database administrators 4. Implementation Requirements

User Training Plans In-House Training will be applied and the responsibility will be shared by IT staff as well as user

department managers. Employees will be trained in department groups using demonstrations and lectures.

On-line training tutorials will also be provided for future recruitment of new employees.

Software Test Plans

To reduce the possibility of costly errors, there would be a need to test the system to ensure that all the

modules and programs are functioning without error. The system test will determine if the system meets the

business requirements and whether the environment will fulfill the requirements for security, usability, and

performance. 5. Time and Cost Estimates

(As discussed in Project Plan) Adjusted Project Complexity (APC): .90 + (0.01 x 11) = 1 .01 Total adjusted Function Points (TAFP) = . 1.01 (APC) x 210 (TAFP): 212.1

The development of this system will use the following: 60% Java, 30%XML, 8% SQL, 1% JavaScript, and 1% HTML

Total Lines of code: [(.60x 212.1 x55) + (.30 x 212.1 x 15) + (.08 x 212.1 x 15) + (.01 x 212.1 x 15) + (.01 x 212.1 x 15)] = 8240.1

Effort (in person-month) = 1.4 X (8240.1/1000) = 11.536 person-months Schedule time (months) = 3.0 x 11.5361/3 = 6.78 months Number of staff = 11.536 / 6.78 = 1.70 ~ 2 staff members.

The max projected cost of implementation Hourly rate for programmer $47/hr for 35 days

13,160 * 2 = $26,320