Vous êtes sur la page 1sur 64

CONTENTS

1. Certificate
2. Acknowlegement
3. Introduction
4. Hardware Requirements
5. Software Requirements
6. Project overview
a) Operating System
b) Introduction to VB.NET
c) Introduction to MS Access
d) Requirement Analysis
7. Data Flow Diagram
8.Database Design
9. Object Pages and Coding
10. Conclusion
11. Bioliography
12. Soft copy of the project on CD.
0
OBJECTIVES
This project entitled “BEAUTY PORLOR MANAGEMENT SYSTEM” is
developed for the fulfillment of various objectives had been decided primarily
when the project was under planning.
The main objectives of the project are:
1. To make project user friendly:
- By creating the database search options.
- Any operation requires just single mouse click.
- Frequent reporting.
- Huge data storage facility.

2. To concentrate on accuracy.

3. To make it reliable & efficient.

4. Fully secured system(using login and password form)

5. To get work done fast.(less time consuming and easy accessibility)

6. To make work easy, simple & unbiased.

1
SCOPE

The scope of this module is to study and develop the computerized “Member,
Staff and schemes management ” for “BEAUTY PORLOR MANAGEMENT
SYSTEM”
The proposed system will function on:
1. All Ice cream type and records.
2. Details of all Ice cream type
3. Details regarding item available.
4. Search: chooses the option for data member, field and value for search.
5. Informative record for available item
6. Data report:
 Member records
 Ice cream type records

2
Theoretical background of the project
MICROSOFT VB.NET AS FRONT–END:

To reduce the cost and fast track application design and development, we used the
vb.net platform, enterprise addition as it provides a component based development
of enterprise application.

Visual Basic is the most popular programming language for the worlds most
popular operating system by encapsulation of the windows application program
interface (API) in to easily manipulate objects. VB is the first language people
consider when they want rapid application development for the windows
environment. The capability of custom control to easily extend the language has
made VB the popular choice for an amazingly wide variety of programming tasks.

However the easy accessibility of the language and its enormous breath pose
challenges to both students and the instructor. Students approach the language
from a wide verity of background and abilities, some are new to programming,
some have extensive programming experience in other language (often character
based procedural languages),some want to learn the language to accomplish a very
specific task.

Frequently, instructors are challenged by the verity of students who come together
in a course.

3
MICROSOFT ACCESS AS BACKEND
Ms access has been used as the backend as it has a number of advantages which
include improved performance ,easy working facilities with filters , printing and
previewing ,designing a database, creating and customizing tables, queries ,form
and repots ,working with macros etc.

It also enables the user to work easily on the internet or an intranet. Working with
other application is yet another important feature of ms access. It allows easy
access and retrieval of data .it provides easy and conventional facility of
connectivity with visual basic. Security and administration of database is also a
significant and vital feature o ms-access.

We used ms-access as backend tool as we can manage all our information from a
single database file, within the file we can use:-

 Table to store our data


 Queries to find and retrieve just the data we want
 Form to view ,and update data in tables
 Reports to analyze or print data in a specific layout.
 Data access page to view, update or analyze the data base, data from an
internet or an intranet.

4
DEFINITION OF THE PROBLEM
 It was difficult to maintain the records of each and every member manually.
 The admission process was time consuming.
 Manual work can cause human error.
 Maintaing records of various facilities used by a particular member
was difficult.
 Handling of files & paper was difficult and there was chance of misplacing
it.

ANTICIPATED BENEFITS
 The database of each member will be maintained systematically.
 It will keep the track records of various facilities used by a particular
member.
 The receipt will be generated instantly.
 It will maintain stock for Ice cream type

5
SYSTEM ANALYSIS AND DESIGNING
EXISTING SYSTEM:
System Analysis is a detailed study of the various operations performed by
a system and their relationships within and outside of the system. Here the
key question is- what all problems exist in the present system? What must
be done to solve the problem? Analysis begins when a user or manager
begins a study of the program using existing system.

During analysis, data collected on the various files, decision


points and transactions handled by the present system. The commonly used
tools in the system are Data Flow Diagram, interviews, etc. Training,
experience and common sense are required for collection of relevant
information needed to develop the system. The success of the system
depends largely on how clearly the problem is defined, thoroughly
investigated and properly carried out through the choice of solution. A
good analysis model should provide not only the mechanisms of problem
understanding but also the frame work of the solution. Thus it should be
studied thoroughly by collecting data about the system. Then the proposed
system should be analyzed thoroughly in accordance with the needs.
System analysis can be categorized into four parts.
 System planning and initial investigation
 Information Gathering
 Applying analysis tools for structured analysis
 Feasibility study
 Cost/ Benefit analysis

In the existing system all the jobs of the bus route management is done
manually. This is very difficult to the operators who want to handle hundreds of
trips and many buses in a day. The currents system is that an operator wants to
keep the physical records of the bus route in his office and a separate record for the
passengers’ and for the booked seats. In current system there is no way to store the

6
details of the employees’ working in the bus. So many complaints against staff can
arise from the passengers’ side. More over there is no detailed record of the bus
and routes in which they service

PROPOSED SYSTEM
The proposed system is very useful for the operators and passengers.
This avoids the overheads for the operators. They can minimize the working stress
and can keep essential documents related to the bus and the passengers as a
softcopy. The advantage of the proposed system is the reduction in the cost of the
office equipments and the transaction is done quickly. Any operator can answer if
any seats for a particular route in a particular day are available or not.
Our proposed system has several advantages
 User friendly interface
 Fast access to database
 Less error
 More Storage Capacity
 Search facility
 Look and Feel Environment
 Quick transaction

FEASIBILITY ANALYSIS
Whatever we think need not be feasible .It is wise to think about the
feasibility of any problem we undertake. Feasibility is the study of impact, which
happens in the organization by the development of a system. The impact can be
either positive or negative. When the positives nominate the negatives, then the
system is considered feasible. Here the feasibility study can be performed in two
ways such as technical feasibility and Economical Feasibility.

7
Technical Feasibility:
We can strongly says that it is technically feasible, since there will not be much
difficulty in getting required resources for the development and maintaining the
system as well. All the resources needed for the development of the software as
well as the maintenance of the same is available in the organization here we are
utilizing the resources which are available already.
Economical Feasibility
Development of this application is highly economically feasible .The
organization needed not spend much m money for the development of t he system
already available. The only thing is to be done is making an environment for the
development with an effective supervision. I f we are doing so , we can attain the
maximum usability of the corresponding resources .Even after the development ,
the organization will not be in a condition to invest more in t he organization
.There fore , the system is economically feasible.

8
METHODOLOGY ADOPTED, SYSTEM
IMPLEMENTATION & DETAIL OF HARDWARE AND
SOFTWARE REQUIREMENTS

METHODOLOGY ADOPTED
In this project,water fall model is used .
What is water fall model?

The waterfall model is a sequential software development model in which


development is seen as flowing downwards (like a waterfall) through several
phases.

The waterfall model is one of the earliest structured models for software
development. It consists of the following sequential phases through which the
development life cycle progresses:

 System feasibility. In this phase, you consider the various aspects of the
