Sei sulla pagina 1di 127

Computing Project

March 26th (Version 8 Final Draft)

2012

My project documentation including: Analysis, Investigation, Design, Testing, Software Development, Evidence of modification, User Documentation and Evaluation Scott James Bell Producing a solution for Anchor Supplies

Computing Project

Page 1

Table of Contents
DEFINITION OF TASK .................................................................................................................................... 5 INTRODUCTION ...................................................................................................................................................................... 5 DESCRIPTION OF BUSINESS .................................................................................................................................................. 5 INITIAL BRIEF ........................................................................................................................................................................ 5 BRIEF DESCRIPTION OF PROBLEM ..................................................................................................................................... 5 BASIS FOR A PROJECT ............................................................................................................................................................ 5 INVESTIGATION AND EXAMPLES OF CURRENT PROBLEM................................................................................... 5 INVESTIGATION METHODS .................................................................................................................................................. 6 INVESTIGATION OF CURRENT SYSTEM ............................................................................................................................... 6 CURRENT SYSTEM FLOWCHART ...................................................................................................................................... 10 DATA IN USE IN THE CURRENT SYSTEM ............................................................................................................ 12 INTERVIEW ......................................................................................................................................................... 13 INTERVIEW PLAN ............................................................................................................................................................... 13 QUESTIONS AND RESPONSES: ........................................................................................................................................... 13 INITIAL INTERVIEW RESULTS .......................................................................................................................................... 14 END USER SURVEY ............................................................................................................................................................. 16 SELECT END USER(S): ....................................................................................................................................................... 16 ANALYSES OF INVESTIGATION .......................................................................................................................................... 17 INITIAL RESEARCH ............................................................................................................................................................. 17 POTENTIAL SOLUTIONS ..................................................................................................................................... 18 MY SOLUTION ...................................................................................................................................................................... 18 ADVANTAGES: ..................................................................................................................................................................... 18 BESPOKE SOLUTION ........................................................................................................................................................... 18 ADVANTAGES: ..................................................................................................................................................................... 18 DISADVANTAGES: ............................................................................................................................................................... 18 CURRENT SYSTEM............................................................................................................................................................... 18 ADVANTAGES: ..................................................................................................................................................................... 18 DISADVANTAGES: ............................................................................................................................................................... 19 GENERIC SOLUTION (MICROSOFT ACCESS) ................................................................................................................... 19 ADVANTAGES: ..................................................................................................................................................................... 19 DISADVANTAGES: ............................................................................................................................................................... 19 END REQUIREMENT SPECIFICATION ................................................................................................................. 19 REQUIREMENT SPECIFICATION ......................................................................................................................... 21 DESIGN .............................................................................................................................................................. 25 SYSTEM OBJECTIVES .......................................................................................................................................... 25 INPUT, OUTPUT, REPORTS AND OTHER DESIGN ELEMENTS .......................................................................... 27 DATA INPUTS ..................................................................................................................................................... 27 DATA OUTPUTS .................................................................................................................................................. 27 PROCESSES .......................................................................................................................................................... 27 DATA FLOW DIAGRAMS OF SYSTEM ................................................................................................................. 28 CONTEXT DIAGRAM ........................................................................................................................................................... 28 DRAFT: DATA FLOW DIAGRAM (LEVEL 0) .................................................................................................................... 29 DATA FLOW DIAGRAMS LEVEL 0: ................................................................................................................................... 30

Page 2

DATA FLOW DIAGRAM LEVEL 1 ...................................................................................................................................... 31 DESIGNS FOR INPUT SCREENS, OUTPUT SCREENS AND REPORTS .................................................................. 32 MENU ................................................................................................................................................................................... 32 STOCK ITEM INPUT ............................................................................................................................................................ 32 STOCK ITEM SEARCHING ................................................................................................................................................... 32 SUPPLIER ITEM INPUT ....................................................................................................................................................... 32 SUPPLIERS SEARCH ............................................................................................................................................................ 32 - ............................................................................................................................................................................................. 33 EXPORTING .......................................................................................................................................................................... 33 PASSWORD MANAGEMENT ............................................................................................................................................... 33 POTENTIAL PROBLEMS REPLACING THE OLD SYSTEM ..................................................................................... 35 FILE AND DATA STRUCTURE ............................................................................................................................. 36 RECORD SIZE ESTIMATION ............................................................................................................................................... 37 MOCK USER INTERFACE ..................................................................................................................................... 38 ALGORITHMS ....................................................................................................................................................................... 45 PSEUDO CODE...................................................................................................................................................................... 45 ALGORITHMS & DATA TESTING ....................................................................................................................................... 47 TEST STRATEGY ................................................................................................................................................. 52 QUANTATIVE TESTING STRATEGY .................................................................................................................................. 52 TEST PLAN........................................................................................................................................................................... 52 SOFTWARE DEVELOPMENT ...................................................................................................................... 55 EVIDENCE OF COMPONENTS AND SYSTEM BEING DEVELOPED ........................................................................ 55 WHITE BOX TESTING.......................................................................................................................................... 58 FAILED CODING .................................................................................................................................................. 58 USER INTERFACE TESTING ................................................................................................................................. 60 ERROR MESSAGE (FIGURE 1) ........................................................................................................................................... 70 LOGICAL & RESPONSE TESTING ....................................................................................................................................... 72 ERROR MESSAGES......................................................................................................................................... 76 MESSAGE REASON......................................................................................................................................... 76 ERROR ............................................................................................................................................................... 76 EVIDENCE OF MODIFICATION ............................................................................................................................ 78 USER DOCUMENTATION............................................................................................................................. 79 SYSTEM REQUIREMENTS ................................................................................................................................... 79 INSTALLATION & START UP.............................................................................................................................. 80 INSTALLATION .................................................................................................................................................... 80 START UP............................................................................................................................................................ 82 TYPICAL USE....................................................................................................................................................... 84 MENU ................................................................................................................................................................................... 84 ADD ITEM ............................................................................................................................................................................ 86 ADDING SUPPLIER .............................................................................................................................................................. 87 STOCK SEARCH.................................................................................................................................................................... 88

Page 3

SUPPLIER SEARCH .............................................................................................................................................................. 89 BACK UP .............................................................................................................................................................. 92 TROUBLESHOOTING ........................................................................................................................................... 94 GLOSSARY ........................................................................................................................................................... 95 SUPPORT ............................................................................................................................................................. 95 EVALUATION .................................................................................................................................................. 97 PROBLEMS AND LIMITATIONS WHEN CREATING THE SYSTEM ............................................................................... 100 GOOD AND BAD POINTS OF THE SYSTEM .................................................................................................................... 100 END USER REPORT .......................................................................................................................................................... 101 EVALUATION OF END USERS REPORT .......................................................................................................................... 103 CONCLUSION...................................................................................................................................................................... 104 APPENDIX ..................................................................................................................................................... 105 MENU FORM ...................................................................................................................................................................... 105 ADD SUPPLIER FORM....................................................................................................................................................... 117 ADD STOCK ITEM FORM .................................................................................................................................................. 118 SUPPLIER SEARCH ............................................................................................................................................................ 119 STOCK SEARCH.................................................................................................................................................................. 121 EXPORTING FORM ............................................................................................................................................................ 121

Page 4

Definition of Task
Introduction
For this A2 Project Im developing a stock recording solution for Anchor Supplies limited. I discovered the client had a problem after investigating the clients websites online and contacted them asking if they had any problems that would could possibly be solved. The client (Mr T Hedges) has requested to develop a solution for the problem of stock level recording and management. We shall accurately define the problem so that we can create a tailored solution that meets the system/user requirements.

Description of business
My client Anchor Supplies provides Army and Surplus stock to customers around the world. They have a busy company with a large warehouse that stores their stock. Self described as Anchor Supplies Ltd, Europes Leading Genuine Government Surplus Supplier. They provide second hand and spare stock to large companies, military installations and charities around the world.

Initial Brief
My client wants a fully functioning stock solution to track and order their products. They want something to easily manage their stock and trading system that can help optimise their products and sales. My client believes themselves to have many problems which effects there daily operations and productivity.

Brief Description of Problem


My clients ordering process consists of the customer requesting stock items and them doing a manual count of the currents stock level. If they have enough stock then they provide it to the customer at an agreed price. However, if they dont have the appropriate stock level required by the customer they search their invoice tray and sticky notes to find contact details for the supplies. This leads to problems such as lost sticky notes and information.

Basis for a project


I have found some areas of development to create a foundation for a project that could solve my clients problem. I have decided to investigate the problem, examine the current methods and try to create a specification for the users requirements. I obtained the above information from the client and contacted him asking for the initial brief. <Print screen of email: See appendix>

Investigation and examples of current problem


The current problem facing my client is that they dont have a current stock system and cant keep track of stock levels/ products.

Page 5

Investigation Methods
I shall use the following methods for my investigation of the problem that faces my client: Investigation of current system and form a basis for questions to ask the client Interviews with my client on his requirements and with each evolution of the design stage A sample of users that shall be using the end product (End Users) (Using Survey Monkey) Questions on the current solution Research into available solutions/technologies

Investigation of current system

I have compiled evidence below of their current data flows with in the company when ordering an item. First I decided to query their team for a stock check on some unpopular products in order to test their current system. This is there website with their contact details. I called and placed an fake order.

Page 6

I observed the data flow of items being ordered, stock levels being checked and the process of contacting suppliers. Below is a flow diagram of the processes I observed in the company. As you can see the stock request is a simple process but there decision option of contacting the supplier caused the staff problems, as they had to locate the suppliers information from an unorganised invoice tray. Below is a sticky note that is from the current system. This is supplier information and could easily be lost in the current system.

Transcript: Item Name: Watches, Stock Level: +25, Supplier: Royal Watch Company LTD. Purchased: 21st May 2011. Reference: 2127. Contact No: 01977678951. This shows the current data in use in the current system.

Below is a sticky note that is from the current system. This is a request for supplier information.

Page 7

Transcript: Find money required For New Orders From Watch. Find Supplier. This is a process in the currents system as request to find the information.

