Modified Point of Sale Terminal with Visual Basic 6.0 and Ms-Access

Document Sample
Modified Point of Sale Terminal with Visual Basic 6.0 and Ms-Access Powered By Docstoc
					       MODIFIED POINT OF SALE
                WITH
PROGRAMMING VISUAL BASIC 6.0 & MS-ACCESS




                         Written by
                        Masood Uz-zaman Shamsi
                         BS(information Technology)
                        MS(Computer Science)
                        Account Certified Course
Index                                      Pg no.

Executive summary                           1

  Introduction                               1 - 13

   Problem description                       3-4
   Proposed solution & benefits              4 - 13

  Literature Review                          13 - 36

       Similar system available             13
       Technology compression               13 - 29
       System development Methodology       29 - 36

  Analysis & Design                          37 - 41

       Reasons for choosing technology       37
       Use case description                   37
       Use case diagram                      38
       Activity diagram                       39-40
       Entity Relationship diagram (ERD)      41

  Implementation                                41 - 42

       Difficulties encountered                 41
       Solution to difficulties                 42

  Critical Evaluation                           42 - 43

         Benefits of system                     42
         Weak Areas                             42
         Future Enhancement                     43

   Appendix                                      45-50
                                Executive summary
Point of sale software is very mature software. This software run different departmental
store, other name is Point of sale terminal. Point of sale is work to maintain the all
records, how many sales in daily wages and record the products by categories.
Developer is developed the different seven front ends (forms). Each form is defining
the functionality of the products. This Point of Sale made by Visual studio 6.0 and
developer kid use Visual Basic 6.0.

In this developing software maintain the product sale record, updating the bill; product
is bought by Credit card, Check and cash. Data administrator is maintaining the easily
record in the Point Of Sale software.

Point of sale software is use the departmental store. This software can be making the
different software. Software may be MS-Access, Visual Basic 6.0 with MS-Access and
SQL database. The software is use the end user.
Introduction
Point of sale software is use the departmental store. This software is made by different
softwares, Visual Basic 6.0 with Ms-Access and SQL database.
Point of sale software is introduced for selling product record, the selling product
record by computerized. Data administrator is operated the software.
Point of sale is used to many departmental stores and keeps the different features.

       Products naming setting.
       Product list menu.
       Sale price record of products
       Add new product.
       Different types of forms are available and show deferent functionality, see in
        below.
      Data is manipulated by database, there are two soft wares are used NWIND
       (MS – ACCESS) and POINT OF SALE (MS ACCESS) complete for making
       the link of database, there are different resources. The resource name is
      ODBC, ODBC is meet the Control Panel, click the ODBC icon then dialog box
       appear and will select the Ms- Access, the file name of Ms-Access is POINT
       OF SALE the extension is mdb. For searching the Ms-Access file the
       Extension is used *.mdb . ODBC is stand for Object Database connectivity and
       work by these steps.
      Choose My computer, select setting and select Control Panel. Database are
      select SQL/Ms-Access(NWIND/POINT OF SALE). Or Data view option
      selected then work the database.Data is enter and also updating the record and
      different command buttons are used with record the inventory.




                               Fig 1 Point Of Sale Terminal
                                            1
UPDATING THE BILL
In different command buttons which used in POINT OF SALE terminal, the records are
saved, Edit, and move in next form and print the bill. One record is complete then new
record is inserted and saves. This procedure is called updating.