targeted business process, find out which aspects are worth incorporating

9
into a system, and evaluate various approaches to building the required
software.
 Requirement analysis. In this phase, you capture software requirements
in such a way that they can be translated into actual use cases for the system.
The requirements can derive from use cases, performance goals, target
deployment, and so on.
 System design. In this phase, you identify the components that make up
the system. You define the exposed interfaces, the communication between
the interfaces, key algorithms used, and the sequence of interaction. An
architecture and design review is conducted at the end of this phase to ensure
that the design conforms to the previously defined requirementsinteracting.
 Coding and unit testing. In this phase, you write code for the modules
that make up the system. You also review the code and individually test the
functionality of each module.
 Integration and system testing. In this phase, you integrate all of the
modules in the system and test them as a single system for all of the use
cases, making sure that the modules meet the requirements.
 Deployment and maintenance. In this phase, you deploy software
system in the production environment. You then correct any errors that are
identified in this phase, and add or modify functionality based on the
updated requirements.

The waterfall model has the following advantages:

 the It allows you to compartmentalize the life cycle into various phases,
which allows you to plan the resources and effort required through the
development process.

10
 It enforces testing in every stage in the form of reviews and unit testing. You
conduct design reviews, code reviews, unit testing, and integration testing
during the stages of the life cycle.
 It allows you to set expectations for deliverables after each phase.

The waterfall model has the following disadvantages:

 You do not see a working version of the software until late in the life cycle.
For this reason, you can fail to detect problems until the system testing
phase. Problems may be more costly to fix in this phase than they would
have been earlier in the life cycle.
 When an application is in the system testing phase, it is difficult to change
something that was not carefully considered in the system design phase. The
emphasis on early planning tends to delay or restrict the amount of change
that the testing effort can instigate, which is not the case when a working
model is tested for immediate feedback.
 For a phase to begin, the preceding phase must be complete; for example,
the system design phase cannot begin until the requirement analysis phase is
complete and the requirements are frozen. As a result, the waterfall model is
not able to accommodate uncertainties that may persist after a phase is
completed. These uncertainties may lead to delays and extended project
schedules.

11
DETAIL OF HARDWARE & SOFTWARE
USED
SYSTEM REQUIREMENT:
Software:
Front End:
Vb.net enterprise edition.
Back End:
Ms Access 2007
Operating system:
Window 7.

Hardware configuration:

 Pentium® 90MHz or higher microprocessor.


 VGA 640x480 or higher-resolution screen supported by Microsoft
Windows.
 128 MB RAM .
 Disk space requirements:
 Standard Edition: typical installation 48 MB, full installation 80 MB.
 Professional Edition: typical installation 48 MB, full installation 80
MB.
 Enterprise Edition: typical installation 128 MB, full installation 147
MB.
 Additional components (if required): MSDN (for documentation): 67
MB, Internet Explorer 4.x: approximately 66 MB.
 CD-ROM (no MS-DOS support assumed).

12
SYSTEM MAINTAINENECE AND EVALUATION

Maintenance:
After the system was installed it was continuously analyzed
For defects, errors & compatibility problems. In case of an error
Or problem, it was rectified on the spot or within an acceptable
Time frame.

Evaluation:
 ADVANTAGES:-

 It consumes less time.


 It labours less effort.
 System is computerized.
 Errors are very less.
 Record keeping is efficient.
 We can file query, various reports can be generated.
 It is secure with the password.

 DISADVANTAGES:-

 New reports cannot be added easily.


 Tables are not normalized at its required extent.
 Remote access of data is not possible.
 Only password has been provided to secure the system, no other
techniques are applied to make the system highly secure.
 Backup options are not available.

13
Cost and Benefit Analysis:
Developing an IT application is an investment. Since after developing that
application it provides the organization with profits. Profits can be monetary or in
the form of an improved working environment. However, it carries risks, because
in some cases an estimate can be wrong. And the project might not actually turn
out to be beneficial.

Cost benefit analysis helps to give management a picture of the costs, benefits and
risks. It usually involves comparing alternate investments.

Cost benefit determines the benefits and savings that are expected from the system
and compares them with the expected costs.

The cost of an information system involves the development cost and maintenance
cost. The development costs are one time investment whereas maintenance costs
are recurring. The development cost is basically the costs incurred during the
various stages of the system development.

Each phase of the life cycle has a cost. Some examples are :

 Personnel
 Equipment
 Supplies
 Overheads
 Consultants' fees

14
Cost and Benefit Categories
In performing Cost benefit analysis (CBA) it is important to identify cost and
benefit factors. Cost and benefits can be categorized into the following categories.

There are several cost factors/elements. These are hardware, personnel, facility,
operating, and supply costs.

In a broad sense the costs can be divided into two types

1. Development costs-
Development costs that are incurred during the development of the system are one
time investment.

 Wages
 Equipment

2. Operating costs,
e.g., Wages
Supplies
Overheads

Another classification of the costs can be:

Hardware/software costs:
It includes the cost of purchasing or leasing of computers and it's peripherals.
Software costs involve required software costs.

Personnel costs:
It is the money, spent on the people involved in the development of the system.
These expenditures include salaries, other benefits such as health insurance,
conveyance allowance, etc.

Facility costs:

15
Expenses incurred during the preparation of the physical site where the system will
be operational. These can be wiring, flooring, acoustics, lighting, and air
conditioning.

Operating costs:
Operating costs are the expenses required for the day to day running of the system.
This includes the maintenance of the system. That can be in the form of
maintaining the hardware or application programs or money paid to professionals
responsible for running or maintaining the system.

Supply costs:
These are variable costs that vary proportionately with the amount of use of paper,
ribbons, disks, and the like. These should be estimated and included in the overall
cost ofthe system.

Benefits
We can define benefit as
Profit or Benefit = Income – Costs

Benefits can be accrued by :

- Increasing income, or
- Decreasing costs, or
- both

16
Entity Relationship Diagram

Entity Relationship Diagram (ERD) can express overall logical structure of a


database graphically. The components of E-R Diagram are:

Entity:
Entity is a thing or object in a Real world that is Distinguishable from all other
objects.

Relationship:
It is an association among several entities.

17
ENTITY RELATIONSHP DIGRAM(E.R.D)
OF ICE CREEM CENTER
Cus-
custmar Unit
name
price
Unit name
quantity Bill
price
no quantity
Selling
Purchase price Total
form Totel- price
Product-
price
name

PURCHASE SALE SALES

custmar only
name

date
Bill no

paid

CRIDIT

18
D.F.D (DATA FLOW DIAGRAM)
Level 0
0

BEAUTY
PURCHASE PORLOR SALE CUSTMAR
OWNER
SALE MANAGEMENT
SYSTEM

19
LEVEL1
1
purchase
OWNER BEAUTY PURCHASE
ditail record
PORLOR
MANAGEMENT
SYSTEM

sale SALE
OWNER detail record
BEAUTY PORLOR
MANAGEMENT
SYSTEM BILL

cridit recoad
3 BILL
OWNER
CRIDIT
detail record

20
Screens

21
22
23
Coding:

Private
Sub cmdOK_Click()
'check for correct password
Dim i As Integer
If txtPassword = "pass" And txtUserName.Text = "user" Then
LoginSucceeded = True
Unload Me
mdifrm.Show

Else
MsgBox "Invalid user name or Password, try again!", , "Login"

Me.txtUserName = ""
Me.txtPassword = ""
txtUserName.SetFocus

End If
End Sub
End If

Private
On Error Resume Next
Me.cmdupdate2.Enabled = True
Me.txttpaid.Enabled = True
Me.txttpaid.Text = ""
Me.lblubal.Caption = ""
Dim rs As New ADODB.Recordset
rs.Open "select * from sales where bill_no=" & Me.cmbbill.Text, dbcon, 2, 3
Me.cmbcustname.Text = rs!customer_name
Me.lbltotal.Caption = rs!grand_total
Me.lblpaid.Caption = rs!paid
Me.lblbal.Caption = rs!balance
End Sub

24
Private Sub cmbcustname_Click()
On Error Resume Next
Me.cmdupdate2.Enabled = True
Me.txttpaid.Enabled = True
Me.txttpaid.Text = ""
Me.lblubal.Caption = ""
Dim rs As New ADODB.Recordset
rs.Open "select * from sales where customer_name='" & Me.cmbcustname.Text &
"'", dbcon, 2, 3
Me.cmbbill.Text = rs!bill_no
Me.lbltotal.Caption = rs!grand_total
Me.lblpaid.Caption = rs!paid
Me.lblbal.Caption = rs!balance
End Sub

Private Sub cmbstone_Click()


Me.cmdupdate2.Enabled = True
Dim rs As New ADODB.Recordset
rs.Open "select * from purchase where ice_name ='" & Me.cmbstone.Text & "'",
dbcon, 2, 3
If rs.RecordCount = 0 Then
Me.txtuprice.Text = "no record"
Else
'Me.txtuprice.Text = rs!selling_price
Me.txtpur.Text = rs!purchasing_from
Me.txtquantity.Text = rs!quantity
Me.txtsprice.Text = rs!price_to_sell
Me.txtuprice.Text = rs!unit_price

Me.dtp.Value = rs!Date
Me.lbltprice.Caption = rs!total_price
End If
End Sub

Private Sub cmdelete2_Click()

End Sub

Private Sub cmddelete2_Click()

25
n = MsgBox("sure to delete " + Me.cmbcustname.Text + "'s record", vbYesNo,
"sure")
If n = vbNo Then
Me.cmddelete2.Cancel = True
Else
Dim rs As New ADODB.Recordset
rs.Open "delete * from credit where bill_no=" & Me.cmbbill.Text, dbcon, 2, 3
rs.Open "delete * from sales where bill_no=" & Me.cmbbill.Text, dbcon, 2, 3
Me.cmbbill.Text = ""
Me.cmbcustname.Text = ""
Me.lblbal.Caption = ""
Me.lblpaid.Caption = ""
Me.lbltotal.Caption = ""
Me.txttpaid.Text = ""
Me.lblubal.Caption = ""
MsgBox "record deleted", vbInformation, "info"
Me.cmbbill.Clear
Me.cmbcustname.Clear
Form_Load
Me.Frame2.Visible = True
Me.frame1.Visible = False
End If
End Sub

Private Sub cmdelete_Click()


n = MsgBox("sure to delete record " + Me.cmbstone.Text, vbYesNo, "sure")
If n = vbNo Then
Me.cmdelete.Cancel = True
Else
Dim rs As New ADODB.Recordset
rs.Open " delete * from purchase where ice_name='" & Me.cmbstone.Text & "'",
dbcon, 2, 3

Me.txtpur.Text = ""
Me.txtquantity.Text = ""
Me.txtsprice.Text = ""
Me.txtuprice.Text = ""
Me.lbltprice.Caption = ""
MsgBox "record deleted", vbInformation, "info"
Me.cmbstone.Clear
Form_Load

26
Me.frame1.Visible = True
Me.Frame2.Visible = False
End If
End Sub

Private Sub cmddelete_Click()

End Sub

Private Sub cmdexit2_Click()

End Sub

Private Sub cmdupdate_Click()


Dim rs As New ADODB.Recordset
rs.Open "select * from purchase where ICE_name ='" & Me.cmbstone.Text & "'",
dbcon, 2, 3
rs("date") = Me.dtp.Value
rs("purchasing_from") = Me.txtpur.Text
rs("ice_name") = Me.cmbstone.Text

rs("quantity") = Val(Me.txtquantity.Text)
rs("unit_price") = Val(Me.txtuprice.Text)
rs("total_price") = Val(Me.lbltprice.Caption)
rs("price_to_sell") = Val(Me.txtsprice.Text)
rs.Update
rs.Close
MsgBox "updated", vbInformation, "information"

Me.txtpur.Text = ""
Me.txtquantity.Text = ""
Me.txtsprice.Text = ""
Me.txtuprice.Text = ""

Me.lbltprice.Caption = ""

Me.cmbstone.SetFocus
End Sub

Private Sub cmdupdate2_Click()

27
Dim rs As New ADODB.Recordset
rs.Open "select * from sales where bill_no=" & Me.cmbbill.Text, dbcon, 2, 3
rs("balance") = Val(Me.lblubal.Caption)
rs("paid") = Val(Me.lblpaid.Caption) + Val(Me.txttpaid.Text)
rs.Update
rs.Close
Dim rs1 As New ADODB.Recordset
rs1.Open "insert into credit values(" & Me.cmbbill.Text & ",'" &
Me.cmbcustname.Text & "','" & Me.dtp2.Value & "'," & Me.txttpaid.Text & "," &
Val(Me.lblubal.Caption) & ")", dbcon, 2, 3
MsgBox "updated successfully", vbInformation, "info"
Me.cmbbill.Text = ""
Me.cmbcustname.Text = ""
Me.lblbal.Caption = ""
Me.lblpaid.Caption = ""
Me.lbltotal.Caption = ""
Me.txttpaid.Text = ""
Me.lblubal.Caption = ""
Me.cmbbill.SetFocus
End Sub

Private Sub Command2_Click()


n = MsgBox("sure to delete " + Me.cmbcustname.Text + "'s record", vbYesNo,
"sure")
If n = vbNo Then
Me.cmddelete2.Cancel = True
Else
Dim rs As New ADODB.Recordset
rs.Open "delete * from credit where bill_no=" & Me.cmbbill.Text, dbcon, 2, 3
rs.Open "delete * from sales where bill_no=" & Me.cmbbill.Text, dbcon, 2, 3
Me.cmbbill.Text = ""
Me.cmbcustname.Text = ""
Me.lblbal.Caption = ""
Me.lblpaid.Caption = ""
Me.lbltotal.Caption = ""
Me.txttpaid.Text = ""
Me.lblubal.Caption = ""
MsgBox "record deleted", vbInformation, "info"
Me.cmbbill.Clear
Me.cmbcustname.Clear
Form_Load

28
Me.Frame2.Visible = True
Me.frame1.Visible = False
End If
End Sub

Private Sub Form_Load()