Below is a sticky note that is from the current system. This is a example stock request.

Transcript: Item Name: Jeep, Stock Level: 1. Contact no: 01977 627191 (Outside the scope of my initial brief) Postcode: WF10 3QR (Outside the scope of my initial brief), Purchase price: 7900, and a request for who they purchased it from for stock replenishment.

Page 8

Below is a sticky note that is from the current system. This is a example of assorted information.

Transcript: Account Details: Supplier Name: Armtech IT Services, Customer No: 29621, Reference: 29621, Contact Details: 01924 767591, order@armtechit.com. The issue I can see with this system is that the sticky notes could easily be lost and they arent searchable very easily as theyre stored in a miscellaneous order slowing down the clients. Item information appears to be: Item Name, Item Description, Quantity and Price and Supplier Information is: Supplier Names, Supplier contact details, Supplier assorted information and supplier address. The information is also not stored well as unrelated information is stored in each sticky note and redundant information is present in the current system. Issues to raise with client:

Searchablity of information Easily lost sticky notes Redundant/irrelevant data Current data stores Attributes to store about items and supplier

Page 9

Current System Flowchart

No

Yes

Page 10

Page 11

Data in use in the current System


Below is a table of information for the current system, Ive collected some attributes that are currently stored in the system so that I have some reference and information to show the client to accurately define what needs to be stored in the solution. Record no 1 3 Record Name
Item Name

Data Type Text Decimal

Range N/A 1-5

Example Data MarshMallows 12.79

Description The Products name The price of the Product as its currently being sold The Quantity of the clients order The name Suppilers compnay The address and location of the business The Phone Number for contacting the supplier Any extra details such as, fax, email etc..

Validation N/A N/A

Data Store Post it Note/Users Mind Invoice tray/post it notes Post it Note or Not stored Invoice Tray

Purchase Price Stock Quantity


Supplier Name

4 6

Integer Text

1-10 1-50

2000 Confectionary Company 19 Person Road, Milkstreet, West Yorkshire 01977552671 Account No 8384848484r8

N/A N/A

Supplier Address Contact Number Assorted Information

Text

1-250

N/A

Invoice Tray

9 10

String String

11-19 0-1000

N/A N/A

Invoice Tray Post it note

Computing Project

Page 12

Interview
I intend to interview the client for his requirements and the end user of the software (his employees that will be using this system on a daily basis).

Interview Plan
These are the questions Intend to ask the client:

Current Problems facing the companies stock management Current Technological systems Whether they need a electronic solution What needs to be stored Users access to database How will information be amended in DB What type of data he wants calculating for the information to be useful Security The current dataflow that was identified in the analysis Prompt on sticky notes and temporary storage of other sensitive data

Questions and responses:


Current Problems facing the companies stock management? We have inaccurate counts of stock information, its often stored onto paper that is lost. Its inefficient because manual stock counts are required every time a customer makes an enquiry/order. We have had problems locating suppliers details and remembering who supplied us with what products (especially slow selling products). We dont know the last time contacted the suppliers. Often we have problems finding the price for the products individually because it requires us to have to search invoices for batches of the product. Do you wish to have a electronic Solution to fix the problem facing your company? Yes, thats exactly what we need. Current Technological systems running at your work place? Such as Hardware and Operating Systems? We run 5 PCs with Windows XP. Follow Up Question: Are They all Networked together? No (All Standalone) Follow Up Question: How many are used in the Stock Management Department? Page 13

Computing Project

Just one machine. What needs to be stored? Item Names is estsinal, so it a brief description incase the customer asks about the product, the Stock Quantity and the suppliers details. Follow Up: What about Supplier Details? Address etc? Supplier Name, Supplier Address and Contact Number Follow Up: You mentioned problems with the last time you contacted the supplier, How about the system records that? That would be very helpful. Follow Up: You mentioned a price problem, how about you record the price for the products in the system too? That would be perfect Follow up: Do you have assorted information such as Account Details and vouchers for suppliers? Yes we do. It would be helpful to be able to record that information, in relation to the supplier as well. How many Users will access the database? Just a few select people that always use the system. I would prefer to not have to train all the users. How will information be amended in system? I would like an initiative interface that would simple to use and not to cluttered with the supplier and stock details separated. What type of data he wants calculating for the information to be useful? I would really like to work out which are the products that we have the most stock of, sorting them by stock level would be great. Many a most popular stock list would be great, so we could co-ordinate sales efforts. What Security do you want in the system? A Simple Single password would be effective, we just want to stop unauthorized people from using the system. All the staff would know the password anyway.

Initial Interview Results


I interviewed the client and compiled list of responses. I discussed the stock systems idea and the problems facing the company currently. I have underlined key points/problems that were not initially visible to my client. I established that my client would like a electronic system that would be run on a single standalone Computer running Microsoft Windows XP. I understand that the client has problems keeping account of stock items, the quantity of stock, purchase prices of the items and suppliers information (Names, Items they supply, Contact Details, Last Time Contacted and assorted information). It is clear that my system will have to solve these problems and have some form of database storage to collate the data. He also have expressed an interest in reports for the system for things such as most popular items, which would be

Page 14

calculated in system. I will enquiry as to what information would be the most useful to my end user by conducting my questionnaire. The client understood the problem that faced him and I also got the understanding of what the problem was through observation and explanation. He was interested in making sure his system was secure with user access to only the information that is necessary and making sure that only staff can have access to the system. He also established he wanted some data saving and turning into useful information in some form such as reports. I wish to follow this up with a few more questions but so far I have established, my system needs to solve: Keeping account of stock items, the quantity of stock, purchase prices of the items and suppliers information (Names, Items they supply, Contact Details, Last Time Contacted and assorted information). Calculating of reports such as popular items Security with a password to protect against intrusion They have windows XP as my distribution platform As an initial concept, I have created two theoretical Data stores to store the records. This is just to gather what attributes the client wants permanently storing. Stock Store: Item Name Item Description Stock Level Purchase Price Supplier Store: Supplier Name Supplier Address Supplier Contact Number Supplier Assorted Information Last Time Contacting the Supplier A link to make sure it shows which suppliers supply the items.

Follow Up Interview
These are the questions Intend to ask the client: - Record Attributes for Stock and Supplier Store - Output (Email,PDF,Query,Reports,Excel, Print, etc) - Users that will access the system - Rights permission/user access levels

Questions & Responses:

What Record Attributes for Stock and Supplier Store would you like storing. (shown above diagram)? All of those will be fine. Page 15

What kind of Output would you like? (Email,PDF,Query,Reports,Excel, Print, etc) Im not to sure what would be helpful to my staff and what would allow us to make the most of your solution. What Users that will access the system? As I stated before, Just a few members of staff that will be trained in the system. Would you like Rights permission/user access levels? No that would over complicate your system and cause managing issues for people who would be in charge of the system

Interview Results
After this second Interview we confirmed some details and also expanded upon other features that will be integrated into the potential solution. Giving more information to conceptualise and research on. The client also decided upon what record attributes he wanted storing. We also established that the client wanted reports formats but didnt know specific ones, so Im going to quiz (with the clients approval) my user group. To find what formats would be useful for daily use of my solution. Next I established that my client didnt want a complicated system with different passwords or user access levels, just a simple single log on.

End User Survey

Select End User(s):


My end users are the staff at the company who needs to check the stock level of the products they sell. They will check the product amount and the suppliers to see if they can contact them for more stock. There are many requirements that the users may want so I conducted a focus group with a select range of staff at the company. </QUESTIONS>

Page 16

DFDs

Analyses of investigation
Add Edit Search Append System Requirements Discuss with End Users. Options and justifications Office 2007. Can Be run, ETC. Has to run on 7. XP not industry standard. Clear System Objectives, Shouldnt be able to exit a form with out dialog box. No redundant data, update relevant data, restricted user access.

Initial Research

I researched into stock management systems that exist on the current market with in a reasonable budget and that would meet most of my clients requirements. After an extensive search I found that a solution could be made to fit my clients requirements, Microsoft Access could be tailored to my client however, it is a little lacking and adds to much functionality. It wouldnt also allow the client to have a nice efficient interface with the stock system. After a little more research, I came to the conclusion that most generic stock systems are built for generic products and with a client that has a standardised stock level policy, however it was clear that this might not be the case for my client. So I called him up to confirm a few details and to discuss whether or not his system is prone to human error. I asked him whether or not humans that are double checked for errors record the manual stock counts. He said that they count manually on delivery and dont double check results. Meaning any solution will be accurate only up to the error of human counting. After more research I have decided that Microsoft Access would be an ideal backend solution for my client with the correct functionality for my solution and I decide to use Microsoft Visual Basic.Net for my front end development, as I can develop custom functionality and restrict unnecessary features from the user, allowing my solution to be initiative and simple to understand.

Page 17

Currently the system requires a manual stock check of each item as the customer requests it. It also requires a count when being delivered. Meaning there are duplicate tasks being done by staff members daily and it is inefficient. This poses a number of problems:

Manual Counting is Time Consuming Error can easily occur when manually counting and having no way of checking besides counting twice It is slow for the customer to receive the details of stock meaning that the client can lose custom The information cant be kept track of for certain reports or pricing. Etc

Potential Solutions My solution Advantages:


Cheap Built to the clients exact requirements Works on relevant hardware Fast development

Bespoke solution Advantages:


Built to clients requirements Will fix the specific purpose Be efficient

Disadvantages:
Expensive Time consuming production

Current system Advantages:


User already known how to use/do process Requires no new training or system Costs nothing to implement

Page 18

Disadvantages:
Inefficient Causes inconsistencies in stock levels User Error possible

Generic Solution (Microsoft Access) Advantages:


Fixes the clients problem Is cheaper than bespoke Works with a wide range of hardware

Disadvantages:
Has generic features, may not solve all problems in the clients way May offer to many features May be slow due to amount features No build for specific hardware

End Requirement Specification


