Problem Identification 1.1
Yourprice.com is a global Internet based music shop. As it is solely based on the Internet general maintenance costs and staff costs are considerably less than normal retail outlets.
The company has been running for three years and recently shopping over the Internet has become more popular and therefore there have been many extra orders and with this, increasing demands by customers.
The current computerised system is having problems dealing with the extra orders and staffs currently have to work overtime to make up for the inefficient system. The main reason for this is that each of the systems databases are completely detached from each other and therefore the relations between the customers file and stock file for example have to be done manually.
Yourprice.com currently employs thirty-seven people. Eight of these employees are responsible for receiving orders via the Internet and other office work such as employee wages etc. Five employees make sure that orders and received by the twelve employees based in the warehouse who are responsible for making up the orders and making sure that they are correctly packaged and dispatched on time, four employees are responsible for dealing with customer enquiries and complaints, three are in charge of advertising and public relations and there are five managerial staff.
The company also has plans for expansion into other parts of home entertainment such as DVD’s and computer hardware and software although without updating the current computer system first this wouldn’t be worthwhile and would also cause staff more problems.
To summarise what I propose to do I will create a system consisting of three relational files which I will be able to produce input, output layouts and also reports for each file. The three files I will use are Customer file, orders file and Item file.
User Requirements 1.2
The manager of Yourprice.com has asked me to be the systems designer for a completely new relational computer system, which will eradicate the problems that exist in the current system which are mentioned in the next section.
The new relational database will consist of a customer file, an item file and an order file. The reason for having a relational database is so that when a customer enters their customer ID and the item number of the product they wish to purchase the system will be able to recognise the customer ID and display the details of their postal address, bank details etc. The same will also apply for the item number, as when this is entered into the system it will be able to detect whether the item is in stock, the description of the item and the other information about the item available.
This single change to the system will cut out all manually typed orders and customers will now only have to type in a Customer ID number and from this all their personal information can be gained immediately from the customer database. This is instead of the customers having to type in their private information on the Internet every time they wish to order something.
With the installation of the new system the manager’s aims are to at least double the amount of sales that the company make, as this would enable the company expand its business in the future.
Investigation and 1.3
Analysis of current system
In this section I will investigate the current system for myself by seeing it working, interviewing users of the system and also producing a questionnaire for employees of Yourprice.com to fill in. Hopefully with this information I will have an even better idea of the user requirements for the new system.
Firstly I conducted interviews with some members of staff in Yourprice.com to find out what was causing difficulties with the current system and whom it was affecting the most. I recorded the main points of each person’s answers and below I have produced an outline of my findings.
The first person I interviewed was the manager of the company. The main problems that he underlined with the current system are that it is not very user friendly and that it is very slow for customers. He emphasized that the reason for this is that there are no databases present in the system and that most things have to be done manually. Other indications from the manger’s interview were that there have been many complaints recently about the current waiting times when a customer places an order.
I also interviewed some of the other employees trying to include someone from each section of the workforce. There were some differences in opinion between some answers I was given although on the whole the points given by the manger were echoed. It was to be expected that the employee from the warehouse, for example was not as effected by the problems with the computer system as he wouldn’t be in contact with the system as much as one of the employees who takes the orders although he did say that because the orders were not computerised it caused some confusion in the warehouse. In contrast to this the employee responsible for customer enquiries stressed clearly the need for a new system and also commented that she had been receiving many phone calls from angry, impatient customers.
On the next page I have displayed the questionnaire, which I have asked the employees to fill in about the current system.
Fact finding Questionnaire
(Please tick the correct box(s) when required)
Please state your position in Yourprice.com
Orders Dispatching Customer enquiries
What are the disadvantages of the current system?
Are there any advantages? (Please state)
Do you think it will be easy to upgrade the current system?
If no, why?
Do you have any further observations to make?
Do you think that your company will benefit from a completely new system and if so how?
What improvements would you most like to see from the new system if any?
What department(s) do you think will benefit/lose out from a new system if any and in what ways?
Thank you very much for completing this questionnaire. You thoughts and ideas will be given great consideration with regards to the planning of the new computer system.
Adam Livingstone (systems designer)
I have now viewed the current system and below I have shown my results, which back up some of the statements made by the different members of staff in the interviews and questionnaires.
Currently when someone accesses the website they have to type in all of their information including name, address, bank details etc. This must be carried out every time the same customer wishes to purchase something, as currently there is no customer database containing customer details. The customer then has to type the details of the item(s) they wish to purchase.
However the current system cannot detect from this what the customer has actually ordered and therefore a member of staff sitting at one of the server computers has to type the information of the order along with the customers name, address etc. The order information then has to be sent to another member of staff in the warehouse who has to arrange the delivery of the item. This process can take up a lot of time and only one order can be taken at a time by each employee, which can cause great delays for other customers wishing to order.
The system worked fine when the company had just started out as it hadn’t gained much publicity and the Internet wasn’t a very popular way to shop although recently shopping over the Internet has taken a dramatic rise and more and more people are using Yourprice.com.
The customers can now be kept waiting for long periods of time which will effectively reduce the number of sales the company makes as people do not want to have to wait when they can get the same product somewhere else in much less time. This is also the reason for the many customer complaints received, which the customer enquiries officer pointed out in their interview.
The fact that the orders are typed out is another problem as transcription errors could occur. This could again cost the company sales as if a customers order is incorrect then it is likely that they won’t receive their purchase on time or even at all and as a result they mightn’t order from the company again.
As you can detect from the reasoning above if the current system is not updated quickly the company could end up losing profit rather than cashing in on the rise in potential customers.
Input, processing and 1.4
With use of the user requirements and the problem I have identified from my analysis of the current system I will now describe the input, processing and output needs. Below I have described the way the current system works.
Currently when someone accesses the website they have to type in all of their information including name, address, bank details etc. The customer then has to type the details of the item(s) they wish to purchase.
Then a member of staff sitting at one of the server computers has to type the information of the order along with the customers name, address etc. and send it to another member of staff in the warehouse. This person has to instruct one of the other warehouse operatives to find the item, address it and bring it to the other end of the warehouse where it will be dispatched for delivery.
There is currently no data in the system, which is added to or amended as all the orders are done manually.
However there is some paperwork that is used for the current system such as a price list of all the items stored, employee information and also supplier information for each product. This information will be transferred to the new completely computerised system. This paperwork is kept in filing cabinets in the order room.
For the new system I will make a computerised system consisting of approximately thirty fields. These fields will be spread out between three databases, one for customers, one for orders and one for items. Below I have displayed a list of the fields I will use. The key fields are underlined
Customer ID- this is the customers unique identification
Number e.g. 1
First name- the customers Christian name e.g. John
Surname- the customers surname e.g. Smith
Address- where they live e.g. 12 Loftus Rd
Town/City- the town/city they live in e.g. London
County- the county they live in e.g. Armagh
Postcode- their area code e.g. BT28 9UK
Country- the country they live in e.g. Finland
Phone number- their home contact number e.g. 018789467
Mobile number- the mobile phone number
Credit Card number- their bank credit card number
e.g. 2654 4564 7575 1231
Expiry Date- the date their credit card number expires
Email Address- their email address e.g. [email protected]
Order No – the is the unique number of an order e.g. 4
Quantity- this is the amount of the item they wish to purchase e.g. 18
Sub Total- this is the total price of the order before any additions or deductions e.g. ï¿½19.99
Postage and packaging- this is the extra amount for
Postage and packaging costs and it will depend on where the customer lives e.g. if
they live in N. Ireland where the company is based it will be less than an order to America would cost.
Total amount- final cost of order e.g. ï¿½11.46
Item number- items unique number e.g. 2
Item description- the format of the item e.g. CD/DVD
Production Comp- producers of item e.g. EMI
Sales Rank- amount of sales of item compared with other items e.g. 2
Item Price- cost of item e.g. ï¿½9.99
Additional info- e.g. interactive CD-Rom
Date – when item was made e.g. 1999
Artist/Director- makers of the item e.g. Stephen Spielberg
Availability- if the item is available e.g. Yes
No of discs- how many discs the item has e.g. 2
Run Time- how long it runs for e.g. 3hrs 15mins
Item name- name of item e.g. Saving Private Ryan
With the input I have described above I will now describe the expected output of the system.
The system will be able to display the input fields in included layouts and the records will be easily added, deleted and amended. The user will be able to perform simple and complex searches and will also be able to produce various reports displaying some record data in a user friendly way and different records will be sorted easily will whatever specifications the user requires. The new system will be able to produce printouts of the reports and any other layouts they require
The system will also be able to produce standard letters to send to customers and it will also be able to produce address labels for this purpose.
Finally the system will be made so that if necessary it can be easily updated in the future and that it will meet all the user requirements and improve on all of the faults with the previous system.
As I have now analysed the current system and created a list of input and output needs I will now identify the information requirements.
First of all the system will need to have three relational databases to keep records of customers and items. I will also need an order file, which will have related fields from each of the other two files. This will make the system much more user friendly as instead of the old system where customers had to type in their own details as well as their item details all they will have to do with the new system is type in their customer ID and the item number of the thing they wish to purchase. The system will also have to calculate a subtotal, and an overall total for each order. The overall total will be calculated by adding postage and packaging on to the sub total. The distance the order has to be sent calculates this.
The system will also need to be able to search for item details and customer details and it will need to be able to produce reports for each part of the system. As well as this it will have to be able to be easily amended and it should have options to add, delete and amend records. For example if a customer has changed their address the system will have to handle this so that the items are dispatched to the correct address.
On the next page I have shown a list of all of the information requirements.
Design of input 2.1
Over the next few pages I have included the pencil and paper designs of many of the layouts, buttons etc. displaying the design of the new system.
Design of Output 2.2
Over the next few pages I have included the pencil and paper designs of many of the expected outputs from the system including reports, address labels and standard letters.
Data checking and 2.3
This is the validation and verification of the data in the system to make sure that it is accurate, complete and reasonable. Data verification checks are the checks, which I can perform manually although data validation checks are those that the computer can detect automatically and produce error messages for. I have given a brief description of each validation check below.
The data is checked to discover if and fields have been left Blank in a record that should not have been left blank.
e.g. a mandatory field such as customer ID.
Each field is given a format and this format is reserved only or the characters identical to it, i.e a numeric field will only allow numbers whereas an alphabetical field will only allow letters. Alphanumeric allows words and numbers.
This refers to numbers and dates and is used to check that a certain number is within a permissible range e.g. that quantity is no less than one and no more than ten
This usually refers to number fields and makes sure that a number in one field of a record is completely different than the number in the same field of a different record. e.g. to make sure that all customers have different customer numbers.
Data Structures 2.4
Field name Field type Field definitions
Structure: Customer File
Customer ID Integer Indexed; Unique; Mandatory; Enterable
First Name Alpha 20 Enterable; Modifiable
Address Alpha 20 Enterable; Modifiable
Town City Alpha 20 Enterable; Modifiable
County Alpha 20 Enterable; Modifiable
Post Code Alpha 20 Enterable; Modifiable
Country Alpha 20 Enterable; Modifiable
Phone Number Alpha 20 Indexed; Unique; Enterable; Modifiable
Credit card No Alpha 20 Indexed; Unique; Enterable; Modifiable
Expiry Date Date Enterable; Modifiable
Email Address Alpha 30 Indexed; Unique; Enterable; Modifiable
Mobile Number Alpha 20 Indexed; Unique; Enterable; Modifiable
Surname Alpha 20 Mandatory; Enterable; Modifiable
Structure: Orders File
Order No Integer Indexed; Unique; Mandatory; Enterable
Customer ID Integer Indexed; Mandatory; Enterable; Modifiable
Item No Integer Indexed; Mandatory; Enterable; Modifiable
Quantity Integer Enterable; Modifiable
Sub Total Real Enterable; Modifiable
Postage and pack Real Enterable; Modifiable
Total Amount Real Enterable; Modifiable
Structure: Item File
Item No Integer Indexed; Unique; Enterable
Item Description Alpha 20 Choices; Enterable; Modifiable
Production Comp Alpha 20 Enterable; Modifiable
Sales Rank Integer Indexed; Unique; Enterable; Modifiable
Item Price Real Enterable; Modifiable
Additional info Text Enterable; Modifiable
Date Real Enterable; Modifiable
Artist Director Alpha 20 Enterable; Modifiable
Availability Boolean Enterable; Modifiable
No of discs Integer Enterable; Modifiable
Run Time Time Enterable; Modifiable
Item name Alpha 30 Enterable; Modifiable
*Fields underlined are key fields and fields in bold are related fields.
The processing requirements for the new system are the various tasks that the system will be able to carry out which ill enable the employees to do their job with more ease for maximum customer satisfaction. Below I have stated these requirements.
First of all the system will need to have three relational databases to keep records of customers and items and orders. The orders file will have related fields from each of the other two files. This will make the system much more user friendly as instead of the old system where customers had to type in their own details as well as their item details. The system will also have to calculate a subtotal, and an overall total for each order. The overall total will be calculated by adding postage and packaging on to the sub total. The distance the order has to be sent is used to calculate this.
Other processing requirements are that the system will also be able to search for item details and customer details and it will need to be able to produce reports for each part of the system. Records in each file will be easily sorted according to whatever the users outputs needs are. As well as this the records in each file will be easily amended and it should have options to add, delete and amend records. For example if a customer has changed their address the system will have to handle this so that the items are dispatched to the correct address.
Specialist software 2.6
The specialist software features have been put in place to make the system more user friendly and they will also help the user to use the system especially just after it has been implemented as it will take the employees and customers a while to get used to the new system.
Possibly the most important of the specialist software features is the help screen. There will be a help button at the bottom of all the layouts in each file and when this is clicked the help screen will automatically appear. This contains a list of the common buttons used in the system with a description beside each button. The will also be balloon help on some fields that mightn’t be quite as self explanatory as other fields. This will also be put in place to help users to customise themselves to the new system.
Alert messages and error messages are more specialist features which will tell the users when they have do something wrong. These will pop up as soon as the system realises that there is something wrong with a command given to it or with data that has been entered or not as the case may be.
Other specialist software features I will use are included layouts, search editor, menu bar editor, a start-up screen, a welcome screen and with these I will also add colour wherever I see fit.
In this section I will outline the minimum hardware specifications needed to run the new system efficiently.
An Apple Macintosh colour monitor and computer are needed. A Macintosh Performa 5200 Power PC is the minimum version required. It should have at least 8 megabytes of RAM with at least 500MB of free hard disk space. This version should also come with an x8 CD-ROM and a 1.44MB 3.5″ Floppy disk drive. An Apple design keyboard and an Apple Desktop Bus Mouse II will also be recommended for this package.
The package above should cost around ï¿½400 although an Apple Personal Laser Writer 320 will also be needed which will cost another ï¿½200.
So the final cost of the hardware should be approximately ï¿½600 to meet the users needs and hopefully their budget also.
The software required for the hardware stated previously which would meet the user needs is described below.
The systems software used will be At Ease 2.0.3 and Mac OS B1 7.5.1. This operating software will be sufficient for the new system to run on and will offer a security system to protect saved documents.
The applications software used will be 4D First 1.2.5 and Claris Works 3.0. 4D first offers the ability to have relational databases, editing of menu bars and the other specialist software feature described in 2.6 and Claris works offers word processing, spreadsheet and other features like that. These software applications will meet the needs for the system.
Hardware and software 3.1
As I have previously stated the company have specified that a relational database must be used for the new system. Some examples of programs, which offer this, are Microsoft Access, Lotus approach, 4D first or 4th Dimension. All of these offer the use of a relational database whereas other well known programs such as Claris works or Microsoft works do not.
Another thing that must be taken into account before choosing the program to use is the hardware available to run the program. As I have stated in the Hardware requirements section Apple Macintoshes are the computers to be used and this is why I have chosen 4D first for the system as this offers the use of a relational database and it is also compatible with Apple Macintoshes.
Microsoft Access, Lotus approach and 4th Dimension all only run on Windows based operating systems and Claris works and Microsoft works are both ruled out, as they do not offer relational databases.
I have also chosen 4D first as it provides very user-friendly interfaces and menus which make it much easier to maintain the system and search the system for particular files.
To conclude this section I chose 4D first over the other programs I have mentioned above due to it being compatible with the hardware provided, easy to use and due to my previous experience of using the system
Develop data and 3.2
In this section I have shown the data structure diagram for the system which shows how the system has been organised and it also shows how the fields are related to each other.
On the following page I have shown the field definitions for each field in the system and the corresponding validation checks that will be performed on each field e.g. if an field is mandatory the a presence check is in place.
I have then shown all of the procedures that will occur within the system.
User Interface 3.3
On the following pages I have produced printouts of the various parts of the finished system.
Firstly I have displayed the input layouts from each of the three files in the database for the new system. I have included five records from each file.
Secondly I have displayed the output layouts from each file. These include the output lists, reports, standard letters and address labels.
Then there are the examples of user dialogue within the system such as the help screen, welcome screen, splash screen, and menu bar.
Finally there are examples of processes that will occur in the system such as file maintenance, examples of calculations, quick reports etc.
* Help screen
* Welcome screen
* Splash screen
Processes within the system
* Updating of field contents
* Example of a calculation
* A printout of a quick report
Below I have displayed the layout in the user environment that is used to update records in the item file. If for example the item price has changed you would simply select the item price field and change it as I have shown below.
As you can see from above the item price for this record has been changed from ï¿½9.99 to ï¿½11.99. To confirm this change you can then click on the save button which I have shown below.
Another process that will occur within the system is a calculation. I will now show an example of one of these.
[Orders File]Sub Total:=[Orders File]Quantity*[Item File]Item Price
The formula above is the procedure uses to calculate the sub total and as you see it is the quantity of the item selected multiplied by the item price.
As you can see from the record above the quantity is 2 and the item price is ï¿½9.99. The product of these is ï¿½19.98 and this is the value that is displayed in the sub total field. If I change the quantity to 5 the sub total should then equal ï¿½49.95 and this is confirmed as it is shown below.
Data checking 3.4
Annotated listings 3.5
These are the printouts of the layouts in the design environment. I have provided brief explanations for some of the items within each layout.
Test Strategy 4.1
I am now going to test the system and on the next page I have displayed a strategy of the things that I will test for each record and a brief description of each. The tests will consist of annotated screen dumps of each task I performed the tests as using screen dumps is the only fool proof way of proving the outcome of the tests.
As I am the programmer of the new system it is my job to ensure that all parts of the system function correctly. However it should be realised that complete testing is not possible except in the most trivial program as I can never be completely sure the all errors have been completely removed. Although, I have performed sufficient tests to give a reasonable measure of confidence in the program.
1. Add new record- to make sure a new customer can be added to the database.
2. Amend record- so that a record can be updated
3. Delete a record- so that a customer can be deleted from the database.
4. Test help screen button- to ensure that the help screen appears when the button is clicked
5. Uniqueness check- to ensure that customers have their own unique customer ID number.
6. Presence check- to make sure that mandatory fields contain data.
7. Test next record button- to flick forward to the next record.
8. Simple sort- to sort records in a particular order.
9. Simple Search- to search for certain records according to specific criteria.
10. Delete a record- to make sure that an order can be deleted.
11. Test total amount formula- to make sure that formula works
12. Test view all records button- to make sure hat the command lets the user see a list of all records in this file.
13. Test previous record button- to make sure you can go back to the last record.
14. Sub-total formula- Make sure that it equals the product of the quantity and the item price.
15. Balloon help on Item number field- to make sure it appears.
16. Included layout- to make sure that when item details are updated they are also updated in item file.
17. Quick report- print an Ad- Hoc report
18. Amend record- so that item details can be updated
19. Item description list- to see if list appears.
20. Balloon help on sales rank field- to ensure that appears when required.
21. Uniqueness check- to ensure that items have their own unique item number.
22. Presence check- to make sure that a mandatory field isn’t left empty.
23. Type check- to make sure that contents of a field are the correct format.
24. Test help screen button- to ensure that the help screen appears when the button is clicked.
Test plans 4.2
Over the next few pages I have displayed my test plan sheets. These show the selection of tests that I will perform and the order that the tests will be performed in. I will follow the test plan sheets carefully using screen dumps to demonstrate the outcomes of the tests as mentioned previously.
Test results 4.3
These are the details of the outcomes of all my tests. The results consist of screen dumps, test detail sheet and also whether or not the tests were successful.
Evaluation of test outcomes
Each test was determined successful if the actual results met the expected results.
As you can determine from the following tests twenty-three out of the twenty-four tests were successful although the test that failed was repeated and was successful the second time.
In conclusion therefore I am pleased with the test results as they prove that the new system has been implemented successfully and is working according to plan.