DETERMINING THE PRODUCT CATEGORIES
There are different categories of the products. Product is called item. For example,
product is tooth past, the category of the Tooth past ( Colgate, Sensodyne, Forhens etc.)
and Soap (Lux, Lifebuoay,Capery, Dove), Detergent (Surf, Bright, Arial).
Fruits (Strawberries,Cranberries,blackberries,rasberries,grapes, mango etc. other
category of products are show in below
     Butter/ Margarine
        Noorpur
        Blue band
     Jam & Jelly
        Aemmad
        Micelles
     Kitchen set
        Kettle
        Toaster
        Tin Opener
        Napkin
        Cooker
        Fry pen
     Beverage
        Pepsi
         Cook
        Nestle Juice




           Fig 2 Product A                                      Fig 3 Product B
and etc.
                                            2
ROLE OF VENDOR
The vendor is invested the amount by products and regard the all list data in the record.
In Vendor form, show the personal information. Some one who sells some things, who
sell products?
In point of sale, also all activities are noted and see the activities of reports.




                                     Fig 4 Gift card

By invoice or selling slip, how many products bought by stock and sold the products of
customers. This is a partial history of bought and sold the products.

PRODUCT SALES REPORTING
Sale person is reported and record the product name, Quantity and amount of product
with TAX. This is called Retail price. Per day check the, how many products were sold.
Total products are sold and save the Revenue of products per day.
Products are sale reporting to show the function, maintain selling list by cost, date
maintained. Product is sold by cash, check and future enhancement of credit card
selling system.

BILL
In Bill, the data operator is enters the information nor did Products buy the customer.
Billing slip show the how many products bought of customer, product prices and print
the Bill of POS and give the bill of customer and get the price of products which
bought.

PROBLEM DESCRIPTION
If the troubleshoot the software then the performance of software is low and stop the
software and problem is create. This problem solve by software developer with solution
provider. Problem is solved by updating the operating system and virus scanning.
This problem may be operating system or back end are disturb the point of sale
software. The operating system are different windows (all version), Linux operating
systems. Both operating systems are the best for running the point of sale software.
                                             3
PROPOSED SOLUTION & BENEFITS
Point of sale software is proposed the different thing. The software solution
provider/developer is proposed the solution. My Point of sale software is single
platform. This software is suggesting the different hierarchy of point of sale.
Product form is first front end and shows the functionality of the product, the benefits
of product form is Product naming setting, Product list menu, Add new product, show
the quantity of product, how many products are sold, different command button
available Previous Form button, Next form button, Delete button, Edit button and Save
button are available which show the benefit are move the previous, move the next,
delete the information, Edit the information and save the record.

Categories form is the second front end, save the product name, product ID and
different items are same but different company. The benefit of this form is show the
category of product.

The third form is Vendor form, vender form is use the general information of the
Company name. The benefit of this form is save the general information of company
name. In Vendor form, show the personal information. Someone who sells some things,
who sell products?

The fourth form is a purchase form, this form show the Invoice date, Purchase date,
Payment amount and also shows the save and cancels buttons. The solution is save the
information. The benefit of this form maintain the Invoice date, purchase date, payment
amount and also shows the save the record and cancel the record.

The fifth form is bill, this bill form are show the product category, product name, price
of product and total amount of products which bought the customer with retail amount..
The benefit of the Bill, data are save the products information and customer is paid the
bill and makes the link in the database and record the product to buy which buy the
customer with show the product of amount and other benefit are print and cancel the
record.

The sixth form is bill payment form, the benefit of Bill payment form show the criteria
of buying products of customer. The criteria of bill payment can be by cash, check. In
future, by credit card will. Credit card is the future enhancement. This form is saved,
print and cancel the payment information.

The seventh form is the revenue of the sale per day/Report and show the all record in
the daily wages. How many sales the product in daily which maintain the information?
The benefit of this form is record the total sell per day.
The eighth form is the MDI form, the MDI form is generate the all forms link, click and
show the one by one form.
                                              4
 Fig 5 Product Application Form




Fig 6 Categories Application Form




                5
Fig 7 Vendor Application Form




Fig 8 Purchase Application Form



              6
                       Database of POS
                           MS-
NWIND database generate in MS-Access
And also POINT OF SALE database is generated
  in MS Access.
Tables of database
 Bill
 Category
 Product
 Customer
 Purchase by
 Sold by
 Vendor

                     Fig 8 Database of POS Application Form




                           Customer Bill

Product Catagories

Product Name


Price of product

Total Amount Of All Products


 Quantity of product


 Invoice/Bill Date



Total Cost _______________________________________________

          Save                 Print              Cancel



                       Fig 9 Customer Bill Application Form


                                        7
                    Bill Payment
There are different procedure of bill payment
By Cash _________________
By check_________________
and bill generated.
By Credit Card (future enhancement)
Credit Card number ____________
Name-----------------------
Name-----------------------
Amount---------------------
Amount---------------------
Markup---------------------
Markup---------------------
Verifying Slip
         Save                PRINT            Cancel




                Fig 10 Bill Payment Application Form




                    Bill Payment
By Cash ___________________
By Check___________________
By Credit Cart
Credit Cart number ____________
Name-----------------------
Name-----------------------
Amount---------------------
Amount---------------------
Markup---------------------
Markup---------------------
Verifying Slip
                                     PRINT




                Fig 11 Bill Payment Application Form

                                 8
       Revenue of Sale per day
Total Products of sale & cost
Date___________
   Products List               Amount




   Total Amounts


                   Save                 Print       Cancel




                    Fig 12 Revenue Application Form




                                   MDI
MDI is a parent form and show the all forms
 which part of development .
MDI show the menu of the all forms.
                          Menu

                               Product form
                              Category form
                               Vender form
                              Purchase form
                                  Bill form
                               Bill payment
                          Revenue of sale per day




                      Fig 13 MDI Application Form
                                         9
Visual Basic 6.0 Button coding
Previous button coding

Private Sub Command2_Click()
Data1.Recordset.MovePrevious
If Data1.Recordset.BOF Then
MsgBox "You are on the first record"
Data1.Recordset.MoveFirst
End Sub

Next Form Button coding

All forms can be call

Private Sub NextBttn_Click()
Data1.Recordset.MoveNext Form2
If Data1.Recordset.EOF Then
MsgBox "You are on the last record"
Data1.Recordset.MoveLast

Data1.Recordset.MoveNext Form3
If Data1.Recordset.EOF Then
MsgBox "You are on the last record"
Data1.Recordset.MoveLast

Data1.Recordset.MoveNext Form4
If Data1.Recordset.EOF Then
MsgBox "You are on the last record"
Data1.Recordset.MoveLast

Data1.Recordset.MoveNext Form5
If Data1.Recordset.EOF Then
MsgBox "You are on the last record"
Data1.Recordset.MoveLast

Data1.Recordset.MoveNext Form6
If Data1.Recordset.EOF Then
MsgBox "You are on the last record"
Data1.Recordset.MoveLast


                                       10
Data1.Recordset.MoveNext Form7
If Data1.Recordset.EOF Then

MsgBox "You are on the last record"
Data1.Recordset.MoveLast

End If

Delete button coding

Private Sub DelBttn_Click()
On Error Resume Next
  Data1.Recordset.Delete
  If Not Data1.Recordset.EOF Then
  Data1.Recordset.MoveNext
  ElseIf Not Data1.Recordset.BOF Then
  Data1.Recordset.MovePrevious
  Else
  MsgBox "This was the last record in the table"
  End If

End Sub

Edit button coding

Private Sub EditCopy_Click()
Dim tmpText As String
 tmpText = Grid.Clip
 Clipboard.Clear
 Clipboard.GetText
 End Sub

Save button coding

Private Sub FileSave_Click()
Dim continent As Integer, continents As Integer
Dim country As Integer, countries As Integer
Dim city As Integer, cities As Integer
Dim FNum As Integer

  FNum = FreeFile()
  Open App.Path & "\Globe.txt" For Output As #FNum
  Set Nd = TreeView1.Nodes.Item("GLOBE")

                                          11
Debug.Print Nd.Text
  Write #FNum, Nd.Text
  continents = Nd.Children
  Set ContinentNd = Nd.Child
  For continent = 1 To continents
  Debug.Print ContinentNd.Text
  Write #FNum, " " & ContinentNd.Text
  countries = ContinentNd.Children
  Set countryNd = ContinentNd.Child
  For country = 1 To countries
  Debug.Print " " & countryNd.Text
  Write #FNum, " " & countryNd.Text
  cities = countryNd.hildren
  Set cityNd = countryNd.Child
  For city = 1 To cities
  Debug.Print "       " & cityNd.Text
  Write #FNum, " " & cityNd.Text
  Set cityNd = cityNd.Next
  Next
  Set countryNd = cityNd.Next
  Next
  Set ContinentNd = ContinentNd.Next
  Next
  Close #FNum
  End Sub

Cancel Button

Private Sub Command2_Click()
On Error GoTo NoFile
CommonDialog1.CancelError = True
CommonDialog1.ShowOpen
Fname = CommonDialog1.FileName
End Sub

Combo box

Combo box add the items and generate the list of product items.

Print button

Private Sub FilePrint_Click()
Dim lastPosition As Long, lastSelection As Long

                                          12
EditSelect_Click
RichTextBox1.SelPrint Printer.hDC
RichTextBox1.SelStart = lastPosition
RichTextBox1.SelLength = lastSelection
End Sub

Load List

Private Sub Form_Load()
Function Search(KeyField) As Integer
List1.Text = KeyField
Search Form5.AutoRedraw = List1.ListIndex
End Sub

LITRATURE REVIEW
Similar system available
The similar systems available are MS-Access in a single plat form and Visual Basic
Dot net, Visual C# with internet connection/server, other used in Internet Programming
and readymade software are available. POS machine are available by made the different
software.

Technology Comparison
Point of sale software is make different concept by Visual Basic 6.0 and database is
made by use MS-Access or SQL. Other technologies are discuss in given below

MS-Access

Microsoft Access is a collection of data related to a particular subject or purpose
Microsoft Access database is a collection of data related to particular database objects.
 Table
 Form
 Report
 Macro
 Module

Table
Table is a collection of data and data is atomic. Table is show the Row and Column,

                                            13
row is a record and column is a field. Table creates the different keys. Primary key and
foreign key. These keys are made the design view and show the key. Primary key is
showed the unique number and it is not null, primary key is generate the parent key and
foreign key is generate the child table.




                            Fig 14 Categories Application Form

MS Access Form
Form is show the front end or out look of the program and enter the character and
number. By table in form generate the database. There are different tools available
which make the form. Form is make the Design view or from wizard. In form there are
different category, Main form and child form. Main form is show the general
information of customer and for other information is generate the Sub form. The form
formats are different Columnar, Tabular, DataSheet, Justified, Pivot table and Pivot
chart. The structures of forms are given below.

Columnar Form




                         Fig 15 Columnar Form Application Form




                                           14
Tabular Form




                   Fig 16 Tabular Form Application Form

Data Sheet Form




                  Fig 17 Data Sheet Form Application Form

Justified Form




                   Fig 18 Justified Form Application Form

                                    15
Pivot table




                                                 CommandBut




                          Fig 19 Pivot table Form Application Form

Pivot chart




                          Fig 20 Pivot chart Form Application Form

Sub forms are especially generating the table. There are different forms are generate
and make the relationship in the form, it means link in the forms.

Report

A report is represented the effective way of data format and print the printed the data.
Report is the printed format. There are different operation to generate the report by
AVG, SUM, SUB and DIV (Calculate tool). Table data is selected the report and show
the label and text with calculation. By Report wizard generate the report. There are
different lay out of the reports, columnar and justified with show the orientation portrait
and Landscape. By wizard generate the report and store the all information. Other

                                            16
options are report title, column headings are store in the reports. In report design,
expiration is store. Data comes in table, query, or SQL statement and graphical object
are used. In report also display the text, number with calculation. Also by wizard in
report fetch the chart. Other function the report generates the design mode.

Macro
Macro is the other functionality of programming. Macro uses the Visual Basic for
Application (VBA). This VBA functionality is all Microsoft software. Microsoft Office
program run with VBA. VBA is support to function correctly. If VBA is not installed
then do installed. The administrator, programmers is disable the VBA option.

Module
A module is a collection of Visual Basic declarations and procedures that are stored
together as a unit.

    Object box
    Procedure box
    Declarations
    Procedures
    Procedure View button
    Full Module View button
    Class modules

Unit is run and stored the information. Procedure box is frequently used and run the
form every where within database. The major difference between a standard module
and a class module that is not associated with a particular object is one of scope and
lifetime. The value of string is declared or exists in a class module, use only an
associated object and code are run.

Page
Page is the option to create the link in web page.

VISUAL BASIC 6.0

Visual Basic 6.0 is IDE. The POINT OF SALE is developed and designs the Visual
Basic 6.0; Visual Basic is not just a language. IDE is stand for Integrated Development
Environment in which you can develop, run, test and debug your applications. With
visual Basic, you can create the following types of applications.



                                            17
Standard EXE

A Standard EXE project is a category of visual Basic programming. This is typical

application. Most of the applications are Standard EXE projects. This option is found in
File + New Project and select the Standard EXE. The Standard EXE options are meet
the different tools, Properties window and Project1 option. By these tools, properties
window and Project1 are design and developing the applications and use and write the
back end coding.

ActiveX EXE, ActiveX DLL

This project is the controlling the all program and link the database. The option is used
the ODBC (Object Database Connectivity) and server/client application. This option
are use the different databases, I used the MS-Access and Standard Query Language
(SQL) and like the link in the Standard EXE.

ActiveX components are OLE automation server and used the SQL commands.
Commands may be Select, Delete, update, insert and create. ActiveX make the
Interface and that can add special functionality to your applications.

Active X Control

An ActiveX control is build the Active X Control. By tool is made the interface. A tool
box (Textbox or Command button control) is a basic element of the user interface and it
is make the connectivity of the database. Active X Control is built the custom control.

ActiveX Document EXE, ActiveX Document DLL

ActiveX documents are a data container. And make the link in Internet. By internet,
make the Web page and mixed the code of HTML and ASP programming. The HTML
and ASP code are used and make the hyper linking run the Internet Explore and
Netscape.

VB Application Wizard, VB Wizard Manager

The Application Wizard takes you work by steps of setting. Modifying the skeleton
code created by the Wizard is just as difficult as developing your own application from
scratch. During application running be use the prototype.

Data Project

This feature is the Enterprise edition and it does not correspond to new project type.

                                           18
But it automatically adds the controls that are used in accessing databases to the
Toolbox.

DHTML Application

VB6 allow you to build Dynamic HTML pages that can be displayed in the browser’s
window on a client computer. This is web development topic it is not attach the POINT
OF SALE software.

ISS Application

VB6 allows you to build applications that run on the web server and interact with client
with Internet Information Server. This is use the web application. ISS application is
make the link in ASP(Active server page).

Addin

You can create your own add-ins for the Visual Basic IDE. Addin is special commands
you can add to visual Basic’s menus. This topic is rather advanced, in inner option
make like in database.

VB Enterprise Edition Control

This is not a new type of project. It simply creates a new Standard EXE project and
loads all the tools of the Enterprise edition of Visual Basic. The tool is generated the
front end of the point of sale. The procedure will be of new tab, you can select the type
of a new project. Switch to the Existing tab to select an existing project and open it. To
open a project you were working on recently, switch to the recent tab which contains
the list of the most recently opened projects. VB Enterprise Edition Control is made the
Enterprise Edition Control.

Query

Query contains commands that simplify the design of Structure Query Language (SQL)
queries. This menu is available when building database applications.

Project Group

Project group are showed the all activities of the forms. How many forms are generated
in the project? In project Active-X is created to make the like in database. There are
three buttons are available

 View code
 View object

                                            19
 Toggle folder

View code

View code is show the writing coding pan, programmer write the code of button and
link the forms.

View object

View object is show the current object.

Toggle folder

Toggle folder is showed the all file form which create during development.

Properties

A property is show the appearance of all object. This object is the form object. Object is
lies on tool bar. Create the all tool bar name, font size, color, caption, picture, Default
picture, height of font, width of font, index , help context, mouseIcon, Maskcolor,
Style, TabIndex, TabStop, Tag , Tool Tip Text and other. These properties are showed
the apprence of the objects which drag and drop of tool in the tool box.

Setting the ODBC

ODBC is to create the database component and define the connectivity of database. The
step of ODBC is given below Choose start menu and selects the Setting menu, last
select the Control Panel. A double click the ODBC, then ODBC Data Source
Administrator dialog box appear and add the name of database. The database name will
be NWIND or SQL or POINT OF SALE (MS- Access).Also see the option of Add-Ins
and select the Active-X control Interface wizard are selected.

MDI Form
The MDI application has at least two Forms, the parent form are showed the all menu
of the forms. The step of MDI form are given below,

 Start new project, choose Project + Add MDI Form to add the parent Form
 In Menu editor, set the Form’s caption for MDI Windows.
 Make this Form the child Form by setting its MDI Child property to True.
Visual Basic automatically associated this new Form with the parent table. This work is
manipulated by Menu Editor, set the data and properties.

                                            20
JAVA
Point Of Sale is a managed application, the technology behind the cash involved in
updating prices work by software. The standards maintain and implementation of those
standard put enterprise functionality out of the reach of smaller operations and single
shop owner. Open source Point Of Sale application written in Java and use the Java
functionality and reduce the complexity. POS (Java) is implemented POS transaction
engine. Java feature are used in non- Web application. Java describe the open source
project for enterprise retail, it is not small business enterprise. It is enterprise retail.

The memory is used in Java SDK is 50 megabytes, compared to the Windows SDK
footprint. Java is show the unique functionality not widely available in linked
architectures and dynamic class is compiled. Compiler name is JAVAEX .Javaex
compiler/engine compile the all coding.

Java is kept the large memory and slow performance. The hardware is the old. The
industry is changed and quickly worked. Most vendors have recognized the advantages
in the Java hardware platform.

The Architecture of object oriented programming in Java
POS architecture provides the object oriented functionality. In architecture main part is
memory. Point of sale is run the memory versions of your receipt are saved. The journal
contains lines for the various sub-components of a sale, such as an item, a tax record, or
a cash and check record. Data operator has all amounts, quantity of product and other
functionality. Interface device is used such as printer and customer display.

Java use the source code.
[cw]
receipt().print (ejItem);
receipt().print (ejTax);
[ecw]

and,

[cw]
operatorPrompt().print (ejItem);
operatorPrompt().print (ejTax);
[ecw]

This code is quite easy to design an object-oriented POS application. Java has some
language features. The enterprise retail environment is very attractive. These can
generally be categorized in the Product and billing and support the generalized
application and developed the program.

                                             21
Event Handler
You want to create is an event engine. An application is capable of processing generic
events and realizing the results of these events in the context of Library. By button the
event is worked. Many modern development tools revolve around the event model, and
Java is no different. POS application is need the events for user-programmable and
preferably. It is not statically linked. You also need a way to create dialogs box.

Dynamic Class Loading

POS applications make use of dynamic class loading as part of their central event
engine logic. The logic is created the Standard Query Language (SQL). The statement
will be

[cw]
create table pos_key (
       key_id integer,
       key_type integer,
       key_val integer,
       key_code integer,
       x_loc integer,
       y_loc integer,
       key_class varchar(100));
[ecw]

The Java class is invoked when the key is pressed, dynamically loaded into a PosEvent
object when the application initialized. This work is be, when the operator logged on).
PosEvent is an abstract class that encapsulates discrete POS business logic.
Encapsulation is data and his function. When a key is pressed, the following code is
invoked:

