System Overview• Goal
– Develop a system that will manage the operation of a billiard hall in an efficient manner
– Keep a database of all transactions for book-keeping purposes
– Client is Run-A-Rack Billiards
• Why– The current system is slow
– You can only have one module open at a time in the current system
Why does a pool hall need a computer?
• Pool tables are not coin operated– The customer rents the table
• A computer helps keep track of the status of each table
• Not just pool– food, merchandise, bar, etc.
• A computer helps track inventory
• Book-keeping– A computer can keep exact records of each transaction,
daily sales, etc.
Background• I was employed at Run-A-Rack/Hot Shots
Billiards in Anchorage from June 1998-July 2002– I’m very familiar with the current system used
• I have based all decisions for this project on my experience as an employee of a pool hall and a customer of various other pool halls
Why I chose this project...
• Current system is outdated
• Lack of support for the current system
• Systems like the one at Run-A-Rack Billiards cost several hundred dollars
• Customize
Customize• The new software is customized to fit the
needs of Run-A-Rack Billiards– The current software has many features that are
not needed– Stubs were left in the code so additional
features may be added• Barcode scanner
• Cash drawer
• Lights
Specifications
• Setup
• Employee management
• Member management
• Inventory management
• Transaction
• Table-Time keeping– Ability to “pause” players
Database
• A Microsoft Access database was used to store all information– Pool tables– Members– Employees– Inventory– Transactions
Development Language• Visual Basic 6.0
– The data control was used to connect with Microsoft Access
– Small tables• Accessing records from the tables does not take very long
(tables are indexed on appropriate fields to allow fast searches)
– Ability to create user-friendly interfaces
– Time constraints• There was a limited amount of time to finish the project
– VB is user-friendly from a programming point of view and provided the tools necessary to finish the project
Development Strategy
• Populate the database with test data
• Use prototyping to develop and refine each module– Each module is dependent on the database but
are independent of each other
System Requirements
• Windows 98 or higher
• 256 Mb of memory
• 266 MHz or higher
• 1024 by 768 pixel resolution
System Design• Load most commonly used forms at
execution time
• Store all information in a single database
• Load some table data into arrays– This makes the application run faster– Less time accessing tables
Planning
Estimated 130 hours total:Requirements: 6.5 hours Design: 13 hoursImplementation: 39 hours Testing: 45.5 hoursWrite-up: 13 hours Presentation: 13 hours
30%
35%
5%
10%
10%
10%
Implementation
Testing
Requirements
Write-up
Design
Presentation
Conclusion• Produced a system that will manage the operation
of a billiard hall in an efficient manner• Challenges
– Put as many features into the software as I could in a limited amount of time
– Get my software to work efficiently with the database
• Solution– Use prototyping to get an idea of how long each
module will take
– Use Visual Basic’s data control to access tables and queries
Setup
• Allows user to set pool table pricing and location on the Table-Time keeping form– Limit 99 pool tables
• This is so the table can be addressed with a two digit number
– Limit 9 players per table• This is so the number of players can be entered by
typing one number
Employee Management Form
• This is where employee information is held– Personal information– Security information
• Employee’s access level
• Employees may be added• Employees may be deleted• Employee’s information may be changed at
any time by an employee with appropriate authority
Inventory Management Form
• Add new items to inventory
• Edit information about each item– Code, description, sale price, etc.
• Adjust inventory– Add or remove a given amount of an item from
inventory.
• This can only be opened by an employee with appropriate authority
Transaction Form
• This is where purchases are made
• A transaction may consist of many items as well as the table cost for players on a given pool table
• All transactions will be stored in the database