Project Report On Gym Management System
Project Report On Gym Management System
project
Name:-
Reg num:-
Topic:-
2
TABLE OF CONTENTS
1. Introduction.
1.1 Introduction of the Project.
1.2 Objectives Of The Project.
2. System Analysis
2.1. Identification Of The Need
2.2. Preliminary Investigation
2.3. Feasibility Study
2.3.1. Technical Feasibility
2.3.2. Economical Feasibility
2.3.3. Operational Feasibility
2.4. Proposed System Functionality
5. Design
5.1. Data Flow Diagram (DFD)
5.2. Database Design
5.3. Entity Relationship Diagram
6. Source Code
7. Screen Layouts
8. Testing
9. Implementation
10. Maintenance
11. Conclusion
12. Bibliography
3
SECTION 1
INTRODUCTION
4
INTRODUCTION TO THE PROJECT
5
OBJECTIVES OF THE PROJECT
6
What the Software Provides in this Regard?
The software is capable enough to allow the concerned person to
store and retrieve any type of record with just a single click of
mouse.The software allows Interactive ,Self decribing Graphic User
Interface environment where even standalone users can work very
comfortably and easily.
7
SECTION 2
SYSTEM ANALYSIS
8
System Analysis refers into the process of examining a situation with
the intent of improving it through better procedures and methods.
System Analysis is the process of planning a new System to either
replace or complement an existing system. But before any planning is
done the old system must be thoroughly understood and the
requirements determined. System Analysis, is therefore, the process of
gathering and interpreting facts, diagnosing problems and using the
information to re-comment improvements in the System. Or in other
words, System Analysis means a detailed explanation or description.
Before computerized a system under consideration, it has to be
analyzed. We need to study how it functions currently, what are the
problems, and what are the requirements that the proposed system
should meet.
System Analysis is conducted with the following objectives in mind:
6. Create a system definition that forms the foundation for all the
subsequent engineering work.
9
The client set is just a worker(s),who is regularly indulged in
manual maintainence transactions,keeping regular
records,maintaining the records of fine details of members.
Following manual registers are maintained:
Inventory Register:
The register is used to record the details of the
products(supplements,beverages and apparels supplied and
required) such as its ID,Description,Quantity,Price,service date,time
period for which it is under maintainence etc.
10
objectives and procedures of the candidate system.
Included are also discussions of output reports, file
structures, and costs and benefits of the candidate
system.
11
ii. The system will provide fast and efficient automated
environment instead of slow and error prone manual
system, thus reducing both time and man power
spent in running the system.
iii. The system will have GUI interface and very less user
training is required to learn it.
iv. The system will provide service to view various
information if required for some decision making.
12
2.4 Proposed System Functionality
The proposed system provides the facility to pull the data from
the server using a key (such as id) and get the desired report.
13
SECTION 3
14
Software Engineering
The basic objective of software engineering is to: develop methods
and procedures for software development that can scale up for large
systems and that can be used to consistently produce high quality
software at low cost and with a small cycle time. That is, the key
objectives are consistency, low cost, high quality, small cycle time,
and scalability.
1) Requirement Analysis
Requirement analysis is done in order to understand the problem the
software system is to solve. The problem could be automating an
existing manual process, developing a new automated system, or a
combination of the two. The amphasis in requirements analysis is on
identifying what is needed from the system, not how the system will
achieve its goals. There are atleast two parties involved in the
software development-a client and a developer. The developer has
to develop the system to satisfy the client’s needs. The developer
does not understand the client’s problem domain, and the client
does not understand the issues involved in the software systems.
This causes a communication gap, which has to be adequately
bridged during requirements analysis.
2) Software Design
The purpose of the design phase is to plan a solution of the problem
specified by the requirements documents. This phase is the first step
in moving from the problem domain to the solution domain. Starting
with what is needed, design takes us toward how to satisfy the
needs. The design of a system is perhaps the most critical factor
affecting the quality of the software. It has a major impact on the
later phases, particularly testing and maintenance.
The design activity is divided into two phases: System Design and
Detailed Design. In system design the focus is on identifying the
15
modules, whereas during detailed design the focus is on designing
the logic for each of the modules.
3) Coding
The goal of the coding phase is to translate the design of the system
into code in a given programming language. Hence during coding,
the focus should be on developing programs that are easy to read
and understand, and not simply on developing programs that are
easy to write.
4) Testing
Testing is the major quality control measure used during software
development. Its basic function is to detect errors in the software.
Testing not only uncover errors introduced during coding, but also
errors introduced during the previous phases. Thus, the goal of the
testing is to uncover requirement, design and coding errors in the
programs. Therefore, different levels of testing are used. Testing is
an extremely critical and time consuming activity. It requires proper
planning of the overall testing process. The output of the testing
phase is the test report and the error report. Test report contains
the set of test cases and the result of executing the code with these
test cases. The error report describes the errors encountered and
the action taken to remove the errors.
5) Implementation
It is the process of having systems personnel check out and put new
equipment into use, train users, install the new application and
construct any files of data needed to use it. This phase is less
creative than system design. Depending on the size of the
organization that will be involved in using the application and the
risk involved in its use, systems developers may choose to test the
operation in only one area of the firm with only one or two persons.
Sometimes, they will run both old and new system in parallel way to
compares the results.
Paradigm Applied
In this project,The Spiral Model is applied in order to provide rigid
efficiency and functionality in the overall working style of the
project.Moreover, In order to cater to new or modified requirements
of the user, Spiral model is very effective .I used “The Spiral model”
as it is best suited to those development environments where
probability of uncertainity is very high and chances of mistakes are
uncontrollable.
16
known as the spiral lifecycle model, it is a systems development
method (SDM) used in information technology (IT). This model of
development combines the features of the prototyping model and
the waterfall model. The spiral model is intended for large, expensive
and complicated projects.
17
4. Constructing and testing the second prototype.
Advantages
18
SECTION 4
19
The Methodology:
I was assigned the duty for developing a computerized system for a
fitness center. The project time and resources were very limited .
The optimum use of practical time neccessiates that every session
and every activity is planned. For effective Planning ,Efficient Project
Managerial skils are required,Efficiant skills then trace out best
methodology to be used.
The methodology used by me includes the following things:
Topic Understanding:
It is vital that the field of application as introduced in the project
may be totally a new field. So as soon as the project was allocated
to me, I carefully went through the project requirements to identify
the requirements of the project.
MEMBER DETAILS
i. Member id
ii. Name
iii. Gender
MEMBERSHIP DETAILS
i. Membership type
ii. Expiration date
MEMBERSHIP DETAILS
i. Address
ii. Date of birth
iii. Phone number
ACCOUNT INFORMATION
i. Due date
ii. Amount Due
20
iii. Amount Paid
iv. Days late
v. Balance
After processing all this information records are saved and in this
module itself there is a provision for report generation for viewing
details of all the members.
There is also a provision for generating a receipt for an individual
member thus agin giving some of his relevant details.
21
a.Category
b.Id
c.Description
d.Brand
e.Supplier
f.Number of cases
g.Quantity in each case
h.Case Price
i.Sales Price
j.Order Date
3. PRODUCTS
Generates an inventory record of the product based on the
product category selected and displays the following
information:
a.Category
b.Id
c.Description
d.Brand
e.Supplier
f.Number of cases
g.Quantity in each case
h.Quantity ordered
i.Case Price
j.Sales Price
k.Order Date
l.Last ordered
m.Last inventory
It also provides the facility of generating reports of all the
products of a paticular category.
22
Principal Design Features
INTRODUCTION OF VISUAL BASIC
Visual Basic has the following traits which differ from C-derived
languages:
Logical and bitwise operators are unified. This is unlike all the C-
derived languages (such as Java or Perl), which have separate
logical and bitwise operators. This again is a traditional feature of
BASIC.
23
Variable array base. Arrays are declared by specifying the upper
and lower bounds in a way similar to Pascal and Fortran. It is also
possible to use the Option Base statement to set the default lower
bound. Use of the Option Base statement can lead to confusion
when reading Visual Basic code and is best avoided by always
explicitly specifying the lower bound of the array. This lower
bound is not limited to 0 or 1, because it can also be set by
declaration. In this way, both the lower and upper bounds are
programmable. In more subscript-limited languages, the lower
bound of the array is not variable. This uncommon trait does exist
in Visual Basic .NET but not in VBScript.
OPTION BASE was introduced by ANSI, with the standard for ANSI
Minimal BASIC in the late 1970s.
24
only explicitly declared variables can be used with the command
Option Explicit.
MS Access is less costlier than other RDBMSs’ for small scale use.
25
SECTION 5
DESIGN
26
5.1 DATA FLOW DIAGRAM (DFD)
DFD is a model, which gives the insight into the information domain
and functional domain at the same time. DFD is refined into
different levels. The more refined DFD is, more details of the system
are incorporated. In the process of creating a DFD, we decompose
the system into different functional subsystems. The DFD refinement
results in a corresponding refinement of data.
Following is the DFD of the “Proposed System”. We have refined the
system up to two levels. Each break-up has been numbered as per
the rule of DFD. We have tried to incorporate all the details of the
system but there is some chance of further improvisation because of
the study that is still going on for the project development.
Member details
Database Operations on
MEMBERS record
Member list
Database Operations on
Reciept
GYM EMPLOYEES record
CENTER’S Member’s Record
RECORD
MANAGEMEN Database Operations on
-T SYSTEM INVENTIRY record
Employee details
Employee schedule
IInventory(orders
and products)
27
5.2 DATABASE DESIGN
Introduction
Database
A Database is the systematic collection of logically related Data
with some inherent purpose to access and operate on various
different data stored in the form of records so as to raise the ease
and esfficiancy in data Handelling.
Relational database
Database Tables
28
List of Tables in Database:
29
Table 3: RECIEPT GENERATION
30
Table 5: EMPLOYEE PAYROLL
31
Table 7: INVENTORY TABLE
32
5.3 ENTITY-RELATIONSHIP DIAGRAM
33
SECTION 6
SOURCE CODE
34
#SPLASH FORM
Option Explicit
Dim mintCount As Integer, mintPause As Integer
mintPause = mintPause + 1
End Sub
35
#LOGIN FORM
Option Explicit
Dim mintctr As Integer
Dim mrstLogin As Recordset
If cboName.ListIndex = 0 Then
If cboName = mrstLogin![fldScreen] And txtPassword = mrstLogin!
[fldPass] Then
mdiDtcc.tbrChoices.Visible = True
mdiDtcc.mnuMembers = True
mdiDtcc.mnuEmp = True
mdiDtcc.mnuInv = True
mdiDtcc.mnuChUser.Enabled = True
Unload Me
mdiDtcc.mnuOn.Visible = False
flag = True
gblnPriv = True
mdiDtcc.ToolCenter
frmTools.Show
frmTools.stb1.Tab = 0
End If
Else
mrstLogin.MoveNext
If cboName = mrstLogin![fldScreen] And txtPassword = mrstLogin!
[fldPass] Then
mdiDtcc.tbrChoices.Visible = True
mdiDtcc.mnuChUser.Enabled = True
mdiDtcc.mnuMembers = True
mdiDtcc.mnuEmp = True
mdiDtcc.mnuInv = True
Unload Me
mdiDtcc.mnuOn.Visible = False
36
flag = True
gblnPriv = False
End If
mrstLogin.MoveFirst
End If
mdiDtcc.tbrChoices.Visible = False
mdiDtcc.mnuScreen.Enabled = False
mdiDtcc.mnuChUser.Enabled = False
mdiDtcc.mnuMembers = False
mdiDtcc.mnuEmp = False
mdiDtcc.mnuInv = False
cboName = mrstLogin![fldScreen]
mintctr = 0
End Sub
37
#MDI FORM
Option Explicit
38
frmTools.stb1.Tab = 2
End Sub
39
Unload frmPayroll
Unload frmProducts
Unload frmReceipt
Unload frmSchedule
Unload frmTools
End Sub
40
#MENU FORM
Private Sub cmdAllMem_Click()
If frmAllMem.WindowState <> vbMinimized Then
frmAllMem.Top = mdiDtcc.ScaleHeight / 20
frmAllMem.Left = mdiDtcc.ScaleWidth / 8
End If
frmAllMem.Show
End Sub
End Sub
41
frmOrders.Show
ElseIf gblnPriv = False Then
MsgBox "Master Access Only!!!", vbOKOnly + vbInformation
End If
End Sub
42
#MEMBER DETAILS FORM
Option Explicit
Dim flag As Integer
Dim mblnBrow As Boolean
Dim mintClear As Integer
Dim mintFind As Integer
Dim mblnCheck As Boolean
Dim mdatGExp As Date
Dim mdatTExp As Date
Dim mdatOD As Date
Dim mintOD As Integer
Dim mblnExpOD As Boolean
mrstGym.MoveFirst
Do Until mrstGym.EOF
If mrstGym!fldGExp = True Or mrstGym!fldTExp = True Then
mblnBrow = True
Set mrstGym = pdbMembers.OpenRecordset("SELECT * FROM
tblMembers WHERE fldGExp = true or fldTExp=true ORDER BY
fldMemberID")
ShowRecord
mintFind = 0
mblnExpOD = True
Exit Sub
Else
mrstGym.MoveNext
End If
Loop
MsgBox "No Expired Members!!!", vbOKOnly + vbInformation
Form_Load
End Sub
43
Private Sub cmdOD_Click()
If mblnExpOD = True Then Form_Load
mrstGym.MoveFirst
Do Until mrstGym.EOF
If mrstGym!fldOD = True Then
mblnBrow = True
Set mrstGym = pdbMembers.OpenRecordset("SELECT * FROM
tblMembers WHERE fldOD = true ORDER BY fldMemberID")
ShowRecord
mintFind = 0
mblnExpOD = True
Exit Sub
Else
mrstGym.MoveNext
End If
Loop
MsgBox "No Overdue Members!!!", vbOKOnly + vbInformation
Form_Load
End Sub
44
Private Sub cmdFirst_Click()
mrstGym.MoveFirst
ShowRecord
End Sub
45
If !fldGender = "M" Then optM = True
If !fldGender = "F" Then optF = True
If !fldRecommend <> "" Then txtRecommed = !fldRecommend
Else txtRecommed = ""
If !fldMemberShip = "Gym" Then optGym = True
If !fldMemberShip = "Tanning" Then optTanning = True
If !fldMemberShip = "Gym & Tanning" Then optGym_Tanning =
True
46
txtEx_tan = !fldTanEx
Else
.Edit
!fldTExp = False
.Update
lblTE.Visible = False
txtEx_tan.Width = 1695
txtEx_tan.ForeColor = vbBlack
txtEx_tan = !fldTanEx
End If
Else
.Edit
!fldTExp = False
.Update
lblTE.Visible = False
txtEx_tan.Width = 1695
txtEx_tan = ""
End If
47
.Update
End If
txtAmountdue = !fldAmountDue
txtInstall = !fldInstallAmount
lblBalance = !fldBalance
If !fldNotes <> "" Then txtNotes = !fldNotes Else txtNotes = ""
End With
End Sub
If mintClear = 1 Then
txtId = ""
mintClear = 0
Else
txtId = mrstGym!fldMemberID
End If
txtLastName = ""
txtFirstName = ""
optM.Value = False
optM.TabStop = True
optF.Value = False
txtRecommed = ""
optGym.Value = False
optGym.TabStop = True
optTanning.Value = False
optGym_Tanning.Value = False
txtEx_gym = ""
cboGym_date.ListIndex = -1
txtEx_tan = ""
cboTan_date.ListIndex = -1
txtStreet = ""
txtCity = ""
cboState.ListIndex = -1
txtZip = ""
txtDOB = ""
txtPhone = ""
txtSS = ""
txtPayduedate = ""
txtAmountdue = ""
txtInstall = ""
lblBalance = "0"
txtNotes = ""
lblGE.Visible = False
txtEx_gym.Width = 1695
lblTE.Visible = False
txtEx_tan.Width = 1695
txtLate = "0"
48
End Sub
49
mrstGym.MoveFirst
Do Until mrstGym.EOF
If txtId = mrstGym!fldMemberID Then
ShowRecord
mintFind = 0
Exit Sub
Else
mrstGym.MoveNext
End If
Loop
MsgBox "Member doesn't exist", vbOKOnly + vbInformation,
"Wrong Entry"
txtId.SelStart = 0
txtId.SelLength = Len(txtId)
End If
End If
End Sub
50
End Sub
51
#MEMBER RECIEPT FORM
Option Explicit
Dim mrstRec As Recordset
Dim mdbRec As Database
Dim mstrVal As String
Dim mblnReq As Boolean
Private Const csngCol1 As Single = 1.4
Private Const csngCol2 As Single = 3.9
Private Const csngCol3 As Single = 6.1
Private Const csngCol4 As Single = 6.5
52
ElseIf cboHow.ListIndex = 2 And txtChecknum = "" Then
MsgBox "Check # is Required if payed with Check!!!", vbOKOnly +
vbInformation
txtChecknum.SetFocus
Else
If gblnRec = True Then
pstrAns = MsgBox("confirm printing on " & Printer.DeviceName,
vbYesNo)
If pstrAns = vbNo Then Exit Sub
' PrintRec
' Printer.EndDoc
Else
pstrAns = MsgBox("confirm printing on " & Printer.DeviceName,
vbYesNo)
If pstrAns = vbNo Then Exit Sub
'PrintRec
'printer.EndDoc
mstrVal = "UPDATE tblMembers SET fldBalance = '" &
lblNewbalance & "' WHERE fldMemberID = " & lblId & ""
pdbMembers.Execute mstrVal, dbFailOnError
If txtNext <> "" Then
mstrVal = "UPDATE tblMembers SET fldPayDue = '" &
txtNext & "' WHERE fldMemberID = " & lblId & ""
pdbMembers.Execute mstrVal, dbFailOnError
Else
mstrVal = "UPDATE tblMembers SET fldPayDue = null
WHERE fldMemberID = " & lblId & ""
pdbMembers.Execute mstrVal, dbFailOnError
End If
frmGym.ShowRecord
WriteRecord
mrstRec.Update
End If
Unload Me
End If
End Sub
53
Set mrstRec = mdbRec.OpenRecordset("SELECT * FROM tblReceipt
WHERE fldMemberID_Rec = " & lblId & " ORDER BY fldNum",
dbOpenSnapshot)
cmdFirst_Click
Else
cmdPrint.Enabled = True
Set mrstRec = mdbRec.OpenRecordset("tblReceipt")
cmdFirst.Enabled = False
cmdLast.Enabled = False
cmdNext.Enabled = False
cmdPrevious.Enabled = False
lblDate.Caption = Date
lblId = frmGym.txtId
lblLFname = frmGym.txtLastName & ", " & frmGym.txtFirstName
lblExGymDate = frmGym.txtEx_gym
lblExTanDate = frmGym.txtEx_tan
lblOldbalance = frmGym.lblBalance
lblNewbalance = frmGym.lblBalance
txtPrev = frmGym.txtPayduedate
End If
End Sub
54
lblId = !fldMemberID_Rec
lblLFname = !fldLFName_Rec
If !fldGymEx_Rec <> "" Then lblExGymDate = !fldGymEx_Rec Else
lblExGymDate = ""
If !fldTanEx_Rec <> "" Then lblExTanDate = !fldTanEx_Rec Else
lblExTanDate = ""
lblOldbalance = !fldOldBalance
txtNewcharge = !fldNewCharge
txtAmount = !fldAmountRec
lblNewbalance = !fldNewBalance
cboPayfor = !fldPayFor
cboHow = !fldHowPaid
If !fldCheckNum <> "" Then txtChecknum = !fldCheckNum Else
txtChecknum = ""
If !fldPrev <> "" Then txtPrev = !fldPrev Else txtPrev = ""
If !fldNext <> "" Then txtNext = !fldNext Else txtNext = ""
cboReceived = !fldRecBy
End With
End Sub
55
If txtNewcharge <> "" And IsNumeric(txtNewcharge) And
IsNumeric(txtAmount) Then
If txtAmount = "" Then
lblNewbalance = (CDec(lblOldbalance) + CDec(txtNewcharge))
Else
lblNewbalance = ((CDec(lblOldbalance) + CDec(txtNewcharge))
- CDec(txtAmount))
End If
End If
End Sub
Printer.ScaleMode = vbInches
Printer.FontSize = 28
Printer.FontName = "Arial Black"
Printer.CurrentY = 0
56
Printer.Line (0.51, 1.21)-(7.49, 1.75), RGB(220, 220, 220), BF
Printer.Line (0.5, 1.75)-(csngCol1, 3.34), RGB(220, 220, 220), BF
Printer.Line (0.5, 1.75)-(2.67, 2.08), , B
Printer.Line (0.5, 1.75)-(2.67, 2.39), , B
Printer.Line (0.5, 1.75)-(2.67, 2.68), , B
Printer.Line (0.5, 1.75)-(2.67, 3.04), , B
Printer.Line (0.5, 1.75)-(2.67, 3.34), , B
Printer.Line (2.68, 1.75)-(csngCol2 + 0.06, 3.34), RGB(220, 220,
220), BF
Printer.Line (csngCol1, 1.75)-(csngCol2 + 0.06, 3.34), , B
Printer.Line (2.67, 1.75)-(4.84, 2.08), , B
Printer.Line (2.67, 1.75)-(4.84, 2.39), , B
Printer.Line (2.67, 1.75)-(4.84, 2.68), , B
Printer.Line (2.67, 1.75)-(4.84, 3.04), , B
Printer.Line (2.67, 1.75)-(4.84, 3.34), , B
Printer.Line (4.85, 1.75)-(csngCol3 + 0.05, 3.34), RGB(220, 220,
220), BF
Printer.Line (csngCol2 + 0.06, 1.75)-(csngCol3 + 0.05, 3.34), , B
Printer.Line (4.84, 1.75)-(7.5, 2.08), , B
Printer.Line (4.84, 1.75)-(7.5, 2.39), , B
Printer.Line (4.84, 1.75)-(7.5, 2.68), , B
Printer.Line (4.84, 1.75)-(7.5, 3.04), , B
Printer.Line (4.84, 1.75)-(7.5, 3.34), , B
Printer.FontSize = 28
Printer.FontName = "Imprint MT Shadow"
Printer.CurrentY = 1.25
psngWidth = Printer.TextWidth("Members Receipt")
Printer.CurrentX = (8 - psngWidth) / 2
Printer.Print "Members Receipt"
Printer.FontSize = 10
Printer.FontName = "Arial"
Printer.CurrentY = 1.85
psngLastY = Printer.CurrentY
psngY = Printer.CurrentY + 0.02
'Row 1**********************
Printer.CurrentY = psngLastY
57
Printer.FontSize = 10
Printer.CurrentX = csngCol2 - Printer.TextWidth("Old Balance: ")
Printer.FontBold = True
Printer.Print "Old Balance:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol2 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblOldbalance
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol3 - Printer.TextWidth("Payment for: ")
Printer.FontBold = True
Printer.Print "Payment for:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol3 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print cboPayfor
Printer.Print
psngLastY = Printer.CurrentY + 0.03
psngY = Printer.CurrentY + 0.03
'Row 2**********************
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol1 - Printer.TextWidth("Member ID: ")
Printer.FontBold = True
Printer.Print "Member ID:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol1 + 0.05
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblId
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol2 - Printer.TextWidth("New Charge: ")
Printer.FontBold = True
Printer.Print "New Charge:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol2 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print txtNewcharge
58
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol3 - Printer.TextWidth("How Payed: ")
Printer.FontBold = True
Printer.Print "How Payed:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol3 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print cboHow
Printer.Print
psngLastY = Printer.CurrentY + 0.05
psngY = Printer.CurrentY + 0.04
'Row 3**********************
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol1 - Printer.TextWidth("Name: ")
Printer.FontBold = True
Printer.Print "Name:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol1 + 0.025
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblLFname
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol2 - Printer.TextWidth("Amount Received:
")
Printer.FontBold = True
Printer.Print "Amount Received:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol2 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print txtAmount
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol3 - Printer.TextWidth("Check #: ")
Printer.FontBold = True
Printer.Print "Check #:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol3 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
59
Printer.Print txtChecknum
Printer.Print
psngLastY = Printer.CurrentY + 0.09
psngY = Printer.CurrentY + 0.06
'Row 4**********************
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol1 - Printer.TextWidth("Gym Ex: ")
Printer.FontBold = True
Printer.Print "Gym Ex:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol1 + 0.025
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblExGymDate
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol2 - Printer.TextWidth("New Balance: ")
Printer.FontBold = True
Printer.Print "New Balance:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol2 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblNewbalance
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol3 - Printer.TextWidth("Next Due Date: ")
Printer.FontBold = True
Printer.Print "Next Due Date:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol3 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print txtNext
Printer.Print
psngLastY = Printer.CurrentY + 0.08
psngY = Printer.CurrentY + 0.06
'Row 5**********************
Printer.CurrentY = psngLastY
Printer.FontSize = 10
60
Printer.CurrentX = csngCol1 - Printer.TextWidth("Tan Ex: ")
Printer.FontBold = True
Printer.Print "Tan Ex:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol1 + 0.025
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print lblExTanDate
Printer.CurrentY = psngLastY
Printer.FontSize = 10
Printer.CurrentX = csngCol3 - Printer.TextWidth("Received By: ")
Printer.FontBold = True
Printer.Print "Received By:"
Printer.CurrentY = psngY
Printer.CurrentX = csngCol3 + 0.09
Printer.FontSize = 8
Printer.FontBold = False
Printer.Print cboReceived
Printer.Print
Printer.Print
psngLastY = Printer.CurrentY
Printer.FontSize = 20
Printer.FontName = "Imprint MT Shadow"
psngWidth = Printer.TextWidth("DelTech Health & Fitness")
Printer.CurrentX = (8.25 - psngWidth) / 2
Printer.Print "DelTech Health & Fitness"
psngLastY = Printer.CurrentY
Printer.FontSize = 8
Printer.FontName = "Arial"
psngWidth = Printer.TextWidth("333 Shipley Street")
Printer.CurrentX = (8.25 - psngWidth) / 2
Printer.Print "333 Shipley Street"
psngLastY = Printer.CurrentY
psngWidth = Printer.TextWidth("Wilmington, Delaware 19801")
Printer.CurrentX = (8.25 - psngWidth) / 2
Printer.Print "Wilmington, Delaware 19801"
psngLastY = Printer.CurrentY
psngWidth = Printer.TextWidth("(302)571-5300")
Printer.CurrentX = (8.25 - psngWidth) / 2
Printer.Print "(302)571-5300"
End Sub
61
If txtNewcharge = "" Or txtAmount = "" Or cboPayfor.ListIndex = -1 _
Or cboHow.ListIndex = -1 Or cboReceived.ListIndex = -1 Then
mblnReq = True
Else
mblnReq = False
End If
End Sub
62
#EMPLOYEE DATA ENTRY FORM
Option Explicit
63
End Sub
64
Set pdbEmp = OpenDatabase(App.Path & "\Gym_Members.mdb")
Set mrstEmp = pdbEmp.OpenRecordset("SELECT * FROM
tblEmployees ORDER BY fldNumEmp")
mrstEmp.MoveFirst
ShowRecord
End Sub
65
End Sub
66
txtTax.Locked = True
txtStreet.Locked = True
txtCity.Locked = True
cboState.Locked = True
txtZip.Locked = True
txtDOB.Locked = True
txtPhone.Locked = True
txtSS.Locked = True
txtHourlyWage.Locked = True
txtTax.Locked = True
cmdUpdate.Enabled = False
cmdEdit.Enabled = True
cmdFirst.Enabled = True
cmdLast.Enabled = True
cmdNext.Enabled = True
cmdPrev.Enabled = True
cmdDelete.Enabled = True
cmdEnter.Enabled = True
cmdCancel.Enabled = False
Else
optM.Enabled = True
optF.Enabled = True
txtLastName.Locked = False
txtFirstName.Locked = False
txtHourlyWage.Locked = False
txtTax.Locked = False
txtStreet.Locked = False
txtCity.Locked = False
cboState.Locked = False
txtZip.Locked = False
txtDOB.Locked = False
txtPhone.Locked = False
txtSS.Locked = False
txtHourlyWage.Locked = False
txtTax.Locked = False
cmdUpdate.Enabled = True
cmdEdit.Enabled = False
cmdFirst.Enabled = False
cmdLast.Enabled = False
cmdNext.Enabled = False
cmdPrev.Enabled = False
cmdDelete.Enabled = False
cmdEnter.Enabled = False
End If
End Sub
67
On Error Resume Next
imgEmp.Picture = LoadPicture(App.Path & "\Images\" & pstrPic &
".jpg")
If Err Then
imgEmp.Picture = LoadPicture(App.Path & "\Images\NoPic.jpg")
End If
End Sub
68
#EMPLOYEE PAYROLL FORM
Option Explicit
69
Set mrstPay = pdbPay.OpenRecordset("SELECT * FROM tblPayroll
WHERE fldEmployeeID = '" & MyValue & "' ORDER BY fldPayNum")
On Error Resume Next
txtHourWorked.Locked = True
cmdCalculate.Enabled = False
cmdAdd.Enabled = False
cmdFirst.Enabled = True
cmdLast.Enabled = True
cmdPrevious.Enabled = True
cmdNext.Enabled = True
ShowRecord
End If
End Sub
70
mrstPay.MoveFirst
ShowRecord
End Sub
txtEmployeeID = frmNewEmp.txtEmployeeID
txtLastName = frmNewEmp.txtLastName
txtFirstName = frmNewEmp.txtFirstName
txtHourlyWage = frmNewEmp.txtHourlyWage
txtDatePaid = Date
cmdFirst.Enabled = False
cmdLast.Enabled = False
cmdPrevious.Enabled = False
cmdNext.Enabled = False
End Sub
71
Public Sub WriteRecord()
mrstPay.AddNew
With mrstPay
!fldEmployeeID = txtEmployeeID
!fldLastName = txtLastName
!fldFirstName = txtFirstName
!fldHourlyWage = txtHourlyWage
!fldHoursWorked = txtHourWorked
!fldDatePaid = txtDatePaid
!fldGrossPay = txtGross
!fldTaxWithheld = txtTax
!fldNetPay = txtNet
End With
End Sub
72
#EMPLOYEE SCHEDULE FORM
Option Explicit
Dim cur As String, first As String, last As String
Dim mrstSch As Recordset
lblSunday.BackColor = vbRed
lblSunday.ForeColor = vbYellow
Case "Monday"
lblMonday.BackColor = vbRed
lblMonday.ForeColor = vbYellow
Case "Tuesday"
lblTuesday.BackColor = vbRed
lblTuesday.ForeColor = vbYellow
Case "Wednesday"
lblWednesday.BackColor = vbRed
73
lblWednesday.ForeColor = vbYellow
Case "Thursday"
lblThursday.BackColor = vbRed
lblThursday.ForeColor = vbYellow
Case "Friday"
lblFriday.BackColor = vbRed
lblFriday.ForeColor = vbYellow
Case "Saturday"
lblSaturday.BackColor = vbRed
lblSaturday.ForeColor = vbYellow
End Select
End Sub
74
txtFri2 = !fldFri2
txtSat = !fldSat
End With
End Sub
75
#INVENTORY FORM
Option Explicit
Dim mdbInv As Database
Dim mrstInv As Recordset
Dim mstrCat As String
76
Private Sub cmdNext_Click()
mrstInv.MoveNext
If mrstInv.EOF Then mrstInv.MoveLast
ShowRecord
txtQuantity.SetFocus
End Sub
77
#ORDER PLACEMENT FORM
Option Explicit
Dim mdbOrd As Database
Dim mrstOrd As Recordset
Dim mblnExist As Boolean
78
txtSup.Enabled = True
txtCase.Enabled = True
txtNCase.Enabled = True
txtQuantity.Enabled = True
txtCasePrice.Enabled = True
txtPrice.Enabled = True
txtOrder.Enabled = True
cboCat.SetFocus
End Sub
79
Private Sub cmdPrevious_Click()
mrstOrd.MovePrevious
If mrstOrd.BOF Then mrstOrd.MoveFirst
ShowRecord
End Sub
80
txtSup = ""
txtCase = ""
txtNCase = ""
txtQuantity = ""
txtCasePrice = ""
txtPrice = ""
End Sub
81
End Sub
End If
82
End Sub
83
#PRODUCTS FORM
Option Explicit
Dim mdbPro As Database
Dim mrstPro As Recordset
Dim mstrCat As String
84
mrstPro.MoveLast
ShowRecord
End Sub
85
Me.Height = 1200
Me.Width = 4000
fraBorder.Height = 735
fraBorder.Width = 3795
End Sub
86
#ABOUT FORM
87
#MODULE CODING
88
SECTION 7
SCREEN LAYOUTS
89
Login screen of the Fitness Club Management System
90
MEMBERSHIP FORM(AND DETAILS)
MEMBERSHIP RECORDS
91
MEMBERSHIP RECIEPT
92
Menu Interface of the Fitness Club Management
System(employees tab selected)
93
EMPLOYEE SCHEDULE
94
DELETING AN EMPLOYEE RECORD
95
Menu Interface of the Fitness Club Management
System(inventory tab selected)
96
INVENTORY FORM
ORDER FORM
97
PRODUCT FORM
98
SECTION 8
TESTING
99
Levels of Testing:
Systems are not designed as entire systems nor are they tested as
single systems. The analyst must perform both unit and system testing.
Unit Testing:
In unit testing the analyst tests the programs making up a
system. For this reason, unit testing is sometimes called program
testing. Unit testing gives stress on the modules independently of
one another, to find errors. This helps the tester in detecting
errors in coding and logic that are contained within that module
alone. The errors resulting from the interaction between modules
are initially avoided. The test cases needed for unit testing should
exercise each condition and option.
Unit testing can be performed from the bottom up, starting with
smallest and lowest-level modules and proceeding one at a time.
For each module in bottom-up testing a short program is used to
execute the module and provides the needed data, so that the
module is asked to perform the way it will when embedded within
the larger system.
System Testing:
The important and essential part of the system development
phase, after designing and developing the software is system
testing. We cannot say that every program or system design is
perfect and because of lack of communication between the user
and the designer, some error is there in the software
development. The number and nature of errors in a newly
designed system depend on some usual factors like
communication between the user and the designer; the
programmer's ability to generate a code that reflects exactly the
systems specifications and the time frame for the design.
100
System testing consists of the following five steps:
1) Program Testing
A program represents the logical elements of a system. For a
program to run satisfactorily, it must compile and test data
correctly and tie in properly with other programs. it is the
responsibility of a programmer to have an error free program. At
the time of testing the system, there exists two types of errors
that should be checked. These errors are syntax and logic. A
syntax error is a program statement that violates one or more
rules of the language in which it is written. An improperly defined
field dimension or omitted key words are common syntax errors.
These errors are shown through error messages generated by the
computer. A logic error, on the other hand, deals with incorrect
data fields out of range items, and invalid combinations. Since the
logical errors are not detected by compiler, the programmer must
examine the output carefully to detect them.
When a program is tested, the actual output is compared with the
expected output. When there is a discrepancy, the sequence of
the instructions, must be traced to determine the problem. The
process is facilitated by breaking the program down into self-
contained portions, each of which can be checked at certain key
points.
2) String Testing
Programs are invariably related to one another and interact in a
total system. Each program is tested to see whether it conforms
to related programs in the system. Each part of the system is
tested against the entire module with both test and live data
before the whole system is ready to be tested.
3) System Testing
System testing is designed to uncover weaknesses that were not
found in earlier tests. This includes forced system failure and
validation of total system as it will be implemented by its user in
the operational environment. Under this testing, generally we
take low volumes of transactions based on live data. This volume
is increased until the maximum level for each transaction type is
reached. The total system is also tested for recovery and fallback
after various major failures to ensure that no data are lost during
the emergency. All this is done with the old system still in
operation. When we see that the proposed system is successful in
the test, the old system is discontinued.
4) System Documentation
All design and test documentation should be well prepared and
kept in the library for future reference. The library is the central
location for maintenance of the new system.
101
5) User Acceptance Testing
An acceptance test has the objective of selling the user on the
validity and reliability of the system. It verifies that the system's
procedures operate to system specifications and that the integrity
of important data is maintained. Performance of an acceptance
test is actually the user's show. User motivation is very important
for the successful performance of the system. After that a
comprehensive test report is prepared. This report shows the
system's tolerance, performance range, error rate and accuracy.
102
SECTION 9
IMPLEMENTATION
103
After completing the packaging process and produced distribution
media for the application, The application requires perfectly working
Microsoft Visual Studio 6.0 installed on the client system along with Ms
Offfice Access. It can run on all applicable operating systems.
104
IMPLEMENTATION
Conversion
Direct Implementation
105
SECTION 10
MAINTAINENCE
106
MAINTENANCE
107
SECTION 11
CONCLUSION
108
The objective of this project was to build a program for maintaining the
details of all the members,employees and inventory .The system
developed is able to meet all the basic requirements. The management
of the records (both members and employees)will be also benefited by
the proposed system, as it will automate the whole procedure, which
will reduce the workload. The security of the system is also one of the
prime concerns.
109
SECTION 12
BIBLIOGRAPHY
110
Bibliography
www.wikipedia.org
www.codeproject.com
Visual Basic 6.0 Resource Center | http://msdn.microsoft.com/hi-
in/vbrun/default(en-us).aspx
Visual Basic 6 Black Book By Steven Holzner
111