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. : Date…/…/……. TID:______ Customer name:______________________________ Address:_________________________________________ _________________________________________
_____________________ Authorized Signature |
The flow chart of the existing system is shown below
Start |
Customer gives order |
Is product present? |
NO
Update transaction register |
Customer receipt |
Fill in transaction form |
YES
Stop |
Transaction reports |
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 | Time taken for: | Cost of: | |||
Implementation | Customer service | Updating | Implementation | Running | ||
Hiring more employees | Moderate | Short | Moderate | Long | High | High |
Increase size of business | Poor | Long | Very long | Long | Very high | High |
Complete computerization | 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 | DISADVANTAGES |
· Faster customer service and rapid input and update of data
· Reduction of errors |
· High implementation cost
· High running cost |
The advantages and disadvantages of increasing the business size are as follows:
ADVANTAGES | DISADVANTAGES |
· Reduction of running cost | · Poor accuracy
· Long time for implementation · High cost |
The advantages and disadvantages of complete computerization are as follows:
ADVANTAGES | DISADVANTAGES |
· High accuracy
· Excellent customer service · Low maintenance cost · Rapid search and update can be performed |
· High implementation cost
· Takes time for implementation |
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 |
Main Menu |
Product Info |
Add, save, edit and delete records |
Transaction Info |
Search Form |
Product search |
Show report |
Transaction search |
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
Identification number |
5 | P1000 |
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 |
Table name: Product Information Table
Field Name | Field type | Description | Field size | Example: |
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
transaction serial no. |
5 | T1000 |
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
Identification number |
5 | P1000 |
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:
? |
1 |
Data flow diagrams that show how the system works
Start |
Staff adds a new record and inputs 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 |
TRANSACTION INFORMATION |
BACK |
EXIT |
SEARCH DATA |
PRODUCT INFORMATION |
VIPER ELECTRONICS
Main Menu |
Login Menu
Username Password |
EXIT |
CLEAR |
ENTER MAIN MENU |
Product ID
Product type Manufacturer Origin Stock |
ADD |
EDIT |
BACK |
SEARCH |
Search and Report form |
SEARCH |
SHOW REPORT |
GO TO MAIN MENU |
ADD |
EDIT |
BACK |
REFRESH |
SHOW RECEIPT |
SEARCH |
DELETE |
SAVE |
EXIT |
Transaction info |
CLEAR |
REFRESH |
DELETE |
SAVE |
Product info |
Search by:
O Product ID O Product type O Manufacturer O Transaction ID O Customer name O Date |
Transaction ID
Product ID Customer name Contact no. Customer Address Date Price Quantity Total price |
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 |
Hard-disk | 10GB | · To store operating system, database and its records
· To keep backup of data |
RAM | 128MB | · For the smooth performance of running programs
· To store database file and software temporarily for fast processing |
Monitor | 15 inch color monitor | · To provide output display of data
· To view the current process |
CD writer | 8-X speed | · To install the operating system and other packages
· To save backup data and transfer data |
Printer | Black-and-white ink-jet printer | · To print reports
· To produce receipts |
Graphics card | 32 MB AGP | · To connect visual display unit to the system
· To store graphics temporarily to be shown |
10 Software
The necessary software used to create the software are shown below:
Name of software | Use | Justification for its 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 |
Microsoft Access | · To create and store database records | · Easy to create database
· It is also easy to establish relationships · Can be used in association with Visual Basic 6. · It is commonly used |
The other software that could have been used, but were not really used were:
Software | Advantages | Disadvantages |
Microsoft Excel | · Has a spreadsheet feature
· Easy and simple to use · Contains numerous function to solve mathematical problems |
· Does not support DBMS
· Queries are inadequate · 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 “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 | Input | Expected Result | Actual Result |
4, 5, 11 | Product ID | Normal | Presence check | P1000 | Accepted | Accepted |
Product type | Normal | Length check | Nokia 5800 | Accepted | Accepted | |
Abnormal/Extreme | bbbbbbbbbbbbb | Rejected | Accepted | |||
Manufacturer | Normal | Length check | Nokia | Accepted | Accepted | |
Abnormal | Character check | 456456454 | Rejected | Rejected | ||
Origin | Normal | Length check | Hungary | Accepted | Accepted | |
extreme | Japannnnnnnnnnn | Rejected | rejected | |||
Abnormal | Character check | 4u9898 | Rejected | Rejected | ||
Stock | Normal | Character check | 1000 | Accepted | Accepted | |
Abnormal | dfdk | Rejected | rejected | |||
Extreme | 99999999999999 | Rejected | Accepted |
Objective no. | Field | Test Data | Validation Type | Input | Expected Result | Actual Result |
4, 5, 11 | Transaction ID | Normal | Length check | T1000 | Accepted | Accepted |
Extreme | T9999999999 | Rejected | Accepted | |||
Customer name | Normal | Character check | James Hetfield | Accepted | Accepted | |
Abnormal | 666 | Rejected | Rejected | |||
Extreme | eeeeeaaaaaaaaa | Rejected | Accepted | |||
Contact no. | Normal | Character check | 01870906335 | Accepted | Accepted | |
Abnormal | abc | Rejected | Rejected | |||
Date | Normal | Format check | 08/12/2009 | Accepted | Accepted | |
Abnormal | 05092010 | Rejected | Rejected | |||
Price | Normal | Character check | 1900 | Accepted | Accepted | |
Extreme | 999999999 | Rejected | Accepted | |||
Quantity | Normal | Character check | 2 | Accepted | Accepted | |
abnormal | b | Rejected | rejected | |||
Total Price | Normal | Character check | 3800 | Accepted | Accepted | |
Extreme | 999999999 | Accepted | Accepted | |||
Abnormal | K | Rejected | Rejected | |||
Customer address | Normal | Length check | Uttara | Accepted | Accepted | |
Extreme | 4/A New Market, Dhaka, Bangladesh | Accepted | Accepted |
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 – 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’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:
5 |
4 |
3 |