posEvent().engage();

The engage() method contains the business logic for the event; posEvent() is the key
that was pressed. In POS application Events are things like pressing the total key or
scanning an item. But there are also dialogs, such as a check validation of product price
and print other credit card validation is simply an operator logon. These are
implemented by stacking events and maintaining state through those events.

A Closer Look at Dynamic Class Loading
The simplest form of dynamic class is loading. The statement will be

[cw]
Class class = findSystemClass(className);
PosEvent posEvent = (PosEvent) class.newInstance();


                                           22
 [ecw]
Other information are class,event,globally.

className is the string representation of your class,
com.globalretailtech.pos.events.TotalKey, that extends PosEvent. The class
loader in this application extends java.lang.ClassLoader and uses the
newInstance() method from Class to instantiate an object. You also need to wrap it   in
exception handlers to catch class not found.

The Java kept the hundreds of collection solutions problems. Java programmers
frequently face. Programmer is familiar with Java. The aims of Java 2 platform
Enterprise Edition(J2EE) recipes range from simple tasks to entire programs. For
example demonstrate how to use the incorporate email into your application.

Java provide an introduction to compiling, running, debugging and interacting with the
environment then goes on to discussing the core API's like Strings, Arrays, Wrappers,
Files I/O, Collections, AWT. Before moving on to advanced topics like server side
Java, database JDBC access, RMI, multithreaded applications, native code interactions,
XML applications, Enterprise Java (J2EE) and other.