Me.txttpaid.Enabled = False
Me.frame1.Visible = False
Me.Frame2.Visible = False
dtp.Value = Date
Dim rs As New ADODB.Recordset
Dim n As Integer
rs.Open "select * from purchase", dbcon, 2, 3
If rs.RecordCount = 0 Then
Me.cmbstone.AddItem "NO RECORD INSERTD YET"
rs.Close
Else
rs.MoveFirst
For n = 1 To rs.RecordCount
Me.cmbstone.AddItem rs.Fields(2)
rs.MoveNext
Next
rs.Close
End If
rs.Open "select * from sales", dbcon, 2, 3
If rs.RecordCount = 0 Then
Me.cmdupdate2.Enabled = False
Me.cmbcustname.AddItem "NO INVOICE RECORD YET"
Me.cmbbill.AddItem "NO INVOICE RECORD YET"

rs.Close
Else
rs.MoveFirst
For n = 1 To rs.RecordCount
Me.cmbcustname.AddItem rs.Fields(2)
Me.cmbbill.AddItem rs.Fields(1)
rs.MoveNext
Next

29
rs.Close
End If
Me.dtp2.Value = Date
Me.dtp.Value = Date
End Sub

Private Sub Image2_Click()


Unload Me
End Sub

Private Sub Image3_Click()

End Sub

Private Sub Optbal_Click()


Me.Frame2.Visible = True
Me.frame1.Visible = False
End Sub

Private Sub Optstock_Click()


Me.frame1.Visible = True
Me.Frame2.Visible = False
End Sub

Private Sub Timer2_Timer()


If Me.lblpaid.Caption = "" Or Me.txttpaid.Text = "" Or Me.cmbbill.Text = "" Or
Me.cmbcustname.Text = "" Then
Me.cmdupdate2.Enabled = False

Else
Me.cmdupdate2.Enabled = True

End If

If Me.lblpaid.Caption = "" Or Me.cmbbill.Text = "" Or Me.cmbcustname.Text = ""


Then
Me.cmddelete2.Enabled = False

Else
Me.cmddelete2.Enabled = True
30
End If

If Me.dtp.Value = "" Or Me.txtpur.Text = "" Or Me.txtquantity.Text = "" Or


Me.txtsprice.Text = "" Or Me.txtuprice.Text = "" Then
Me.cmdupdate.Enabled = False
Me.cmdelete.Enabled = False
Else
Me.cmdupdate.Enabled = True
Me.cmdelete.Enabled = True
End If
If Me.lblbal.Caption = "0" Then
Me.lblbal.Caption = "nill"
Me.cmdupdate2.Enabled = False
Me.txttpaid.Enabled = False

End If
If Me.txttpaid.Text = "" Then
Me.lblubal.Caption = ""
End If

End Sub

Private Sub txtpur_KeyPress(KeyAscii As Integer)


If KeyAscii >= 97 And KeyAscii <= 122 Then
KeyAscii = KeyAscii - 32
End If
End Sub

Private Sub txtquantity_Change()


If IsNumeric(Me.txtquantity.Text) = True Then
Me.lbltprice.Caption = Val(Me.txtquantity.Text) * Val(Me.txtuprice.Text)
Exit Sub
Else
Me.txtquantity.Text = ""
End If
End Sub

Private Sub txttpaid_Change()

If IsNumeric(Me.txttpaid.Text) = True Then

31
Me.lblubal.Caption = Val(Me.lblbal.Caption) - Val(Me.txttpaid.Text)
If Val(Me.txttpaid.Text) > Val(Me.lblbal.Caption) Then
MsgBox "please enter paid amount less then balance !", vbInformation, "info"
Me.txttpaid.Text = ""
Me.lblubal.Caption = ""
Else
Exit Sub
End If
Else
Me.txttpaid.Text = ""
End If

End Sub

Private Sub cmdadd_Click()


Dim rs As New ADODB.Recordset
'rs.Open "select * from purchase", dbcon, 2, 3
rs.Open "insert into purchase values ( '" & dtp.Value & "','" & txtpur.Text & "','" &
txtice.Text + "'," & txtquantity.Text & "," & Val(txtuprice.Text) & "," &
Val(lbltprice.Caption) & "," & txtsprice.Text & ")", dbcon, 2, 3
'rs("date") = Me.dtp.Value
'rs.Open "insert into purchase values('" & Me.dtp.Value & "','" & Me.txtpur.Text &
"','" & Me.txtice.Text & "','" & Val(Me.txtquantity.Text) & "','" &
Val(Me.txtuprice.Text) & "','" & Val(Me.lbltprice.Caption) & "','" &
Val(Me.txtsprice.Text) & "')", dbcon, 2, 3
'rs("ice_name") = Me.txtpur.Text
'rs("quantity") = Val(Me.txtquantity.Text)
'rs("unit_price") = Val(Me.txtuprice.Text)
'rs("total_price") = Val(Me.lbltprice.Caption)
'rs("price_to_sell") = Val(Me.txtsprice.Text)
'rs.Update
'rs.Close
MsgBox "saved successfully", vbInformation, "saved"
Me.dtp.Value = Date
cmdclear_Click
End Sub

Private Sub cmdclr_Click()

32
End Sub

Private Sub cmdclear_Click()


Me.dtp.Value = Date
Me.txtquantity.Text = ""
Me.txtsprice.Text = ""
Me.txtice.Text = ""
Me.txtuprice.Text = ""

Me.lbltprice.Caption = ""
End Sub

Private Sub Command2_Click()

End Sub

Private Sub cmdexit_Click()

End Sub

Private Sub Form_Load()


Dim rs As New ADODB.Recordset
rs.Open "select * from purchase", dbcon, 2, 3
If rs.RecordCount = 0 Then
Me.txtpur.Text = "enter record here"
Else
rs.MoveFirst
For i = 1 To rs.RecordCount
Me.txtpur.AddItem rs.Fields(1)
rs.MoveNext
Next
End If
dtp.Value = Date
End Sub

Private Sub Image2_Click()

33
Unload Me
End Sub

Private Sub Timer1_Timer()


If Me.dtp.Value = "" Or Me.txtpur.Text = "" Or Me.txtsprice.Text = "" Or
Me.txtuprice.Text = "" Or Me.txtice.Text = "" Then
Me.cmdadd.Enabled = False
Else
Me.cmdadd.Enabled = True
End If

End Sub

Private Sub txtice_KeyPress(KeyAscii As Integer)


If KeyAscii >= 97 And KeyAscii <= 122 Then
KeyAscii = KeyAscii - 32
End If
End Sub

Private Sub txtpur_KeyPress(KeyAscii As Integer)


If KeyAscii >= 97 And KeyAscii <= 122 Then
KeyAscii = KeyAscii - 32
End If
End Sub

Private Sub txtquantity_Change()


If IsNumeric(Me.txtquantity.Text) = True Then
Me.lbltprice.Caption = Val(Me.txtquantity.Text) * Val(Me.txtuprice.Text)
Exit Sub
Else
Me.txtquantity.Text = ""
End If
End Sub

Private Sub txtuprice_Change()


