CIE O Level Computer Studies 7010 Coursework (May/June 2010 session)

 

view with charts and images

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

Transaction Receipt

Bill no. :

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

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