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:
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].
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:
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 IndiaIn 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 SectorUnder 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:-
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 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 wholesalerThe 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
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 SchemeAll 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: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:
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 PharmaciesSome 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 PharmaciesNot 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]:
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.
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
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.
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 clientsThese shops accept by cash, cheques and D.D only.
Selling
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.
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
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
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 MethodologyThe 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: -
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: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 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 InternetJava 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 codeJava 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 orientedJava 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.
RobustThe 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 CollectionOne 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 SwingsSwing, 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 hierarchyThe classJComponent, is the main class for most of Swing's user interface components.
Java Swing Components:This is used to keep the data confidential. Mainly used for passwords, By default, the echo character is the asterisk, *.
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?
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
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 RuleFor 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 RuleAll information in relational database is represented at logical level in only one way as values in tables.
RULE 2: Guaranteed AccessEach 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 ValuesNull 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 ModelThe 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 LanguageA 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 UpdatingAny 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 DeleteThe 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 IndependenceApplication program and terminal activities remain logically unimpaired whenever any changes are made in either storage representation or access method.
RULE 9: Logical Data IndependenceApplication programs and terminal activities remain logically unimpaired whenever any changes are made in either storage representation or access methods.
RULE 10: Integrity IndependenceIntegrity constraints specific to particular database must be definable in the relational data stored in the catalog, not in application program.
RULE 11: Distributed IndependenceWhether 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-VersionIf 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 RulesUnified 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 ViewIt 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 ViewThe structural and behavioural parts of the system are represented as they are to be developed.
Environmental Model ViewIn 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:
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.
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 StandardsJava 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.
RefactoringThe 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 AppliedA 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 PatternIn 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 PatternThe 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 PatternData 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 DescriptionThe following are the list of modules in this application.
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
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.
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
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:
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:
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:
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.
BOOKS:
Developing software. (2017, Jun 26).
Retrieved November 5, 2024 , from
https://studydriver.com/developing-software/
A professional writer will make a clear, mistake-free paper for you!
Get help with your assignmentPlease check your inbox
Hi!
I'm Amy :)
I can help you save hours on your homework. Let's start by finding a writer.
Find Writer