Based on the results collected above and the interview. The requirements the client wants and has agreed to are: Functional: Reports Single logon Fast Stock Search Adding of Stock Items Editing of Stock Items Deletion of Stock Items Stock & Suppliers Data Stores Data Sortable in columns Adding Suppliers Editing Suppliers Deletions of Suppliers Relationship between Suppliers and Stock Items Must work on current hardware Developed for Microsoft Windows XP and Above Run on the .Net Framework 3.5 and above Real time Updating

User: Simple Interface Intuitive Not cost anything

Page 19

Selectable columns to order data in ascending and descending Start up form as a menu.

The location distance between the client and myself poses several problem meaning that I have to email all the stages of my work and get confirmation from the client. Below is evidence that the client has agreed to the initial requirements and problem definition.

Page 20

Requirement Specification
The Final System Requirements and justification for each:

Functional: Reports The client requested other data formats for manipulation of data and to extend the possibilities of the system. Single logon The showed a desire to have single log on system that allows the user to use just one password that would between the staff members using the system . The system would only be in use by one person at a time. Fast Stock Search The request from the client was to have a fast system that allows for the user to search their data stores extensively and at speed to increase the effectiveness of the system and to combat the current systems problem of speed. Adding of Stock Items The client has an expanding inventory of items, which is why they need the ability to add more items into the system. The client also has requested this feature during investigation. Editing of Stock Items Items could change price, color, etc. and the client requires the ability to change the attributes of items. Deletion of Stock Items Item could be no longer stocked or sold by the company meaning that having redundant data would slow the system and take up space. The client has requested this during investigation. Stock & Suppliers Data Stores The need for Stock and Supplier data stores to record the information for the system. Data Sortable in columns This allows the client to order data in ascending and descending orders for things such as price and names allowing. Meeting the search requirements, of the client as outlined in my investigation. Adding Suppliers The client could find new suppliers or need to add a new supplier for new items which they need the ability to add suppliers to the system. Editing Suppliers The client could need to amend details for suppliers such as address/contact details and other attributes to keep the system up-to-date and relevant. Deletions of Suppliers Suppliers could of become irrelevant to the system (e.g no longer trading) and need removing or new suppliers could be found for items and require deleting. Relationship between Suppliers and Stock Items A relationship between suppliers and stock items need to be made so that the client can identify the suppliers with in the system and find the details easily. This was clear from my investigation. Must work on current hardware The client wants a solution that doesnt cost any money meaning that I must work with existing hardware. Developed for Microsoft Windows XP

Page 21

The client doesnt wish to upgrade or change the current operating system, which is Windows XP meaning that the system must be usable on that operating system Real time Updating The client would like the system to update in real time so that all information will be correct. Run on the .Net Framework 3.5 and above The clients solution must work on a platform that is supported on Microsoft Windows XP (or Above) and is feasible to be created.

User: Simple Interface The client requested a simple interface that would be easy to navigate and use for staff. Intuitive The client requested a intuitive interface for the staff to use and understand to make the system as fast and efficient as possible. Not cost anything The client wishes my total solution to not cost anything which was outlined in my interviews and discussions with him. Selectable columns to order data in ascending and descending The client wants an interface to order data in columns and tables that order the data in the system in a simple way that also meets the functional requirements. Start up form as a menu The client wishes to have a simple interface that has a menu form on the systems start up.

I agree to the analysis and system requirements:

Tommy Hedges (Client):

Scott James Bell (Student)

Page 22

Computing Project

Page 23

Computing Project

Page 24

Design
System Objectives
The Objectives are similar to the requirements specified in my analysis, however I must also consider the logical flow of data and processing. I must also make the interface and integrate all the features in a useful and intuitive way. In this section instead of large paragraphs and inlogically written sentences, I would prefer to bullet point and state the information in a simple way.

It is my ambition to say in ten sentences what others say in a whole book - Friedrich Nietzsche

The New System will have to achieve the following objectives:

General: To create reports that export information about Items and Suppliers into reasonable formats. To have Single logon security that enables a single password to be used to access the system Fast Stock Search to find items and suppliers quickly Stock & Suppliers Data Stores that store the following attributes efficiently:
Stock Store: Item Name Item Description Stock Level Purchase Price Supplier Store: Supplier Name Supplier Address Supplier Contact Number Supplier Assorted Information Last Time Contacting the Supplier

The Data would be sorted in columns on the users request Selected columns would order data in ascending and descending order according to the requirements (0-9, A-Z, 9-0, Z-A) Simple Interface for user to navigate and understand To make the system Intuitive and easily used. A menu that is loaded upon start up of the system allowing access to the other forms on the system A data relationship between the Supplier and Stock Data Store allowing the system to link them and display the information. Must work on current hardware Developed for Microsoft Windows Page 25

Computing Project

Updating of Fields and Form in Real time Developed and Executable on .Net Framework 3.5

Supplier:

Stock:

Adding Suppliers to the system Editing Suppliers on the system Deletions of Suppliers on the system

Adding of Stock Items to the system Editing of Stock Items on the system Deletion of Stock Items on the system

I agree to the design objective of the system:

Tommy Hedges (Client):

Scott James Bell (Student):

Page 26

Input, Output, Reports and Other Design Elements


I shall now design the data Inputs, outputs and other elements that will be required with in the system and then get the client to agree to the design.

Data Inputs
New Stock Items New Stock Item Attributes New Supplier Records Attributes New Supplier Records

Data Outputs
The Current Stock Item Selected Search and Results The reports that are generated in many formats Stock Levels Supplier Information

Processes
Amending of the record automatically when stock is removed and when supplier last supplied Security Locking of Forms Updated Stock Record Sorting Information into a logical order when requested Searching through fields Processing and formatting the reports correctly

Page 27

Data Flow Diagrams of system

Context Diagram

Customer

Order

Check Stock

Stock Order 2
Supplier file

Suppliers

Store Item Order Supply Order

Stock file

D0

Stock Store

Insufficient Stock Information

Item Description Stock level LAST Supplier ID

D1Computing Project Problems:

Supplier Store Supplier Name

Page 28

No date for replenished stock levels to customer.

Supplier Address Last Time Contacting Supplier Assorted Information Supplier ID

Draft: Data Flow Diagram (Level 0)

Stock Request

D0

Stock Store

2 D1 Supplie r Store

Stock Level Count

Find supplier

Contact Supplier
3

Stock In

6 Receive and order delivery note D3 Delivery note 4

Order Stock

Process Order
D3 Supplier Store

Order Out

Amend Stock

Delivery Note

Page 29

After some considerations I have decide that is design is to complex and out of the systems scope. It has the necessary processes however lacks some context and wouldnt be appropriately designed to slow the logical flow of my system.

Data Flow Diagrams Level 0:

2 Customer 1 Process Order Store Item Order 3 Supply Order Insufficient Stock Information Check Stock Level

Stock Order 2
Supplier file

Suppliers

Stock file

Page 30

Data Flow Diagram Level 1

Check Stock Level

2.1 Organise Clients Requirements

2.2 Search Stock File

2.3 Return Stock Level On Items

Page 31

Designs for Input Screens, Output Screens and Reports Menu


Have buttons that load other forms in the system. Lock button that loads the locking algorithm.

Stock Item Input


Connection to Stock Item Data Store Item Attributes stored in Text Boxs Labels explaining each Text boxs function Saving Button adding the data to the database Close Button to close the form without adding the item to the database Validation with Message Boxes to show incorrect inputs

Stock Item Searching


Connection to Stock Item Data Store Data Grid to display the Item Attributes orderable by Columns and selectable rows for exporting. Save and Close button to edit the data in database and close the form. Export entire table button allowing the data grid to be exported to the export form Search Field that searchs upon keystroke Enter and returns the results to the data grid Export Selected Item in the tables

Supplier Item Input


Connection to the Supplier Data Store Supplier Attributes Stored In Text Boxs Labels Explaining each Text Boxs Function Saving Button adding the data to the database Close Button to close the form without adding the item to the database Validation with Message Boxes to show incorrect inputs

Suppliers Search
Connection to the Supplier Data Store Data Grid to display the Item Attributes orderable by Columns and selectable rows for exporting. Save and Close button to edit the data in database and close the form. Page 32

Computing Project

Export entire table button allowing the data grid to be exported to the export form Search Field that searchs upon keystroke Enter and returns the results to the data grid Export Selected Item in the tables

Exporting
Accepting of parameters from other forms Connection to the Supplier and Stock Store Checkboxs to select which Attributes to be exported The ability to select the format of the exported file Close Button to end the connections and dump any parameters Export button with a dialogue to save the file

Password Management
Load password from file Compares current password to user input Changes Password Saves New Password

Page 33

I agree to and have reviewed the Input, Output, Processes and Forms requirements:

Tommy Hedges (Client):

Scott James Bell (Student):

Page 34

Potential problems replacing the old system


There could be potential problems that could cripple any solutions deployment/the companies daily operations. However, for my client I have decided on a full replacement of the system being the most efficient and useful. My client would perform a full stock check on the day of installation of my solution, which would, then have all the data input. Creating a fully functioning deployed system that is installed and working within one business day causing no real economic effect to company. Staff training could cause problems for the system but we have decided on training them on test systems before deployment meaning that they would not only help identify any operating bugs missed while extensive testing had taken place but also understand and use the system. User Instructions shall also be given with the finished system for new staff members and troubleshooting.

Software/Hardware Requirements
Windows XP

Justification
Operating System used by company and used to run VB.NET Software selected to create and run the system A desktop pc that is already used by staff will be integrated into the solution to meet my clients requirement of not purchasing any item to make a solution. Used to open Exported files by my solution

Visual Basic.NET

Desktop PC

Microsoft Excel

Page 35

File and Data Structure


Record no 1 Record Name
Item ID

Data Type Integer (auto Generated)

Range 1-200

Example Data 1

Description An auto generated Number to keep the product located and have an unique Identification with in the system. The Products name. The price of the Product as its currently being sold The Quantity of the clients order Description of the product and similar products!

Validation Auto generated. Not editable

Data Store Stock Store

2 3

Item Name

String Single

Purchase Price Stock Quantity


Description

1-25 Char 1-5

Marshmallows 12.79

N/A Only numbers to 2 Decimal Points

