Developing Software

Check out more papers on Computer Engineering Computer Programming Database

Developing software

Chapter 1

Aim

The aim of this project is analyzing the IT requirement and developing software for a small pharmaceutical wholesaler working in India.

Abstract

The purpose of this project is to investigate different approaches to developing software for a wholesale business in the pharmaceutical sector. Apart from billing, maintenance of stock, placing orders, it also provides reports for stock, orders and sales and maintenance of customer details as well, that is retail pharmaceuticals in India, drug licenses. This project will investigate sector-specific requirements for billing, customer service, stock maintenance, orders details and sales details. And develop a software system to automate wholesale pharmaceutical company in order to bring effectiveness and productivity, profitability into business. This project will also evaluate customer expectations for billing and service turnaround.

Introduction

The purpose of this project is to investigate different approaches to developing software for a wholesale business in the pharmaceutical sector. Apart from billing, maintenance of stock, placing orders, it also provides reports for stock, orders and sales and maintenance of customer details as well, that is retail pharmaceuticals in India, drug licenses. When it comes the theme of this project that is increasing the effectiveness of drugs wholesalers by adopting Information Technology as the main instrument to provide quality of service to its customers and get maximum profits out of it. The main purpose of using such software is to improve the performance, transparency, consistency in the system.

According to Newswire.com [2007] pharmaceutical wholesalers nationwide lack the tools necessary to do business online. There is no automation in the business process, and as a result, transactions are carried out over fax and phone, using basic techniques that date back to pre-Internet days. With the new Pedigree laws taking effect soon, wholesalers are desperately seeking ways and means to keep their business alive. Being able to leverage technology to do business online is just the ticket to keep that business alive and well [10].

The wholesalers provide both stocking and distribution functionalities. It would be desirable for wholesalers to enable customers to get products easily. There must be trade association between manufacturers, wholesalers, retailers in order to provide in time and quality service to its consumers. The pharmaceutical wholesalers can also sale other related to products not only medicines. Other products related to medicine they can have some business. They can also provide technical information to people. They are equipped with the knowledge of various drugs and how to handle them and use them.

Pharmaceutical industry is controlled by the government. This paves way to good and healthy nature among the companies that are into this market. Small and medium software systems can help wholesalers and business holders provide good service to their respective customers. Customer satisfaction is the key for any business to grow. For this we have got new subjects like "Customer Relationship Management" (CRM) and eCRM. The wholesalers could be a part of SCM (Supply Chain Management). In this case they can use the common software for entire chain. Or else they can have different software with heterogeneous nature and still work under common interfaces. They can work together to achieve the business goals of business partners.

It would be desirable to find out how information technology enables pharmaceutical industry to work efficiently. IT could be used at various levels including whole sale market of the pharmacy industry. It promotes new ways of working and making business. It ensures quality of services thereby increasing overall productivity of business systems.

Literature Review

Indian Pharmaceutical Industry

According to Richard Gerster the Indian pharmaceutical industry is a success story providing employment for millions and ensuring that essential drugs at affordable prices are available to the vast population of this sub-continent [11].

According to Haritha Saranga1 & B.V.Phani the pharmaceutical industry in India is going through a major shift in its business model in the last few years in order to get ready for a product patent regime from 2005 onwards. This shift in the model has become necessary due to the earlier process patent regime put in place since 1972 by the Government of India. This was done deliberately to promote and encourage the domestic health care industry in producing cheap and affordable drugs. As prior to this the Indian pharmaceutical sector was completely dominated by multinational companies (MNCs). These firms imported most of the bulk drugs (the active pharmaceutical ingredients) from their parent companies into India. This led to a revision of Government of India's (GOI) policy towards this industry in 1972 allowing Indian firms to reverse engineer the patented drugs and produce them using a different process that was not under patent. The entry of MNC's was also discouraged by restricting foreign equity to 40% [1].

The licensing policy was also biased towards indigenous firms and firms with lesser foreign equity1. All these measures by GOI laid foundations to a strong manufacturing base for bulk drugs and formulations and accelerated the growth in the Indian Pharmaceutical Industry (IPI), which today consists of more than 20,000 players1. As a result the Indian pharmaceutical industry today not only meets the domestic requirement but has started exporting bulk drugs as well as formulations to the international market [1].

During the early 1990s, markets were opened by removing restrictions on imports and in 1994 licensing was abolished for producing bulk drugs and formulations. Other than this FDI restrictions into this sector have been modified to allow 74% foreign equity through the automatic route. More favorable conditions are to follow in future particularly for MNCs as soon as 'Product Patents' and' Exclusive Marketing Rights' (EMRs) are permitted [1].

Academic Literature on Requirements Analysis for Small Business Systems Pertaining To Pharmacy

Royal Pharmaceutical Society's article IT in Pharmacy opines that information technology is being used increasingly to support best practice in healthcare, and to enable the development of new services and new ways of working. Many healthcare professions have already begun to adopt new systems and technologies. Professional practice for pharmacists will be profoundly affected in future by the use of IT and now is the time for practicing pharmacists to evaluate the technologies that are being introduced to support the profession, to contribute to the design of new systems and to consider how IT can support future professional objectives. The three main areas that will have an immediate impact on future pharmacy practice are electronic transfer of prescriptions, hospital e-prescribing and information governance [12]. They are:

  • Electronic transfer of prescriptions
  • Hospital e-prescribing
  • Information governance

The electronic prescriptions between prescribers and pharmacists improve the efficiency and quality of service. It allows various fragments of pharmacy related systems get connected seamlessly. [12]

The hospital e-prescribing programmed is used to support chain of activities like prescription, administration and supply of medicines. Information sharing is also possible among health related systems in the world [12].

According to Call for Paper of 2009 International Conference on Computer and Information Technology in Pharmacy (International Conference on Computer and IT in Pharmacy) Pharmacy concerns the design, evaluation, production and use of medicines. As such, it is a multi-disciplinary science of the medical, chemical, biological and computer sciences. The 2009 International Conference on Computer and Information Technology in Pharmacy (CITP 2009) will be held in August 14-16, 2009, in the beautiful city Wuxi, Jiangsu, China. The conference is organized by the School of Information Technology, Jiangnan University, China, and Fourth People's Hospital of Wuxi. The goal of this meeting is to present the latest development in computer information technology applied to pharmacy. In particular the conference will solicit work in drug analysis algorithm, pharmacokinetics, therapeutic monitoring, and pharmocoeconomics, electronic commerce for pharmacy, and drug analysis software tools and platforms. Following are the various software tools and algorithms that are related to pharmacy industry [7].

  1. Algorithms for drug analysis
    1. Numerical methods for pharmacokinetics (including distributed and high performance computing applications)
    2. Medical data processing methods and data-mining
    3. Data expression and visualization
    4. Modeling and computing
    5. Artificial intelligence and expert systems
  2. Pharmacokinetics
    1. Pharmacokinetics of new drugs
    2. Pharmacokinetic/pharmacodynamic modeling
    3. Population pharmacokinetics
    4. Matabonomics / genomics
  3. Therapeutic monitoring
  4. Pharmocoeconomics
  5. Electronic commerce for pharmacy
  6. Software and platform for pharmacy [7]

IT department manager Karin Vercammen said, "It's essential that we offer our customers a secure network environment, first and foremost to safeguard sensitive patient information, but also to keep the total cost of ownership down. Before the WatchGuard architecture was put in place; our helpdesk was almost overrun with workstations clogged up with spyware and adware. Today, these problems are the exception rather than the rule, even though the number of workstations has grown exponentially to over 600. This is exactly why we chose Watch Guard's powerful firewalls [8]." The above excerpt shows the security concern of IT systems for pharmaceutical industry.

