CIE O Level Computer Studies 7010 Coursework (May/June 2010 session) Stage 1 – Analysis 1
Description of the problem
Viper Electronics is a well-reputed electronic shop currently operating in Dhaka, Bangladesh. It deals with the selling of electronic goods to customers and has been running since 1998. The shop remains open for 5 days in a week from 9am to 10pm and is closed during weekends. At present, the shop runs a manual system consisting of a manager, two cashiers and one advisor. The advisor shows customers the available products and gives advice on buying product. The cashiers input the customers’ details manually and give them card containing a registration number. When the transaction is complete, the customer receives a receipt. Due to the increase in the number of customers, the staff faced numerous problems. The main problem is the slow process done by the manual system and the time wasted in processing and inputting data. Besides, transposition errors are made when data is being copied or recorded. Huge amount of paper is wasted due to the manual system. Searching for data is also difficult as the staff have to go through all the files to find the required data. The increased number of customers results in a long queue. Amending records causes a whole record to be created again. Furthermore, wrong calculation creates more problems for both customers and staff. Through a carefully designed questionnaire, the employees’ view on the problem was received. The following answers were given by the staff. Q. Could you give me a short description of the current system? A: As you know, the whole system is done manually by hand. At first we didn’t face any problems, but now as we are well-established we are facing more problems due to the manual system. Q. What are the employers doing to solve the problem? A: Nothing much. But they are planning to hire more employees to speed up the current system. Q. Do you keep backup copies? A: No. We are having difficulties creating backups due to the increasing number of customers. Q. Do you think a computerized system would help? A: Well, it might. The computerized system should be fast, user friendly, should not make errors in calculations, and should automatically update the stock and so on. Q. Do you need any security settings? A: Yes, of course. We really don’t want unauthorized users having access to our new system.
2
Specific objectives
In terms of business, the new system must: 1. Be faster and easier to manage 2. Be easily accessible by staff 3. Have a large storage capacity for storing data 4. Should be highly accurate 5. Should detect common errors 6. Reduce paper costs 7. Low maintenance cost In computer terms, the system must: 8. Be user-friendly 9. Maintain data security to prevent unauthorized access 10. Show error messages 11. Deal with data both by validation and verification 12. Process data faster 13. Produce reports and receipts 14. Search for data faster In order to achieve these objectives, the cost of implementing and maintaining the proposed system must be cheaper than the manual system. The new system must occupy less space for storage, but also have higher capacity to hold more information for further use. The new system must be reliable to use by the staff. The processing of data should be fast obviously and lastly, the time taken for producing outputs must be reduced for higher efficiency. 3
Description of the existing solution
There are two employees responsible for front-desk customer service. When a customer places an order, the cashier inputs the details (customer ID, sales ID, product ID, etc.) into the registry form manually. After that, the customer gets a receipt with the details. Copies of this receipt are made by carbon papers. Then, the required amount is paid by the customer.
The output (receipt) of the transaction is as follows:
VIPER ELECTRONICS 66/6 Elephant Road, Dhaka Phone:9783677
Bill no. :
Transaction Receipt Date…/…/……. TID:______ Customer name:______________________________ Address:_________________________________________ _________________________________________
Sl. No.
Description
Price
_____________________ Authorized Signature
The flow chart of the existing system is shown below Start
Customer gives order
Is product present?
NO
YES
Update transaction register
Fill in transaction form
Customer receipt
Transaction reports
Stop
4
Evaluation of the existing system
The advantages of the current system are: •
Employees do not need special training
•
Less money needed for training
•
Easy to understand and operate
•
The system runs without any expensive equipment
•
The system is efficient when there is less customer demand
The disadvantages of the system are: •
The process of data capturing is slow and boring because everything is written by hand
•
Data errors often occur when recording or editing data
•
Customers are not satisfied by the system’s inefficiency and slow process
•
It is difficult and costly to create backup files
•
The huge amount of paperwork makes it difficult to organize data
•
No backup copies are kept which results in problems when original data is lost
•
Searching for data wastes a lot of time
Suggested improvements Some improvements to the company by can be made by other means. Backup copies should be made regularly. The data entered must be double-checked by other staff members to reduce the chance of errors. Calculations should be verified before producing receipts. Finally, the need to duplicate unnecessary data must be eliminated 5
Description of other possible solutions
There are 3 other possible solutions to solving the existing problem. They are as follows: Method of solution
Accuracy
Hiring more employees
Time taken for:
Cost of:
Implementatio n
Custome r service
Updatin g
Implementatio n
Runnin g
Moderat e
Short
Moderat e
Long
High
High
Increase size of business
Poor
Long
Very long
Long
Very high
High
Complete computerizatio n
Excellent
Long
Short
Short
High
low
•
Hiring more employees: this will solve the problems on the part of customer service and data accuracy. Data registration will take less time, but the shop’s expenditure will rise due to the rise in employees’ wages.
•
Increasing the size of business: this process may take a long time to implement. The average running cost will decrease but its implementation cost will increase. Customer handling will turn out to be difficult and system accuracy will decrease.
•
Complete computerization: this process is so far the best solution to solving the problems. Service to customers will take much less time, it is easy to operate, data can be kept accurate and searching takes less time. There is less use of paper work, which will reduce paper wastage and even number of employees can be reduced.
6
Evaluation of other possible solutions:
The advantages and disadvantages of hiring more employees are mentioned as follows: ADVANTAGES • •
Faster customer service and rapid input and update of data
DISADVANTAGES •
High implementation cost
•
High running cost
Reduction of errors
The advantages and disadvantages of increasing the business size are as follows:
ADVANTAGES •
Reduction of running cost
DISADVANTAGES •
Poor accuracy
•
Long time for implementation
•
High cost
The advantages and disadvantages of complete computerization are as follows:
ADVANTAGES
DISADVANTAGES
•
High accuracy
•
High implementation cost
•
Excellent customer service
•
Takes time for implementation
•
Low maintenance cost
•
Rapid search and update can be performed
Justification of the proposed system For high efficiency and permanent establishment of the system, the best possible solution is to fully computerize the shop. Complete computerization is cost-effective and very efficient. The problems given by the shop’s staff may be solved by this system. Computerization will save money, reduce
data procession time, produce reports, correct errors by validation and verification, reduce the number of employees and store huge data in an organized way.
Stage 2 – Design 7
Overall plan
The computerized system must be able to carry out the following tasks to satisfy the staff:
Record all sorts of data (objective 3)
Execute validation checks on input data (objective 11)
Produce user-friendly interface for so that data can be input easily (objective 8)
Performing calculations with no errors (objective 4)
Editing the data easily without the need to create a whole new record again (objective 1)
Generate reports (objective 13)
The time schedule of developing the system is mentioned below:
8
Description of the method of the solution
The concept of Relational Database Management System will be used. All the information will be stored in a database file with separate tables. Establishing relationships between tables will make data handling much easier. A suitable program should be created by an appropriate programming language. Visual Basic software will be used to write programs & create user-friendly interfaces as well. Databases can be linked to VB by Microsoft Jet Provider 4, SQL and other codes which can perform all operations. The top-down design of the system is shown below:
Login Form
Product Info
Main Menu
Transaction report search ProductShow search Search Form
Transaction Info Add, save, edit and delete records Add, save, edit and delete records Show Receipt
The data structures of the four main tables to be used are given below with each field name, its description, data type, field size and an example of its value. Field Name
Field type
Description
Field size
Example:
Product ID
Text
Unique product
5
P1000
Identification number Product type
Text
Type of the product
50
DVD player
Product brand
Text
Manufacturer of product
35
Sony
Origin
Text
Shows where the product comes from
15
Japan
Stock
Number
Current quantity of product
5
30
Field size
Example:
Table name: Product Information Table Field Name
Field type
Description
Username
Text
Username of employee
25
Jimmy
Password
Text
User’s password
10
G02733H
Table name: User Accounts table
Table name: Transaction Information Table
Field Name
Field type
Description
Field size
Example:
Transaction ID
Text
Unique
5
T1000
transaction serial no. Customer name
Text
Name of customer
45
Matthew Tuck
Address
Text
Address of customer
255
55/2 Bailey Road, Dhaka- 1666
Contact no.
Number
Phone or mobile no. of customer
11
01766654321
Product ID
Text
Unique product
5
P1000
Identification number Price
Number
Cost of product
7
5000
Date
Date
Date of transaction
10
20/10/2008
The Product ID in the Product Info table is related to the Product ID in the Transaction Info table as one-to-many as shown below: Data flow diagrams that show how the system works Start Staff adds a new record and inputs 1
the data
Any errors??
∞
Yes No Error message Product info file is updated Product Info Stop Add new product
Start Staff verifies data and updates existing record Any errors?? Yes No Error message Product info file is updated Product Info Stop Edit a product record
Start Staff adds a new record and inputs the data Any errors?? Yes No Error message Transaction info file is updated Transaction Info
Stop Add new transaction
Start Staff verifies data and updates existing record Any errors?? Yes No Error message Transaction info file is updated Transaction Info Stop Edit a transaction record
Start Stop Search a record Select option to search for record Input the data to be searched Is data found? Yes Display data found No
Start Stop
Create report for a record Select option to find data to report Input the data to create report on Is data found? Yes Show report on data found Show blank report Close Close
The screen layouts of the software are as follows:
Main menu VIPER ELECTRONICS Main Menu
PRODUCT INFORMATION
TRANSACTION INFORMATION SEARCH DATA
BACK
EXIT
Login Menu
Username
Password
ENTER MAIN MENU
CLEAR
EXIT
Product ID
ADD
Product type Manufacturer Origin Stock
Product info
SAVE EDIT
SEARCH
DELETE
REFRESH BACK
Search and Report form Search by: O
Product ID
O
Product type
O
Manufacturer
O
Transaction ID
O
Customer name
O
Date
SEARCH
CLEAR
SHOW REPORT GO TO MAIN MENU
EXIT
Transaction info Transaction ID Product ID
ADD
SAVE
Customer name
EDIT
SEARCH
DELETE
REFRESH
Contact no. Customer Address Date Price Quantity Total price
SHOW RECEIPT
BACK
9
Hardware
The hardware required by the system with its reasons is outlined in the table below: Device
Minimum requirement
Reason
Processor
Pentium 3 – 266MHz
•
To operate all programs at a moderate speed
•
To perform calculations at a moderate speed
•
To store operating system, database and its records
•
To keep backup of data
•
For the smooth performance of running programs
•
To store database file and software temporarily for fast processing
•
To provide output display of data
•
To view the current process
•
To install the operating system and other packages
•
To save backup data and transfer data
•
To print reports
•
To produce receipts
•
To connect visual display unit to the system
•
To store graphics temporarily to be shown
Hard-disk
RAM
Monitor
CD writer
Printer
Graphics card
10GB
128MB
15 inch color monitor
8-X speed
Black-and-white ink-jet printer
32 MB AGP
10
Software
The necessary software used to create the software are shown below: Name of software
Use
Microsoft Visual Basic 6.0
•
To design interfaces
•
•
To perform validation checks
Contains a useful number of tools for designing
•
It is easier to write codes because the codes are similar to English
•
It has attractive and graphical user interfaces
•
Easy to create database
•
It is also easy to establish relationships
•
Can be used in association with Visual Basic 6.
•
It is commonly used
Microsoft Access
•
Justification for its use
To create and store database records
The other software that could have been used, but were not really used were: Software
Advantages
Disadvantages
Microsoft Excel
•
Has a spreadsheet feature
•
Does not support DBMS
•
Easy and simple to use
•
Queries are inadequate
•
Contains numerous function to solve mathematical problems
•
Not flexible
Stage 3 – Implementation 11
Method of solution related to the problem
The proposed system is a database management system with the main target to store data in a systematic and orderly way. Microsoft Access will be used to create database tables and create relationships between similar fields in different tables. To make the system user-friendly and easy to learn, Visual Basic will be used to write the program. By using Microsoft Jet 4.0, the database files can be linked to Visual Basic, which will then perform the manipulations on the data. In this way, the
system will be fast in processing data and can be highly accurate by validation checks during data capture. The security will be enhanced by addition of username and passwords to the system.
Database tables At first, 3 tables were created by MS Access each containing a unique primary field. After that, the tables were converted into MS Access 97 format, so that it can be used by VB 6. The structures of the tables are shown below:
Product table in design view
Product table in run mode
(Above)Transaction table in design mode and (below) Transaction table in run mode
( Above) Users table in design mode and (below) Users table in run mode
Relationship of Product ID in Transaction & Product table (one-to-many)
User Interface VB 6.0 will be used to create the user interfaces of the program. To make it user-friendly, the form created will contain text boxes, command button, combo boxes, etc. These will also help the user work easily and do the job in a short period of time. For report generation and searching, a data environment was created. The structures of each form, report and the data environment all in design mode are shown below:
(Above) Login Menu form and (Below) Main Menu form
(Above) Transaction Information form
(Above) Product Information form
(Above) Search and Report form
(Above) Data Environment for generating reports
Transaction receipt
(Above) Product Report by Product ID
(Above) Product report by Product manufacturer
(Above) Product report by Product type
(Above) Transaction report by customer’s name
(Above) Transaction report by date of transaction
(Above) Transaction report by transaction ID
Coding The codes of all the forms that operate the system are given below. The Structured Query Language (SQL) which is used for searching and creating reports is also included. Code for Login Menu Code for “enter main menu “button Dim UsrN, Pass, UsrN2, Pass2 UsrN = cboUser.Text
Pass = Txtpass.Text UsrN2 = AdoSec.Recordset.Fields("Username") Pass2 = AdoSec.Recordset.Fields("Password") If cboUser.Text = "" Then Exit Sub If UsrN = UsrN2 And Pass = Pass2 Then FrmMain.Show Unload Me Else MsgBox "Invalid Password. Please try again.", vbCritical, "Wrong Password" End If End Sub Code for “clear” button Private Sub Command1_Click() cboUser.Text = "" Txtpass.Text = "" End Sub Code for “Exit” button Private Sub Command2_Click() End End Sub Code for “Main Menu” form Code for “product information” button Private Sub Command1_Click() FrmProduct.Show FrmMain.Hide End Sub Code for “transaction information” button Private Sub Command3_Click() FrmTrans.Show FrmMain.Hide
End Sub Code for “Search data” button Private Sub Command4_Click() FrmSR.Show FrmMain.Hide End Sub Code for “Back” button Private Sub Command5_Click() FrmLogin.Show FrmMain.Hide End Sub Code for exit button Private Sub Command6_Click() End End Sub Code for “Transaction info” form Code for “save” button Private Sub Command2_Click() If Text9.Text = "" Then Text9.Text = Val(Txtprice.Text) * Val(Txtqty.Text) Else If TxtTID.Text = "" Or Not UCase(TxtTID.Text) Like "T####" Then MsgBox "Transaction ID cannot be blank", vbCritical TxtTID.SetFocus Else If TxtDate.Text = "" Then MsgBox "Date cannot be blank", vbCritical TxtDate.SetFocus Else If Txtprice.Text = "" Then
MsgBox "price cannot be blank", vbCritical Txtprice.SetFocus Else If Txtqty.Text = "" Then MsgBox "Quantity cannot be blank", vbCritical Txtqty.SetFocus Else AdoTrans.Recordset.Update MsgBox "Record successfully updated", vbOKOnly, "Saved" AdoTrans.Recordset.MoveFirst End If End If End If End If End Sub Code for “delete” button Private Sub Command3_Click() MsgBox "Are you sure you want to delete?", vbYesNo + vbExclamation If vbYes Then AdoTrans.Recordset.Delete AdoTrans.Recordset.MoveFirst MsgBox "Record deleted", vbInformation Else Exit Sub End If End Sub Code for “edit” button Private Sub Command4_Click() TxtTID.SetFocus End Sub
Code for “back” button Private Sub Command5_Click() FrmMain.Show Unload Me End Sub Code for “search” button Private Sub Command7_Click() FrmSR.Show Unload Me End Sub Code for “refresh” button Private Sub Command8_Click() AdoTrans.Recordset.Cancel AdoTrans.Refresh End Sub Code for “total price” textbox Private Sub Text9_Change() Text9.Text = Val(Txtprice) * Val(Txtqty) End Sub Private Sub Text9_Click() Text9.Text = Val(Txtprice) * Val(Txtqty) End Sub Code for “product ID” combo box Private Sub TxtPID_Change() TxtPID.Text = DataCombo1 End Sub Private Sub TxtPID_Click() TxtPID.Text = DataCombo1 End Sub Code for “price” textbox
Private Sub Txtprice_Change() If Txtprice.Text = "" Then Exit Sub Else If Not IsNumeric(Txtprice.Text) Then MsgBox "please enter numbers here", vbCritical, "Error" Txtprice.Text = "" Exit Sub End If End If End Sub Code for “quantity” textbox Private Sub Txtqty_Change() If Txtqty.Text = "" Then Exit Sub Else If Not IsNumeric(Txtqty.Text) Then MsgBox "please enter numbers here", vbCritical, "Error" Txtqty.Text = "" Exit Sub End If End If End Sub Code for “show receipt” button Private Sub Command6_Click() Dim T T = Trim(TxtTID.Text) Unload DataReceipt If DataEnvViper.rsT_receipt.State = adStateOpen Then DataEnvViper.rsT_receipt.Close
End If DataEnvViper.T_receipt T If DataEnvViper.rsT_receipt.RecordCount < 1 Then MsgBox "Sorry, no such record found.", vbInformation, "Record Not Found" Exit Sub End If DataReceipt.Show End Sub Code for “Product info” form Code for “refresh button Private Sub cmdr_Click() AdoPrd.Recordset.Cancel AdoPrd.Refresh End Sub Code for “search” button Private Sub CmdSrc_Click() FrmSR.Show Unload Me End Sub Code for “add new” button Private Sub Command1_Click() AdoPrd.Recordset.AddNew TxtPID.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" TxtPID.SetFocus End Sub Code for “save” button
Private Sub Command2_Click() If Len(TxtPID.Text) = 0 Then MsgBox "product ID cannot be blank", vbCritical TxtPID.SetFocus Else If Not UCase(TxtPID.Text) Like "P####" Then MsgBox "format of Product ID is P####", vbCritical TxtPID.Text = "" TxtPID.SetFocus If Len(Text5.Text) = 0 Then MsgBox "Stock cannot be blank", vbCritical Else AdoPrd.Recordset.Update MsgBox " Record successfully saved.", vbInformation, "Viper Electronics" End If End If End Sub Code for “delete” button Private Sub Command3_Click() MsgBox "Are you sure you want to delete?", vbYesNo + vbExclamation If vbYes Then AdoPrd.Recordset.Delete AdoPrd.Recordset.MoveFirst MsgBox "Record deleted", vbInformation, "Viper Electronics" Else Exit Sub End If End Sub Code for “back” button Private Sub Command4_Click()
FrmMain.Show FrmProduct.Hide End Sub Code for “edit” button Private Sub Command5_Click() TxtPID.SetFocus End Sub Code for “origin” textbox Private Sub Text4_Change() If IsNumeric(Text4.Text) Then MsgBox "please enter only text here", vbCritical, "error" Text4.Text = "" Exit Sub End If End Sub Code for “stock” text box Private Sub Text5_Change() If Text5.Text = "" Then Exit Sub Else If Not IsNumeric(Text5.Text) Then MsgBox "please enter numbers", vbCritical, "error" Exit Sub Text5.Text = "" Text5.SetFocus End If End If End Sub Code for “search and report” form Code for “go to main menu” button
Private Sub CmdBack_Click() FrmMain.Show Unload Me End Sub Code for â&#x20AC;&#x153;search button Private Sub Command1_Click() If Option1 = True Then If Not UCase(TxtSR.Text) Like "P####" Then MsgBox "the format of product ID is P####", vbCritical, "error" TxtSR.Text = "" Exit Sub End If prdID = TxtSR.Text If DataEnvViper.rsProduct_ID.State = adStateOpen Then DataEnvViper.rsProduct_ID.Close End If DataEnvViper.Product_ID prdID With DataGrid1 .DataMember = "Product_ID" Set DataSource = DataEnvViper End With End If If Option2 = True Then prod_t = TxtSR.Text If DataEnvViper.rsProd_t.State = adStateOpen Then DataEnvViper.rsProd_t.Close End If DataEnvViper.prod_t prod_t With DataGrid1 .DataMember = "Prod_t"
Set DataSource = DataEnvViper End With End If If Option3 = True Then prod_manf = TxtSR.Text If DataEnvViper.rsProd_manf.State = adStateOpen Then DataEnvViper.rsProd_manf.Close End If DataEnvViper.prod_manf prod_manf With DataGrid1 .DataMember = "Prod_manf" Set DataSource = DataEnvViper End With End If If Option4 = True Then TID = TxtSR.Text If DataEnvViper.rsTrans_ID.State = adStateOpen Then DataEnvViper.rsTrans_ID.Close End If DataEnvViper.Trans_ID TID With DataGrid1 .DataMember = "Trans_ID" Set DataSource = DataEnvViper End With End If If Option5 = True Then C_name = TxtSR.Text If DataEnvViper.rsC_name.State = adStateOpen Then DataEnvViper.rsC_name.Close End If
DataEnvViper.C_name C_name With DataGrid1 .DataMember = "C_name" Set DataSource = DataEnvViper End With End If If Option6 = True Then T_Date = TxtSR.Text If DataEnvViper.rsT_Date.State = adStateOpen Then DataEnvViper.rsT_Date.Close End If DataEnvViper.T_Date T_Date With DataGrid1 .DataMember = "T_Date" Set DataSource = DataEnvViper End With End If End Sub Code for “exit” button Private Sub Command2_Click() End End Sub Code for “clear” button Private Sub Command4_Click() TxtSR.Text = "" End Sub Code for “show report” button Private Sub Command3_Click() If Option1 = True Then prdID = TxtSR.Text
If DataEnvViper.rsProduct_ID.State = adStateOpen Then DataEnvViper.rsProduct_ID.Close End If DataEnvViper.Product_ID prdID PrdIDRep.Show End If If Option2 = True Then prod_t = TxtSR.Text If DataEnvViper.rsProd_t.State = adStateOpen Then DataEnvViper.rsProd_t.Close End If DataEnvViper.prod_t prod_t PrdtypRep.Show End If If Option3 = True Then prod_manf = TxtSR.Text If DataEnvViper.rsProd_manf.State = adStateOpen Then DataEnvViper.rsProd_manf.Close End If DataEnvViper.prod_manf prod_manf PrdmanfRep.Show End If If Option4 = True Then TID = TxtSR.Text If DataEnvViper.rsTrans_ID.State = adStateOpen Then DataEnvViper.rsTrans_ID.Close End If DataEnvViper.Trans_ID TID trnIDRep.Show End If
If Option5 = True Then C_name = TxtSR.Text If DataEnvViper.rsC_name.State = adStateOpen Then DataEnvViper.rsC_name.Close End If DataEnvViper.C_name C_name TrnCRep.Show End If If Option6 = True Then T_Date = TxtSR.Text If DataEnvViper.rsT_Date.State = adStateOpen Then DataEnvViper.rsT_Date.Close End If DataEnvViper.T_Date T_Date TrnDRep.Show End If End Sub SQL statements for searching and report generation For Transaction receipt: Select*from Transaction_info where Transaction_ID=T_receipt For product report by product ID: Select *from Product_info where Product_ID=prdID For product report by product type: Select *from Product_info where Product_type=Prod_t For product report by product manufacturer: Select*from Product_info where Manufacturer=Prod_manf For Transaction report by transaction ID: select*from Transaction_info where Transaction_ID=TID For Transaction report by customer name: select*from Transaction_info where Customer_name=C_name For Transaction report by transaction date: select*from Transaction_info where Trans_Date=T_Date
12
Accurate method of solution
The objectives achieved by the new system are listed below: •
The system has been made user-friendly by creating the creating the interface with VB 6 and making use of different tools like command buttons, combo boxes, text boxes, etc.
•
Data security has been maintained by adding a login form with username and password to prevent unauthorized personnel from misusing the system.
•
Searching for data has been made faster by its search form and options for searching are provided as well.
•
Data reports can now be easily made from the “search and report “form.
•
The system is easier to manage and saves time because the staff does not have to write everything by hand anymore.
•
The system can now perform calculations faster than the previous system.
•
The system can detect common errors made by users and can correct them by showing error messages.
•
The maintenance cost of the system is reduced as there is less need of paperwork and less employment of workers as well.
•
The new system can process and handle data faster.
•
Paper costs are reduced.
Stage 4 – Testing 13
Test strategy
Testing is performed to check how the system handles different situations. It is also used to check whether invalid data is rejected and only valid data is accepted. Data validation Validation checks are performed by the computer to make sure that data entered is correct and appropriate. Some validation checks include: 1. Length check: this check makes sure that input data is not longer than it is expected. 2. Type check: this check makes sure whether the right type of characters has been input into a field. 3. Presence check: this check detects whether the data in a certain field is present or empty. If empty, the system shows an error.
4. Format check: this check makes sure whether the format of certain data is correct. E.g.: format of product ID is P#### Data verification Data verification is a method of avoiding transposition or transcription errors when typing in data. The 2 mains types of verification are: 1. Proof reading: the user carefully compares the data that has been entered from the original copy. 2. Double entry: here, two users input the same data and both data will be checked if they are identical before being processed. The tested data and its expectations are listed in the tables shown in the next page Objective no.
Field
Test Data
Validation Type
4, 5, 11
Product ID
Normal
Presence check
Product type
Normal
Length check
Abnormal/Extreme Manufacturer
Origin
Normal
Length check
Abnormal
Character check
Normal
Length check
extreme
Stock
Abnormal
Character check
Normal
Character check
Abnormal Extreme Objective no.
Field
Test Data
Validation Type
4, 5, 11
Transaction ID
Normal
Length check
Extreme Customer name
Normal
Character check
Abnormal Extreme Contact no.
Normal
Character check
Abnormal Date
Normal
Format check
Abnormal Price
Normal Extreme
Quantity
Normal abnormal
Total Price
Normal
Character check
Extreme Abnormal Customer address
Normal
Length check
Extreme
Expected results from Product Info table Expected results of Transaction Info table 14
Test results
The results of data input (normal, abnormal and extreme) detected by the system are are shown below. When there is an error in data input, an error message was shown.
Error message shown when a number is typed into the origin box [character check]
Error message shown when alphabet is typed into stock box [character check]
Error message when product ID is left empty before saving [presence check]
Result shown when normal data is saved by the system
Error message shown when extreme data is typed in [range check]
Error message when abnormal data is typed into the Transaction ID box [Format check]
Error message when text is entered in the price box [presence check] [abnormal data test check]
Error message when characters are typed in the quantity box [character check] [abnormal data test]
Normal data input before saving data in Transaction form
Stage 5 â&#x20AC;&#x201C; Documentation 15
Technical documentation
The system was created by the main steps listed below: I.
A database was created
II.
Relationships between tables in the database were established
III.
The systemâ&#x20AC;&#x2122;s user interface created by Visual Basic 6.0
IV.
The reports were designed afterwards with Visual Basic as well
To create the database, the following steps were done: 1. Open MS access and create a blank database
2. Create the database table in design view. There, add the necessary fields, its data types and other specifications. 3. Specify the table’s primary key and save it. 4. Repeat the 1st three steps to create the other tables To create relationships among the tables, the following steps were done: 1. Go to “database tools” tab and select “relationships” button. 2. Add all the tables 3. Drag the mouse from one primary key of a table to another one. Then right-click and edit it To create the user interface, the following steps were done: 1. Open Visual Basic 6. 2. Click on ‘Standard EXE’ and open it 3. Add the necessary labels, textboxes, combo boxes, data grid, options, etc. 4. Link the data control to the respectable table 5. Write the codes for each form and save the form To create reports, the following steps were done: 1. Open a ‘Data Environment’ from VB6 2. Create a connection. 3. Then go to its properties and connect it to a database 4. Add commands for each table 5. Then write down the SQL statement for each table 6. Create the data reports 7. Design the report 8. Link it to the respectable commands in the data environment
16
User Documentation
The instructions on using the software are enlisted below: 1. Open the software
2. The login screen appears where you have to type in the username and password to gain further access 3. After that, the main menu appears showing the 3 main forms: product info, transaction info and “search and report” info 4. Click on any of the buttons to go into its respective form 5. For manipulation work in product or transaction form, type in the data in the correct text boxes and use the command buttons- add new, save, delete, etc. 6. To create reports, go to the search and report form. Choose an option, type in the data in the text box and click “show report” 7. To search for a record, go to the search and report form. Choose an option and enter the data in the text box, then click on “search” 8. To exit, click on the “exit” button in the main form The descriptions of the forms in run mode are as follows:
1
2
3
4
5
Login Menu
No.
Description
1
Combo box- gives a dropdown list of available usernames
2
Text box- password should be entered here
3
Main menu button – gives access to main menu
4
Clear button – clears the password textbox & username combo box
5
Exit button – closes the program
1
4 5
2
3
Main Menu No.
Description
1
Product button- opens the product Info button
2
Transaction button – opens the transaction Info button
3
Search data – opens the search and report button
4
Back button – returns back to login menu
5
Exit button – closes the program
2 5
1
3
6
4
7 10 8
9
No.
Description
1
Textboxes – used to type in data
2
Add new button – adds new record
3
Save button – saves the record
4
Back button – returns to main menu
5
Search button – goes to search to search and report form
6
Edit button – edits or updates previous record
7
Delete button – deletes a record
8
ADODC – links the Product_info table to the form
9
Data grid – displays all records stored
10
Refresh button – cancels current process like adding/editing a record
Product info
7
10 9 1
11
6 8
5
3 2
4
Transaction Info No.
Description
1
Textboxes – used to type in data
2
Receipt button – shows the transaction receipt
3
ADODC – links the Transaction_info table to the form
4
Data grid – displays all available transactions
5
Refresh button – cancels current process like adding/editing a record
6
Delete button – deletes a record
7
Add new button – adds new record
8
Search button – goes to search to search and report form
9
Edit button – edits or updates previous record
10
Save button – saves the record
11
Product combo – shows a dropdown list of all products
2
1
4 5
3
7 6
8 9
Search and report No.
Description
1
Product option – options to search for product
2
Transaction option – options to search for transaction
3
Search button – searches for record
4
Text box – used to type data for searching and reporting
5
Clear button – clears all text in text button
6
Report button – shows report
7
Data grid – displays searched data
8
Main menu button – shows main menu
9
Exit button – closes the program
Stage 6 – System Evaluation and development 17
Evaluation
After completing the system, the software was sent to the company where it was decided that both the existing and new system should run parallel. After using the new system for a few weeks, the company was satisfied by the benefits provided by the new system, but the new system had some drawbacks as well. However, its advantages definitely over-rule its disadvantages. The benefits of the new system are: •
The interface is user-friendly(objective 8)
•
It provides higher security for files(objective 9)
•
High accuracy(objective 4)
•
Low running cost(objective 7)
•
Validation check can be automatically performed to reduce errors(objective 11)
•
It can store large number of records in a small space(objective3)
•
Requires less memory storage
•
Requires less paperwork(objective 6)
•
Processing and output of information is very fast(objective 12)
•
Easier and faster production of outputs(objective 13)
The drawbacks of the new system are: •
It is not flexible enough to handle unexpected situations. For example when a product is returned due to a fault, then this information cannot be stored in the database
•
If the computer breaks down, there would a need to do paperwork which can arouse problems
•
Backup copies must be created frequently in case of any emergency
•
The system does not have the facility to provide bar-code reading
18
Developments
The new system is not absolutely perfect. So, some of its features of this system can further be developed which can benefit the company even more. Some suggestions for improvement are: •
The employees’ payroll system can also be included
•
A help file can be created which will help users when dealing with common errors
•
Alternative input processing systems can be introduced, such as bar-code reading, optical character recognition, etc.
•
The facility of calculating the company’s profits and losses over a period of time can be included. This can be shown by graphs, pie-charts and bar-charts.