Stock Store Stock Store

4 5

Integer String

1-10 0-500

2000

Stock Store N/A Stock Store

A spongy confection made from a soft mixture of sugar, albumen, and gelatin. 6
Supplier Name

String

1-50

Confectionary Company 19 Person Road, Milkstreet, West Yorkshire

The name Suppilers compnay The address and location of the business

Check for Duplicates N/A

Supplier Store

Supplier Address

String

1-250

Supplier Store

Computing Project

Page 36

9 10

Last Time Contacting Supplier Contact Number Assorted Information Supplier ID

DateTime

08/09/1998

String String

11-19 0-1000

01977552671 Account No 8384848484r8 172

11

Integer

0-200

The last date that the company contacted the supplier The Phone Number for contacting the supplier Any extra details such as, fax, email, account nos with suppliers A unique identifier that will be a foreign Key in stock store

Date Thats < Current day Only Numerical Characters N/A

Supplier Store

Supplier Store Supplier Store

Auto Generated

Supplier Store/ Stock Store

Record Size Estimation

Stock Store:
Size of Individual Record: 740 bytes Maximum Records Stored 200 Total Size Required For data: 148000 Bytes Overheads(10%): 162800 Bytes Total Sized Required: 0.15526

Supplier Store:
Size of Individual Record: 1527 Bytes Maximum Records 200 Total Size Required For Data: 305400 Bytes Overheads(10%): 335940 Bytes

MB

Total Sized Required: 0.32038

MB

The maximum records stored was an estimate from the client, after being asked how many items he thinks the proposed system will store at one time.

Page 37

Mock User interface


Below are my concept designs for a simple and intuitive interface for the user that would meet the clients requirements and allow for a logical flow of the data. I will then ask the client to amend and agree upon changes in the design. The colours used below are not representable of the colours for the system. Start Up Form:

Menu
This is a button that would load another form called Stock Search Stock Search Supplier Search This is a button that would load another form called Supplier Search

Add Stock This is a button that would load another form called Add Stock

Add Supplier

This is a button that would load another form called Add Supplier

This is a button that would load another form called Export

Export

Change Preferences

This is a button that would load a input box for the user to enter a new password This is a button that would lock all the buttons in the form and hide all open forms from the user.

Lock/Unlock Button Page 38

Stock Search Form:

Stock Search

Search Here
Textbox that user will enter text to search the tables for forms.

Export Selected Item

Export
Page 39

Save & Close

CLOSE

Saves any changes to the Closes the form with no Contains the data from the The selected row will be records and closes the saved changes database about the stock export when the button is Exports the entire table form clicked

Suppliers Stock:

Suppliers Search

The selected row will be export when the button is clicked

Saves any changes to the records and closes the form

Search Here

Textbox that user will enter text to database about the search the tables for forms. supplier

Export Selected Item Contains the data from the

Page 40

Export

Save & Close

CLOSE

Exports the entire table

Closes the form with no saved changes

Add Stock

Add Stock

CLOSE

Save
Text Box for user to enter information about Stock ITEM

Close Button user will use to close the form

Save button user will use to save all the Page 41 changes/add a new stock item to the database

Add Supplier

Add Supplier

CLOSE

Save
Text Box for user to enter information about a new supplier

Close Button user will use to close the form

Save button user will use to save Page 42 all the changes/add a new Supplier to the database

Export:

EXPORT
Close Button closes the form and dumps the variable memory of the form.

CheckBoxs for the client to decide on what data columns they want exporting about the selected item(s)

Combo Box with the options for which type of export the user wants to-do on the selected data

Export button will be enabled when the user has selected a valid Page 43 option from the Combo Box and allow the user to export. It will show a save file dialog for the user to save the file

I agree to and have reviewed the Data Flow, Mock User Interface, File Structures, Validation and Processes of the proposed system:

Tommy Hedges (Client):

Scott James Bell (Student)

Computing Project

Page 44

Algorithms

Pseudo code
Adding Items Sub () Display Item Name User Inputs Display Item Description User Inputs Display Purchase Price Do While User Input = Numerical and to two decimal points User Input End While Store Record End Sub This Algorithm allows adding of items to the database and validates the Input of the Purchase Price for the Item. Checking its a Numerical value and is to two decimal places.

Editing Record Sub () User Select Record Load Record from database Display DATA on Screen User Edit data If Purchase Price = Numeric and to two decimal points THEN Display Please Re-enter the purchase price. (make sure its numerical and to two decimal points) Else End IF

Page 45

Store Updated Record Close Database Connection End Sub This Algorithm allows editing of items to the database and validates the Input of the Purchase Price for the Item. Checking its a Numerical value and is to two decimal places. It then appends the data into the database. Deleting Record Sub () User Select Record Load Record Delete Record End Sub

Column Sort Sub () User Selects Column Sort

End Sub Adding Supplier Sub () Display Supplier Name User Input Display Supplier Address User Input Display Last Time Contacting Supplier User Input Display Contact Name User Input Display Assorted Information User Input Auto Generate Supplier ID

Page 46

Store Record End Editing Suppliers Record () User Suppliers Record Load Record from database Display DATA on Screen User Edits Record Store Updated Record Close Database Connection End Sub Deleting Suppliers Sub () User Select Record Load Record Delete Record End Sub

Algorithms & Data Testing

See Appendix 1.1

Page 47

Below I have tested my algorithms with test data that is Normal, Invalid and Extreme.

Function Being Tested Stock Sort

Method of input

Input

Expected Result

Test 1: User Requests Sort By Price in ascending order

12.99 2.99

Top Item: 12.99 Bottom Item: 2.99

15.99 21.99 47.56 Ayehhsh Extreme Data

Next Item:47.56 Next item:21.99 Bottom Item:15.99 Error thrown and caught with an msgbox that says please enter a numerical value Angus Frank Zeta

Supplier Sort

Test1: Names clicked and sorted alphabetically

Angus Zeta Frank

Edwards Skyrim Supplies 123ADS 872 Folk Suppliers

123 ADS 872 Folk Suppliers Edwards Skyrim Suppiles

Test 2: Last Time Contacting Supplier Sorting TimeDate ()

12/09/2009 21/03/2004

12/09/2009 21/03/2004

12/09/2219

Incorrect, would throw an error that would be caught and display an error message box with editable inputbox.

Page 48

Erirk/ede9i0kfidf/1929829

Wouldnt be allowed to be entered in the first place because it wouldnt be sorted.

Amending Stock

Test 1: Adding values into the stock level count

12

Would be sorted normally, edit ted and allowed

Adding invalid data

12.5

Cant have a decimal of a item thus meaning the validation will find this and say it is incorrect

Extreme data

Yy%%

It would reject the input with validation and say please enter a integer.

Insert Stock

Normal Data

Item Name: Marshmellows Purchase Price:12.79 Stock Level: 2000 Description: A spongy confection made from a soft mixture of sugar, albumen, and gelatin.

Inserted into the database

Adding Invalid Data

Item Name: ^67376Ttw Purchase Price: 10.01 Stock Level: 297 Description: 738747y7dybdT^^Gsgydgdsdd Data would be accepted into the system due to it being on the on the boundaries but erroronous

Page 49

Extreme data Item Name: Purchase Price: Giraffe Stock Level: Elephant Description: The name would be accepted even though it would not save the characters due to them being Unicode characters and were saving in ASCII. The purchase price would ask for you to enter a numerical value due to validation. Stock levels validation would also require to enter a numerical value Description: would be accepted even though it would not save the characters due to them be8ing Unicode characters Deleting stock Normal Select Item. Item deleted from the database

Page 50

Adding Supplier

Normal

Supplier ID: Suppiler Name: food Supplier Address: 12 werseword avenue Last Time Contacting Supplier? 08/09/2011 Contact Number: 019775529711 Assorted Information:: Nothing interesting Supplier ID: Suppiler Name: food

All data should be input. And accepted. The Supplier ID should be auto generated.

Invalid Data

Supplier Address: 12 werseword avenue Last Time Contacting Supplier? 08/09/2014 Contact Number: 019775529711 Assorted Information:: Nothing interesting

Should say please enter a date, that is before the present system time.

Page 51

Test Strategy
During testing I shall be using several methods and techniques in order to test the stability of code. One of those will be to dry run(White Box Testing) the Algorithms, using Standard, Erroneous & Extreme Data. Im hoping to find any potential errors or problems that will be shown, so that I can handle and correct them. Next I shall Perform BlackBox testing on code once it has been compiled. Finding any logic or runtime errors within my program. Finally my select user group (Alpha Testing) will test the program with suggestions and modifications to be made to the program, so that it can better suit its purpose. Then allow for the program to be tested by all the users thats will use the system, after that modify and evaluate all solutions. Anything that cant be integrated or fixed will be established.

Quantative Testing Strategy


Testing the system, Users will evaluate every design objective in a scenario-based survey. Seeing if they can do the scenario and asking for feedback on each objective. The 5 users will be surveyed that will use the system daily.

Test Plan

Test No

Test Description

Test Type

Test Data

Reason for Test Data To test the interface is simple, responsive and functional to the users requirements

Expected Results To have an interface that is responsive to user requests and does the correct functions. To have the correct information in the system and

User Interface Test

Whitebox

Button simulation to check if you get the desired results

Code Testing of algorithms

Whitebox

Testing of algorithms with test data to check the system works

To test the algorithmns and the functionality of the system

Page 52

for any errors

modification of the system. To have a function system that responds to all data correctly

Testing of compiled project

Blackbox

Sample data for the system to use.

Testing of system after being completed to find any runtime or logic errors. To test the users and system can interact correctly and meet the functional requirements of the system.

User Testing

Alpha Testing

Sample data input by the users of the system

Test data to be correctly entered and processed by the system.

Page 53

I agree to and have reviewed the Test Strategy and Test Plans of the proposed system:

Tommy Hedges (Client):

Scott James Bell (Student)

Page 54

Software Development
Evidence of components and System being developed
Below are some screenshots of the system being created including interface and code with a brief description underneath.

Development and debugging of the stock system. Currently working on the supplier Adding form.

