Project Report ON Pharmacy Management System: Submitted By:-Subham Barick 3 Semester MCA
Project Report ON Pharmacy Management System: Submitted By:-Subham Barick 3 Semester MCA
ON
PHARMACY MANAGEMENT SYSTEM
Submitted By:-
Subham Barick
DEPARTMENT OF MCA
COLLEGE OF IT AND MANAGEMENT EDUCATION
Mancheswar, Bhubaneswar-751010
STUDENT DECLARATION
DEPARTMENT OF MCA
COLLEGE OF IT AN MANAGEMENT EDUCATION
Mancheswer, Bhubaneswar-751010
CERTIFICATE
Name:
Designation:
ACKNOWLEDGEMENT
The main aim of the project is the management of the database of the pharmaceutical shop.
This is done by creating a database of the available medicines in the shop. The database is
then connected to the main program by using interconnection of the Visual Basic program
and the database already created.
Application: This program can be used in any pharmaceutical shops having a database to
maintain. The software used can generate reports, as per the user’s requirements. The
software can print invoices, bills, receipts etc. It can also maintain the record of supplies
sent in by the supplier
A feasibility analysis involves a detailed assessment of the need, value and practicality of a
proposed enterprise, such as systems development. The process of designing and
implementing record keeping systems has significant accountability and resource
implications for an organization. Feasibility analysis will help you make informed and
transparent decisions at crucial points during the developmental process to determine
whether it is operationally, economically and technically realistic to proceed with a
particular course of action.
Most feasibility studies are distinguished for both users and analysts. First, the study often
presupposes that when the feasibility document is being prepared, the analyst is in a
position to evaluate solutions. Second, most studies tend to overlook the confusion inherent
in system development – the constraints and the assumed attitudes.
Technical feasibility centres around the existing computer system (hardware, software, etc.)
and to what extend it can support the proposed addition. For example, if the current
computer is operating at 80% capacity – an arbitrary ceiling – then running another
application could overload the system or require additional hardware. This involves financial
considerations to accommodate technical enhancements. If the budget is a serious
constraint, then the project is judged not feasible.
Economic analysis is the most frequently used method for evaluating the effectiveness of a
candidate system. More commonly known as cost benefit analysis, the procedure is to
determine the benefits and savings that are expected from a candidate system and compare
them with costs. If benefits overweigh costs, then the decision is made to design and
implement the system. Otherwise, further justification or alterations in the proposed system
will have to be made if it is to have a chance of being approved. This is an on-going effort
that improves in accuracy at each phase in the system life cycle.
Costs:
BENEFITS:-
Avoids tedious typing task
It is the most creative and challenging phase of the system life cycle. The analysis phase is
used to design the logical model of the system whereas the design phase is used to design
the physical model.
Many things are to be done in this phase .we began the designing process by
identifying forms, reports and the other outputs the system will produce. Then the specify
data on each were pinpointed. we sketched the forms or say, the displays, as expected to
appear, on paper, so it serves as model for the project to began finally we design the form
on computer display, using one of the automated system design tool, that is VISUAL BASIC
6.0.
After the forms were designed, the next step was to specify the data to be inputted,
calculated and stored individual data items and calculation procedure were written in detail.
File structure such as paper files were selected the procedures were written so as how to
process the data and procedures the output during the programming phase. The documents
were design ion the form of charts.
Output design means what should be the format for presenting the results. It should
be in most convenient and attractive format for the user. The input design deals with what
should be the input to the system and thus prepare the input format. File design deals with
how the data has to be stored on physical devices. Process design includes the description
of the procedure for carrying out operations on the given data.
Hardware Requirements:
Software Requirements:
NETBEANS IDE
VS Code
Any Browser to
Further in the second level DFD the process 5.0 i.e. sales process is elaborated.
In the sale process, after selecting the mode i.e. medicine or general store the further
operation is performed. The 5.1 process is the Medicine sale process in this process the
patient’s information can be retrieved from the patient Database. If the patient is visiting for
the first time than his information or detail is entered in the patient database.
Similarly the Doctor’s information or detail is also entered in the Doctor Database, who
referred to the patient. If the patient is referred by the new Doctor than his information can
be entered in the doctor’s Database.
With the help of the medicine sales process the patient’s and Doctor’ information can be
entered or retrieved from the respective Database.
If the medicine or general store product has to be sold the information is retrieved from the
sales database.
The above screen displays the option available under the Master menu.
Suppliers Detail
Exit
The above screen displays the options under the Transaction menu.
Sales
Purchase
o Medicine
o General Stores
Edit Purchase
The above screen displays the options under the Stock menu.
Opening Stock
Edit Stock
The above screen displays the Report menu. It consists of reports for the Medical
department and General Stores department.
Daily Sales
Monthly Sales
Current Stock
Daily Sales
Monthly Sales
Current Stock
The Medical and General stores module basically deals with the information of medicine
and general store products. The minimum stock level can be set here as shown in above
figure. The minimum stock level will help the user to be warned when the stock level falls
below the specified value.
In this module the product ID i.e. code for each section is automatically generated. This is
done when the user clicks on ADD NEW button.
The navigation buttons provided helps the user to navigate through the records. The
buttons are PREVIOUS and NEXT. The option to edit, delete and save are also given so that
the user can modify the records.
The Supplier’s module deals with the entire supplier’s information. This information will be
used when we want to check which company su pplies what products. The basic information
such as address, telephone number, etc.
Whenever we add new supplier’s information by clicking on ADD NEW button the suppliers
ID is generated automatically.
The suppliers ID textbox is locked so that the user will not enter an invalid code.
The Sales Module deals with the sales of products. Whether the product is of type Medicine
or General Store is dependent on the action selected. The option for cash or credit sales also
has been provided for the user.
If the payment is in cash the cash balance for today’s sales and total sales will be accordingly
updated. If payment is credit then no changes will be reflected on cash balance.
When we click on ADD NEW button the cash memo or credit memo number is generated
automatically.
The patient’s information is also saved at the same time when the entire detail is saved. This
help for keeping the details of the creditors. Along with the patient’s information the
doctor’s information, who refer the patients to the pharmacy is also kept.
The module also gives the information about the current stock level and the minimum stock
level. If the stock level falls below the minimum value it will display a critical message,
warning the user that the stock quantity level is low.
We click on SAVE to save the information and then click on PRINT to print the receipt.
The Medicine Purchase module deals with the purchase of the medicine from the suppliers.
These medicines are then updated in the stock table.
Note that the bill number and bill date is left blank as shown on the figure above. There are
cases when the bill is sent later than the delivery of the products.
In the above figure, user enters the supplier’s code and the supplier’s name automatically is
displayed.
The General Store’s Purchase module deals with the purchase of the general store products
from the suppliers. These products are then updated in the stock table.
the bill number and bill date may be left blank in the figure above. There are cases when the
bill is sent later than the delivery of the products.
In the above figure, user enters the supplier’s code and the supplier’s name automatically is
displayed.
Fig. Edit Purchase Module
The Edit Purchase Module is for checking whether the entries made were correct or not.
The user can search for particular record by entering the challan number and the date. The
navigation buttons have also been provided to move through the records. The user can then
edit the particular record and then save it.
The Opening Stock Module deals with the initial stock entry when the system will be
implemented for the first time.
This module takes the opening stock of the medicine and the general store products. The
option button is provided for this purpose. When selecting the respective option the records
that are available are displayed.
Then navigation buttons are also provided for moving through the records. And accordingly
edit the record.
This module deals with the new entries of the stock. Both the medicine and general store
products are available here. We can search for a particular stock by entering their respective
code or product ID.
Database structure
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Home
Inherits System.Windows.Forms.Form
End Sub
PROPERTIES:-
The properties describe the appearance of the GUI component. When adding a component,
the Name property should be set immediately, according to the three-letter mnemonic
naming conventions. The properties are displayed in the Properties Window in Name/Value
pairs in alphabetical order.
EVENT PROCEDURES:-
An event procedure is a piece of code that responds to events that can occur for that object.
Most of the events are generated by the user, enabling them to dictate the order of
execution.
FORMS:-
The Form is the main stage of your application. By default, the Standard Exe option starts
with a form called "Form1". The Name property of the Form should be named with a three-
letter mnemonic prefix of "frm". Each Form will be a Window in your application. Controls
are added to the form by either double-clicking them in the toolbox, or by selecting the
control and drawing a bounding rectangle on the form. Your application may use more than
one form.
To add a new Form to the project, either select "Add Form" from the "Project" menu or
right-click the Forms folder in the Project Explorer and select, "Add", and then "Form".
To load a new form, use the Show method. The parameter, vbModal, is optional. If used,
vbModal means that the form has focus until closed within the application.
Standard Controls
Controls are added to the Form from the Toolbox. Each control has a set of properties, and a
set of event procedures associated with it. The following lists the control, reading left to
right, top to bottom as they appear in the standard Toolbox.
When coding the system we used a more Advanced ActiveX Control call MSFlexGrid Control.
MSFlexGrid control:
One of the most impressive controls of Visual Basic is the MSFlexGrid control. MSFlexGrid
control provides all the functionality for building spread sheet applications, word processing
applications. The MSFlexGrid control is an extremely useful tool for displaying information in
a tabular form.
You can add a flex grid to a Visual Basic project easily; just follow these steps:
3. Select the Microsoft FlexGrid Control entry in the Components dialog box.
4. Close the Components dialog box by clicking on OK. This displays the Flex Grid
Control tool in the toolbox.
5. Add a flex grid control to your form in the usual way for Visual Basic controls, using
the Flex Grid Control tool.
6. Set the flex grid’s Rows and Cols properties to the number of rows and columns you
want in your flex grid. You can also customize your flex grid by setting such properties as
BorderStyle, ForeColor, BackColor, and so on.
The MSFlexGrid control is an extremely useful tool for displaying data, but it lacks a basic
compatibility: the user cannot edit single cell.
There are two approaches to editing a grid’s cell. The first is to place a TextBox control on
the form. Each time the user clicks on a cell, the programs copies the contents of the active
cell to the TextBox control and lets the user edit it. The second approach is a bit more
elegant, but it involves more complex coding: if u place a TextBox control with the exact
same dimensions of the cell being edited right on top of the cell, the user gets the
impression of editing a cell directly on the grid.
To integrate the TextBox control with the MSFlexGrig control, use the CellWidth, CellHeight,
CellTop and CellLeft properties of the grid, which determine the current cell’s dimensions
and placement on the grid.
After the text control is placed exactly on top of the cell, the contents of the current cell are
copied to the TextBox. When the user moves to another cell by clicking it, the TextBox’s
contents are copied to that cell, and then the TextBox control is placed over it.
MSFlexGrid cells support formatting, including word wrap. You can format text using these
properties of flex grids:
CellFontBold
CellFontItalic
CellFontName
CellFontUnderline
CellFontStrikethrough
CellFontSize
Testing of the software as a mean of accessing or measuring the software to determine its
quality. The area of testing is one of the key process areas in ensuring the quality of the
software known as Software Quality Assurance (SQA).
Testing is done with one primary objective to ensure the quality of the software before it is
actually implemented. The main purpose of testing from developer’s point of view is to gain
confidence. If no error are found at least he is sure that the product under development is
meeting it required goals in terms of quality.
There is no way to find when to stop testing however people have followed certain norms
and guidelines over the course of time. They are as follows:
Based on the size of the system, “enough” errors have been found where “enough” can
be a quantitative parameter based on historical data.
Validation Testing:-
In validation testing we ensure that all the data entered was displayed properly on the view
screen and that we got the expected results.
In this way all the screens were checked again and again to ensure proper validation.
Integration Testing:-
The last step was to integrate the various modules in the software. We implemented top-
down integration. The integration was performed in five steps:
The main control module was used as test driver and stubs were substituted for all
components directly subordinate to the main control module.
Depending on depth first search subordinate stubs was replaced with actual components.
On completion of each set of tests, another stub is replace with real component.
Integration testing was conducted to ensure execution of some subset of tests have
already been conducted had not propagated unintended side effects.
Chapter 3 :-
Visual Basic makes it easy to locate event procedures code for controls on forms. Double-
click any control to see one of its event procedures. For example, if you double-click the Exit
command button, Visual Basic opens window and places the text cursor in the set of lines.
The event procedures code, however, doesn’t do anything until runtime.
In graphical user interface user can work with several windows at same time, within each
window user can work on specific task. User can overlap windows, hide, change size and
locations and even shrink down to icons. Using mouse user can move from one window to
another, the window which is selected is an active window, most GUI are based on x-
window system, x-window is a system used for supporting GUI.
2. Database Connectivity: -
Some databases, such as Microsoft Access, store all the related database files in a single
global file called the database file. Inside the database, the individual groups of records and
fields are called tables. Other database systems, such as dBase, keep track of a database’s
data in multiple files. When you use database such as Microsoft Access, you must describe
both the overall database and the individual table name within the database that the Data
control is in use.
3. Controls: -
Controls are tools on the Toolbox window that you place on a form to interact with the
user and control the program flow. The controls can be self-generated and can be used
again and again in the same application. As you add controls to the Form window, the
properties window updates to show the properties for the currently selected control. The
selected control is usually the control you last placed on the form. Visual Basic lets you see a
control’s properties in the Properties window by clicking to select the control or by selecting
the control from the properties window’s drop-down list box.
VB also includes several wizards that offer step-by-step dialog box questions that guide
you through the creation of applications.
Now supports the same features as the advanced Visual C++ and Visual J++ Compilers.
After you learn one of Microsoft’s visual programming products, you will have the skills to
use the other language products without a long learning curve ahead of you.
Visual Basic lets you generate applications that interact with every expect of today’s
Windows operating systems.
VB’s programming language is fairly simple and uses common English words and phases
for the most part.
Microsoft Visual Basic 6.0, the latest and greatest incarnation of the old language, gives
you a complete Windows application development system in one package.
Visual Basic lets you write, edit, and test Windows applications. VB includes tools that can
be used to write and compile help files, ActiveX controls and even Internet applications.
Access is widely used by small businesses and hobby programmers to create ad hoc
customized systems for handling small tasks. Its ease of use and powerful design tools give
the non-professional programmer a lot of power for little effort. However, this ease of use
can be misleading. This sort of developer is often an office worker with little or no training in
application or data design. Because Access makes it possible even for such developers to
create usable systems, many are misled into thinking that the tool itself is limited to such
applications.
Some professional application developers use Access for rapid application development,
especially for the creation of prototypes and standalone applications that serve as tools for
on-the-road salesmen. Access does not scale well if data access is via a network, so
applications that are used by more than a handful of people tend to rely on a Client-Server
based solution such as Oracle, DB2, Microsoft SQL Server, PostgreSQL, MySQL, or MaxDB.
However, an Access "front end" (the forms, reports, queries and VB code) can be used
against a host of database backends, including Access itself, SQL Server, Oracle, and any
other ODBC-compliant product. This approach allows the developer to move a matured
application's data to a more powerful server without sacrificing the development already in
place.
Features:-
One of the benefits of Access from a programmer's perspective is its relative compatibility
with SQL – queries may be viewed and edited as SQL statements, and SQL statements can
be used directly in Macros and VBA Modules to manipulate Access tables. Users may mix
and use both VBA and "Macros" for programming forms and logic and offers object-oriented
possibilities.
The report writer in Access is similar to the other popular database report writer – Crystal
Reports – but the two products are vastly different in their approach. MSDE (Microsoft SQL
Server Desktop Engine) 2000, a mini-version of MS SQL Server 2000, is included with the
developer edition of Office XP and may be used with Access as an alternative to the Jet
Database Engine. (*Early versions of MSDE and Microsoft Exchange Server actually use the
Jet engine to handle huge volumes of data and placed a "fake" application layer for those
applications on top of it. Lack of knowledge about this fact has contributed to an
undeserved disrespect for Access/Jet family of software products, particularly as regards
"large" projects.)
Access' cut and paste functionality can make it a useful tool for connecting between other
databases (for example, Oracle and Microsoft SQL Server during data or database
conversions. Access comes with various import and export features that allow integration
with Windows and other platform applications, several of which can be executed on
demand from within applications or manually by the user. For example the very compact
SNP format for sharing perfectly formatted reports with people who don't have the full
Access software. It can also easily be upgraded to Microsoft SQL Server.
Unlike complete RDBMS, it lacks database triggers and stored procedures. It does allow
forms to contain code that is triggered as changes are made to the underlying table, and it is
common to use pass-through queries and other techniques in Access to run stored
procedures in RDBMSs that support these.
Development:-
The programming language available in Access is, as in other products of the Microsoft
Office suite, Microsoft Visual Basic for Applications. Two database access libraries of COM
components are provided: the legacy Data Access Objects (DAO), only available with Access,
and the new ActiveX Data Objects (ADO).
Microsoft Access is easily applied to small projects but scales inefficiently to large projects if
applications are designed poorly.
All database queries, forms, and reports are stored in the database, and in keeping with the
ideals of the relational model, there is no possibility of making a physically structured
hierarchy with them.
One design technique is to divide an Access application between data and programs. One
database should contain only tables and relationships, while another would have all
programs, forms, reports and queries, and links to the first database tables. Unfortunately,
Access allows no relative paths when linking, so the development environment should have
the same path as the production environment (Although you can write your own "dynamic-
linker" routine in VBA that can search out a certain back-end file by searching through the
directory tree, if it can't find it in the current path).
This technique also allows the developer to divide the application among different files, so
some structure is possible.
The Microsoft Jet Database Engine is a database engine on which several Microsoft products
were built. A database engine is the underlying component of a database, a collection of
information stored on a computer in a systematic way. The first version of Jet was
developed in 1992, consisting of three modules which could be used to manipulate a
database.
JET stands for Joint Engine Technology, sometimes being referred to as Microsoft JET Engine
or simply Jet. Microsoft Access, Microsoft Exchange Server and Visual Basic use or have used
Jet as their underlying database engine. It has since been superseded, however, by
Microsoft Desktop Engine (MSDE) and no longer exists as a component of Microsoft Data
Access Components (MDAC). Jet databases can be upgraded (or in Microsoft parlance, "up-
sized") to an MSDE databas
Security
Access to Jet databases is done on a per user-level. The user information is kept in a
separate system database, and access is controlled on each object in the system (for
instance by table or by query). In Jet 4, Microsoft implemented functionality that allowed
database administrators to set security via the SQL commands CREATE, ADD, ALTER, DROP
USER and DROP GROUP. These commands were a subset of ANSI SQL 92 standard, and they
also applied to the GRANT/REVOKE commands. When Jet 2 was released, security could also
be set programmatically through DAO.
Queries
Queries are the mechanisms that Jet uses to retrieve data from the database. They can be
defined in Microsoft QBE (Query By Example), through the Microsoft Access SQL Window or
through Access Basic's Data Access Objects (DAO) language. These are then converted to an
SQL SELECT statement. The query is then compiled — this involves parsing the query
(involves syntax checking and determining the columns to query in the database table), then
converted into an internal Jet query object format, which is then tokenized and organised
into a tree like structure. In Jet 3.0 onwards these were then optimised using the Microsoft
Rushmore query optimisation technology. The query is then executed and the results
passed back to the application or user who requested the data.
Jet passes the data retrieved for the query in a dynaset. This is a set of data that is
dynamically linked back to the database. Instead of having the query result stored in a
temporary table, where the data cannot be updated directly by the user, the dynaset allows
the user to view and update the data contained in the dynaset. Thus, if a university lecturer
queried all students who received a distinction in their assignment and found an error in
that student's record, they would only need to update the data in the dynaset, which would
automatically update the student's database record without the need for them to send a
specific update query after storing the query results in a temporary table.
Detailed information gathering has to be done. Without that the purpose for using the
software won’t be satisfied properly.
Efficient organization of all knowledge is the analysis company and easy analysis access
and retrieval of information is possible.
In this project we can also include BAR CODE facility using the bar code reader, which will
detect the expiry date and the other information about the related medicines.
Company using this software will always be able to plan in future and always be aware of
their financial position in the market.
The implementation and maintenance costs run very high (about 2 to 3 % of the
company’s revenue.)