According to white paper Scientific Computing World [2003] the pharmaceutical industry has tended to be skeptical about the value of large-scale spending on computing. But in November this year, 250 or more senior executives from many of the sector's largest companies will be travelling to the World Pharma IT Congress in London to find out what their peers - heads of IT, knowledge management, informatics, e-business (or what you will) - are up to. Louisa Carson, conference organizer for Oxford International, said interest in the meeting is strong. 'Pharma needs to catch up with developments in information technology. It has been lagging behind [9].'

According to Bill G. Felkey, BS, MS, Professor, Pharmacy Care Systems, Auburn University, Harrison School of Pharmacy, Auburn, Alabama William Villaume, MA, MDiv, PhD, Associate Professor, Pharmacy Care Systems, Auburn University, Harrison School of Pharmacy, Auburn, Alabama [2004] most technology users employ less than 20% of the capabilities offered by both their hardware and software. This usually holds true whether one is considering personal computers (PCs), personal digital assistants (PDAs), word processors, or especially pharmacy operations management and documentation software. The appropriate use of technology requires a learning curve (usually ranging from a few hours to a few weeks) and many of us are neither patient enough nor committed enough to explore technology beyond that which is necessary to solve our most immediate problems. This means we will learn how to get a label out of the community pharmacy system or enter an order into a hospital system we purchased and then often stop right there. The inventory package to increase profitability or the key performance indicator reports is never discovered. In an everyday application like e-mail, once we learn how to answer emails and open attachments we are satisfied and move on to our next task. Unfortunately, we never learn the features and benefits offered by these and other technologies that will truly maximize our efficiency and effectiveness through their use in our practice [2].

According to Kevin T. Fuji Kimberly A. Galt [2008] Health information technology (HIT) has become a critical tool for pharmacists. The use of HIT is now an integral part of both pharmacy practice and management. Health information technology has been identified as one of the most prominent, contemporary catalysts for improving patient safety and reducing subsequent harm and injury to patients who are receiving health care. Socially, we see a bias toward adoption of HIT based upon the belief that such adoption leads to improved safety overall, often without evidence to support this assumption. Accumulating evidence also suggests that improvements in HIT and how it is used are needed in order to realize many of the potential safety outcomes. We now realize that the relationship between safety and HIT use is dynamic and evolving. A major focus today for pharmacists is to either conduct original research or translate new findings about the adaptation to, adoption of, and assessment of subsequent outcomes that result from HIT use in patient care [3].

According to Professor Nick Barber BPharm PhD MRPharmS FRSM and Dr Carl Martin PhD

What do these findings mean for the future of IT in community pharmacy? First, we must give caveat - that this was a small study of enthusiasts who were independents or part of a small chain; additional issues may well have emerged if a different sample had been taken or if the project had been continued for longer. Having said that, important and unexpected issues have occurred. We have shown that IT can, at least for some pharmacists, ameliorate problems of isolation, perceived lack of clinical knowledge, and self confidence. What is more, it seems to allow them to offer a better service to patients, making them more informed and, therefore, making them more autonomous. Wider communication generally failed, usually because those being communicated with were not at the same stage of IT development. At present there is a chance for CPs to influence the IT strategy in Primary Care Groups; however CPs prior beliefs may not allow them to achieve this [4].

In order for these benefits to be realized, several issues need to be addressed:

  • There is a need for IT that supports the pharmacist in their functions, such as an adaptation of the Healix system. Computerized databases may require more development of the human-computer interface before they will be widely used. Support for business functions should be included to make the package attractive to CPs.
  • IT suppliers and service providers must offer a consistent, high level of service, as problems in this area discourage users.
  • There is a widespread need for training and continued awareness in this rapidly changing field. It is important that guidance is there from the most basic level upwards. As IT moves rapidly there may be a role for regular updating, such as articles in The Pharmaceutical Journal giving guidance on techniques and internet sites. The RPSGB may wish to develop its web site to help these functions.
  • The issue of location may be limiting; IT suppliers should be encouraged to develop innovative solutions to this problem. The final issue is when to adopt IT. This was summed up for us by one of the participants in the final focus group: 'we need to think of the future ahead, when computer labeling came in some of the profession was reluctant to take it on board, we must not hold back this time or we may not take the full opportunity on offer' [4]

According to Robert M Balen, PharmD1 and Peter J Jewesson Most pharmacists believed they needed to upgrade their computer skills. Medical database and Internet searching skills were identified as those in greatest need of improvement for the purposes of improving practice effectiveness [5].

As per Grant H. Skrepnek; Edward P. Armstrong; Daniel C. Malone; Jacob Abarca; John E. Murphy; Amy J. Grizzle; Rick A. Rehfeld; Raymond L. Woosley [2006] The impact of information technology and automation on pharmacy practice has been discussed frequently in the literature. Numerous authors have stressed the need for practitioners to consider using information or automation technologies within community practice settings, emphasizing the potential to capitalize upon opportunities to increase counseling time or patient care services. Reports have indicated that improvements in medication error rates, employee utilization, inventory control, customer service, and cost may be afforded through the use of information technology and automation. However, a large resource commitment is often required to purchase and implement such innovations, and the benefits of these advances do not always justify the time and money involved. Given the potential for technology to have a profound effect upon the work environment, researchers have studied the changes in work-related activities following the implementation of new technologies in pharmacy practice [6].

According to John Klimek [2009] HER (Electronic Health Record) use plays a significant part in defining the role of the pharmacist in the 21st century. Traditionally, pharmacists have had very little to go on in assessing a particular disease state that a physician is treating. The growing use of EHRs specifically and the exchange of electronic data generally will give both physicians and pharmacists a unified view of the complete patient profile and enable pharmacists to provide greater assistance to physicians and patients in all care settings[13].

Legislative Framework Pertaining To Manufacture and Sale of Drugs in India

In the early 1990s, the drug industry in India was negligible and used to import drugs from other countries. Later the Indian government understood the situation and decided to introduce laws related to drug manufacturing and distribution. Gradually it ensured that industry is growing faster and introduced many other laws that govern the industry. At present in India the following acts and rules are present to control the manufacture, import, export and clinical research of medicines and cosmetics in India [13].

Regulatory Framework-Drugs Sector