Development of the user interface for the stock adding form

Computing Project

Page 55

Development of the exporting forms interface including the export validation function

Page 56

Development of the Menu Forms code when I was creating an exception to try and throw any problems with loading files (however I removed the code at this stage to test the system without)

Building of the Export Module so that the export function maybe reused throughout the program.

The export forms code in development during the creation of the selected data search string.

Page 57

White box testing


Tested Above in Sudo Code and Below in Logical and Response Testing section.

Failed Coding
Above is an example of an incorrect if statement being used in the system, which meant that the user could by, pass the security systems even if they entered an incorrect password. I replaced this with iteration in the final system.

Above is an error encountered when the database wasnt in the correct location or the program to load the data. I corrected this by moving the database in the correct location.

Page 58

Another example of failed coding is lack of validation to 2 decimal places on my system, I tried to use a function to take the last 2 decimal places and round up but this failed as the implementation was to much work in my timeframe. Additionally, I added validation for the Last time contacting supplier field so that it couldnt be after the current systems time. I managed to be able to get it to the currents systems year but couldnt get it to the current systems time as it was beyond my skill range.

Page 59

User Interface testing

Computing Project

Page 60

Password and security testing

This is working correctly and message box is displayed upon clicking on the unlock button. Asking the user to enter the password, using a while loop until the passwords criteria is met. There is no way to close this form or access the application. This meets my system requirements for security. It Also hides all open forms stopping user interaction.

Page 61

Supplier Search Testing

As can be seen here the suppliers are entered in a different order, and now must be organised alphabetically.

Page 62

This working correctly and the Suppliers Names are sorted alphabetically as specified in my specification. Listing them A-Z and sorting them. Not only that but it also saves all the data and appended changes when the save button is clicked.

Page 63

Save Button testing

This input box is shown then the save button is clicked but an invalid date is entered as supposed by criteria in my specification. Showing my validation works and also stops error occurring in my database and system.

Page 64

Supplier Add

This is the add supplier form with all the required fields and validation on all the field inputs. If data is entered that doesnt meet the validation then it shows a message box like in Figure 1. It allows my customer to add to the required information into their system. An Auto generated Supplier ID would be created upon record creation.

Page 65

As can be seen the suppliers names require sorting in a logical order

Page 66

Theyre now sorted in alphabetical order with the numbered suppliers coming first to allow for information to be sorted correctly as the user required

Page 67

Above is the table which requires sorting by Last time contacting supplier.

Page 68

The data has now been sorted in the order of most recent contact with suppler

Page 69

Error Message (figure 1)

This message box informs the use that they have entered invalid data, and that they need to a date before the current time. This is my validation for the Last Time Contacting Supplier, allowing the user to only enter a date before the current systems date. It stops unrealistic/invalid data to be entered by the user. Only allowing information that is valid/vital to the system.

Page 70

This is the export form, to the right the user must enter an exporting option in order for the systems validation to allow the export button to be enabled

Page 71

Logical & Response testing


Test No Test Description Reason for testing Input Expected Result Actual

Add Stock testing

To check the validation and the input of data into the system

Item Name: Marshmallows, Item Description: Simple Foods, Stock Level: 12, Purchase Price: 12.9A (Then change to 12.99 on prompt), Supplier ID: 1

To prompt user with a message box telling them they have entered the price incorrectly and then after being corrected to save the information

As expected

Code: If IsNumeric(Purchase_PriceTextBox.Text) = True Then ' If the price is numerical then continue Else : MsgBox("Please Enter a Valid Price") 'else show a message saying enter a vaild price End If

Page 72

Prompted user with a message box: User entered correct information and the record was stored

Edit Stock Item

To test whether inputs are stored when you update and save the changes To test whether stock items can be deleted in the system To test whether the suppliers can be added

Stock level change: 12.90

To change and store data

As Expected

Delete Stock Item

Delete MarshMallows

Deleted item

As Expected

Add Supplier

Add Supplier Name: John, Address: 123 street time, Contact no:019772626, Last time contacting: 21/19/2015 (then 2011)

To have a message box show to the user saying enter a current date and then save it once the corrects were made. To store the number in the database

No message box was shown to the test user but the data was saved incorrectly.

Edit Supplier

To test if records can be edited

Contact no: 01977716262

As Expected

Page 73

Delete Supplier

To test if records can be deleted

Deleted Record

As Expected

Password Change

Passwords can be changed in the system using the input box Export selected information from the system using the export form

Submarine

Changed password To export to a .csv file in Microsoft excel and allow the user to save the file

As Expected

Exporting

Supplier ID, Supplier Name, Contact Number, Last Date Contacting, and Item Names, Item Purchase Price.

As expected

Page 74

I I have witnessed the Testing of the proposed system:

Tommy Hedges (Client):

Scott James Bell (Student)

Page 75

Error Messages Message Reason


No Data To Sort Invalid price put in the purchase Price List

Error
No Data in the database to store An non numerical value entered into the field for purchase price Date Entered is > Current Date

Last Date Contacting Supplier Entered Above Current Date Non Numerical Value Entered Into Contact Number Field

A Value that is invalid has been entered into the Contact number Field

I have reviewed the system and tested it against my requirements with comments as above of the proposed system:

Tommy Hedges (Client):

Scott James Bell (Student)

Computing Project

Page 76

Computing Project

Page 77

Evidence of modification

Page 78

User Documentation
Welcome to the Installation, User and Maintenance Manual for Anchor Supplies Stock System. Below you will find all the information in various subheadings in order to make the most of your Stock Management Solution. A copy of this instructional guide in a PDF (Portable Document Format) is included with your installation folder. USER DOCUMENTATION............................................................... ERROR! BOOKMARK NOT DEFINED. SYSTEM REQUIREMENTS ................................................................................ERROR! BOOKMARK NOT DEFINED. INSTALLATION & START UP...........................................................................ERROR! BOOKMARK NOT DEFINED. INSTALLATION .................................................................................................ERROR! BOOKMARK NOT DEFINED. START UP.........................................................................................................ERROR! BOOKMARK NOT DEFINED. TYPICAL USE....................................................................................................ERROR! BOOKMARK NOT DEFINED. MENU ....................................................................................................................... ERROR! BOOKMARK NOT DEFINED. ADD ITEM ................................................................................................................ ERROR! BOOKMARK NOT DEFINED. ADDING SUPPLIER .................................................................................................. ERROR! BOOKMARK NOT DEFINED. STOCK SEARCH........................................................................................................ ERROR! BOOKMARK NOT DEFINED. SUPPLIER SEARCH .................................................................................................. ERROR! BOOKMARK NOT DEFINED. BACK UP ...........................................................................................................ERROR! BOOKMARK NOT DEFINED. TROUBLESHOOTING ........................................................................................ERROR! BOOKMARK NOT DEFINED. GLOSSARY ........................................................................................................ERROR! BOOKMARK NOT DEFINED. SUPPORT ..........................................................................................................ERROR! BOOKMARK NOT DEFINED.

System Requirements
The End User must be running a Windows based Operating system that supports Microsoft .Net 3.5 anything from Microsoft Windows XP and Above (Including Microsoft Windows Vista & 7). The computer must have a minimum of 256MB of memory and must have 120 MBs of Free Memory. Peripherals Required: Mouse, Keyboard & Monitor. Minimum Requirements:

Microsoft Windows XP (SP3) & Above Microsoft .NET Framework 3.5 & Above 256MBs of Random Access Memory 120 MBs of Free Hard Disk Space Mouse Keyboard Monitor

Computing Project

Page 79

Important Note: Microsoft Windows XP Operating system is due to expire the support period so our product cant be guaranteed to work at the end of 2012. We would recommend upgrading to a later version of the Windows Operating System.

Installation & Start Up Installation


Installation is a simple and easy for the Anchor Supplies Stock System, all that is required is for you to open up the Executable File Called Anchor Supplies Installer included with the Document. It will then take you through an installation wizard as seen below. Installation Loading Screen:

Installation Welcome Message: Just click next to continue

Installation Directory: Change the Directory to suit your installation needs and Click Next to continue. (Note Remember the directory as it will be useful later on in this guide)

Page 80

Installation information Overview: A final Overview of your installation, confirm this is correct and click next.

Installation Screen: This is while the product is installing, it may take a few moments to install.

Installation complete: Your new Stock System is ready to be used.

Your Application is now Available in the start menu and on the Desktop. Click the Short cut to execute the program.

Page 81

Start Up
To start the application simply follow the instructions below: Step 1: Navigate to the Desktop of your Computer. A new Shortcut will appear on your desktop, this is the Anchor Supplies Stock System.

Step 2: Double click this icon and the application will start.

Method 2: Step 1: Navigate and open the Start Menu

Page 82

Step 2: Browse to All Programs then Anchor Supplies Stock System and Double Click the Shortcut to the executable file to start the application

A copy of this instructional guide is also included in this folder

Page 83

Typical Use Menu


This is the User Menu which allows you to access the various systems the stock system and is loaded upon start up of the application. This menu will always be open but in the background of application allowing you to close one form and open another seamlessly. Below is an explanation of each feature and button on the menu form.

The Stock Search Button loads the Stock Search Form The Supplier Search Button loads the Supplier Search Form The Export Button loads the Export Form

The Add Item Button loads the Add Item Form

The Add Supplier Button loads the Add Supplier Form The Change Password Button loads an Input dialog for the user to update their password The Lock Button Locks the buttons and closes any open forms. (fig 2)Requiring a password to be entered before allowing user (fig 3) interaction again

All the Buttons become locked when the form is in locked mode and any open forms are closed

The Unlock button load the Enter password dialog (fig 3) for the user to unlock the form

Figure 2

Page 84

Below is the Enter password Input Dialog for the user to resume their work with the system. They must enter the password correct to have access back to the system. There is no lockout times r functions so the user may make as many attempts as they wish.

Figure 3

This shows the password failure message box.

Page 85