If IsNumeric(Me.txtuprice.Text) = True Then
Me.lbltprice.Caption = Val(Me.txtquantity.Text) * Val(Me.txtuprice.Text)
Else
Me.txtuprice.Text = ""
End If

34
End Sub

Function SpellNumber(ByVal MyNumber)


'conversion style done by siraj khan

Dim Rupees, Paise, Temp


Dim DecimalPlace, Count
ReDim Place(9) As String
Place(2) = " Thousand "
Place(3) = " Lakh "
Place(4) = " Crore "
' String representation of amount.
MyNumber = Trim(Str(MyNumber))
' Position of decimal place 0 if none.
DecimalPlace = InStr(MyNumber, ".")
' Convert Paise and set MyNumber to dollar amount.
If DecimalPlace > 0 Then
Paise = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
"00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
If Count <> 1 Then
Temp = GetHundreds(Right(MyNumber, 2))
If Temp <> "" Then Rupees = Temp & Place(Count) & Rupees
If Len(MyNumber) > 2 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 2)
Else
MyNumber = ""
End If
Else
Temp = GetHundreds(Right(MyNumber, 3))
If Temp <> "" Then Rupees = Temp & Place(Count) & Rupees
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""

35
End If
End If
Count = Count + 1
Loop
Select Case Rupees
Case ""
Rupees = " "
Case "One"
Rupees = "Re One "
Case Else
Rupees = "Rupees " & Rupees
End Select
Select Case Paise
Case ""
Paise = " Zero Paise "
Case "One"
Paise = " and Paise One"
Case Else
Paise = "Paise " & Paise
End Select
If Rupees <> " " Then Paise = " and " & Paise
SpellNumber = " [ " & Rupees & Paise & " Only ] "
End Function

Function GetHundreds(ByVal MyNumber)


Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
' Convert the hundreds place.
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
' Convert the tens and ones place.
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Result
End Function