<xml>

<First name> -------------- </First name>

<Middle name>-------------- </Middle name>

<Last name>--------------- </Last name>

<Education> --------------- </Education>

<Designation> -------------- </Designation>

<Salary>----------------------- </Salary>

<Company name>------------- </Company name>

</xml>

Java is provide lop sided coverage providing lots of coverage in certain areas like Java
Mail but very little on JSP, Servlets, XML and almost nothing on Web Services. In
connectivity of database use the JDBC, Applets, JSP/Servlets, Java Server
programming, threads, file handling, XML, debugging the code of POS. There are other
functionality used how to make Java cooperate with other languages, regular
expressions is used. Java as a tool is used in programming language.

                                            23
Dynamic loading allows running time of application. Since events are invoked through
interfaces, the actual class can be changed under the application without re-linking.
More precisely and more advantage to retailers and insert new logic into their data
locations. This means not having to deliver a five-megabyte executable or DLL just to
add a simple feature or fix a bug. They need only deliver a 5k class file. In this
application, a 2500-byte Java source file compiles to 1800-byte class file. The
granularity achieved using dynamic loading:

1203   CashSave.class
1206   Check.class
2145   CheckSave.java
2917   ClearKey.class
4300   ClearKey.java
1896   CloseCashDrawer.class
2338   CloseCash.java
1209   Credit.class
2196   Discount.class
2867   Discount.java

