Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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
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
No
Yes
Page 10
Page 11
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..
Data Store Post it Note/Users Mind Invoice tray/post it notes Post it Note or Not stored Invoice Tray
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
Text
1-250
N/A
Invoice Tray
9 10
String String
11-19 0-1000
N/A N/A
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
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.
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
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.
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
Disadvantages:
Expensive Time consuming production
Page 18
Disadvantages:
Inefficient Causes inconsistencies in stock levels User Error possible
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
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.
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
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
Page 26
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
Context Diagram
Customer
Order
Check Stock
Stock Order 2
Supplier file
Suppliers
Stock file
D0
Stock Store
Page 28
Stock Request
D0
Stock Store
2 D1 Supplie r Store
Find supplier
Contact Supplier
3
Stock In
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.
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
Page 31
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:
Page 34
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
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!
2 3
Item Name
String Single
Marshmallows 12.79
4 5
Integer String
1-10 0-500
2000
A spongy confection made from a soft mixture of sugar, albumen, and gelatin. 6
Supplier Name
String
1-50
The name Suppilers compnay The address and location of the business
Supplier Store
Supplier Address
String
1-250
Supplier Store
Computing Project
Page 36
9 10
DateTime
08/09/1998
String String
11-19 0-1000
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
Supplier Store
Auto Generated
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
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
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
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.
Stock Search
Search Here
Textbox that user will enter text to search the tables for forms.
Export
Page 39
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
Search Here
Textbox that user will enter text to database about the search the tables for forms. supplier
Page 40
Export
CLOSE
Add Stock
Add Stock
CLOSE
Save
Text Box for user to enter information about Stock ITEM
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
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:
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
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
Page 47
Below I have tested my algorithms with test data that is Normal, Invalid and Extreme.
Method of input
Input
Expected Result
12.99 2.99
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
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
Amending Stock
12
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.
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.
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
Whitebox
Whitebox
Page 52
modification of the system. To have a function system that responds to all data correctly
Blackbox
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
Page 53
I agree to and have reviewed the Test Strategy and Test Plans of the proposed system:
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.
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
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
Computing Project
Page 60
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
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
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
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
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
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
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
As Expected
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
As Expected
Page 73
Delete Supplier
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
Page 75
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:
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 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.
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.
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
Page 83
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 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
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
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 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.
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.
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.
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
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
Yes
Below
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
Yes
Above
Yes
Above
Yes
Above
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.
Yes
Above
Yes
Above
Yes
Above
Yes
Above
Yes
Above
The solution didnt cost any money and met the requirements as specified above Tommy Hedges (Client): Scott James Bell (Student):
Page 99
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.
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.
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.
Yes 5 No 0 User Comment(s): Exporting a table was quite easy and quick
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:
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
Btnlock1.Hide()
End Sub
Computing Project
Page 105
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
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
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
'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
Page 116
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
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
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
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
' 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 "
Page 123
End Sub
Page 124
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)
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 Sub
Page 126
Page 127