Add Item
This is the user information for adding items to the system using the Add Item Form. Below is a detailed account of what each button does on the forms and a step by step guide on how to use this dialog. Record Controls Auto Generated Number ADD Items Name Field with a maximum length of 25 Characters Items Description Field with a maximum length of 500 Characters Items Price Field Requirements: 2 decimal places, Numeric and a positive integer. Items Supplier ID Combo Box with a list of supplier Names Save Adding an Item You must follow the instructions (Top to Bottom) in order to add a new item. Click Add New Item Button

Enter the new Items Name with a maximum length of 25 Characters Enter the new Items Description with a maximum length of 500 Characters Enter the new Items Price to 2 decimal places and that is a positive integer. It also must be numeric Select the New Items Supplier ID from the drop down list. Click Save Button

Page 86

Adding Supplier
This is the user information for adding Suppliers to the system using the Add Supplier Form. Below is a detailed account of what each button does on the forms and a step by step guide on how to use this dialog.

Record Controls

Auto Generated Number

ADD

Save Supplier Name Field with a maximum length of 25 Characters Supplier Address Field with a maximum length of 500 Characters Last Time Contacting Supplier Date Time Picker, Allows you to select a date before the current systems Date. Assorted Information Field with a Maximum of 500 Characters

Adding a Supplier You must follow the Instructions (Top to Bottom) in order to a new supplier Click Add New Item Button Enter the new Suppliers Name with a maximum length of 25 Characters Enter the new Suppliers Address with a maximum length of 500 Characters Select a Date on the Last Time Contacting Supplier Date Time Picker, select a date before the current systems Date. Add Information to the Assorted Information Field with a Maximum of 500 Page 87 Characters

Stock Search
This is the user information for Searching Stock on the system using the Stock Search Form. Below is a detailed account of what each button does on the forms and a guide on how to use this form.

These are the column headers allowing you to order the data in any way you wish. Current row Selected, Useful for exporting single items and Navigating

Single row of data containing the items attributes and can be edited/deleted

Page 88

Supplier Search
This is the user information for Searching Suppliers on the system using the Supplier Search Form. Below is a detailed account of what each button does on the forms and a guide on how to use this form.

These are the column headers allowing you to order the data in any way you wish.

Current row Selected, Useful for exporting single items and Navigating

Single row of data containing the suppliers attributes and can be edited/deleted

Page 89

Exporting
This is the Exporting Form which allows you to Export to a range of formats for your leisure. You many export to either Microsoft Excel & Text format. Below is an explanation of each feature and button on the menu form.

This is the Attribute Checkboxs with the selections for exporting. With the required attributes for any export preselected.

The Export Option Combination Box Allows the user to select the format they wish to export.

The export button shows a file dialog (fig 4) to save the file in the users desired directory.

Exporting You must follow the Instructions (Top to Bottom) in order to a new supplier

Select the desired Attributes you wish to be exported.

Select which format you wish to export too.

Select the Export button when everything is right and a file dialog shall load (fig 4).

Page 90

Figure 4

Page 91

Back up
Backing up your system is an essential part of operation; any data loss could be potential threating to your daily business routine. So we have made several options to back up your system: that involve manual work as well as automated solutions for ease of use. We would recommend you back up your system on a regular basis in order to protect against failures to your system and protect any valuable data.

Solution One: Exporting To Excel


As Shown in the above instructions, you can simply just export your entire database to Microsoft Office Excel and easily access it in the application should you wish for your data to be backed up.

Solution Two: Exporting to Text Documents


As Shown in the above instructions, you can simply just export your entire database to a plain text file and easily access it should you wish for your data to be backed up.

Solution Three: Copying your database


Copying the Database
The best and full proof method of backing up is to back up your database file which will allow you to restore your system should a problem arise. You can simply reinstall the software and replace the blank database with your pre-existing one. Below is a step by step guide on how to back up your database file.

Step 1: Browse to the location of the installed system usually C:/Windows/Program Files/Anchor Supplies Stock System (As Below) but you may of change this during installation.

Page 92

Step 2: Open up that directory and select the anchor supplies.accdb file (This is your database Be careful not to move it) and select copy from the right click option menu.

Step 3: Paste the Database file to the backup directory (Choose your own). We would recommend a location that is not on the computer for maximum safety.

Page 93

Disclaimers: Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

Troubleshooting
Error Invalid Password Reason for error Your password is incorrect and doesnt match the password stored in the system Solution Either enter the correct password or Browse to C:/Windows/Program Files/Anchor Supplies Stock System/ and create a document called password.txt with your new desired password. Copy/move your database to your installation location. Typically, C:/Windows/Program Files/Anchor Supplies Stock System or the directory where your applications executable file is located. Initially reinstall .Net Framework (Minimum Verison 3.5). If this doesnt fix the error then reinstall the application following the instructions below. However, make sure you back up your database and replace the default database after installation.

Error Connecting to the database

Your database isnt in the required location for the application to load it.

Runtime Error

Either your Operating Systems .Net Framework is damaged or The applications Executable file is damaged.

Page 94