Every retailer has the requirement to update their POS operation several times. If we
frequently change the business logic in the POS. Since most of this updating is
performed over dial-up lines, the size of updates is a serious consideration. As a result,
scheduled software updates are limited. Of course, there are the unscheduled ones too.
But again, we are doing more here than giving the retailer a way to reduce their
software update task; we are giving them greater functionality.

Promotions can be delivered on an ad-hoc basis, since the promotion class is loaded
when the item is looked up. This architecture and granularity also reduces regression
testing requirements.

New Class of Java

Java language feature is the Locale class found in java.util. This class is the
combination with the Number and DecimalFormat classes, makes formatting monetary
values in different currencies quite easy. A frequent requirement in a POS application is
currency conversion, the ability to take a payment in one currency and give change in
another. The following code sample formats a double value in the requested currency
format:

[cw]
public static String toMoney (double value, java.util.Locale locale) {

 if (locale == null) locale = application.locale();
 Java.text.DecimalFormat decimalFormat =
    (Java.text.DecimalFormat)
Java.text.NumberFormat.getCurrencyInstance(locale);

                                            24
  return (decimalFormat.format(value));
}
[ecw]

If the locale is not provided, an application default is used; the method is used
application.locale() returns a value locale. The NumberFormat factory returns a
format object that is capable of generating the local currency format including the
currency symbol.

Further information is enabled through the Unicode character set supported in the
String class and by maintaining all literal strings in the database. The database also
supports Unicode.

Devices
Output devices have been captured in two classes, one that handles spooled devices,
those that generally just perform output (the receipt class), and one for those that
interact with the user (the prompt class). These have any special properties enabled by
Java, except for the fact, by the devices they control are loaded dynamically. They
simply provide an API for lower level devices. Some of their methods were used in the
initial code sample.

Hardware devices search the information that generate solicited and unsolicited input
are handled. Other event engine enabled through the Java POS DataEvent and
DirectIOEvent classes. For example, a credit card save would require an operator to
enter the credit card number and expiration date. The POS application also includes a
menu interface and designed for use in fixed size, touch screen feature.

Java and Linux in Retail
Several large retailers have made the move to Java. Menus Warehouse and Home
Depot are both running Java in their stores today. Linux is also doing well. Linux is the
lack of a user interface.

A Critical Look at RAII
Resource management is one of the more painful things that we have to deal with in
software. When we acquire something we have to release it. Garbage collected
languages pull this burden away, from with respect to memory management, but if we
have GC we still have to manually manage open file handles, database connections, and
caches.

                                           25
Some C++ programmers are attachment to RAII, a resource management is pervasive

in C++ code. The programmer is made the program in C++. The RAII is significant
downsides compared to other possible language features.

RAII stands for Resource Acquisition Is Initialization. It is a technique which leverages
the semantics of stack-based objects to tackle the resource management problem.
Here’s a very simple example of RAII with error checking: removed for clarity:

class writeablefile {
    writeablefile(char *filename) : fp(fopen(filename, “w”) {}
    ~writablefile() { fclose(fp); }

    void write(char *text) { fprintf(fp, "%s", text); }
private:
    FILE *fp;
};
To use a writeable file, you create it on the stack like this,
    writeablefile outfile(“out.txt”);
And call write:
     outfile.write(“Hello there..\n”);

In C++, we use RAII for all sorts of things. We use it for file I/O, locks, smart pointers,
just about any resource, and it is a good fit, but it is definitely not the only way to
approach resource management. Look at an alternative. Here some Ruby code that
performs the same operation:

File.open("out.txt", "w+") do |outfile|
    outfile.write("hello there..\n")
end


In this code, the function open receives a block. It opens a file and passes a file object
to the block, executes the block after processing closes the file.

This pattern is often known as Execute around Method (EAM) and it is a great way of
approaching resource management problems. You put and release in one method and
delegate to another which does the guts of what you need to do.

There are any reasons to prefer one to the other. The C++, RAII is idiomatic. There are
a few places where EAM shows naturally. EAM is painful in languages which do not
have blocks, closures, or anonymous functions. In those languages you have to create
new classes or objects to pass parameter. Both C++ and Java are getting closures in
their next editions, so there is a chance that EAM will become more popular.

RAII is elegant, but think that it has two warts. One is lack of explicitness. RAII makes