Under the current Indian legal and regulatory regime, the manufacture, sale, import, exports and clinical research of drugs and cosmetics is governed by the following laws:-

  • The Drugs and Cosmetics Act, 1940
  • The Pharmacy Act, 1948
  • The Drugs and Magic Remedies (Objectionable Advertisement) Act, 1954
  • The Narcotic Drugs and Psychotropic Substances Act, 1985
  • The Medicinal and Toilet Preparations (Excise Duties) Act, 1956
  • The Drugs (Prices Control) Order 1995 (under the Essential Commodities Act.

There are some other laws which have a bearing on the manufacture, distribution and sale of pharmaceutical products in India. The important ones being:

  • The Industries (Development and Regulation) Act, 1951
  • The Trade and Merchandise Marks Act, 1958.
  • The Indian Patent and Design Act, 1970
  • The Factories Act.

The Drugs and Cosmetics Act, 1940 is legislation brought in force to protect consumers interests. Provisions under this Act include punishments & fines for misbranding drugs, confiscating of such drugs (sec 14), prevention of the import of such drugs (sec10) etc. It prohibits the sale of such drugs under section 18. It also provides for the setting up of Central Drugs Laboratory for testing batches of drugs. The Act also prescribes strict standards that are to be followed by drug manufacturers and importers. It also clearly defines a misbranded drug under section 17. Section 13 clearly states that whoever contravenes any part of this Act will be punishable with imprisonment which may extend to one year, or with fine which may extend to five hundred rupees, or with both. If convicted again of the same offence then, in addition he shall be punishable with imprisonment, which may extend to two years, or with fine which may extend to one thousand rupees, or with both [14].

The responsibilities of the Pharmaceutical wholesaler
  • Pharmaceutical wholesalers provide distribution and stock holding functions.
  • And for customers the products should be provided according to their daily requirements. So that avoiding customers having large stock.
  • Retails pharmacists and dispensing doctors have to keep normal working medicine stock.
  • The wholesalers have to efficiently supply on a daily basis or even within a shorter period after receiving the orders from their customers.
  • Full line wholesalers can stock and sell a full range of pharmaceuticals.
  • But Short line wholesalers should sell only fast moving products; they should not contain all the products stock.
  • They can import these products from manufacturers or foreign wholesalers.
  • According to the estimations of National Association of Pharmaceutical distributors (NAPD) almost 65% of supply is done by pharmaceutical wholesalers. And 25% of supply is done by manufacturers directly, and the remaining 10% is done by short line wholesalers. These products supply may fluctuate depending on the volume of parallel products.
  • In addition to medications the pharmaceutical wholesalers also supply health related goods, but this proportion is very less in their profit.
  • A pharmacist must also maintain stocks of very less demanded products.
  • In UK the majority of wholesalers provide Monday to Friday, twice daily to the pharmacies they serve.
  • And the important point here is around two third of the orders are placed through computer terminals and the remaining by telephone.
  • Generally pharmacists place their orders before lunch time, with delivery during afternoon.
  • To provide an effective service to the patient, the pharmaceutical wholesaler provide a wide range of products nearly 10000 items , twice daily.
  • For the meet the quick demands in addition to normal supply there will be usually an emergency service.
  • And other information provided by pharmaceutical wholesalers is providing technical information on matters relating to drugs they supply their specialization, marketing services, financial support and in-pharmacy computers.
Regulation of the pharmaceutical market

The department of health will control the pharmaceutical wholesale market. In addition to this two types of control which have an effect and the market. These are

  • Wholesale dealers license
  • And Pharmaceutical price regulation scheme.
Wholesale Dealers License

Under the medicine act 1968 and regulations made under that act, all wholesalers of ethical pharmaceuticals have to be licensed by the Department of Health. For these particular considerations will be taken into account such as storage space available for products, arrangements made for securing the sage products etc.

Pharmaceutical Price Regulation Scheme

All pharmaceuticals are prescribed to the patient under the scheme of National Health Service (NHS) which bears the most of the cost. And PPRS is intended to prevent the pharmaceutical companies earning excessive profits. PPRS can decide the discount on some products depending on the usage of patient.

Pharmacy Checker.com [15] facilitates verifying drug prices online. It independently checks the credentials of online pharmacies and lets you easily compare drug prices. Its online pharmacy verification program is the largest and most accepted -- referenced by AARP Magazine, Smart Money, and Consumer Reports. Google, Yahoo! and MSN require PharmacyChecker.com verification of their online pharmacy advertisers.

Benefits and Risks:

Using an online or mail-order pharmacy (referred to below as online pharmacy) can save you a great deal of money and provide other benefits. However, there are also potential risks [15].

Benefits:
  • Lower prices — Lower drug prices in other countries, lower overhead costs compared to bricks and mortar pharmacies, and lower price mark-ups by discount and wholesale pharmacies often result in savings compared to local pharmacy prices. You can quickly shop around for the lowest prices online. Click here to compare prices across verified online pharmacies.
  • Privacy/Anonymity — you may feel more comfortable purchasing or asking questions online (or by fax or phone) regarding certain medications. However, privacy can be compromised if an online pharmacy uses your information for unauthorized purposes so it is important that the online pharmacy has an appropriate privacy policy; this is one of the things that PharmacyChecker.com checks for you.
  • Convenience — If you find it physically difficult to make it to the pharmacy, live in a remote rural area, or have a very busy schedule, online and mail-order pharmacies enable you to avoid travel and can save you time. Many online pharmacies will also remind you when you can order a refill to help you maintain your regimen.
  • Medical information — some online pharmacies provide useful information about medications and diseases as well as links to medical resources such as universities, government agencies, and health associations.
Risks:
  • Some online pharmacies do not dispense drugs through licensed pharmacies.
  • It is essential that you use pharmacies that are licensed. Licensed pharmacies require safe dispensing practices and the oversight of licensed pharmacies.
  • Purchasing drugs from an unlicensed pharmacy greatly increases your chances of buying counterfeit and/or substandard products. PharmacyChecker.com verifies that a site is, or fills orders with, a licensed pharmacy.
  • Some online pharmacies do not adequately protect your personal and financial information. It's important for an online pharmacy to include a privacy policy, one that promises not to share your personal information with third parties. Online financial transactions should be secured by the online pharmacy through adequate use of encryption technology.
  • PharmacyChecker.com verifies whether privacy is promised and transmittal of financial information is secured.
  • Some online pharmacies do not give their address and/or telephone number. If in the course of purchasing drugs from an online pharmacy you have a problem, question, or complaint, then it becomes very important to contact the company using its telephone number or address. Also, studies have shown that online pharmacies that do not publish adequate contact information are more likely to sell counterfeit products.
  • PharmacyChecker.com verifies contact information and provides it in the Profile of each online pharmacy listed on this site.
  • Additional fees are typically added to the drug price. There is almost always a shipping fee and there may also be a medical fee, order fees, and/or an account set up fee. PharmacyChecker.com shows you these fees and compares total costs.
  • Prices can change quickly. Online pharmacies are continually changing their prices. Lowball prices are common in order to attract new customers, but these prices don't always last. PharmacyChecker.com regularly updates all prices.
  • Some online pharmacies don't adequately safeguard your health. By failing to require a prescription, some online pharmacies might send you medication that could be dangerous to you. PharmacyChecker.com verifies that online pharmacies require a prescription.
  • Some online pharmacies may sell medications that can be extremely dangerous, if not taken under medical supervision. In the U.S., these drugs are known as controlled substances, such as Hydrocodone, valium, or xanax. You should never order from a website offering to sell you controlled substances without a prescription or to write you a prescription for them based on your responses to an online questionnaire. Other drugs, known as restricted distribution drugs, such as such as accutane, mifeprex or thalomidare, while not controlled substances, are also very dangerous if taken without the appropriate medical supervision [5].
Types of Online and Mail-order Pharmacies:

Online pharmacies, also called Internet pharmacies, are businesses that sell and market prescription drugs and other pharmacy products over the Internet and send them to consumers by mail [15].

PharmacyChecker.com estimates that there are 300-400 U.S., Canadian and other legitimate online pharmacies that market and sell their products throughout the United States. These are licensed pharmacies and their affiliates that accept prescription orders online and require a valid prescription from the customer.

Prescription Requirements [15]

Online pharmacies fall into different categories based on their prescription requirements:

  1. Traditional (Rx based on in-person examination)
  2. Remote Consultation (Rx based on an online or phone consultation)
  3. None (Rx not required to order prescription medication. These are "rogue" sites)
Traditional Online Pharmacies

Most legitimate online pharmacies require you to provide your original prescription -- the one obtained from an in-person examination with your doctor. Prices at online pharmacies that have a traditional prescription requirement are often lower than at online pharmacies that offer or accept prescriptions based on remote consultations (as described below) or that require no prescription at all. Pharmacies in this category include major national chains, neighborhood pharmacies in the U.S. and Canada, and large mail-order prescription fulfillment centers. Most pharmacies with a traditional prescription requirement carry the full stock of prescription drugs you would find in your neighborhood pharmacy [15].

Remote Consultation Online Pharmacies

Some consumers wish to purchase prescription drugs without having to visit their physicians to obtain a prescription. There are online pharmacies, generally known as online consultation pharmacies, remote consulting pharmacies, or prescribing pharmacies, that work with physicians who review a patient's self-reported medical history and then write a prescription if deemed appropriate. Often this is done for medications referred to as "Lifestyle" drugs that are non-addictive and less likely to require physician monitoring [15].

Range of Medications Sold By Online Pharmacies

Not all online pharmacies sell the broad range of prescription drugs that you would expect to find in your neighborhood pharmacy. The product range of online pharmacies typically falls into one of the following categories [15]:

  • "Full" range of medication, including prescription and over-the-counter products, as well as testing supplies and other health and beauty products just as you would find in a large pharmacy.
  • "Over 500 drugs" includes almost all prescription medication sold at your neighborhood pharmacy.
  • "Between 250-499 drugs" covering those medications representing the majority of prescription sales.
  • "Popular" medications, the 10 to 50 top-selling prescription drugs.
  • "Lifestyle" medications, such as those used for sexual enhancement, hair growth, contraception, weight loss, herpes, and smoking cessation.
  • "Specialized" medications for a single purpose, such as for pain, or specific medical conditions

I visited many existing web sites of businesses related to pharmaceutical and others associated to healthcare domain. I have observed the way the following websites are developed and their features.

  1. Durgesh Enterprises [16] has been into manufacturing and supplying healthcare material. It is supplying measuring products, surgical products, dropper, rubber teats etc. However, it is not selling products online. It has provided an enquiry form that facilitates online users to communicate with manufacturers.
  2. Globat Distributors [17] is a company whose primary business type is "merchant exporter and trader". They supply ayurvedic herbals and allopathic medicines and other products. This site has provisions to select required items and enquire about those products. There is not provision given for taking online orders.
  3. RSM Enterprises [18] is a company whose nature of business is Merchant Exporters, Traders, Whole Seller Supplier & Services Provider. Its products include Pharma Tablets includes Finasteride Tablets, Dapoxetine Tablets, Sertraline Tablets, Sildenafil Citrate Tablets, Tadalafil Sublingual Tablets, Valacyclovir Hydrochloride Tablets and Vardenafil Tablets and so on. In this site too, we can't find online ordering. However, it provides an enquiry form for the visitors.
  4. J.P. Biotech [19] is the company engaged in the supply and trading of all types of medicines and allopathic drugs. It is well known that the medical sector is intricately related to the lives of the patients. It also deals in wholesale allopathic medicines. There is an enquiry form only to get some data from customers online. No provision of online sales or order processing is given.
  5. Jaishree Medical Stores [20] is a company that supplies the best quality medical equipments and allopathic medicines. The anti infective medicine is tested under various conditions to prove their reliability and effectuality. The medical surgery equipment offered by us is manufactured by well-known manufacturers and is fully sterilized so as to eliminate the risk of infection during the treatment. It also simply provides an enquiry form to bedizens.
  6. M/S Empire Pharma [21] is engaged in manufacturing and exporting a wide variety of Generic Pharmaceuticals. Combining profound knowledge with advanced manufacturing practices, we bring forth an effective solution of various diseases. Prepared from the effectual base materials in WHO-approved Plants, our pharmaceutical products are 100 % result oriented. Safe for all age group, our pharmaceutical products are free from any kind of toxic chemical. It also provides an enquiry form only to get requirements of its customers and public in general.
  7. Ambe Medical Group [22] is into pharmaceutical wholesale business. Its web application is providing a shopping cart where customers can choose products online and place orders. After choosing items, it takes customer details and shipping information that helps in delivering products.
  8. Boots [23] is the UK's leading pharmacy-led health and beauty retailer. Boots is a member of Alliance Boots, an international pharmacy-led health and beauty group. It is providing healthcare products and services to its customers. It has online shopping facility in its web site. Through this web site, its customers can place orders online. It is providing healthcare services as well as beauty related services to its customers online.
  9. Lloyds Pharmacy [24] is a company that provides online doctor, medicines, healthcare services etc. It is providing online ordering facility that allows the citizens to place orders through this site and get the goods based on the requirements. However, it serves only UK people online. It says that it serves only UK people in case of order processing related pharmaceuticals and related services.
Research Methodology

For the Pharmaceutical wholesalers to sell the medicines in bulk quantity customers should have drug licence number (DL No). It is really difficult to store all the data manually and check it at the time of the order. Software is helpful to make the orders easier, quicker and for improving the customer service. The information is gathered from some wholesale pharmaceutical dealers to develop software.

Some of the representatives that has been contact

  • PADMA AGENCIES
  • KRANTI DISTRIBUTERS
  • ASHISH PHARMA
  • MAHESH AGENCY

After interacting with the representatives and employees of the wholesale pharmaceutical dealers, I came to know the billing, stock maintenance, orders and customers details etc.,

This is the most important phase to build a system. Failure of gathering right requirements may leads to collapse the entire system. So a single biggest requirement of a project may lead project failure also.

For gathering requirements I approached the clients and followed the fact finding techniques given below to analyze the present system and understand the need for proposed system.

  1. Phone Interviews
  2. Questionnaires
  3. Inspecting system inputs and outputs

In this step first we analyzed manual functionalities of the system. We understood the problems and limitations of the manual system. We understood actual functional requirements of the proposed system.

More Details from clients
  • No data base is used to maintain the stock.
  • There are different types of products and number of companies.
  • The company salesmen (i.e., P&G, Dabour, Himalaya, etc) come to the shop and check the quantity with help of staff member and place an order for stock to them by guessing the quantity.
  • Expiry and damage stock will be replaced by company, if the staff can find it and hand over to company.
  • Some products (i.e., summer products, rainy products, winter products) maintain heavy stock by their seasons and demanding products.
Payments
  • All the payments done by cash and cheques on company name.
  • If shop had a credit to particular company the M.D doesn't receive original receipt.
  • The shop keeper get the original bill after he clear the payment, up to they had a duplicate.
Customer Placing Order
  • Customer visit with order form
  • Customer can order by phone.
Delivery
  • Pickup the order forms from customers and serve the items to customer, after calculating manually and payment
  • Taking the order from phone and packed in a handled care boxes and delivery by using transport facility.
Payment Methods

These shops accept by cash, cheques and D.D only.

Selling

  • The goods are sale only who have a drug license No(i.e., only for Retail Pharmaceuticals)
  • Every product had a price on them i.e., called maximum retail price (M.R.P.).

Present Mode of Operation

They are selling all the products by whole sale price, now the present system is totally manually i.e. billing on a paper and calculating with calculators, stock maintenance is just by guessing. Price checking is maintain in a book and items are 6000-8000 different types of items they maintaining.

The present system is manual and has the following drawbacks.

  • Is a semi-automated at where the information is stored in the form of excel sheets in disk drives.
  • The information storage and maintenance is more critical in this system.
  • Tracking the salesman activities, customer activities and progress of the work is a complex operation.
  • Existing system cannot provide the facility of accepting cheques.
  • Very less security because of file systems.
  • Very less customer satisfaction as quality of service is less.
  • Time consuming process because of manual report generation.
  • Management of stocks may not be accurate.
  • Prediction of drugs demand, based on seasons is complex.

Requirements and Design

Requirement Specification

Is a complete plan to solve the problems of software which provides complete process to build good software. In this we designed a hierarchy for each functional requirement decomposed into pieces of hierarchal step wise statements with more detail. Example, for pharmacy billing when the system is started, it should authenticate user before providing its functionalities

  • The output bill should appear as containing the shop name, address, phone number and drug license no.
  • It contains which system time, date, receipt, quantity, product name price per single and total price quantity, and the end grand total for all products , if vat is applicable then vat summary.

Once the functionalities of Pharmacy system are classified then we grouped the related functionalities as a module, in this totally we got 3 modules, like

  1. Stock Maintenance
  2. Ordering
  3. Billing.
  4. Reports

After this we designed software architecture to develop this system, because based on schedule, cost, and quality the software architecture returns highest returns on investments.

In this project I'm going to use 2- tier architecture to build the system.

In our project I'm going to use Java Swing API to develop GUI based user interfacing to interact with the system. Back end database is Oracle 10G. In the back end database we are going to maintain billing information, Order Details and customer information, Stock details information and payment details (cash/ cheque..Etc).

To interact with the back end data base system, from GUI interface we need JDBC API to perform database relevant query operations towards the underlying database.

In this software design we considered many aspects according to our project. Compatibility of backend and platforms, designing software etc, Extensibility we ensure the system design even to add new enhancements in future like to make as web based system. The coding is to be developed in such as way that it can be used with either GUI application or web based application. It does mean that coding part remain same no matter what user interface we use.

I design the system with required security. Only authenticated users can access the system. I'm going to have different roles in this system. Admin role and Employee role.

Approach And Methodology

The model that is basically being followed is the WATER FALL MODEL, which states that the phases are organized in a linear order. First of all the feasibility study is done. Once that part is over the requirement analysis and project planning begins. If system exists one and modification and addition of new module is needed, analysis of present system can be used as basic model.

The design starts after the requirement analysis is complete and the coding begins after the design is complete. Once the programming is completed, the testing is done. In this model the sequence of activities performed in a software development project are: -

  • Requirement Analysis
  • Project Planning
  • System design
  • Detail design
  • Coding
  • Unit testing
  • System integration & testing

Here the linear ordering of these activities is critical. End of the phase and the output of one phase is the input of other phase. The output of each phase is to be consistent with the overall requirement of the system. Some of the qualities of spiral model are also incorporated like after the people concerned with the project review completion of each of the phase the work done.

WATER FALL MODEL was being chosen because all requirements were known beforehand and the objective of our software development is the computerization/automation of an already existing manual working system.

HARDWARE REQUIREMENTS:
  • Pentium-IV Processor
  • RAM 128 MB
  • HDD 20 GB Hard Disk Space
  • Keyboard, Mouse, Monitor.
SOFTWARE REQUIREMENTS:
  • WINDOWS XP or Linux
  • Jdk1.5 Software
  • Oracle10g.
  • Jar files related to Jdbc Type-IV Driver(ojdbc14.jar)

Software Description

INTRODUCTION TO JAVA

About Java:

Initially the language was called as "oak" but it was renamed as "java" in 1995.The main usage of this language is to develop platform-independent applications. That could be executed in any machine irrespective of their system configurations and Operating Systems.

  • Java is pure object Orineted Programming language
  • Java is platform independent and robust language.
  • Java is Multithreaded programming language

Java can also be embedded into the Hardware devices by using J2ME API. (Java 2 Micro Edition).

Finally Java is to Internet Programming where c was to Procedure Oriented Programming.

Importance of Java to the Internet

Java has had a profound effect on the Internet. This is because; java expands the Universe of objects that can move about freely in Cyberspace. In a network, two categories of objects are transmitted between the server and the personal computer. They are passive information and Dynamic active programs. in the areas of Security and probability. But Java addresses these concerns and by doing so, has opened the door to an exciting new form of program called the Applet.

Java Architecture

Java architecture consists of pc compiler, mactonish compiler, SPARC compiler they provide high performing environment for development of applications. Java achives platform independency by genarationg the class files. These class files can converted to machine code by the intrepreters. From java2 there will be a JIT compiler (Just In Time Compiler) which improves the performance of program execution. JVM contains class loders which can load the class files. JRE (Java Runtime Environment) provides the Environment to execute Java programs.

Compilation of code

Java Softwares might be different for different Operating Systems. The JVM is supposed to executed the byte code. Java Virtual Machine. is the machine which compiles code for one machine and interpreted on all machines.

Simple:

Java was User friendly programming Language easy to learn and develop applications effectively. If any one is having experience or good knowledge on C++ then learning Java will be more easy for them. Learning Java is nothing but learing the Object Orineted features of C++. Most of the Concepts of C++ which are confusing are removed in Java. And implemented in a good and Efficient manner.

Object oriented

Java is pure object oriented programming language. Java cannot be compared with any other programming language. In the real sence java is not pure object oriented programming language because of primitive data types. That is why the wrapper classes were introduced to make java as pure Object oriented programming language. The Java object model is simple and easy to extend. Java provides the concept of packages which contains the buitin classes and interfaces which are very useful to develop applications.

Robust

The multi-platform environment of the web places extraordinary demands on a program, because the program must execute reliably in a variety of systems. The ability to create robust programs. Was given a high priority in the design of Java. Java is strictly typed language; it checks your code at compile time and runtime.

Java virtually eliminates the problems of memory management and deal location, which is completely automatic. In a well-written Java program, all run-time errors can and should be managed by your program.

Garbage Collection

One of the difficult jobs of C++ is GarbageCollection. In java Garbage collection is done for free whenever the Objects are no longer referenced. There is no need of calling delete command which is there in C++.

Java Swings

Swing, provide improved components that enhance the look and functionality of GUIs. Swing can be used to develop Standalone swing GUI Applications. It is developed on model/view design architecture. Swing's are platform independent where as AWT's are platform dependent because they use some native libraries to develop the GUI.

In Swing Model/view design,the "view part" is implemented with a component object and the UI object. Where as "model part" is implemented by a model object and a change listener object.

Swing is not the replacement for AWT(Abstract window tool Kit). Swing is built on top of AWT and is completely written in Java, using AWT's lightweight component support. The Swing components can customize both their appearance and behavior with their architecture. Components from AWT and Swing can be mixed, AWTs allow us to add swing components. For example, swing components like JButton JTextField and JCheckbox could be used with standard AWT labels, textfields and scrollbars programs. You could subclass the existing Swing UI, model, or change listener classes without having to reinvent the entire implementation. Swing can have the capability of replacing these objects dynamically.

In Swing's GUI components that represents classes have their names beginning with the letter J. for Ex: JButton, JLabel, and JSlider. This swings Api is twice the size of AWT Api.

Java Swing class hierarchy

The classJComponent, is the main class for most of Swing's user interface components.

Java Swing Components:
  • JPanel: Itis the Swing's version of AWT Panel that uses the same default layout, FlowLayout. JPanel is inherited directly from JComponent.
  • JFrame:It is Swing's version of Frame. The components which are added to the frame can be called as its contents. These components were managed by the contentPane. To add a component to a JFrame, we must use its contentPane instead.
  • JInternalFrame: It is confined to a visible area of a container it is placed in. It can be layered, maximized ,iconified.
  • JWIndow: It is Swing's version of Window. It uses BorderLayout by default.
  • JDialog: It is Swing's version of Dialog and is inherited directly from that class. It also uses BorderLayout by default. Similar to JFrame, JWindow, JDialog contains a rootPane hierarchy including a contentPane, and it allows layered and glass panes. All dialogs are modal, which means the current thread is blocked until user interaction with it has been completed. JDialog class is intended as the basis for creating custom dialogs.
  • Jlabel: Inherited from JComponent, It is used to create text labels.
  • JButton: The abstract class AbstractButton extends class JComponent and provides a foundation for a family of button classes.
  • JTextField:Allows user to give input values, editing of a single line of text. New features include the ability to justify the text left, right, or center, and to set the text's font.
  • JpasswordField:A direct subclass of JtextField. This can suppress the display of input. Each character entered can be replaced by an echo character.

This is used to keep the data confidential. Mainly used for passwords, By default, the echo character is the asterisk, *.

  • JtextArea: Allows for entering multiple rows of text. JTextArea can be used in conjunction with class JScrollPane to achieve scrolling. Mainly used for entering address data. JscrollPanes can be used if necessary in the TextFields.
  • JRadioButton: It is similar to JCheckbox, except for the default icon for each class. A set of radio buttons can be associated as a group in which only
  • one button at a time can be selected.
  • JCheckBox: It is not a member of a checkbox group. A checkbox can be selected and deselected, and it also displays its current state.
  • JComboBox: It is like a drop down list. You can click on the drop-down arrow and select an item from a list. It is mainly used to take country as input value. Then one has to use this ComboBox.
  • Jlist: Itprovides a scrollable set of items from which one or more may be selected. JList can be inhabitaed from an Array or Vector. JList does not
  • support scrolling directly, unless it must be associated with a scrollpane. JList actions are handled using ListSelectionListener.
  • JTabbedPane: It contains a tab that can have a tool tip and a mnemonic, and it can display both text and image.
  • JToolbar: It is similar to standard tool bar of MsOffice. It contains a number of components which is similar to some kind of button which can also include separators to group same components together within the toolbar.
  • FlowLayout: It arranges swing components from left to right until there's no more space available. Then it begins a new row below it and moves from left to right again.
  • BorderLayout: It places swing components in the North, South, East, West and center of a container. You can add horizontal and vertical gaps between the areas.
  • GridLayout: It is a layout manager that places container's components in a rectangular grid. The container is divided into equal-sized rectangles, and one component is placed per rectangle.
  • GridBagLayout: It is a layout manager that lays out a container's components in a grid of cells with each component occupying one or more cells, called its display area. The display area aligns components vertically and horizontally, without requiring that the components be of the same size.
  • JMenubar: It can contain several JMenu's. Each of the JMenu's can contain a series of JMenuItem's that you can select. Swing provides support for pull-down and popup menus.

JDBC

What is JDBC?

Any relational database. One can write a single program using the JDBC API,and the JDBC is a Java Api for executing SQL,Statements(As a point of interest JDBC is trademarked name and is not an acronym; nevertheless,Jdbc is often thought of as standing for Java Database Connectivity. It consists of a set of classes and interfaces written in the Java Programming language.JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API

Using JDBC, it is easy to send SQL statements to virtually program will be able to send SQL .statements to the appropriate database. The Combination of Java and JDBC lets a programmer writes it once and run it anywhere.

What Does JDBC Do?

  • Establish a connection with a database
  • Send SQL statements
  • Process the results
  • JDBC Driver Types
  • The JDBC drivers that we are aware of this time fit into one of four categories
  • JDBC-ODBC Bridge plus ODBC driver
  • Native-API party-java driver
  • JDBC-Net pure java driver
  • Native-protocol pure Java driver

An individual database system is accessed via a specific JDBC driver that implements the java.sql.Driver interface. Drivers exist for nearly all-popular RDBMS systems, through few are available for free. Sun bundles a free JDBC-ODBC bridge driver with the JDK to allow access to a standard ODBC,data sources, such as a Microsoft Access database, Sun advises against using the bridge driver for anything other than development and very limited development.

JDBC drivers are available for most database platforms, from a number of vendors and in a number of different flavours. There are four driver categories

JDBC Drivers

Type 01-JDBC-ODBC Bridge Driver

Type 01 drivers use a bridge technology to connect a java client to an ODBC database service. Sun's JDBC-ODBC bridge is the most common type 01 driver. These drivers implemented using native code.

Type 02-Native-API party-java Driver

Type 02 drivers wrap a thin layer of java around database-specific native code libraries for Oracle databases, the native code libraries might be based on the OCI(Oracle call Interface) libraries, which were originally designed for c/c++ programmers, Because type-02 drivers are implemented using native code. in some cases they have better performance than their all-java counter parts. They add an element of risk, however, because a defect in a driver's native code section can crash the entire server

Type 03-Net-Protocol All-Java Driver

Type 03 drivers communicate via a generic network protocol to a piece of custom middleware. The middleware component might use any type of driver to provide the actual database access. These drivers are all java, which makes them useful for applet deployment and safe for servlet deployment

Type-04-native-protocol All-java Driver

Type o4 drivers are the most direct of the lot. Written entirely in java, Type 04 drivers understand database-specific networking. protocols and can access the database directly without any additional software

JDBC-ODBC Bridge

If possible use a Pure Java JDBC driver instead of the Bridge and an ODBC driver. This completely eliminates the client configuration required by ODBC.It also eliminates the potential that the Java VM could be corrupted by an error in the native code brought in by the Bridge(that is, the Bridge native library, the ODBC driver manager library, library, the ODBC driver library, and the database client library)

WHAT IS The JDBC-ODBE Bridge ?

The JDBC-ODBC Bridge is a Jdbc driver, which implements JDBC operations by translating them into ODBC operations. To ODBC it appears as a normal application program. The Bridge is implemented as the sun.jdbc.odbc Java package and contains a native library used to access ODBC.The Bridge is joint development of Intersolv and Java Soft

Oracle

Oracle is a relational database management system, which organizes data in the form of tables. Oracle is one of many database servers based on RDBMS model, which manages a seer of data that attends three specific things-data structures, data integrity and data manipulation.

With oracle cooperative server technology we can realize the benefits of open, relational systems for all the applications. Oracle makes efficient use of all systems resources, on all hardware architecture; to deliver unmatched performance, price performance and scalability. Any DBMS to be called as RDBMS has to satisfy Dr.E.F.Codd's rules.

Features of Oracle:

Portable

The Oracle RDBMS is available on wide range of platforms ranging from PCs to super computers and as a multi user loadable module for Novel NetWare, if you develop application on system you can run the same application on other systems without any modifications.

Compatible

Oracle commands can be used for communicating with IBM DB2 mainframe RDBMS that is different from Oracle, which is Oracle compatible with DB2. Oracle RDBMS is a high performance fault tolerant DBMS, which is specially designed for online transaction processing and for handling large database applications.

Multithreaded Server Architecture

Oracle adaptable multithreaded server architecture delivers scalable high performance for very large number of users on all hardware architecture including symmetric multiprocessors (sumps) and loosely coupled multiprocessors. Performance is achieved by eliminating CPU, I/O, memory and operating system bottlenecks and by optimizing the Oracle DBMS server code to eliminate all internal bottlenecks.

Oracle has become the most popular RDBMS in the market because of its ease of use

  • Client/server architecture.
  • Data independence.
  • Ensuring data integrity and data security.
  • Managing data concurrency.
  • Parallel processing support for speed up data entry and online transaction processing used for applications.
  • DB procedures, functions and packages.
Dr.E.F.Codd's Rules

These rules are used for valuating a product to be called as relational database management systems. Out of 12 rules, a RDBMS product should satisfy at least 8 rules + rule called rule 0 that must be satisfied.

RULE 0: Foundation Rule

For any system to be advertised as, or claimed to be relational DBMS should manage database with in it self, with out using an external language.

RULE 1: Information Rule

All information in relational database is represented at logical level in only one way as values in tables.

RULE 2: Guaranteed Access

Each and every data in a relational database is guaranteed to be logically accessibility by using to a combination of table name, primary key value and column name.

RULE 3: Systematic Treatment of Null Values

Null values are supported for representing missing information and inapplicable information. They must be handled in systematic way, independent of data types.

RULE 4: Dynamic Online Catalog based Relation Model

The database description is represented at the logical level in the same way as ordinary data so that authorized users can apply the same relational language to its interrogation as they do to the regular data.

RULE 5: Comprehensive Data Sub Language

A relational system may support several languages and various models of terminal use. However there must be one language whose statement can express all of the following:

Data Definitions, View Definitions, Data Manipulations, Integrity, Constraints, Authorization and transaction boundaries.

RULE 6: View Updating

Any view that is theoretical can be updatable if changes can be made to the tables that effect the desired changes in the view.

RULE 7: High level Update, Insert and Delete

The capability of handling a base relational or derived relational as a single operand applies not only retrieval of data also to its insertion, updating, and deletion.

RULE 8: Physical Data Independence

Application program and terminal activities remain logically unimpaired whenever any changes are made in either storage representation or access method.

RULE 9: Logical Data Independence

Application programs and terminal activities remain logically unimpaired whenever any changes are made in either storage representation or access methods.

RULE 10: Integrity Independence

Integrity constraints specific to particular database must be definable in the relational data stored in the catalog, not in application program.

RULE 11: Distributed Independence

Whether or not a system supports database distribution, it must have a data sub-language that can support distributed databases without changing the application program.

RULE 12: Non Sub-Version

If a relational system has low level language, that low language cannot use to subversion or by pass the integrity rules and constraints expressed in the higher level relational language.

Oracle supports the following Codd's Rules
  • Rule 1: Information Rule (Representation of information)-YES.
  • Rule 2: Guaranteed Access-YES.
  • Rule 3: Systematic treatment of Null values-YES.
  • Rule 4: Dynamic on-line catalog-based Relational Model-YES.
  • Rule 5: Comprehensive data sub language-YES.
  • Rule 6: View Updating-PARTIAL.
  • Rule 7: High-level Update, Insert and Delete-YES.
  • Rule 8: Physical data Independence-PARTIAL.
  • Rule 9: Logical data Independence-PARTIAL.
  • Rule 10: Integrity Independence-PARTIAL.
  • Rule 11: Distributed Independence-YES.
  • Rule 12: Non-subversion-YES.
Designing the solution

Unified Modeling Language:

The UML (Unified Modeling Language) is very much useful for an software engineer to express an analytical process model using the modeling notation that is validated by a set of pragmatic rules semantic rules.

A UML schema is represented using five different views that describe the schema from distinctly different angles. Each view is defined by a set of diagram, which discussed below

User Model View
  1. This view denotes the schema from the users perspective.
  2. The analysis denotes the usage part from the end-users point of view.
Structural model view
  1. In this model the data and functionality can be acquired from with in the system.
  2. This model view is used to model the static structures.
Behavioral Model View

It represents the dynamic behavior as parts of the schema, representing the interactions of collection between various structural elements described in the user model and structural model view.

Implementation Model View

The structural and behavioural parts of the system are represented as they are to be developed.

Environmental Model View

In this the structural and behavioral aspects of the environment in which the system is to be implemented are represented.

UML is specifically constructed through two different domains they are:

  1. Analysis modeling, that focuses on the user model and structural model views of the system.
  2. Design modeling, which focuses on the behavioral modeling, implementation modeling and environmental model views.

Use case Diagrams represent the functionality of the system. Use cases focus on the behavior of the system from external point of view. Use cases are used during requirements gathering and analysis to show the functionality of the system. Use cases focus on the behavior of the system from external point of view.

Actors are like external entities that interact with the system. Examples of actors administrator, bank customer, another system like central database ...etc., can be some of the sample actors for any common application.

Implementation

It is nothing but simply a plan to implement the system design. Already I designed the proposed system, now this is one of the level gives detailed information about how the system should implement based on the design considerations. In the Software, the programming languages are the number of implementation in software development.

  • I am going to implement using JAVA swings, JDBC API.
  • Swing API is more reliable and consistent GUI for all platforms i.e. there is no in appearance even executes on many more platforms, where as AWT components with specific look & feel i.e. changes their appearance for one platform to another platform.
  • Swing components have their own look & feel, where as AWT with their native GUI.
  • Swing with efficient event handling model than AWT event handling model. Swing with MVC pattern allows to customize the model layer of the GUI component, where as AWT doesn't.

In this implementation the actual coding of project is going to start like with pieces of programs. Once the programming is over then these are all small units integrated in the next phase. In our project we have 4 modules like, 1. Stock Maintenance 2. Ordering 3. Billing. 4. Reports Each module consist pieces (or) units of programs.

Java Naming conventions & Coding Standards

Java language developers have given many coding standards. This application has developed by following the java coding standards and naming conventions. It covers while designing filenames, indentation , comments, declaration , statements ,giving white spaces and by following good programming practices.

Refactoring
  • Refactoring is a disciplined technique for restructuring an existing body of code
  • Instead of using a value many times in the code, we can make it a constant and use it.
Minimized Modular Dependencies
  • Dependencies between modules are very less. As Admin module is independent on Employee module.
  • Related classes and interfaces are kept in separate module.
Specifications for All the Methods

The Java API documentation provided gives the details of public API methods of various classes and interfaces. Javadoc comments are used in all programs.

OOP Guidelines Applied
  • Compact classes
  • Inheritance is used to achieve reusability of code and maintainability
  • Aggregation is used in strategy design pattern
  • Interfaces at the top of hierarchy
  • Good communication b/w objects
  • Low coupling & high cohesion.
  • High cohesiveness
Design Pattern

A design pattern is a model solution for frequently occurring problems while a software application is developing.

Implementation of Design Patterns

The list of design patterns has been implemented in this project.

Factory Design Pattern

In this application, Factory design pattern has been implemented to obtain the database connection object. In DBConn class we have a static method called getConnection() which is returns the database object.

DAO (Data Access Object) Design Pattern

The java Data Access Object design pattern(Java DAO) is an important component in business applications. Most of the business application need to access the relational or object databases and java platform provides many techniques for accessing this data. The oldest and most mature technique is to use the Java Database Connectivity (JDBC) API, which provides the capability to execute SQL queries against a database and then fetch the results, one column at a time. Although this API provides everything a developer needs to access data and to persist application state. In this application Data Access Object design pattern has been implemented. The package edu.pharma.model.dao contains all the DAO classes. The idea behind this is instead of business layer directly communicate with the database ,the domain logic speaks to DAO layer. This DAO layer communicated with the underlying persistence system, here we are using Oracle 10g. The advantage of using this design pattern is in future if we want to change the business logic or front end design we need not have to change the persistence logic.

DTO (Data Transfer Object) Design Pattern

Data Transfer Objects also known as value objects or VO, is a software design pattern used to transfer the data between software application subsystems. DTOs are frequently used in conjunction with Data Access Object to retrieve data from database and persist the processed data into database. The only difference between DTOs and DAOs is that DTOs doesn't have any behaviour means this is useful to transfer the object state from one component to another component. In this application we used DTO design pattern as well. The package edu.pharma.model.dto contains all the DTO classes related to the application.

Module Description

The following are the list of modules in this application.

  1. Stock maintenance
  2. Ordering
  3. Bill Generation
  4. Reports

The administrator is responsible for the management of whole application. Only authorized users can enter into the administrator screen. And the administrator can perform the following tasks

  • Adding the new company details, update the company details and delete the company details.
  • Adding the new agencies, updating the agencies and can delete the agency details.
  • Save the new product details in database, and deleting the product details from the database.
  • The administrator can place the orders (save the order details in database) and can cancel the order.
  • The administrator can also view the reports of stock, orders, company details, agency details, customer details and sales details as well.

Employee is responsible for saving the new customer details update the customer details and delete the customer details. The employee module is responsible for medical bill generation.

  • Stock maintenance: This feature can be accessible for administrator only. The administrator can add the new product details in database and can delete the information regarding particular products.
  • Ordering: The administrator is responsible for placing the order for particular products and can cancel the order placed to particular agency.
  • Bill Generation: This module allows the employees to generate the medical bill.
  • Orders: In this module administrator can view the reports regarding company details, agency details, customer details, product details, order details and sales details as well.
Validations

Validations helps the end user to give the correct input for the processing of the data. Depending on the requirements there are different types of validations, some of the validations used in this application are Date validation, prevention of submitting form without giving input(to avoid null data), Number format validations.

Ex

  • According to the requirement date validation has been performed. In our application manufacturing date of a product should not be greater than or equal to expiry date of that product. Similarly order date of the product should not be greater than or equal to the due date.
  • While entering the product details quantity, price, MRP should not be string data they should be Numeric data only.
  • The end user should enter the data in all the mandatory fields, so that we can prevent the null data. All the required validations has been implemented in this application according to the domain requirements.
Authentication

Authentication is the process of determining whether someone or something can be accessible by the authenticated users or not. For this we provided user name and passwords to access the resources.

In this application we are providing user name, password and role, end user has to provide the user name, password and select the appropriate role. The end user input data will be accessed and compared with the data existing the in the database, So only authenticated users only can access this application. Role determines the authorization, in the application we are having two roles Admin role and Employee role. Authorization ensures that only the intended users are accessing the resources. Admin role having different access privileges and employee role will be having different access privileges.

Testing

Introduction to Testing:

Testing is a process, which reveals errors in the program. It is the major quality measure employed during software development. During software development. During testing, the program is executed with a set of test cases and the output of the program for the test cases is evaluated to determine if the program is performing as it is expected to perform.

TESTING IN STRATEGIES

In order to make sure that the system does not have errors, the different levels of testing strategies that are applied at differing phases of software development are:

Unit Testing:

Unit Testing is done on individual modules as they are completed and become executable. It is confined only to the designer's requirements.

In this phase each unit is tested for their functionality. For Example, Accept Order functionality tested whether its functionality performs in successful manner or not. This kind of functional testing for each functionality known as Unit Testing. This testing ensures whether the module (or) functionality reaches to their functional or not. With this we can overcome the bugs in the project, helps to develop a bug free system. For this we can use JUnit test tool

Each module can be tested using the following two Strategies:

Black Box Testing:

In this strategy some test cases are generated as input conditions that fully execute all functional requirements for the program. This testing has been uses to find errors in the following categories:

  • Incorrect or missing functions
  • Interface errors
  • Errors in data structure or external database access
  • Performance errors
  • Initialization and termination errors.

In this testing only the output is checked for correctness.

The logical flow of the data is not checked.

White Box testing :

In this the test cases are generated on the logic of each module by drawing flow graphs of that module and logical decisions are tested on all the cases. It has been uses to generate the test cases in the following cases:

  • Guarantee that all independent paths have been Executed.
  • Execute all logical decisions on their true and false Sides.
  • Execute all loops at their boundaries and within their operational bounds
  • Execute internal data structures to ensure their validity.
Integrating Testing :

Integration testing ensures that software and subsystems work together a whole. It tests the interface of all the modules to make sure that the modules behave properly when integrated together.

System Testing :

Involves in-house testing of the entire system before delivery to the user. It's aim is to satisfy the user the system meets all requirements of the client's specifications.

Acceptance Testing :

It is a pre-delivery testing in which entire system is tested at client's site on real world data to find errors. Test Approach :

Testing can be done in two ways:

  • Bottom up approach
  • Top down approach
Bottom up Approach:

Testing can be performed starting from smallest and lowest level modules and proceeding one at a time. For each module in bottom up testing a short program executes the module and provides the needed data so that the module is asked to perform the way it will when embedded with in the larger system. When bottom level modules are tested attention turns to those on the next level that use the lower level ones they are tested individually and then linked with the previously examined lower level modules.

Top down approach:

This type of testing starts from upper level modules. Since the detailed activities usually performed in the lower level routines are not provided stubs are written. A stub is a module shell called by upper level module and that when reached properly will return a message to the calling module indicating that proper interaction occurred. No attempt is made to verify the correctness of the lower level module.

Integration and System Testing:

In this phase the tested units are going to integrate like as a complete system. System testing means we will test the complete integrated system to ensure all the modules whether they reached their target functionality or not, in this we will get co-ordination among whole modules of the system as per the specification. Once the Integration & system testing is over it delivers to end user.

References:

BOOKS:

  1. 'Determinants of Operational Efficiencies in the Indian Pharmaceutical Industry', by B V Phani & Haritha Saranga, Volume 16,Number 1, January 2009. https://home.iitk.ac.in/~bvphani/> (Accessed on 10th Dec 2009).
  2. ' The International Journal of Pharmacy Education' by Bill G. Felkey &William Villaume, Volume 2, Issue 1, 2004. https://www4.samford.edu/schools/pharmacy/ijpe/ (Accessed on 8th Feb 2010).
  3. 'Pharmacists and Health Information Technology: Emerging Issues in Patient Safety' by Kevin T. Fuji & Kimberly A. Galt, Volume 20,Issue No 3, 2008. https://www.springerlink.com/content/48417mp81501759v/ (Accessed on 8th Feb 2010).
  4. 'Explore the use of new Information Technology in Community Pharmacy', by Nick Barber, Dr Carl Martin, 1999. https://www.rpsgb.org.uk/ (Accessed on Feb 11th 2010).
  5. 'Pharmacist Computer Skills and Needs Assessment Survey' by Robert M Balen, Peter J Jewesson &Gary Cochran, Volume 6, Issue No 1, 2004. https://www.jmir.org/2004/ (Accessed on Feb 12th 2010).
  6. 'Workload and Availability of Technology in Metropolitan Community Pharmacies', by Grant H. Skrepnek, & Edward P. Armstrong, Volume 46, Issue No 2, 2006. https://www.medscape.com/viewarticle/533426 Accessed on (12th Feb 2010).
PAPERS
  1. 2009 International Conference on Computer and Information Technology in Pharmacy 14-16 August 2009, Wuxi, China. Accessed from (Accessed on 11th Jan 2010).
  2. Pharmaceutical Wholesaler securely connects with 125 Retail Outlets. Accessed from (Accessed on 20th Jan 2010).
  3. Big pharma learns how to love information technology. Accessed from https://www.scientific-computing.com/features/feature.php?feature_id=111 (Accessed on 21st Jan 2010).
LINKS:
  1. Pharmaceutical Wholesalers dream of selling online. Accessed from (Accessed on 14th Dec 2009).
  2. Richard.G., Indian Pharmaceutical Industry Accessed from (Accessed 14th Dec 2009) India.
  3. IT in Pharmacy. Accessed from (Accessed on 5th Jan 2010).
  4. Central Drugs Standard Control Organization. Accessed from Accessed on (15th Feb 2010) India.
  5. FOOD AND DRUG INDUSTRY IN INDIA "AN OVERVIEW". Accessed from Accessed on (15th Feb 2010) India.
  6. About Online and Mail-Order Pharmacies. Accessed from (Accessed on 17th Feb 2010).
  7. https://www.pharmadurgesh.com/contact-us.htm (Accessed on 17th Feb 2010).
  8. Globat Distributers. Accessed from India, https://www.indiamart.com/company/1039805/ (Accessed on 17th Feb 2010).
  9. RSM ENTERPRISES. Accessed from (Accessed on 18th Feb 2010).
  10. J.P.Biotech. Accessed from (Accessed on 19th Feb 2010).
  11. Jayashree Medical Stores in Bommasandra Industrial Area, Bangalore. Accessed from (Accessed on 22nd Feb 2010).
  12. M/s Empire Pharma. Accessed from (Accessed on 24th Feb 2010).
  13. Ambe Medical Group. Accessed from (Accessed on 25th Feb 2010).
  14. Boots. Accessed from (Accessed on 25th Feb 2010).
  15. Lloyds pharmacy Healthcare for life. Accessed from (Accessed on 3rd Mar 2010).
  16. https://www.codefutures.com/java-dao/
  17. https://en.wikipedia.org/wiki/Data_transfer_object
Did you like this example?

Cite this page

Developing software. (2017, Jun 26). Retrieved November 5, 2024 , from
https://studydriver.com/developing-software/

Save time with Studydriver!

Get in touch with our top writers for a non-plagiarized essays written to satisfy your needs

Get custom essay

Stuck on ideas? Struggling with a concept?

A professional writer will make a clear, mistake-free paper for you!

Get help with your assignment
Leave your email and we will send a sample to you.
Stop wasting your time searching for samples!
You can find a skilled professional who can write any paper for you.
Get unique paper

Hi!
I'm Amy :)

I can help you save hours on your homework. Let's start by finding a writer.

Find Writer