Glossary
Microsoft Windows XP: an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops, and media centers. It was first released in August 2001, and is currently one of the most popular versions of Windows. The name "XP" is short for "eXPerience." [Wikipedia Source http://en.wikipedia.org/wiki/Microsoft_XP] Microsoft Windows Vista: an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs. [Wikipedia Source -http://en.wikipedia.org/wiki/Microsoft_Vista] Microsoft Windows 7: the current release of Microsoft Windows, a series of operating systems produced by Microsoft for use on personal computers, including home and business desktops, laptops, netbooks, tablet PCs, and media center PCs. [ Wikipedia Source http://en.wikipedia.org/wiki/Microsoft_7] Microsoft .NET Framework: The Microsoft .NET Framework is a software framework that can be installed on computers running Microsoft Windows operating systems. [ Wikipedia Source http://en.wikipedia.org/wiki/Microsoft_net_framework] Microsoft Excel: is a commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows. [Wikipedia - Source - http://en.wikipedia.org/wiki/Microsoft_Excel ] Random Access Memory: the most common computer memory which can be used by programs to perform necessary tasks while the computer is on; an integrated circuit memory chip allows information to be stored or accessed in any order and all storage locations are equally accessible. [Princeton University Source - http://wordnetweb.princeton.edu/perl/webwn?s=ram] Hard Disk: A storage medium for data inside your computer. MB: Megabyte is a unit of information that is used in a computer system. It is a size of memory equating to (1024KB) Runtime Error: A run-time error is detected after or during the execution of a program [ Wikipedia Source - http://en.wikipedia.org/wiki/Run_time_(program_lifecycle_phase) ] Database: is an organized collection of data, today typically in digital form. The data are typically organized to model relevant aspects of reality (for example, the availability of rooms in hotels), in a way that supports processes requiring this information (for example, finding a hotel with vacancies). [Wikipedia Source - http://en.wikipedia.org/wiki/Database]

Support
If any issue arises with the system and you require additional help contact support on Support@fusionet24.com Thank you for co-operation

Page 95

Page 96

Evaluation
Requirement To create reports that export information about Items and Suppliers into reasonable formats. Met? Yes Proof Above Comments Yes as stated above the System Exports to Microsoft Excel allowing for data to be manipulated

A data relationship between the Supplier and Stock Data Store allowing the system to link them and display the information.

To have Single logon security that enables a single password to be used to access the system

Yes

Above

Yes the software is secured with an input box and this meets the criteria of the client The user can search as well as organise and edit the searchs fast. From day one of development I have included the agreed upon attribute with appropriate file sizes.

Fast Stock Search to find items and suppliers quickly

Yes

Above

Stock & Suppliers Data Stores that store the Yes following attributes efficiently:
Stock Store: Item Name Item Description Stock Level Purchase Price Supplier Store: Supplier Name Supplier Address Supplier Contact Number Supplier Assorted Information Last Time Contacting the Supplier

Above

The Data would be sorted in columns on the users request

Yes

Above

The User can select any column or row in the Searching Forms for both Supplier and Item.

Page 97

Selected columns would order data in ascending and descending order according to the requirements (0-9, A-Z, 9-0, Z-A)

Yes

Above

The data is sorted on user interaction with the and can identify the solution The clients comments agree with this and end user survey too After some considerations and due to the time constrains on the project, I decided to integrate a simple and helpful user guide that is accessible in paper and digital formats for the user for them to understand the system. I believe that the system however could be used and understood without prior knowledge Yes as can be screen by screenshot evidence. Yes the entity relationship diagram shows the relationship between the tables with a foreign key. Yes works on the current machines It is developed for Microsoft Windows XP and Above Yes upon interaction with the system Yes it works on the .net framework 3.5 and

Simple Interface for user to navigate and understand

Yes

Below

To make the system Intuitive and easily used.

Yes

Above

A menu that is loaded upon start up of the system allowing access to the other forms on the system A data relationship between the Supplier and Stock Data Store allowing the system to link them and display the information.

Yes

Above

Yes

Above

Must work on current hardware

Yes

Above

Developed for Microsoft Windows

Yes

Above

Updating of Fields and Form in Real time

Yes

Above

Developed and Executable on .Net Framework 3.5

Yes

Above

Page 98

above Adding Suppliers to the system Yes Above Easy for the client to add new suppliers to the system Easy for my Client to edit the supplier attributes for system. Easy and simple for the client to delete suppliers from the system. Easy for the client to add new stock items to the system Easy for my Client to edit the stock attributes for system. Easy and simple for the client to delete stock from the system.

Editing Suppliers on the system

Yes

Above

Deletions of Suppliers on the system

Yes

Above

Adding of Stock Items to the system

Yes

Above

Editing of Stock Items on the system

Yes

Above

Deletion of Stock Items

Yes

Above

The solution didnt cost any money and met the requirements as specified above Tommy Hedges (Client): Scott James Bell (Student):

Page 99

Problems and Limitations When Creating The System


The Main Problem after agreeing upon the solution requirements with my client was implementing them all with the required time frame and keeping a certain complexity in the system even though my clients requirements were quite simple. I soon realised that my approach was to overcomplicate the design and development of the solution by thinking to generic and big. I had to prioritise reconvene with my client on regular intervals to make sure I was completing the system in a user friendly way. For this I decided not to include the following:

A popular products section for stock items This feature was really outside of my designs scope and added to much complexity to the system. Because of the way Stock Levels and History would have had to of been complied for the this to be calculated. Help Menu on the application Help Menus were a pointless feature to the user because the system is very intuitive and an extensive but usable user guide was included with installation.

If I had the necessary time to complete this project I would of tried to rescope my solution to include them. I also encountered problems during the programing of my solution these were:

Using a database into this system was a challenge as I had only ever used SQL server and Visual Basic.Net together and not ever used Microsoft Access database files. I now more confident in using Access and VB.Net The Access file only allowed strings to be 255 characters long when I had requirements of 500. I found a work around that allowed my system to work and include the required components. I had never exported to Microsoft Excel before and it took a long time to write an application wrapper, which caused many problems for my program exporting functionality. I have since leant the knowledge and even made it so my module could be easily adapted to future projects I originally forgot the scope of the password leaving it as a variable only to relies it would be reinitialized on restart meaning my security would be useless. I wrote a text file, which was securely scrambled and allows the password to be stored safely.

Good and Bad Points Of The System


Some of the good points of the system are: After examining the Initial specification, interviews and definition of the problem I have accurately fixed the problem that faced my client and met the system requirements in an efficient manner. One of the best things about my system is the export feature, as it gives my client versatility and flexibility with data from the system. This not only allows backing up but the data to be manipulated in other applications to allow extra user ability and features outside of the scope of my product. My system also keeps track of the item level very well with the column reordering, allowing the user to manipulate and interpret the data in my system in an effective and useful way. As for using the

Page 100

system its self, my users have found it easier to use and it means that the various staff members could take over the system with minimal training as requested by my client. Some Bad Points of My system: Unfortunately, my system allows for problems with the export feature, such as if the data is needed to be selected individually it is often unreliable to make sure the currently selected row is exported meaning the user would possibly have to try several times to make sure the correct information is selected. Another bad point is that data entered could always be prone to human error as mentioned in my analysis meaning that the system could possibly be inaccurate due circumstances out of its control.

End User Report

I have asked 5 end users to evaluate the system against the requirement; I have done this by creating a scenario: Scenario: Add a new item (Item Name: Tent, Item Description: A 2x2 tent, Purchase Price: 12, Stock Level: 25, Supplier ID 1) Was this task easy to-do? Yes 5 No 0 User Comment(s): Easy Simple Edit the stock item changing the stock level to 12 and the supplier ID to 2 Was this task easy to-do? Yes 5 No 0 User Comment(s): Easy A little bit hard to change the supplier ID, if there wasnt an supplier in the system, lucky there was. Delete a stock item

Page 101

Was this task easy to-do? Yes 5 No 0 User Comment(s): Was easy todo I tried right clicking first but the buttons make it easy Add a supplier (Supplier Name: Test, Supplier Address: Test Street, Contact number: 01977562621, Assorted Information: 123344, Last time contacting supplier: 12/02/2012) Was this task easy to-do? Yes 5 No 0 User Comment(s): Easy todo A error message was shown for an incorrect input in the date. Edit a supplier (Last time contacting supplier: 23/02/2012) Was this task easy to-do? Yes 5 No 0 User Comment(s): Allowed me to change it easily Delete a supplier Was this task easy to-do? Yes 5 No 0 User Comment(s): Allowed me to delete the record quickly. Sort a column Was this task easy to-do?

Page 102

Yes 3 No 2 User Comment(s): Without proper instruction it was difficult but was easy once I read the documentation.

Export a table Was this task easy to-do?

Yes 5 No 0 User Comment(s): Exporting a table was quite easy and quick

Evaluation of End Users Report


The users responded well to the system and the feedback was useful to show that the system had met the requirements. The system shows that the user can use the system with little to no instruction, which means that its intuitive and easy to navigate. The systems validation was simple and understood by the user meaning that they could respond to the problems and correctly enter the information. The information collected has provided insight into the how the users have interacted the system, it is clear that the users struggled slightly with sorting columns which could be improved upon by adding a tooltip on mouse over of the columns/table fields with the information on how to reorganise columns. This would be possible in extensions of the system (see Possible Extensions). Overall my end users seem to have a positive review of the system.

Possible Extensions

Adding a popular stock item calculations This could be achieved by storing stock history for items and suppliers. It would allow for calculations of the most popular products, which was a request by my client but was not able to be completed in my systems scope. It would improve the system, as the client would be able to keep track of popular products and order more in bulk to be efficient. It would also allow my client more control of stock flow, with a consistent flow of popular stock into his warehouse. I would go about adding this, by storing a stock added level and date added into a separate database with a separate interface

Page 103

allowing the client to select criteria to search the stock level history against the current level with reference to how long it took to sell the amount of products recorded. It would check the stock added history against the current systems time to provide a accurate timescale for my client. Printing It would allow my user a direct function to print out data from the system. Instead of requiring the document to be sent out to excel before being able to print. It would have been useful for my end users and allowed for a better system/interaction. I would implement this using the Visual Basic, Printing Library and Dialogue Box functionality to create a simple intuitive layout for the client to use which would have to meet my system requirements about navigation and user interactions. Automated Back Ups and restores It would allow for the client to have a data efficient system that is safe and not prone to manual back up error. This would be integrated into the closing down of the application, as the application is closed, I would implement Visual Basics System.IO library to save a copy of the current data in the database which could be restored upon boot, if an error is to occur with the database/solution. It would allow my client to have a reliable and safer solution that could would be more stable. Tool Tips for Column Sorting In the User Scenario it was evident that some users struggled when trying to reorganise the columns with out the user documentation, which means that it would be useful to add some tool tips( information dialogue on mouse over of certain elements of applications). I would of liked to integrate this to help the user understand the system easier and make the system more intuitive. I would do this by adding the tools tips on the columns headers and the fields that can be sorted in the tables.

Conclusion
I am satisfied with my solution and the documentation above:

Tommy Hedges (Client):

Scott James Bell (Student)

Page 104

Appendix
Menu Form
Public Class MENU

Friend WithEvents btnlock As System.Windows.Forms.Button Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents btn_additem As System.Windows.Forms.Button Friend WithEvents Button2 As System.Windows.Forms.Button Friend WithEvents Button3 As System.Windows.Forms.Button Friend WithEvents Btnlock1 As System.Windows.Forms.Button Friend WithEvents Button5 As System.Windows.Forms.Button Friend WithEvents Button4 As System.Windows.Forms.Button Friend WithEvents GrpMenu As System.Windows.Forms.GroupBox

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Btnlock1.Hide()

End Sub

Computing Project

Page 105

Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlock.Click

Try Dim Passwordtextloader As System.IO.TextReader Passwordtextloader = System.IO.File.OpenText("C:/Windows/Program Files/Anchor Supplies Stock System/password.text) Catch Ex As Exception

Dim password As String = Passwordtextloader.ReadToEnd Passwordtextloader.Close()

End Try

'Password in a variable Do While InputBox("Enter password") <> Password MessageBox.Show("An Error Has Occured")

'Updated If Statement and replaced with a loop to make it more efficent 'Message Box to Display that the password was incorrect

MsgBox("Incorrect Password Entered, Try again") Loop 'End Of loop

Page 106

GrpMenu.Enabled = True 'Enabling of the buttons contained with the groupbox, so the user can use the program btnlock.Hide() 'Hides the Unlock Button Btnlock1.Show() 'Shows Lock Button

End Sub

Private Sub InitializeComponent() Me.GrpMenu = New System.Windows.Forms.GroupBox() Me.Button3 = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() Me.btn_additem = New System.Windows.Forms.Button() Me.Button1 = New System.Windows.Forms.Button() Me.btnlock = New System.Windows.Forms.Button() Me.Btnlock1 = New System.Windows.Forms.Button() Me.Button4 = New System.Windows.Forms.Button() Me.Button5 = New System.Windows.Forms.Button()

Page 107

Me.GrpMenu.SuspendLayout() Me.SuspendLayout() ' 'GrpMenu ' Me.GrpMenu.Controls.Add(Me.Button5) Me.GrpMenu.Controls.Add(Me.Button4) Me.GrpMenu.Controls.Add(Me.Button3) Me.GrpMenu.Controls.Add(Me.Button2) Me.GrpMenu.Controls.Add(Me.btn_additem) Me.GrpMenu.Controls.Add(Me.Button1) Me.GrpMenu.ForeColor = System.Drawing.SystemColors.ControlLight Me.GrpMenu.Location = New System.Drawing.Point(2, 1) Me.GrpMenu.Name = "GrpMenu" Me.GrpMenu.Size = New System.Drawing.Size(259, 246) Me.GrpMenu.TabIndex = 0 Me.GrpMenu.TabStop = False Me.GrpMenu.Text = "Options" ' 'Button3 '

Page 108

Me.Button3.BackColor = System.Drawing.SystemColors.HighlightText Me.Button3.ForeColor = System.Drawing.SystemColors.ControlText Me.Button3.Location = New System.Drawing.Point(6, 102) Me.Button3.Name = "Button3" Me.Button3.Size = New System.Drawing.Size(118, 77) Me.Button3.TabIndex = 0 Me.Button3.Text = "Supplier Search" Me.Button3.UseVisualStyleBackColor = False ' 'Button2 ' Me.Button2.BackColor = System.Drawing.SystemColors.HighlightText Me.Button2.ForeColor = System.Drawing.SystemColors.ControlText Me.Button2.Location = New System.Drawing.Point(130, 102) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(118, 77) Me.Button2.TabIndex = 0 Me.Button2.Text = "Add Supplier" Me.Button2.UseVisualStyleBackColor = False ' 'btn_additem

Page 109

' Me.btn_additem.BackColor = System.Drawing.SystemColors.HighlightText Me.btn_additem.ForeColor = System.Drawing.SystemColors.ControlText Me.btn_additem.Location = New System.Drawing.Point(130, 19) Me.btn_additem.Name = "btn_additem" Me.btn_additem.Size = New System.Drawing.Size(118, 77) Me.btn_additem.TabIndex = 0 Me.btn_additem.Text = "Add Item" Me.btn_additem.UseVisualStyleBackColor = False ' 'Button1 ' Me.Button1.BackColor = System.Drawing.SystemColors.HighlightText Me.Button1.ForeColor = System.Drawing.SystemColors.ControlText Me.Button1.Location = New System.Drawing.Point(6, 19) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(118, 77) Me.Button1.TabIndex = 0 Me.Button1.Text = " Stock Search" Me.Button1.UseVisualStyleBackColor = False '

Page 110

'btnlock ' Me.btnlock.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnlock.BackColor = System.Drawing.SystemColors.HighlightText Me.btnlock.FlatStyle = System.Windows.Forms.FlatStyle.Popup Me.btnlock.ForeColor = System.Drawing.SystemColors.ControlText Me.btnlock.Location = New System.Drawing.Point(2, 253) Me.btnlock.Name = "btnlock" Me.btnlock.Size = New System.Drawing.Size(258, 55) Me.btnlock.TabIndex = 1 Me.btnlock.Text = "Unlock" Me.btnlock.UseVisualStyleBackColor = False ' 'Btnlock1 ' Me.Btnlock1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Btnlock1.BackColor = System.Drawing.SystemColors.HighlightText Me.Btnlock1.FlatStyle = System.Windows.Forms.FlatStyle.Popup

Page 111

Me.Btnlock1.ForeColor = System.Drawing.SystemColors.ControlText Me.Btnlock1.Location = New System.Drawing.Point(3, 253) Me.Btnlock1.Name = "Btnlock1" Me.Btnlock1.Size = New System.Drawing.Size(258, 55) Me.Btnlock1.TabIndex = 2 Me.Btnlock1.Text = "Lock" Me.Btnlock1.UseVisualStyleBackColor = False ' 'Button4 ' Me.Button4.BackColor = System.Drawing.SystemColors.Info Me.Button4.ForeColor = System.Drawing.SystemColors.ControlText Me.Button4.Location = New System.Drawing.Point(6, 185) Me.Button4.Name = "Button4" Me.Button4.Size = New System.Drawing.Size(118, 55) Me.Button4.TabIndex = 1 Me.Button4.Text = "Export" Me.Button4.UseVisualStyleBackColor = False ' 'Button5 '

Page 112

Me.Button5.Location = New System.Drawing.Point(130, 185) Me.Button5.Name = "Button5" Me.Button5.Size = New System.Drawing.Size(118, 55) Me.Button5.TabIndex = 1 Me.Button5.Text = "Change Password" Me.Button5.UseVisualStyleBackColor = True ' 'MENU ' Me.BackColor = System.Drawing.SystemColors.InactiveCaption Me.ClientSize = New System.Drawing.Size(263, 309) Me.Controls.Add(Me.Btnlock1) Me.Controls.Add(Me.btnlock) Me.Controls.Add(Me.GrpMenu) Me.Name = "MENU" Me.GrpMenu.ResumeLayout(False) Me.ResumeLayout(False)

End Sub

Page 113

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Shows The Form For Searchin Stock StockSearch.Show()

End Sub

Private Sub btn_additem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_additem.Click 'Shows form for adding an item itemadd.Show()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Shows form for adding supplier SupplierAdd.Show() End Sub

Page 114

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'Shows form for searching suppliers SupplierSearch.Show() End Sub

Private Sub Btnlock1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnlock1.Click

'Disables the group box and objects contained with in, meaning the user can't use it until the BTNLock Instantance is completed GrpMenu.Enabled = False 'Shows the BtnLock Button (unlock button) btnlock.Show() 'Hides the Lock Button Btnlock1.Hide() 'Hides all the forms export.Hide() SupplierAdd.Hide() SupplierSearch.Hide() itemadd.Hide() StockSearch.Hide()

Page 115

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click export.Show()

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click 'Dim temp As String 'temp = password 'password = InputBox("Enter the New Password") 'If password <> temp Then

'Else

'End If 'password = InputBox("Enter the New Password")

Page 116

End Sub End Class

Add Supplier Form


Public Class SupplierAdd

Private Sub Suppiler_storeBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Suppiler_storeBindingNavigatorSaveItem.Click Me.Validate() 'Vaildates the binding navigatpr Me.Suppiler_storeBindingSource.EndEdit() 'Ends the edit Me.TableAdapterManager.UpdateAll(Me.Anchor_SUPPLIESDataSet) 'Updates the entire Table in the data set

End Sub

Private Sub SupplierAdd_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' This line of code loads data into the 'Anchor_SUPPLIESDataSet.Suppiler_store' table. Me.Suppiler_storeTableAdapter.Fill(Me.Anchor_SUPPLIESDataSet.Suppiler_store)

Page 117

End Sub End Class

Add Stock Item Form


Public Class itemadd

Private Sub itemadd_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'Anchor_SUPPLIESDataSet1.Suppiler_store' table. You can move, or remove it, as needed. Me.Suppiler_storeTableAdapter.Fill(Me.Anchor_SUPPLIESDataSet1.Suppiler_store) 'This line of code loads data into the 'Anchor_SUPPLIESDataSet1.Stock_Store' table. You can move, or remove it, as needed. Me.Stock_StoreTableAdapter.Fill(Me.Anchor_SUPPLIESDataSet1.Stock_Store)

End Sub

Page 118

Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorAddNewItem.Click If IsNumeric(Purchase_PriceTextBox.Text) = True Then ' If the price is numerical then continue Else : MsgBox("Please Enter a Valid Price") 'else show a message saying enter a vaild price End If

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Stock_StoreTableAdapter.Update(Me.Anchor_SUPPLIESDataSet1.Stock_Store) 'Saves all the data to the specfic table it needs to be End Sub End Class

Supplier Search
Public Class SupplierSearch

Private Sub Suppiler_storeBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.Validate() Me.Suppiler_storeBindingSource.EndEdit()

Page 119

Me.TableAdapterManager.UpdateAll(Me.Anchor_SUPPLIESDataSet)

End Sub

Private Sub Suppiler_storeBindingNavigatorSaveItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.Validate() Me.Suppiler_storeBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.Anchor_SUPPLIESDataSet)

End Sub

Private Sub SupplierSearch_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load This line of code loads data into the 'Anchor_SUPPLIESDataSet.Suppiler_store' table. You can move, or remove it, as needed. Me.Suppiler_storeTableAdapter.Fill(Me.Anchor_SUPPLIESDataSet.Suppiler_store)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Page 120

Me.Suppiler_storeTableAdapter.Update(Me.Anchor_SUPPLIESDataSet.Suppiler_store) 'Stores all the data into the appropiate table and dataset End Sub End Class

Stock Search
Public Class StockSearch

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'This line of code loads data into the 'Anchor_SUPPLIESDataSet.Stock_Store' table. You can move, or remove it, as needed. Me.Stock_StoreTableAdapter.Fill(Me.Anchor_SUPPLIESDataSet.Stock_Store)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Stock_StoreTableAdapter.Update(Me.Anchor_SUPPLIESDataSet.Stock_Store) 'Saves all the data into the appropiate data set and table End Sub End Class

Exporting Form
Public Class export

Page 121

Private Sub export_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

' This line of code loads data into the 'Anchor_SUPPLIESDataSet.Suppiler_store' table. Me.Suppiler_storeTableAdapter.Fill(Me.Anchor_SUPPLIESDataSet.Suppiler_store) ' This line of code loads data into the 'Anchor_SUPPLIESDataSet.Stock_Store' table. Me.Stock_StoreTableAdapter.Fill(Me.Anchor_SUPPLIESDataSet.Stock_Store) 'Temporary for the search string to be stored in Public SelectedData As String SelectedData = vbNull ' If statement checks to see if the user has selected the data to be included. Item ID If ITEM_IDCheckBox.Checked = True Then 'If true then add the Column Header to the search String SelectedData = "ITEM_ID "

End If ' If statement checks to see if the user has selected the data to be included. Item Description

Page 122

If ITEM_DescriptionCheckBox.Checked = True Then 'If true then add the Column Header to the search String SelectedData = SelectedData + "ITEM_Description "

End If If Item_NameCheckBox.Checked = True Then SelectedData = SelectedData + "ITEM_Name "

End If If Purchase_PriceCheckBox.Checked = True Then SelectedData = SelectedData + "Purchase_Price "

End If If Suppiler_IDCheckBox.Checked = True Then

SelectedData = SelectedData + "Suppiler_ID " End If If Suppiler_NameCheckBox.Checked = True Then

SelectedData = SelectedData + "Suppiler_Name " End If

Page 123

If Suppiler_AddressCheckBox.Checked = True Then

SelectedData = SelectedData + "Suppiler_Address " End If If Last_Time_COntacting_SuppilerCheckBox.Checked = True Then

SelectedData = SelectedData + "Last_Time_COntacting_Suppiler " End If If Contact_NameCheckBox.Checked = True Then

SelectedData = SelectedData + "Contact_Name " End If If Assorted_InformationCheckBox.Checked = True Then

SelectedData = SelectedData + "Assorted_Information " End If

End Sub

Private Sub Stock_StoreBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Page 124

Me.Validate() Me.Stock_StoreBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.Anchor_SUPPLIESDataSet)

End Sub

Private Sub ComboBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedValueChanged 'When the Combo Box Value is changed this 'Temporary(Variable) to take the string from ComboBox1 Dim temp As String = "" temp = ComboBox1.SelectedItem.ToString() 'Case Statement for the selection in the Export Menu Select Case temp 'Case is Excel for exporting to Excel Case "Excel" btn_export.Enabled = True Call exporting.Excel(SelectedData)

Case "Text" btn_export.Enabled = True

Page 125

Call exporting.Text(SelectedData) Case "Other" btn_export.Enabled = True Call exporting.Other(SelectedData) Case Else btn_export.Enabled = False Try

Catch ex As Exception

End Try End Select

End Sub

Private Sub exporting() Throw New NotImplementedException End Sub

Page 126

End Class EMAIL FROM T HEDGES ON BASIS FOR A PROJECT

Page 127

Potrebbero piacerti anche