                                             26
resource acquisition a side effect of object creation. When you want to take advantage
of it. For example, people often write RAII objects to manage semaphores and mutexes.

void some_function() {
    Lock lock(&mutex);

    ...
}

It works, the statement is

void some_function() {
 Lock lock(&mutex);
 lock.acquire();
   ...
   lock.release();
}

We are declaring something that locks a scope automatically? The boost libraries have
an abstraction that does this called lock_guard. The name is a bit better, but it's a shame
that it came so late. There are many RAII classes with names that don't adequately
convey the semantics.

The statement will be

void some_function() {
   Lock lock(&mutex);
 lock.acquire();

...
 // no release,
}

The second wart is way, the affects scope and maintenance. When you use EAM, you
create a new scope. You create a block that will execute inside the EAM, and, chances
are, it will have a distinct responsibility. Yes, you can mix concerns by nesting EAMs
like this:

File.open("out.txt", "w+") do |outfile|
  outfile.write("hello there..\n")
  ...
  File.open("out2.txt", "w+") do |outfile2|
      outfile2.write("hello other file..\n")
  end


                                               27
  ...
end

other part is

void some_function()
{
  writeablefile outfile(“out.txt”);
  writeablefile outfile2(“out2.txt”);

    // mixed code to write to both files
    ...
}

RAII is definitely the error handling process, the advantages in C++. One of them is
exception safety. If you throw an exception in a function that uses RAII to manage a
lock, the destructor will be called. To get the same behavior in a language like Java or
Ruby, you have to use a try-finally or ensure block in an EAM method.

JAVA Guide for Application and Device Programmers

The Java POS is guide for application and device programmers and available in ZIP
format.
The Unified is a software name; the specification defines the UML models for a wide
variety of retail POS devices. It contains definitions for an additional device type above
and beyond those contained in POS readymade software.
Continuing in the tradition of readymade software and contain page mapping to the
Java platform (Java POS).

Java POS is usage library for writing application programs and testing new Java POS
devices services.

An external source is devoted to further developing and extending this library. This
library is showed the source code library.

There are different scenarios,

 Java POS development scenarios,
 Application deployment scenarios

Java POS development scenarios are the processing step of how to develop the
program. Application deployment scenarios are deployed the components.
Java POS technology is based on the UPOS (Unified Point of Service) specification and

                                           28
work a java based implementation. This is the standard suitable for use on Operating
system (Windows, Linux) and other JRE (Java Runtime-time Environment). Java POS
provides a mechanism for Java applications to control POS hardware in vendor neuter
manner, where a line display forms company.
Java POS based solutions will typically architecture.
These are the application layer, the Java POS Control component layer is implemented
and provide by device manufacturers
 Java POS Service Component Layer exist the operating system (Windows,
Linux, or other) followed by the POS hardware (connected via USB or other). The
Java POS Service Component layer must encapsulate within itself some mechanism
and interfacing with the operating system and hardware device.
JNI (Java Native Interface) mechanism is done via. This layer will typically provide an
operating system specific shared library.
A library is contained in the deployment scenario and shares the libraries and
deployment.
These deployment solutions are detailed from the application layer perspective.
Application developers can use these solutions to develop deployment.

SOLUTION OF JAVA POS BASED APPLICATIONS

There are different solutions of JAVA POS

   Application Layer
   JavaPOS Control
   Component Layer
   JavaPOS Service
   Component Layer

These deployment scenarios are based on the following deployment goals and adapted
to work with any available Service Component. The product of this solution will be a
directory (folder) containing everything needed and deploy a Java POS based
application. The product directory can be saved. In this folder every thing are showed.

System development Methodology

System development and methodology, object oriented analysis is base on several
concepts. The concept requires a new thinking about systems and the development
process. For methodology development, the module map prepares. The module will be
the data, process and interfaces focuses have been integrated into a single focus on
object. The object oriented analysis concept has presented a challenge to developer.
The object oriented approach to system development is based on the concept of objects
within a system’s environment.
For example, the object will be door, a window, and car and so on. That something can

                                           29
be characterized as a type of object. A window in characterized by width of window,
length of window, material of window and color of window.
A very formal and precise system development process that define the CMM level and
set of activities, methods, best practices, deliverables, and automatic tool for system
developers and project managers to use to develop and maintain most or all information
system and software.
The level of CMM (Capability Maturity Model) are given below
 Level 1 initial
 Level 2 Repeatable
 Level 3 Defined
 Level 4 Managed
 Level 5Optimized

Level 1 initial

This level is not processing, in this level make the documentation, the documentation is
not consistent form one project to the next, the creating problems for those who must
maintain a system over its lifetime.

Level 2 Repeatable

Project management processes and practices have been established to track project
costs, schedules and functionality. A system development process is always followed,
but it may very from project to project.

Level 3 Defined

A standard system development process sometime called a methodology. Also describe
the purchase or developed, it use and has integrated throughout the information
system/services unit of the organization. The process is stable, predictable and
repeatable.

Level 4 Managed

Measurable goal for quality and productivity have been established. Detail measures of
the standard system developed process and product quality is routinely collected and
stores the database.

Level 5 Optimized

In optimized, the standardized system developed process is continuously monitored and
improved based on measures and data analysis established in Level 4.


                                           30
Techniques of object oriented analysis

The techniques are used in study existing objects, this object is used and adopt new use
the object, define new and modified objects that will be combined with existing objects
in a useful business computing application.
Object oriented techniques are the best suit of projects will implement systems using
emerging the object technologies to construct, manage and assemble those objects into
useful computer application. The object oriented approach is around the techniques and
refer the object.
In object oriented approach, study the different component
 Class
 Object
 Encapsulation
 Inheritance

Class

Class is consisted of all object, data type and share the same attributes and behavior.

Object

Object is show universal instance, in programming after class creates the object, with
out object is not run.

Encapsulation

Encapsulation is the packaging of several items together into one. Data and its function
are called the Encapsulation.

Data Modeling

There are different types of data modeling.
Sequential model
      Or
Water fall model
And prototyping is used.

Sequential model

In Sequential model, discuss the different thing