36
Function GetTens(TensText)
Dim Result As String
Result = "" ' Null out the temporary function value.
If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
Select Case Val(TensText)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Case 12: Result = "Twelve"
Case 13: Result = "Thirteen"
Case 14: Result = "Fourteen"
Case 15: Result = "Fifteen"
Case 16: Result = "Sixteen"
Case 17: Result = "Seventeen"
Case 18: Result = "Eighteen"
Case 19: Result = "Nineteen"
Case Else
End Select
Else ' If value between 20-99...
Select Case Val(Left(TensText, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
Case Else
End Select
Result = Result & GetDigit _
(Right(TensText, 1)) ' Retrieve ones place.
End If
GetTens = Result
End Function

Function GetDigit(Digit)
Select Case Val(Digit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"

37
Case 5: GetDigit = "Five"
Case 6: GetDigit = "Six"
Case 7: GetDigit = "Seven"
Case 8: GetDigit = "Eight"
Case 9: GetDigit = "Nine"
Case Else: GetDigit = ""
End Select
End Function
Private Sub cmbice_Click()
Dim rs As New ADODB.Recordset
rs.Open "select * from purchase where ice_name ='" & Me.cmbice.Text & "'",
dbcon, 2, 3
If rs.RecordCount = 0 Then
Me.lbluprice.Caption = "no record"
Else
Me.lbluprice.Caption = rs!price_to_sell
Me.lblquan.Caption = rs!quantity
End If
Me.lbltprice.Caption = Val(Me.lbluprice) * Val(Me.txtquan.Text)
End Sub

Private Sub cmdadd_Click()


Dim rs As New ADODB.Recordset
rs.Open "select * from purchase where ice_name='" & Me.cmbice.Text & "'",
dbcon, 2, 3

Set lst = ListView1.ListItems.Add(, , cmbice.Text)


lst.SubItems(1) = Me.txtquan.Text

lst.SubItems(2) = Me.lbluprice.Caption
lst.SubItems(3) = Me.lbltprice.Caption
Me.cmbremove.AddItem Me.cmbice.Text
Me.lblgrandtotal.Caption = Val(Me.lblgrandtotal.Caption) +
Val(Me.lbltprice.Caption)
Me.lblinwords.Caption = SpellNumber(Val(Me.lblgrandtotal.Caption))
rs("quantity") = Val(Me.lblquan.Caption) - Val(Me.txtquan.Text)
rs.Update
rs.Close
Me.txtquan.Text = ""
Me.lbltprice.Caption = ""
Me.lbluprice.Caption = ""

38
Me.lblquan.Caption = ""
Me.cmbice.SetFocus
End Sub

Private Sub cmdexit_Click()

End Sub

Private Sub cmdprint_Click()


On Error Resume Next
Dim n As String
If Me.txtpaid.Text = "" Then
MsgBox "Enter paid amount", vbCritical, "requirement"
Me.txtpaid.SetFocus
Else
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
rs.Open "insert into sales values ('" & Me.dtp.Value & "'," &
Val(Me.lblbillno.Caption) & ",'" & Me.txtcust.Text & "'," &
Val(Me.lblgrandtotal.Caption) & "," & Me.txtpaid.Text & "," &
Val(Me.lblbal.Caption) & ")", dbcon, 2, 3
rs1.Open "insert into credit values(" & Me.lblbillno.Caption & ",'" &
Me.txtcust.Text & "','" & Me.dtp.Value & "'," & Me.txtpaid.Text & "," &
Val(Me.lblbal.Caption) & ")", dbcon, 2, 3
n = MsgBox("bill saved ! want print ? ", vbYesNo, "saved")
If n = vbNo Then
Unload Me
frmoption.Show
Me.cmbice.Clear
Form_Load
Else
MsgBox "bill printing", vbInformation, "print"
If DataEnvironment1.rsdadd.State = 1 Then DataEnvironment1.rsdadd.Close
report_bill.PrintReport
Unload Me
rs.Open "delete from temp", dbcon, 2, 3

'Exit Sub
'msg:
'MsgBox "printer not found", vbCritical, "error"

39
Me.cmbice.Clear
Form_Load

End If
End If
End Sub

Private Sub cmdremove_Click()


Dim rs As New ADODB.Recordset
rs.Open "select * from purchase where ice_name='" & Me.cmbremove.Text & "'",
dbcon, 2, 3
Dim p As Integer
Dim n As Double
Dim m As Integer
On Error Resume Next
n = ListView1.ListItems(Me.cmbremove.ListIndex + 1).SubItems(3) 'totalprice
p = ListView1.ListItems(Me.cmbremove.ListIndex + 1).SubItems(1) 'quantity
Me.lblgrandtotal.Caption = Val(Me.lblgrandtotal.Caption) - n
Me.lblinwords.Caption = SpellNumber(Val(Me.lblgrandtotal.Caption))
ListView1.ListItems.Remove (Me.cmbremove.ListIndex + 1)
Me.cmbremove.RemoveItem (Me.cmbremove.ListIndex)
rs("quantity") = Val(rs.Fields(3)) + Val(p)
rs.Update
rs.Close

m = Me.cmbremove.ListCount
If m <= 0 Then
Me.lblgrandtotal.Caption = 0
Me.lblinwords.Caption = SpellNumber(Val(Me.lblgrandtotal.Caption))
End If
End Sub

Private Sub cmdshow_Click()


If Me.txtcust.Text = "" Then
MsgBox "Enter customer name", vbCritical, "requirment"
Me.txtcust.SetFocus
Else

Set rs = New ADODB.Recordset


rs.Open "select * from temp", dbcon, 2, 3
Dim i As Integer

40
Set itm = Me.ListView1.ListItems
For Each itm In ListView1.ListItems
rs.AddNew
rs.Fields("date").Value = Me.dtp.Value
rs.Fields("bil_no").Value = Me.lblbillno.Caption
rs.Fields("customer_name").Value = Me.txtcust.Text
rs.Fields("ice_name").Value = itm.Text
rs.Fields("quantity").Value = itm.SubItems(1)
rs.Fields("unit_price").Value = itm.SubItems(2)
rs.Fields("total_price").Value = itm.SubItems(3)
rs.Fields("in_words").Value = Me.lblinwords.Caption
rs.Update

Next
'MsgBox "saved !"
frmgif.Show 1
Me.Timer1.Enabled = False
Me.cmdremove.Enabled = False

Me.cmdshow.Visible = False
Me.cmdshow2.Visible = True
Me.cmdprint.Enabled = True

If DataEnvironment1.rsdadd.State = 1 Then DataEnvironment1.rsdadd.Close


report_bill.Refresh
report_bill.Show
End If

End Sub

Private Sub cmdshow2_Click()


report_bill.Show
End Sub

Private Sub Form_Load()


Me.Timer1.Enabled = True
Me.cmdprint.Enabled = False
Me.cmdshow.Visible = True
Me.cmdshow2.Visible = False
Dim rs As New ADODB.Recordset

41
rs.Open "select * from purchase", dbcon, 2, 3
If rs.RecordCount = 0 Then
Me.cmbice.Text = "no record inserted yet"
Else
rs.MoveFirst
For i = 1 To rs.RecordCount
Me.cmbice.AddItem rs.Fields(2)
rs.MoveNext
Next
End If
dtp.Value = Date
rs.Close

rs.Open "select * from sales", dbcon, 2, 3


If rs.RecordCount = 0 Then
Me.lblbillno.Caption = 1
Else
rs.MoveLast
Me.lblbillno.Caption = rs.Fields(1) + 1
End If
rs.Close
rs.Open "delete from temp", dbcon, 2, 3

End Sub

Private Sub Image3_Click()


i = MsgBox("are u sure to close this form", vbYesNo)
If i = vbYes Then
Unload Me
Else
Cancel = 1
End If
End Sub

Private Sub Timer1_Timer()


Dim m As Integer
m = Me.cmbremove.ListCount
If m <= 0 Then
Me.cmdremove.Enabled = False
Me.cmdshow.Enabled = False
Else

42
Me.cmdremove.Enabled = True
Me.cmdshow.Enabled = True
End If

If Me.lblquan.Caption = "" Or Me.txtquan.Text = "" Or Me.cmbice.Text = "" Or


Me.lbluprice.Caption = "" Then
Me.cmdadd.Enabled = False
Else
Me.cmdadd.Enabled = True
End If
End Sub

Private Sub Timer2_Timer()


If Me.lblbal.Caption = "0" Then
Me.lblbal.Caption = "nil"
End If
If Me.txtpaid.Text = "" Then
Me.lblbal.Caption = "nil"
End If
End Sub

Private Sub txtcust_KeyPress(KeyAscii As Integer)


If KeyAscii >= 97 And KeyAscii <= 122 Then
KeyAscii = KeyAscii - 32
End If
End Sub

Private Sub txtpaid_Change()


If IsNumeric(Me.txtpaid.Text) = True Then
Me.lblbal.Caption = Val(Me.lblgrandtotal.Caption) - Val(Me.txtpaid.Text)

Else

Me.txtpaid.Text = ""
End If
If Val(Me.txtpaid.Text) > Val(Me.lblgrandtotal.Caption) Then
MsgBox "Entered amount should be less then grand total", vbInformation, "cant
accept"
Me.txtpaid.Text = ""
End If
End Sub

43
Private Sub txtquan_Change()
If IsNumeric(Me.txtquan.Text) = True Then
Me.lbltprice.Caption = Val(Me.txtquan.Text) * Val(Me.lbluprice.Caption)
If Val(Me.txtquan.Text) > Val(Me.lblquan.Caption) Then
MsgBox "please enter quantity less then available quantity !", vbInformation,
"info"
Me.txtquan.Text = ""

Else
Exit Sub
End If
Else
Me.txtquan.Text = ""
End If
End Sub

Dim j As Integer

Private Sub ProgressBar1_MouseDown(Button As Integer, Shift As Integer, x As


Single, y As Single)

End Sub

Private Sub Form_Load()

End Sub

Private Sub Timer1_Timer()

Me.Image1.Width = Me.Image1.Width + 50

j = Me.Image1.Width / 36.75
Me.Label2.Caption = j & "%"
If Me.Image1.Width > 3675 Then
Unload Me
Timer1.Enabled = False
frmLogin.Show

44
End If
Me.Label2.ForeColor = Me.Label2.ForeColor + 100
Me.Label3.ForeColor = Me.Label2.ForeColor + 100

End Sub

Private Sub cmb1_Click()

Dim rs As New ADODB.Recordset


If Me.optcredit.Value = True And Me.Optbillno.Value = True Then
rs.Open "select date,paid,balance from credit where bill_no=" & Me.cmb1.Text,
dbcon, 2, 3
Set Me.DataGrid1.DataSource = rs

Else
If Me.optcredit.Value = True And Me.optcustname.Value = True Then
rs.Open "select date,paid,balance from credit where customer_name='" &
Me.cmb1.Text & "'", dbcon, 2, 3
Set Me.DataGrid1.DataSource = rs

Else
If Me.Optbillno.Value = True Then
rs.Open "select * from sales where bill_no=" & Me.cmb1.Text, dbcon, 2, 3
Set Me.DataGrid1.DataSource = rs
Else
If Me.optcustname.Value = True Then
rs.Open "select * from sales where customer_name='" & Me.cmb1.Text & "'",
dbcon, 2, 3
Set Me.DataGrid1.DataSource = rs
Else
If Me.optstonename.Value = True Then
rs.Open "select * from purchase where ICE_name='" & Me.cmb1.Text & "'",
dbcon, 2, 3
Set Me.DataGrid1.DataSource = rs
End If
45
End If
End If
End If
End If
End Sub

Private Sub Command1_Click()

End Sub

Private Sub Form_Load()


Me.Optbillno.Visible = False
Me.optcustname.Visible = False
Me.optstonename.Visible = False
Me.cmb1.Visible = False
End Sub

Private Sub Image2_Click()


Unload Me
End Sub

Private Sub Optbillno_Click()


Me.cmb1.Clear
Dim rs As New ADODB.Recordset
If Me.Optinvoices.Value = True Or Me.optcredit.Value = True Then
rs.Open "select * from sales", dbcon, 2, 3
For n = 1 To rs.RecordCount
Me.cmb1.AddItem rs.Fields(1)
rs.MoveNext
Next
rs.Close
End If
Me.cmb1.Visible = True
End Sub

Private Sub optcredit_Click()


Me.optstonename.Visible = False
Me.Optbillno.Visible = True
Me.optcustname.Visible = True
End Sub

46
Private Sub optcustname_Click()
Me.cmb1.Clear
Dim rs As New ADODB.Recordset
If Me.Optinvoices.Value = True Or Me.optcredit.Value = True Then
rs.Open "select * from sales", dbcon, 2, 3
For n = 1 To rs.RecordCount
Me.cmb1.AddItem rs.Fields(2)
rs.MoveNext
Next
rs.Close
End If
Me.cmb1.Visible = True
End Sub

Private Sub optinventory_Click()


Me.cmb1.Clear
Me.optstonename.Value = False
Dim rs As New ADODB.Recordset
rs.Open "select * from purchase", dbcon, 2, 3

Set Me.DataGrid1.DataSource = rs
Me.Optbillno.Visible = False
Me.optcustname.Visible = False
Me.optstonename.Visible = True
End Sub

Private Sub Optinvoices_Click()


Me.cmb1.Clear
Me.Optbillno.Value = False
Me.optcustname.Value = False
Dim rs As New ADODB.Recordset
rs.Open "select * from sales", dbcon, 2, 3
Set Me.DataGrid1.DataSource = rs
Me.optstonename.Visible = False
Me.Optbillno.Visible = True
Me.optcustname.Visible = True
End Sub

Private Sub optstonename_Click()


Me.cmb1.Clear
Dim rs As New ADODB.Recordset

47
If Me.optinventory = True Then
rs.Open "select * from PURCHASE", dbcon, 2, 3
For n = 1 To rs.RecordCount
Me.cmb1.AddItem rs.Fields(2)
rs.MoveNext
Next
rs.Close
End If
Me.cmb1.Visible = True
End Sub

Private Sub MDIForm_Unload(Cancel As Integer)

If MsgBox("wanna quit", vbYesNo, "close") = vbYes Then


End
Else
Cancel = 1
End If
End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button)


Select Case Button.Index
Case 1: frmpurchase.Show
Toolbar1.Buttons(1).Value = tbrPressed
Toolbar1.Buttons(2).Value = tbrUnpressed
Toolbar1.Buttons(3).Value = tbrUnpressed
Toolbar1.Buttons(4).Value = tbrUnpressed
frmpurchase.SetFocus
Unload frmsales
Unload frmview
Unload frmmaintain
Case 2: frmsales.Show
Toolbar1.Buttons(2).Value = tbrPressed
Toolbar1.Buttons(1).Value = tbrUnpressed
Toolbar1.Buttons(3).Value = tbrUnpressed
Toolbar1.Buttons(4).Value = tbrUnpressed
frmsales.SetFocus
Unload frmpurchase
Unload frmview

48
Unload frmmaintain
Case 3: frmmaintain.Show
Toolbar1.Buttons(3).Value = tbrPressed
Toolbar1.Buttons(2).Value = tbrUnpressed
Toolbar1.Buttons(1).Value = tbrUnpressed
Toolbar1.Buttons(4).Value = tbrUnpressed
frmmaintain.SetFocus
Unload frmpurchase
Unload frmsales
Unload frmview
Case 4: frmview.Show
Toolbar1.Buttons(4).Value = tbrPressed
Toolbar1.Buttons(1).Value = tbrUnpressed
Toolbar1.Buttons(2).Value = tbrUnpressed
Toolbar1.Buttons(3).Value = tbrUnpressed
frmview.SetFocus
Unload frmpurchase
Unload frmsales
Unload frmmaintain

End Select
End Sub

Global dbcon As New ADODB.Connection


Sub main()
dbcon.CursorLocation = adUseClient
dbcon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path &
"\cream.mdb"
frmSplash.Show
End Sub

49
METHODOLOGY USED FOR TESTING
SOFTWARE TESTING
Is the menu bar displayed in the appropriate contested some system related features
included either in menus or tools? Do pull –Down menu operation and Tool-bars
work properly? Are all menu function and pull down sub function properly listed ?;
Is it possible to invoke each menu function using a logical assumptions that if all
parts of the system are correct, the goal will be successfully achieved .? In
adequate testing or non-testing will leads to errors that may appear few months
later.
This create two problem
1. Time delay between the cause and appearance of the problem.
2. The effect of the system errors on files and records within the system.

The purpose of the system testing is to consider all the likely variations to which it
will be suggested and push the systems to limits.
The testing process focuses on the logical intervals of the software ensuring that all
statements have been tested and on functional interval is
conducting tests to uncover errors and ensure that defined input will produce actual
results that agree with the required results.
Program level testing, modules level testing integrated and carried out.
There are two major type of testing they are
1. White Box Testing.
2. Black Box Testing.

50
White Box Testing
White box sometimes called “Glass box testing”, “clear box testing”, “transparent
box testing”, and “structural testing” is a test case design uses the control structure
of the procedural design to drive test case.
Using white box testing methods, the following tests were made on the system.

1. All independent paths within a module have been exercised once. In our
system, ensuring that case was selected and executed checked all case
structures. The bugs that were prevailing in some part of the code where
fixed
2. All logical decisions were checked for the truth and falsity of the values.
While white-box testing can be applied at the unit, integration and system levels of
the software testing process, it is usually done at the unit level. It can test paths
within a unit, paths between units during integration, and between subsystems
during a system–level test. Though this method of test design can uncover many
errors or problems, it might not detect unimplemented parts of the specification or
missing requirements.

51
WHITE BOX TESTING DIAGRAM

White Box Testing

White box testing assumes that the tester can take a look at the code for the
application block and create test cases that look for any potential failure scenarios.
During white box testing, you analyze the code of the application block and
prepare test cases for testing the functionality to ensure that the class is behaving in
accordance with the specifications and testing for robustness.

52
Input

The following input is required for white box testing:

 Requirements
 Functional specifications
 High-level design documents
 Detailed design documents
 Application block source code

White Box Testing Steps

The white box testing process for an application block is shown in Figure 6.2.

White box testing involves the following steps:

53
1. Create test plans. Identify all white box test scenarios and prioritize
them.
2. Profile the application block. This step involves studying the code at
run time to understand the resource utilization, time spent by various
methods and operations, areas in code that are not accessed, and so on.
3. Test the internal subroutines. This step ensures that the subroutines or
the nonpublic interfaces can handle all types of data appropriately.
4. Test loops and conditional statements. This step focuses on testing
the loops and conditional statements for accuracy and efficiency for different
data inputs.
5. Perform security testing. White box security testing helps you
understand possible security loopholes by looking at the way the code
handles security.

54
BLACK BOX TESTING
Black-box testing is a method of software testing functionality of an application
as opposed to its internal structures or workings .Specific knowledge of the
application's code/internal structure and programming knowledge in general is not
required. This is black box testing enables the software engineering to derive a set
of input conditions that will fully exercise all functional requirements for a
program. Black box testing is not an alternative to White box testing rather it is
complementary approach that is likely to uncover a different class of errors that
white box methods like.
The tester is only aware of what the software is supposed to do, but not how i.e.
when he enters a certain input, he gets a certain output; without being aware of
how the output was produced in the first place
1. Interface errors
2. Performance in data structure
3. Performance errors
4. Initializing and termination errors
that tests the
BLACK BOX TESTING DIAGRAM

55
Input
The following input is required for black box testing:

 Requirements
 Functional specifications
 High-level design documents
 Application block source code

The black box testing process for an application block is shown below

Black box testing process

Black Box Testing Steps


Black box testing involves testing external interfaces to ensure that the code meets
functional and nonfunctional requirements. The various steps involved in black
box testing are the following:

1. Create test plans. Create prioritized test plans for black box testing.
2. Test the external interfaces. Test the external various type of inputs
using automated test suite.interfaces for
3. Perform load testing. Load test the application block the behavior at
various load levels. This ensures that it meets all performance objectives that
are stated as requirements.to analyze

56
4. Perform stress testing. Stress test the application block to analyze
various bottlenecks and to identify any issues visible only under extreme
load conditions, such as race conditions and contentions.
5. Perform security testing. Test for possible threats in deployment
scenarios. Deploy the application block in a simulated target environment
and try to hack the application by exploiting any possible weakness of the
application block.
6. Perform globalization testing. Execute test cases to ensure that the
application block can be integrated with applications targeted toward locales
other than the default locale used for development.

Step 1: Create Test Plans


The first step in the process of black box testing is to create prioritized test plans.
You can prepare the test cases for black box testing even before you implement the
application block. The test cases are based on the requirements and the functional
specification documents.

The detailed test plan document includes test cases for the following:

 Testing the external interfaces with various types of input


 Security testing
 Globalization testing

Step 2: Test the External Interfaces


You need to test the external interfaces of the application block using the following
strategies:

 Ensure that the application block exposes interfaces that


address all functional specifications and requirements. To
perform this validation testing, do the following:
1. Prepare a checklist of all requirements and features that are expected
from the application block.
2. Create test harnesses, such as NUnit, and small "hello world"'
applications to use all exposed APIs of the test application block.
3. Run the test harnesses.

57
 Testing for various types of inputs. After ensuring that the application
block exposes the interfaces that address all of the functional specifications, you
need to test the robustness of these interfaces. You need to test for the following
input types:

 Randomly generated input within a specified range


 Boundary cases for the specified range of input
 The number zero testing if the input is numeric
 The null input
 Invalid input or input that is out of the expected range

This testing ensures that the application block provides expected output for data
within the specified range and gracefully handles all invalid data. Meaningful error
messages should be displayed for invalid input.

Step 3: Perform Load Testing


Use load testing to analyze the application block behavior under normal and peak
load conditions. Load testing allows you to verify that the application block can
meet the desired performance objectives and does not overshoot the allocated
budget for resource utilization such as memory, processor, and network I/O. The
requirements document usually lists the resource utilization budget for the
application block and the workload it should be able to support.

For example, the CMAB had the following performance objectives on a Web
server (please note that these objectives are totally fictitious and are only for the
purpose of illustration):

 The CPU overhead should not be more than 7–10 percent.


 The application block should be able to support a minimum of 200
concurrent users for reading data from SQL Server.
 The application block should be able to support a minimum of 150
concurrent users for writing data to SQL Server.
 The response time for a client (the client is firing requests from a 100 Mbps
VLAN in the test lab) is not more than 2 seconds for the given concurrent
load.

You can measure metrics related to response times, throughput rates, and so on, for
the load test. In addition, you can measure other metrics that help you identify any
potential bottlenecks.

58
Step 4: Perform Stress Testing
Use stress testing to evaluate the application block's behavior when it is pushed
beyond the normal or peak load conditions. The expectation from the system
beyond load conditions is to either return expected output or return meaningful
error messages to the user without corrupting the integrity of any data. The goal of
stress testing is to discover bugs that surface only under high load conditions, such
as synchronization issues, race conditions, and memory leaks.

Step 5: Perform Security Testing


Black box security testing the application block identifies security vulnerabilities
within the application block by treating it as an independent unit. The testing is
done at run time. The purpose is to forcefully break the interfaces of the
application block, intercept sensitive data within the block, and so on.

Depending on the functionality the application block provides, test cases can be
identified. Examples of test cases and tests can be the following:

 If the application block accepts data from a user, make sure it validates the
input data by creating test cases to pass different types of data, including
unsafe data, through the application block's interfaces and confirming that
the application block is able to stop it and handle it by providing appropriate
error messages.

Step 6: Perform Globalization Testing


The goal of globalization testing is to detect potential problems in the application
block that could inhibit its successful integration with an application that uses
culture resources different than the default culture resources used for development.
Globalization testing involves passing culture-specific input to a sample
application integrating the application block. It makes sure that the code can handle
all international support and supports any culture or locale settings without
breaking functionality that would cause data loss.

To perform globalization testing, you must install multiple language groups and set
the culture or locale to different cultures or locales, such as Japanese or German,
from the local culture or locale. Executing test cases in both Japanese and German
environments, and a combination of both, can cover most globalization issues.

59
PROBLEM ENCOUNTERED:

While developing the software we faced many major and minor problems. Initially,
we were not able to connect the data based to the front end and faced some
problems related to the connectivity and the consistency of the then it was very
difficult to print the report as a required printer drive was not available similarly
we could not manipulate the report page size.
During deployment project didn’t work as expected, which helped us to figure out
that program. Cant be ported to client machine without setup files as the program
was running fine on our machine but we were unable to run it on the client
machine in absence of appropriate runtime DLLs (dynamic link libraries ) the most
exasperating problem was to print the from thus making it impossible for us to
work further .
We took the help of all the possible people we could ask them for and with their
assistance we came out in triumph.

60
Your Device or Software

Add button, use to add records in the form.

Save button, use to save records in the database.

Delete button, use to delete records of members.

This button will let the user to search the records of Member.

This button will close the Member setup form.

This button, close the Member records form.

This button is used for update the Members details.

This button is used to cancel the Current transaction.

This button is used to show the daily reports,Monthly reports and


attendance of staff member.

61
CONCLUSION
It was a wonderful and learning experience for us while working on this project
.This project took us through the various phases of project development and gave
us real insight into the world if software engineering. The joy of working as a team
and the thrill involved while tackling the various problems and adapting to the
requirement put forward to us by the customer, gave us a feel of the developers
industry.

It was due to this project we came know how professional software’s are designed
and what all precautions should be taken. We also found that it is not just the task
of an individual, rather a team work, which helped us in making a fine grip on
vb.net

The project has laid the path to the depth of the subject, that requires a thorough
study and in which an engineering students have flair of proficiency. We have left
no stone unturned while developing this software and making it easy to understand
easy to navigate through the forms and making it easy to understand easy to
navigate through the forms and making re-cycling.
We enjoyed each and every bit of work we have put into this project and its
successful completion has given us our credit.

62
REFERENCES

Mastering In Vb.net Evagelos Petroutos

Programmed With Vb.net Mohammed Azam

63

Vous aimerez peut-être aussi