FINAL Documentation
FINAL Documentation
FINAL Documentation
1. SYNOPSIS
1.1 Title of the Project:
Departmental Store Management System A department store is a retail establishment which specializes in selling a wide range of products without a single predominant merchandise line. Department stores usually sell products including apparel, furniture, appliances, electronics, and additionally select other lines of products such as paint, hardware, toiletries, cosmetics, photographic equipment, jewellery, toys, and sporting goods. Certain department stores are further classified as discount department stores. Discount department stores commonly have central customer checkout areas, generally in the front area of the store. Department stores are usually part of a retail chain of many stores situated around a country or several Countries. In other words, a departmental store is a large retail store suffering a variety of merchandise and services and organized in separate departments. The Departmental Store Management System is based on the departmental store, which keeps the track of Inventory, Sales, Purchase & personnel. The system is Management Oriented. This system gives the management an efficient way to handle their main operational areas such as customer care, inventory control, point of sales & analysis, Profits.
1.2 Problem:
In the departmental stores most of the work is done manually by maintaining registers. This involves many limitations such as: Increases the paper work The time to access the data increases Chances of Information Leakage or Loss of Information increases Maintaining records is not Integrated Duplication of data They also use DOS based systems with monotonous Look & duplication of data having many gaps & inefficiency in forecasting due to batch process or lack of information due to either manual systems or old software. So, there is a Lack of Tools for manipulation of data.
Fig 1.1
1.7 Modules:
Inventory Sales & purchase Employee details
1.8 Conclusion:
Here we have tried to develop a software that will help the administrator to have a quick access to all the information flow in the departmental store.
Schedule feasibility :
It is measure of how reasonable the project schedule is Are the deadlines reasonable? Can the deadline be extended? Is the deadline desirable or compulsory if yes how much?
Resource Feasibility:
It is measure of availability of system resources Availability of people Do they have necessary skill? Availability of computing facilities Availability of support staff Availability of physical worksite For our system we discussed the schedule of the project it took 2 days for arranging the schedule also we have made research on the user requirements and what is the flow actually user wants.
Following are steps taken during the initial study: Initially, we collected all the information which they wanted to store . Then we studied the config of database we noted the difficulty of that system which motivated them to have new system. Then we analyzed the format of the report generated by that system.
They also use DOS based systems with monotonous Look & duplication of data having many gaps & inefficiency in forecasting due to batch process or lack of information due to either manual systems or old software. So, there is a Lack of Tools for manipulation of data.
10
4. SYSTEM DEVELOPMENT
We have used the waterfall model for developing the system.
11
Fig 4.1
Requirement Gathering: The works begins with the information gathering. Developer and customer meet and define the overall objectives for the software, identify whatever requirements are known, and outline areas where further definition is mandatory. In our software development process, we gathered information from the various developers and users to know about the existing system. This will help us to develop a proposed system. Analysis: After gathering all the requirements from the user, we need to distribute the various requirements that we have already collected. We discard the unnecessary requirements & only consider the relevant requirements. Also some requirements that have not been considered but are very much needed also need to be discovered to avoid changes in the project in the later stages. Design: This step focuses on four distinct attributes of the program: Data Structure Software Architecture Procedural Detail Interface Characterization
12
The design process translates requirements into a representation of the software that can be assessed for quality before coding begins. The design process is documented and become a part of the software configuration. That means, in a design process we designed the form layouts of the system, which in turn used for the coding purposes. Coding: In the coding process the design must be translated into a machine-readable form. If design is performed in a detailed manner, coding can be accomplished mechanistically. For coding purposes we used Visual Basic 6.0 language. Testing: The testing process focuses on the logical internals of the software, ensuring that all statements have been tested, and on the functional externals, that is, conducting testes to uncover errors and ensure that defined input will produce actual results that agree with required results. Maintenance: After all of these processes, the maintenance of the system takes into consideration. It is required because of the errors that have been encountered in the system or because the customer requires functional or performance enhancements.
13
DATA REQUIRQMENTS: The data requirements process may be based on interviews with the database users, and on the designers own analysis of the organization. The major characteristics of the departmental stores are: The departmental store is organized into branches. Each branch is located in a particular area and is identified by a unique name. The store monitors the assets of each branch. Customers of the departmental store are identified by their customer-id values. It stores each customers name and address where the customer lives. Customer may have accounts with the store for their purchasing purposes. Employees of the departmental store are identified by their employee-id values. The management stores the name, addresses, position, salary of each employee. It also keeps track of the employees start date and, thus, length of employee. The departmental store also keeps the information of the suppliers. Each supplier is identified by its supplier-id. It also stores the name, address and product-id that the supplier can supply. The departmental store also keeps the information of all of the inventories. Each product is identified by its product-id.
ENTITY_SET DESIGNATION: From the characteristics of the data requirements we begin to identify entity set and their attributes: The BRANCH entity set, with attributes branch no, location, manager, target and sales. The STOCK entity set, with attributes supplier-id, product-id, category, quantity and pay rate. The CUSTOMER entity set, with attributes Cust_Id, Cname, Address, Phone_no, Total_Amt and Balance. The EMPLOYEE entity set, with attributes Emp_Id, Ename, Branch_Id, Gender, Address, Phone_no, Date of Birth, Position, Hire_Date, Salary, Order_Id, Purchase. The SUPPLIER entity set, with attributes supplier-id, supplier-name, product-id, Address and Phone_no. The DAMAGES entity set, with attributes Emp_Id, supplier-id, product-id, quantity, price and replaced. It is a weak entity set.
14
RELATIONSHIP SETS DESIGNATION: The relationship sets designation defines the relationship among the entity sets and mapping cardinalities: GIVES ORDER, a many-to-one relationship set between customer and employee. WORK FOR, a one-to-one relationship set between employee and branch. CHECK FOR, a one-to-many relationship set between employee and stock. ORDER SUPPLIER, a many-to-one relationship set between supplier and employee. CHECK TRANSACTION, a one-to-one relationship set between damages and employee.
E-R Diagram
15
P
C A d d n r a m e
a i d id G O o r i d P T iv e s r d e r t y p a m t E
E id
n a m A
e d d rP B i d h n o S D a l O P o s B
w f o o r
B
r k s
r n
o L
a n
c u
id s t o m
B
S
r a n c h
a l
e r
p l o
y e e
a l e s
a r g
e t
h n o
D R o r d e r s u p l
a m e p
A o n
v a i r o t
g iv e s o r d e r
id
c h k f o r
C h k t r a n
S i d
S
u p p l i e r
A d d u p d t
u p d t d e l
a m
id S n a m
i d Q P
t
C t y
a t e
t y
id C i d
S n
S
E
n a c k s
x p r y W
a y r t t y
S n a m e
C
a m e
a t e T a m
P a y
Q t
r t
a y r Ct
a t e
a m
a g e s
S i d
V
r t
e g _
P i d
rG u r t o
P id S id
s s a r y U
C a t e P C n a m a t e e
t e n s i l sS i d
a y rT t y
a y
id P
R r i
e p l T S id id Q t y
P a y
q t y
y p
p
n
id
e
t y S
T
Q
y s
t y P
a m
S id
id
a m
M
W
e d i c i n e
S
r t
id
n a m P i d e
H
C
s i e r y
P a y
C
r t
l o
i d
S n
t h e s Q
P
a m
t y
t E
c o l o r id
e
x p r y
a t e Q P
t y
a y r t
a t e
Fig 4.2
16
Fig 4.3
S
S
l e
s
h
R
/ M
e
o
p
d
o r t
i f yS
e a r c
aS l ue p s p M i e r a n a l
S P l a c e o r d e r f o r C u s t o m e
e a r
r c h / M
i f y
r o
u c
e c
a i l a b
l e
t o
e l i v
e r y
e p
o O
r t r d
a y e r
e c
e p t i o
R P e a
n i s t
c e y m i p t e f o n t r C f o r
p t o M a n S o ym s u s t S
C u s t o
a r t m e r e a g e m t e m e r
m e r
n t a l
U n
a v S a it l o a cb kl e
e n t
E
p l o
e e
t a i l
t t e n R d ea cn oc re d
P
S e a r c
a y
h / A
s l i p
d d E mC p l le o r y k e e
Fig 4.4
19
The traditional approach to information system development describes activities as processes carried out by or computer. A graphical model that has proven to be quite valuable for modeling processes dependency diagram used in the Information Engineering approach and the workflow diagram used with business process reengineering, but the data flow diagram is the most commonly used process model. A data flow diagram (DFD) is a graphical system model that shows all of the main requirements for an information system in one diagram: inputs and outputs, processes, and data storage. Everyone working on a development project can see all aspects of the system working together at once with DFD. That is one reason for its popularity. The DFD is also easy to read because it is graphical model. End Users, management, and all information systems workers typically can read and interpret the DFD with minimal training.
(Level-1)
Fig 4.5
(Level-2)
Fig 4.6
(Level 3)
Fig 4.7
(Level 4)
Fig 4.8
M
Q ty d ,P i
a i n
Pa lip y s
B il l,P
ro d
G S
e t S t o c k u p p l i e r
f r o m T r a n s a c
t i o
P E
a y t so l i p m p l o y e e
D C
e l i v e r y t o u s t o m e r
Fig 4.9
G S
e k d oc ta i l
e t S t o c k u p p l i e r
f r o
Q ty ,P ro
St
u p p l i e r D e t a i l
r d e r U
p d a t i n g
t o
r e
i n
t o
Fig 4.10
26
r a n s a c
t i o
E id ,n am e
P ay l B il P ay
B i ll
s lip
s lip
t o
c k C
G e t E m B i l l a l c u l a t i o I nn f o .
A R t t e n d a n e c o r d c e
p l o S y a e l ea r y B i l l t o P a y s l i p t o C a l c u l a C i ou sn t o m E e m r p l o y e e t
d ,P i Q ty
Q ty ,P i d
R O r d e r A v a i l a b i l i t y o f S t o c k d e t a i l
r d
Fig 4.11
Fig 4.12
28
Fig 4.13
Start Add/Updat e/Delete Display Supplier Master Display Supplier Master Form Stop Form 29 Enter New Supplier Add to Database Details
Fig 4.14
30
Start
Add/Updat e/Delete
Add to Database
Stop
Fig 4.15
Add/Updat Displaye/Delete Master Customer Display Customer Master Start Form Stop Form
Fig 4.16
Start
Add/Updat e/Delete
Add to Database
Stop
Fig 4.17
Fig 4.18
Fig 4.19
35
3.
Employee
Confirmation
Employee
4.
Order_Cust
Confirm
Order_Cust
5. 6. 7. 8. 9.
36
Update Customer Order Details Update Employee Detail Delete Customer Detail Delete Supplier Detail Delete Employee Detail Delete Products Detail Generate Bill Reports Generate Salary Sheet
Update Customer Order Update Employee Delete Customer Delete Supplier Delete Employee Delete Products Produce bill report Produce Salary Sheet
Update Customer Order Update Employee Delete Customer Delete Supplier Delete Employee Delete Products Report Generation Pay slip Generation
Change confirmation Change Confirmation Delete Confirmation Delete Confirmation Delete Confirmation Delete Confirmation Bill Reports Pay slip
5. Program List:
37
Sr.No. 1. 2. 3 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Program Caption Departmental Login Welcome.. Customer_Info Customer_Add Order_Customer Employee_Info Salary_Sheet Search Products Glossary Information Hosiery Information Medicine Information Snacks Information Toys Information Utensils Information Fruits & Vegetables Damages Add_Damages Supplier_Info Supplier_Add
Program Name (.frm) frmsplash.frm frmlogin.frm frmWelcomeMDI.frm frmcustinfo.frm frmcustadd.frm frmordercust.frm frmemp.frm frmsalary.frm frmsearch.frm frmproductsclo.frm frmgross.frm frmhosiery.frm frmmedecine.frm frmsnacks.frm frmtoys.frm frmutensils.frm frmfruitveg.frm frmdamages.frm frmadddamages.frm frmsupl.frm frmsupl.frm
Description Displays the splash Screen Login the software by user id & password Displays the MDI form with different menus Displays form with customers information Displays form for adding the customer information Displays the form for adding customers orders Displays forms with employees information Displays the salary information for the employee Search a specific employee Contains the information about various products Displays the information about glossary Displays the information about hosiery Displays the information about medicines Displays the information about snacks Displays the information about toys Displays the information about utensils Displays the information about fruits & vegetables Displays the information about damaged products Displays the form for adding damaged products Displays the form with suppliers information Displays the form for adding suppliers information
38
Order to Supplier Purchases done by Company Add a supplier payment Order_Supplier About us
Displays the form for adding orders given to the supplier Displays the form for adding supplier orders Displays the form for adding suppliers payments Displays form with order given to the supplier Displays the About Us form
6.TABLE STRUCTURE:
39
Branch Table:
Sr.No. 1. 2 3. 4. 5. 6. Fields Branch_No Location Manager Emp_Id Target Sales Required(Y/N) Yes Yes Yes Yes Yes No Type Number Text Text Text Currency Currency Key Primary Key
Description:
Branch_No: Location: Manager: Emp_Id: Target: Sales: This field stores the IDs of the various branches located in different areas. Branches have different branch ID. This field stores the name of the locations of each branch. This field contains the name of the managers of the branch. This field gives the ID of the Branch Manager. This field gives the information about target sale of each branch. This field gives the information about the actual sales of each Branch.
Customer:
Sr.No. 1. 2. 3. 4. 5. 6. Fields Cust_Id Cust_name Address Phone_no Total_amt Balance Required(Y/N) Yes Yes Yes No No No Type Text Text Text Double Currency Currency Key Primary Key
Description:
Cust_Id: This field stores the Ids of each customer, which is unique to each one. Cust_name: This field stores the name of each employee. Address: This field gives the addresses of each customer. Phone_No: This column stores the phone numbers of employees. Total_Amt: This column gives the total purchases of employees. Balance: This field stores the balances remaining for the customers , if any.
Employee:
40
Fields Emp_Id Ename Branch_Id Gender Address Phone_No. Date of Birth Position Hire_Date Salary Bill_No Purchases
Type Text Text Text Text Text Double Date/Time Text Date/Time Currency Text Currency
Description:
Emp_Id: This field stores the Ids of the each employee, which is also unique to each other. Ename: This field stores the name of each employee. Branch_Id: This field stores the branch id of the employee. Address: This store the information of the employees addresses. Phone no: This field stores the phone numbers of the employees. Date of Birth: It stores the birthdates of each employee. Position: This column stores the positions of each employee. Hire Date: This field stores the hiring date of each employee. Salary: This column stores the salary of the employees. Bill_No: This field stores the order id of the employee. Purchases: This field gives the information about the total purchases of the employee.
Supplier:
Sr.No. Fields Required(Y/N) Type Key 41
1. 2. 3. 4. 5.
Primary Key
Description:
Supp_Id: Sname: Address: Phone No: Reasonable: This field stores the Ids of each supplier, which is unique to each one. This field stores the name of each supplier. This field gives the addresses of each supplier. This column stores the phone numbers of supplier. This field just tells that whether the supplier provides us with reasonable discounts, schemes, products in a profitable price.
Clothes:
Sr.No. 1. 2. 3. 4. 5. 6. 7. 8. Fields Prod_Id Sup_Id Sname Category Quantity PayRate Size Color Required(Y/N) Yes Yes No Yes No No No No Type Text Text Text Text Double Currency Text Text Key Primary Key Foreign Key
Description:
Prod_Id: This field stores the product Ids of each product. Sup_Id: This field gives the supplier Ids of the product who took the order. Sname: This field stores the name of each supplier Category: This field stores the category of each clothes whether it is dress materials, saris, shirts or anything else. Quantity: This field stores the total quantities of each clothes. PayRate: This field stores the price of each dress material. Size: This field gives the various sizes of clothes available. Color: This field gives the various of clothes available.
Fruits_Veg:
Sr.No. Fields Required(Y/N) Type Key
42
1. 2. 3. 4. 5. 6. 7.
Description
Prod_Id: Sup_Id: Sname: Category: Type: Quantity: PayRate: This field stores the product Ids of each product. This field gives the supplier Ids of the product who took the order. This field stores the name of each supplier This field stores the category of each vegetable and fruits. This field tells whether the product is fruit or vegetable. This field stores the total quantities of each vegetable and fruits. This field stores the price of each vegetable and fruits.
Grossary:
Sr.No. 1. 2. 3. 4. 5. 6. 7. Fields Prod_Id Sup_Id Sname Category Quantity PayRate Total_Amt Required(Y/N) Yes Yes Yes Yes No No No Type Text Text Text Text Double Currency Currency Key Primary Key Foreign Key
Description:
Prod_Id: Sup_Id: Sname: Category: This field stores the product Ids of each product. This field gives the supplier Ids of the product who took the order. This field stores the name of each supplier This field stores the category of each glossary whether it is rice, dal or anything else. Quantity: This field stores the total quantities of each glossary. PayRate: This field stores the price of each glossary. Total_Amt: This field contains the total amount of grossary available.
Hosiery:
Sr.No. Fields Required(Y/N) Type Key 43
1. 2. 3. 4. 5. 6.
Description:
Prod_Id: Sup_Id: Sname: Category: Quantity: PayRate: This field stores the product Ids of each product. This field gives the supplier Ids of the product who took the order. This field stores the name of each supplier This field stores the category of each product whether it is soap, brush, shampoo or anything else. This field stores the total quantities of each product. This field stores the price of each product.
Medicine:
Sr.No. 1. 2. 3. 4. 5. 6. 7. 8. Fields Prod_Id Sup_Id Sname Item_Name Quantity Weight PayRate Expiry Required(Y/N) Yes Yes No Yes No Yes No No Type Text Text Text Text Double Text Currency Date/time Key Primary Key Foreign Key
Description:
Prodid: Suplid: Sname: Item_Name: Quantity: Weight: PayRate: Expiry Date: This field stores the product Ids of each product. This field gives the supplier Ids of the product who took the order. This field stores the name of each supplier This field stores the category of each medicine, whether This field stores the total quantities of each product. This field gives the net wt. of the product. This field stores the price of each product. This field gives the information about the expiry date of each medicine.
Snacks:
44
Sr.No. 1. 2. 3. 4. 5. 6. 7. 8.
Description:
Prod_Id: Sup_Id: Sname: Category: Quantity: PayRate: This field stores the product Ids of each product. This field gives the supplier Ids of the product who took the order. This field stores the name of each supplier This field stores the category of each snacks product whether it is wafer, chocolate, biscuits or anything else. This field stores the total quantities of each snacks product. This field stores the price of each product
Toys:
Sr.No. 1. 2. 3. 4. 5. Fields Prod_Id Sup_Id Category Quantity PayRate Required(Y/N) Yes Yes Yes No No Type Text Text Text Double Currency Key Primary Key Foreign Key
Description:
Prod_Id: This field stores the product Ids of each product. Sup_Id: This field gives the supplier Ids of the product who took the order. Sname: This field stores the name of each supplier Category: This field stores the category of each toy. Quantity: This field stores the total quantities of each toy. PayRate: This field stores the price of each toy.
Utensils:
Sr.No. Fields Required(Y/N) Type Key
45
1. 2. 3. 4. 5.
Description:
Prod_Id: Sup_Id: Sname: Category: Quantity: PayRate: This field stores the product Ids of each product. This field gives the supplier Ids of the product who took the order. This field stores the name of each supplier This field stores the category of each product whether it is spoon, pan, plates or anything else. This field stores the total quantities of each product. This field stores the price of each product.
Order_Customer:
Sr.No. 1. 2. 3. 4. 5. 6. 7. Fields Orderid Custid Order_dt Paying_type Total_amt Balance Amt_paid Required(Y/N) Yes Yes Yes No Yes No No Type Text Text Date/Time Text Currency Currency Currency Key Primary Key Foreign Key
Description:
Orderid: Custid: Order_dt: Paying_Type: Total Amt: Balance: Amt Paid: This field stores the order id for each customer. This field gives id of the customer who placed the order. This field stores the date of the order. This column gives the information about the paying type of each customer whether it is based on cash or cheque. This field stores the total amount of purchase of the customers. This field stores the balances remaining for the customers. This field gives the amount paid by each customer.
46
Sr.No. 1. 2. 3. 4.
Description:
Order_Id: Prod_Id: Quantity: PayRate: This field stores the order id for each customer. This field stores the information about those product ids for which customer placed the order. This column gives the information for the total quantity of products of each customer. This field stores the price of each product.
Order_supplier:
Sr.No. 1. 2. 3. 4. 5. 6. 7. Fields Order_Id Sup_Id Order_dt Paying_type Total_amt Balance Amt_paid Required(Y/N) Yes Yes No Yes No No No Type Text Text Date/Time Text Currency Currency Currency Key Primary Key Foreign Key
Description:
Order_Id: Sup_Id: Order_dt: Paying_type: Total_Amt: Balance: Amt_Paid: This field stores the order id for each supplier. This field gives id of the supplier to whom order is placed . This field stores the date of the order. This column gives the information about the paying type of each customer whether it is based on cash or cheque. This field stores the total amount of purchase of the customers. This field stores the balances remaining for the customers. This field gives the amount paid by each customer.
47
Sr.No. 1. 2. 3. 4.
Description:
Order_Id: Prod_Id: Quantity: PayRate: This field stores the order id for each customer This field stores the information about those product ids for which customer placed the order. This column gives the information for the total quantity of products of each customer. This field stores the price of each product.
Damages:
Sr.No. 1. 2. 3. 4. 5. 6. Fields Cust_Id Sup_Id Prod_Id Quantity PayRate Replaced Required(Y/N) Yes Yes Yes No No Yes Type Text Text Text Double Currency Text Key Foreign Key Foreign Key Foreign Key
Description:
Cust_Id: Sup_Id: Prod_Id: Quantity: PayRate: Replaced: This field gives id of the customer who have reported damages. This field gives id of the supplier to whom we need to contact. This field gives id of the damaged product This column gives total quantity of the damaged products. This field stores the price of each product. This field gives whether the damaged products are replaced or not
Salary Sheet:
Sr.No. Fields Required(Y/N) Type Key
48
Ename Emp_ID Basic _Salary Dearness_Allowance Travelling_Allowance Medical_Allowance Overtime Bonus Providend_Fund Gross_Salary Service_Charge Income_Tax Net_Salary
Yes Yes No No No No No No No No No No No
Text Text Currency Currency Currency Currency Currency Currency Currency Currency Currency Text Currency
Foreign Key
Description:
Emp_Id: Ename: Basic_Salary: employees. Dearness_Allowance: Travelling_Allowance: Medical_Allowance: Overtime: Bonus: Providend_Fund: Gross_Salary: Service_Charge: Income_Tax: Net_Salary: This field stores the Ids of the each employee, which is also unique to each other. This field stores the name of each employee. This field stores the basic salary given to all This field stores the dearness allowance decided for the employees This field stores the traveling allowance decided for the employees. This field stores the medical allowance decided for the employees. This field stores the overtime given to employee, If any. This field stores the bonus given to employee, If any. This field stores the amount for the Providend Fund decided for the employees. This field stores the Gross Salary given to the employees. This field store the charges for the various services provided by the company. This field stores the income tax paid by the employee. This field store the Net Salary given to the employee.
7. REPORT LIST
49
The system includes the following reports: Sales Report Purchase Report Salary Sheet Report Customer Bill Report
8. SYSTEM TESTING
50
Testing plays a critical role in quality assurance for software. Due to the limitations of the verification methods for the previous phases, design and requirements faults also appear in the code. Testing is used to detect these errors, in addition to the errors introduced during the coding phase. Testing is a dynamic method for verification and validation, where the system to be tested is executed and the behavior of the system is observed. Due to This, testing observes the failure of the system, from which the presence of faults can be deduced. However, separate activities have to be performed to identify the faults.
White-Box Testing:
In white-box testing, the test cases are decided entirely on the internal logic of the program or module being tested. The external specifications are not considered. Often a criterion is specified, but the procedure for selecting test case is left to the tester. The most common control flow-based criteria are statement coverage and branch coverage, and the common data flow-based criteria are all-defs and all-uses. Mutation testing is another approach for the white-box testing that creates mutants of the original program by changing the original program. The testing criterion is to kill all the mutants by having the mutant generate a different output from the original program.
The software system consists of a desktop application in which the local machine maintains various databases. The system consists of various interrelated pages. The interconnections of the pages and the links on the pages have to be tested for proper interfaces between them. The databases on the server system have to be checked for consistency on different input values entered at the client system. The two versions released have to be checked separately.
Test Approach:
The model used to develop the software is the waterfall model. So the testing phase comes only once in the entire lifetime of the project. Therefore it has to be intensive and as thorough as possible. First and foremost we have to check the hardware interfaces. While checking the visual interface the interconnection and the links have to be checked. This will be done by going through various links and checking if the desired pages open up. This will be followed by testing the database business layer interface. Here the interactions between the validation and query scripts and the database have to be checked. Next we check the GUI and business layer interfaces. Here the form validation and scripts acting on the form come into the picture. The inventory triggers have to be checked for. This includes testing whether the triggers are activated on reaching minimum levels or not. This will be succeeded by integration testing. The individual models are integrated and tested for proper interface. This will require 3 days. System testing will focus on system integration. User acceptance will focus on the testing by the user and then giving an approval of the system.
Features to be tested:
The hardware has to be tested to check whether the standard output values expected are satisfied or not. The test cases involved in this are as follows 52
To check the machine speed. The software interface testing is to be done next in this section. Here we have to test the various links which provide the interfaces between different pages. The test cases involved in this are as follows: To check links which are independent of the data entered. To check the links which are dependent on the data entered. The input fields have to be checked whether only valid values are being accepted i.e. the form validation is done without any bugs in it. The various test case involved are By entering wrong and invalid values By entering values on the boundary. By entering skeptical data. The database on the server side should be checked for any inconsistencies. The various test cases involved are as follows: By entering values which are repeated to make the database inconsistent. The database also has to be checked for maximum possible entries which it can accept and handle. The entered values are not allowed and are out of bounds
Purpose:
To check links which are independent of the data entered and to check the links which are dependent on the data entered.
Inputs:
In case of independent links there would not be any inputs whereas in case of dependent links the fields, the value of which decides the links are to be entered. Example of dependent links is the form entered which is to be validated before accepting the information into the database. The data entered will be valid and invalid as well as on the boundary. Independent links are the ones in which the links are given on the screen and the pages to which they jump is prefixed and does not change based on any input.
Test Procedure:
The required fields are entered and the links are clicked on and the results are observed and noted down. The valid input is entered and the results are verified. The invalid input is entered and the results are verified. The boundary conditions are also checked and verified.
The purpose of this test case is to check the capability of the database. It will verify the amount of data that can be handled as well as determine the dependability of the data.
Inputs:
The inputs to the software will be data which can prove to be inconsistent and can damage the dependability of the software. The data entered will be in voluminous quantities so that the capability of the database can be tested.
Test Procedure:
Enter the data in such a way that the inputs have same time slots allotted or same usernames allotted. If the database accepts those then the system fails there itself. The same process will be carried out in case of each input field to check for consistencies. The data will be then entered in large quantities. If the database is capable of handling it without losing any access time then the database will pass the test. 5% level of tolerance is acceptable.
9. CONCLUSION
55
Here we have tried to develop a system that will synchronize the data stored at various places to be maintained at a single location with proper accessibility and security. The system will store the various records of different products, distributors and various transactions in a uniform format. Effective management will be done to maintain minimum inventory levels of food and other essential commodities. The user will get critical information as unavailability of a certain product or expiry of some goods beforehand. User can also make any updates to previously entered information and also delete any obsolete data which is not required anymore. Thus, we tried to provide the store administrator with an easy way to access his data.
56
57
58
60
62
63
64
65
66
67
68
69
70
About Us Form
71
72
12. CODE:
73
FORM : frmSplash.frm
Dim inti As Integer *********************************************************************** Private Sub Form_KeyPress(KeyAscii As Integer) Unload Me End Sub '********** SETS THE TIMER EVENT FOR THE PROGRESSBAR ************** Private Sub Timer1_Timer() ProgressBar1.Value = ProgressBar1.Value + 1 If ProgressBar1.Value = 100 Then Timer1.Enabled = False frmLogin.Show End If inti = inti + 1 lblno.Caption = inti & "%" End Sub
FORM: frmLogin.frm
74
'***THIS FORM RELATES TO THE AUTHORISED USER ONLY*** '*********IT PROVIDES SECURITY TO THE USER********** Private Sub cmdcancel_Click() Unload Me End End Sub *********************************************************************** Private Sub cmdOk_Click() If cbouser.ListIndex = 0 And txtPwd.Text = "gudiya" Then frmWelcomeMDI.Show ElseIf cbouser.ListIndex = 1 And txtPwd.Text = "rose" Then frmWelcomeMDI.Show Else MsgBox "Incorrect Password" End If End Sub
FORM : frmcustinfo.frm
75
'****** THIS FORM DISPLAYS ALL THE RECORDS ************ '******* PRESENT IN THE CUSTOMER DATABASE ********* '******* ALSO ALLOWS VARIOUS OPERATIONS TO BE ********* '********** PERFORMED ON THE RECORDS ***************** Dim r1 As Integer, X As Integer Dim cnn1 As Connection Dim rs As New ADODB.Recordset Dim FLAG1 As Boolean Dim cnt As Integer Dim cur_record As Integer Dim r As String *********************************************************************** Public Sub moves() txtcname = MSFlexGrid1.TextMatrix(X, 2) txtcid = MSFlexGrid1.TextMatrix(X, 1) txtaddr = MSFlexGrid1.TextMatrix(X, 3) txtph = MSFlexGrid1.TextMatrix(X, 4) txtpur = MSFlexGrid1.TextMatrix(X, 5) txtbalance = MSFlexGrid1.TextMatrix(X, 6) End Sub *********************************************************************** ** LOCKS ALL THE TEXTS BOXES SO THAT NO EDITION CAN BE DONE ** Public Sub locked() txtaddr.locked = True txtbalance.locked = True txtcid.locked = True txtcname.locked = True txtph.locked = True txtpur.locked = True End Sub
76
Public Sub unlocked() txtaddr.locked = False txtbalance.locked = False txtcid.locked = False txtcname.locked = False txtph.locked = False txtpur.locked = False End Sub *********************************************************************** Public Sub setrecordcount() j = MSFlexGrid1.Rows - 2 txtrecord.Text = " Record " & X & " Of " & j End Sub *'****** DISPLAY RECORDS IN THE APPROPRIATE BOXES**************** Public Sub display() txtaddr.Text = rs!Address txtbalance.Text = FormatCurrency(rs!Balance) txtcid.Text = rs!Cust_Id txtcname.Text = rs!Cname txtph.Text = rs!Phone_no txtpur.Text = FormatCurrency(rs!Total_Purchase) End Sub *********************************************************************** Private Sub cmdadd_Click() On Error GoTo SaveErr: Unload Me frmcustadd.Show frmcustadd.Caption = "Customer Add" Exit Sub SaveErr: MsgBox Err.Description End Sub Private Sub cmdback_Click() Unload Me
77
frmWelcomeMDI.Show End Sub Private Sub cmdcancel_Click() locked rs.Open ' **** THINGS NOT TO BE DISPLAYED IN THE LAYOUT **** cmdupdate.Visible = False cmdcancel.Visible = False ' **** THINGS TO BE DISPLAYED IN THE LAYOUT ***** cmddelete.Visible = True cmdadd.Visible = True cmdsearch.Visible = True cmdback.Visible = True cmdedit.Visible = True cmdrefresh.Visible = True rs.Close End Sub *********************************************************************** Private Sub cmdclose_Click() End End Sub
78
On Error GoTo DeleteErr rs.Open With rs If .RecordCount = 1 Then FLAG1 = True MsgBox "This Is Last Record. You Can't Delete This Record.", _ vbCritical, "DELETE RECORD" Else FLAG1 = False End If If FLAG1 = False Then s1 = MsgBox("Are You Sure You Want To Delete Record", vbQuestion + vbYesNo, _ "DELETE RECORD") If s1 = vbYes Then i = MSFlexGrid1.RowSel Do While i > 1 If Not .EOF Then .MoveNext i=i-1 Loop i = MSFlexGrid1.RowSel .Delete MsgBox "Record Is Successfully Deleted." .MoveNext If .EOF Then .MovePrevious End If End If End If End With rs.Close Exit Sub DeleteErr: MsgBox Err.Description End Sub
79
cmdupdate.Visible = True cmdcancel.Visible = True ' **** THINGS NOT TO BE DISPLAYED IN THE LAYOUT **** cmddelete.Visible = False cmdadd.Visible = False cmdback.Visible = False cmdedit.Visible = False cmdrefresh.Visible = False cmdsearch.Visible = False rs.Close End Sub *********************************************************************** Private Sub cmdfirst_Click() On Error GoTo FirstErr X=1 moves setrecordcount Exit Sub FirstErr: MsgBox Err.Description End Sub
80
Private Sub cmdLast_Click() On Error GoTo LastErr X = r1 moves setrecordcount Exit Sub LastErr: MsgBox Err.Description End Sub *********************************************************************** Private Sub cmdnext_Click() On Error GoTo NextErr If (r1 > X) Then X=X+1 moves setrecordcount Else X=1 moves setrecordcount End If Exit Sub NextErr: MsgBox Err.Description End Sub *********************************************************************** Private Sub cmdrefresh_Click() rs.Open MSFlexGrid1.Refresh rs.Requery rs.Close End Sub
81
If (r1 >= X) Then X=X-1 moves setrecordcount If X = 0 Then X = r1 moves setrecordcount End If End If Exit Sub PreviousErr: MsgBox Err.Description End Sub *********************************************************************** Private Sub cmdsearch_Click() On Error GoTo SearchErr rs.Open r = InputBox("Enter Customer's ID Or Customer's Name You Want To Search...?", _ "Get Information") rs.MoveFirst While Not rs.EOF If rs.Fields(0) = r Or rs.Fields(1) = r Then MsgBox "Record Found" Call display End If rs.MoveNext Wend rs.Close Exit Sub SearchErr: MsgBox Err.Description End Sub
82
locked If txtcid.Text = "" Then MsgBox "There is no current record ", vbInformation Else r = MsgBox("Do YOU Want To Edit The Current Record?", _ vbQuestion + vbYesNo, "Data Edition") If r = vbYes Then cnn1.Execute ("Delete from Customer where Cust_Id='" & txtcid & "'") cnn1.Execute ("Insert into Customer values('" & txtcid.Text & "','" & _ txtcname.Text & "','" & txtaddr.Text & "','" & _ txtph.Text & "','" & FormatCurrency(txtpur.Text) & "','" & _ FormatCurrency(txtbalance.Text) & "')") ElseIf r = vbNo Then MsgBox "Modification Cancel" End If End If Exit Sub UpdateErr: MsgBox Err.Description End Sub Private Sub MSFlexGrid1_Click() 'THE SELECTED RECORD IS DISPLAYED rs.Open i = MSFlexGrid1.RowSel Do While i > 1 If Not rs.EOF Then rs.MoveNext i=i-1 Loop i = MSFlexGrid1.RowSel X=i setrecordcount Call display rs.Close End Sub
83
locked Set cnn1 = New ADODB.Connection With cnn1 .ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False; _ Data Source=supriya1" .Open End With Call rs.Open("select * from Customer", cnn1, adOpenDynamic, adLockOptimistic) i=1 '*** INCREASES THE COLUMN WIDTH ***
For j = 1 To 6 Step 1 MSFlexGrid1.ColWidth(j) = 2000 Next j '*** COLUMN NAME IS DISPLAYED *** MSFlexGrid1.TextMatrix(0, 1) = "Cust_Id" MSFlexGrid1.TextMatrix(0, 2) = "Cust_name" MSFlexGrid1.TextMatrix(0, 3) = "Address" MSFlexGrid1.TextMatrix(0, 4) = "Phone_no" MSFlexGrid1.TextMatrix(0, 5) = "Total_Purchase" MSFlexGrid1.TextMatrix(0, 6) = "Balance" '*** RECORDS ARE DISPLAYED IN THE GRID ****
If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF MSFlexGrid1.TextMatrix(i, 1) = rs!Cust_Id MSFlexGrid1.TextMatrix(i, 2) = rs!Cname MSFlexGrid1.TextMatrix(i, 3) = rs!Address MSFlexGrid1.TextMatrix(i, 4) = rs!Phone_no MSFlexGrid1.TextMatrix(i, 5) = FormatCurrency(rs!Total_Purchase) MSFlexGrid1.TextMatrix(i, 6) = FormatCurrency(rs!Balance) i=i+1 MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1 If Not rs.EOF Then rs.MoveNext Loop rs.Close
r1 = MSFlexGrid1.Rows - 2 X=1
84
Exit Sub FormErr: MsgBox Err.Description End Sub FORM: frmcustadd.frm '****** THIS FORM DEALS WITH ADDING A NEW CUSTOMER **** '*** IT ALSO CHECKS WHERTHER THE ENTERED ************* '************** VALUE IS VALID OR NOT **************** ********************************************************************* Private Sub cmdback_Click() Unload Me frmcustinfo.Show End Sub ********************************************************************* Private Sub cmdclose_Click() Unload Me End Sub
******************************************************************** Private Sub Form_Load() Set cnn1 = New ADODB.Connection With cnn1 .ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=supriya1" .Open End With Call rs.Open("select * from Customer", cnn1, adOpenDynamic, adLockOptimistic) rs.Close End Sub
85
rs.Open rs.AddNew r = MsgBox("Do You Want To SAVE The Changes To The Customer Database", _ vbYesNo + vbQuestion) If r = vbYes Then rs!Address = txtaddr.Text rs!Balance = FormatCurrency(txtbalance.Text) rs!Cust_Id = txtcid.Text rs!Cname = txtcname.Text rs!Phone_no = txtph.Text rs!Total_Purchase = FormatCurrency(txtpur.Text) MsgBox "Update Successfully" rs.Update Else rs.CancelUpdate End If rs.Close Exit Sub SaveErr: MsgBox Err.Description End Sub *********************************************************************** Private Sub txtbalance_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8) Then MsgBox "Please Enter The Numbers" KeyAscii = 0 End If End Sub
86
If Not ((KeyAscii >= 97 And KeyAscii <= 122) Or (KeyAscii >= 65 And KeyAscii <= 91) Or KeyAscii = 8 Or KeyAscii = 32) Then MsgBox "Please Enter The Characters" KeyAscii = 0 End If End Sub *********************************************************************** Private Sub txtph_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8) Then MsgBox "Please Enter The Numbers" KeyAscii = 0 End If End Sub
*********************************************************************** Private Sub txttotal_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8) Then MsgBox "Please Enter The Numbers" KeyAscii = 0 End If End Sub
87
88
89
General additions to the software a) Data backup and recovery option, b) More networking features, c) Making the software platform independent, d) Making the software version independent,
90
Softwares
Visual Basic 6.0 Enterprise Edition. Microsoft Access. MicroSoft Developers Network April 99 Edition (MSDN).
91