 Analyze
 Specification
 Design

                                           31
 Developing/Coding
 Implementation
 Operating

In sequential model, above components are parts to make the system of software. This
model is sequentially worked and designs, developing, implementing and operating the
worked.




                                 Fig 21 Sequential Model



Water fall model
Water fall model consist of different things. By these things and concept to develop the
water fall software model. The model will be




                                 Fig 22 V-Process Model

                                           32
For system analyze, design and developing, by above concept make the software.
Developers choose the one model to design and developing the software.

Analyze
Analyzer is analyzed software and draws the lay out of the software. First of all, the
analyzer are drawing the database table, design the front end. How many draw the front
end in the software which are making.

Specification
Specification is the detail information of software with build the concept of system
analyze and design with developing. For example a developer are worked the design
and developing in the software industry. Also developer is worked in analyzing pattern.

Design
Design is the front end of the software. It is drag and drop tools, these tools are made
the front end of the software. Design pat ran are used the different tools for example

Pointer
Pointer is click then before selected tool is discounted in front ends.

Label
Label is show the information in the front end/ designing form. How many information
in the front end form.




                                       Fig 23 Label 1

Text box
Text box is the box, enter the information after debug the front end and back end, after
debugging can may be enter information.



                                   Fig 24 V-Process Model

                                            33
Command button
Command button is submitted the information label, text, list, combo box, frame option
button and databases.




                                   Fig 25 CommandButton




Picture box
Picture box is load the picture in explore file/picture file after loading the picture is
attached the Front end (Form)




                                      Fig 26 Picture Box




Frame
Frame is dived the parts of the front end (form)

Check box
Check box is show the selection behavior in form. In one time different check sign is
draw




                                      Fig 27 Picture Box

                                             34
Option box

Option box is show the option in front end(form). In one time select the option box in
one time.




                                   Fig 28 Option Button




Combo box
Combo box is show the different items. In one time select the one information in
combo box.




                                   Fig 29 Option Button




List box
List box is showed the different all item to show the list box.




                                      Fig 30 List Box

Data
Data option is show the information of right and left.

                                            35
Shape
Shape is showed the geometrical shapes. The shape will be rectangle, square, circle and
polygon.




                                     Fig 31 List Box




Images
Images are the pictures. By image option load the picture in the front end (form) and
Image is load the Image file and also other tools are used.




                                       Fig 32 POS

                                           36
ANALYSIS & DESIGN
Reasons for choosing technology

The technology Visual Basic 6.0 is choosing the technology. This technology is an
advance technology and use for small business transaction. The visual Basic 6.0 is
programming language are use front end, back end. Front end is use for out look of the
form and enter the data after debug. Back end is use the coding purpose and different
windows properties are used and use independent plat form.

USECASE DESCRIPTION
Use case Name: Sell Product
Actors         : Sales man, Customer, Proprietor.
Precondition : Customer bring item
Past Condition: Sales recorded
Happy Path : Sales recorded

HAPPY PATH

1.   Customer
2.   Sales man read barcode
3.   Price is displayed on- screen
4.   Generate Bill
5.   Give/Receive Payment
6.   Give Product in cash
7.   Update inventory

ALTERNATE PATH

1.   Customer
2.   Sales man read barcode
3.   Price is displayed on- screen
4.   Generate Bill
5.   Give/Receive Payment
6.   Receive Credit card
7.   Charge Credit card
8.   Generate Bill

EXECEPTION

1.   Customer
2.   Sales man read barcode
3.   Price is displayed on- screen

                                         37
4.   Generate Bill
5.   Give/Receive Payment
6.   Receive Credit Card
7.   Credit card out of limit
8.   Delay sales.

Use case diagram




                                Fig 33 Use case Diagram

                                          38
Activity Diagram

Actor = Customer, Sales man
Use case = Sell Product
Precondition= Customer bring item
Post Condition = Sales recorded

Happy Path

    Customer
    Sales man read bar code
    Price is displayed on-Screen
    Generate Bill
    Give/Receive Payment
    Give product in cash
    Update inventory

Alternate Path

    Customer
    Sale man read bar code
    Price is display on
    Generate Bill
    Give Receive/Payment
    Receive Credit card
    Charge Credit card
    Generate Bill

Exception

    Customer
    Sales man read bar code
    Price is display on screen
    Generate bill
    Give/Receive payment
    Receive Credit card
    Credit card out of limit
    Delay sales


                                    39
                               Fig 34 Use case Diagram



Entity Relationship Diagram

Entity Relationship Diagram (ERD) is showed the all procedure, how vendor purchase
the products, customer buy the products, bill payment.

                                         40
                                     Fig 35 ER-Diagram

There are different relationships in the tables. By ERD (Entity Relationship diagram,
we make the tables. In this project, there are seven tables are generated and make the
relationships.
One to many relationship
Many to many relationship.

One to many relationship

One to many relationship are the relation among the two or more tables. In relationship,
the table items are same in the table. Tables keep the entities. These entities are relation
to each other in the tables. The relationships are made by primary key and foreign key.
The primary key is made the Parent table and foreign key is made the child table.

Many to many relationship

Many to many relationship are relation among many tables. The relation is among
many tables of entities.

IMPLEMENTATION
Difficulties encountered

During making the project, forms are saved in Visual studio, which file is VB98, save
the all working files. If not save then, form (front end) is not saved in the project.
                                             41
During write the coding, saw the different environment, text box coding and form joint
to other forms.

Solution to difficulties

The solution is practices the software and according to method makes the front end.
Write the coding and make the link, in the front end are be the command button. During
write a code these difficulties are in encountered.

Criteria Evaluation

Benefit of system

The benefits of system are easy to maintain the product selling. This system is may be
used different departmental store. The system is used different functionality, using
label, text box and link the command button to other forms.

Weak Areas

The weak areas POINT OF SALE is not run the online. All functionality is the best to
use the departmental store. The POINT OF SALE is use plat form independent.

Future Enhancement

The future enhancement is made the software in accounting to the functionality, use the
accounting terms are use. For example Income statement, Accounting reports
generated, general ledger and balance sheet.
  Other hardware are installed, Bar code reader reads the product series.

ONLINE PRODUCT BUYING

In the online product buying, there are different functionality.

      On line Credit card authorization.
      Scanning the credit card and determine the credit card owner and IP.
      Write the billing price of product and markup
      With retail price




                                            42
In credit card recording, mansion the credit card. Card Holder name__________
Date__________
Amount______________
Makeup______________
POS name____________
Slip of verify bank

VB98 File
VB98 file is the file name. VB98 is the container of the developing file.
The POINT OF SALE is developed the software and the file name Point of sale
terminal with showed the Visual Basic icon. In this file there are deferent database are
generated. The database file name is NWIND. The NWIND database is prepare by
default by Ms-Access. When click the NWIND (Ms-Access) file. Then option will be
front Security Warning: Unsafe expirations. Do you want to unsafe expressions? Then
click NO after clicking the dialog box appears Security Warning. The button is
available Open then clicks the Open Button. After clicking error show the previous
version then click the OK button. After OK button pressing database windows will
show. There are lots of tables, forms and queries, macro and module are available to
manipulate the database.
How the database (MS-Access, SQL) are insert in the Visual Basic6.0. The option
select Add Form tool bar, in tool bar selects the Add form and more select the More
ActiveX Designers after selection Microsoft user connection select. The database is
sparest made POINT OF SALE.mdb (MS-Access). It link by Microsoft user
connection.




                                          The end




                                           43
                                     Appendix
Appendix consists of database tables and chart, the tables and chart are shown in below.
Each table consists of primary key and foreign key. Any one key is made in the table.

Category table

The category table consists of CategoryId, CategoryName and BillId.




Customer table

Customer table consist of CustomerId, CustomerName, CustomerAddress,
CustomerPhone and BillId.




PurchaseBy table

PurchaseBy table is consist of different fields, the fields will be VendorId, ProductId,
StockQty and BillId.
SoldBy

SoldBy table is consisted of different fields. ProductId, BillId and Qty. It table
measured the quantity.




Vendor table

The vendor is invested the amount by products and maintain the all list data in the
record.
In Vendor form, show the personal information. Someone who sells some things, who
sell products?
Vendor table is consisted the general information. The fields will be VendorId,
VendorName,VendorPhone,VenderAddress and BillId.
Graph of tables

Graph is showed the activities of the point of sale.

                          90
                          80
                          70
                          60
                          50                                     East
                          40                                     West
                          30                                     North
                          20
                          10
                           0
                               1st Qtr 2nd Qtr 3rd Qtr 4th Qtr




Chart

Chart is showed the main functionality of the POINT OF SALE software.
                                       Customer




                           Product




    Category              Purchase by                 Bill                  Sold by with
                                                                               vender




SQL
SQL is a universal language to manipulate and query data. A Database administrator is
performed the different operation.
Administer is the system security and access databases and manipulating the data
content of a database and transaction the data.

    Sql are based the different operation.
    Data Definition Language
    Data Manipulation Language
    Data Query Language
    Data Control Language

SQL Data Definition Language
DDL is used for creating, modifying and dropping the structure of database object.

CREATE
Create command of sql is create the table of database. The syntax will be

CREATE TABLE tablename( Column_name1 data_type,
     Column_name2 data_type, Column_name3, data_type, ………….. )
                                            OR

CREATE TABLE emp(
empno          NUMBER(4),
ename          VARCHAR(10)      NOT NULL,
JOB            VARCHAR2(9),
MGR            NUMBER(4),
SAL      NUMBER(7,2),
COMM     NUMBER(7,2),
DEPTNO NUMBER(2),
PRIMARY KEY(empno),
FOREIGN KEY(deptno) REFERENCES dept(deptno)
);


ALTER
Alter command is used to change the database by row or column.

Syntax:        ALTER TABLE emp;

DROP
DROP command is delete the database.

Syntax:        ALTER TABLE emp DROP(NIC);

RENAME
RENAME is used to rename table.

Syntax:         RENAME TABLE emp1 to emp2;

TRUNACTE
Truncate is used to get rid of data’s in table

Syntax:          TRUNCATE TABLE emp;

SELECT
Select command is used to select the data’s from database.

Syntax:            SELECT empNo, eName FROM Emp;

INSERT

     It is used to add one or more column. INSERT statement is used to enter new
rows into tables.
Syntax:   INSERT INTO table_name VALUES(inserting_value(s))
                           OR
INSERT INTO table_name (column_name1, .., column_name_N)
VALUES(inserting_value1, .., inserting_valueN)
                     OR
INSERT INTO emp_xx (empno, ename, sal, deptno)
     VALUES(8888, ‘Imtiaz’, 25000, 30);
                     OR
        INSERT INTO table_name VALUES(SELECT * FROM table_name)
                                    OR
          INSERT INTO emp_xx (empno, ename)
SELECT empno, ename FROM emp;

				
DOCUMENT INFO
Shared By:
Stats:
views:48
posted:1/11/2013
language:English
pages:52
Description: Modified Point of Sale Terminal with Visual Basic 6.0 and Ms-Access is the billing system of sale man to customer in the Market sale and buy.
BUY THIS DOCUMENT NOW PRICE: $19.99 100% MONEY BACK GUARANTEED
PARTNER MASOOD UZ-ZAMAN SHAMSI
My education is BS(Information Technology) from Preston Institute Management Science And Technology (PIMSAT) and MS(Computer Science) from IQRA UNIVERSITY, the studies are related information technology softwares, system analysis & design, software project management, software engineering, software quality assurance, other related information technology related and business studied, also Accounting course completed in the SAQLAIN & COMPANY office. In other words, I completed the CA Accounting. I have written and published by docstoc with Google Adsense, Modified Professional Accounting System and Modified Point Of Sale Terminal With Programming Visual Basic 6.0 And Ms-Access. Thank you