You are on page 1of 84

Doctor Online 1.

INTRODUCTION

1.1. Motivation
Doctor Online provides a website where a client directly goes for online consulting a doctoring case of urgency. This should respond automatically for small questions from clients where he will find better suggestions when any health problems occur. This all suggestion, which come from online where the client will be charged for each consultation.

1.2. Purpose of the system


In the modern world people are aware of so many sciences like computer science, Electronics, commerce, political sciences etc. But they did not know about medical sciences and its related features much, Because usage of scientific words which are difficult to remember and also difficult to pronounce. At this juncture there is a need for creating awareness in the public about the general topics of health sciences. Doctor on-line is the one, which provides direct communication. With the client where he gets a remedy for his problem automatically by responding to small combination of queries. The client can also consult a doctor online, where he is charged for each consultation. This site is useful for people who face the problem personally, and is also helpful in knowing information about Medical Sciences.

1.3. Scope of the System


The scope of this system is limited to Answering to simple Queries and consulting the doctor on-line it is not meant for serious problems and fixing of personnel appointment with the doctor.

Department of CSE

TKRCET

Doctor Online

1.4. Objectives of the System


Doctor on-line.com is purely a web site and Lot of efforts is put to make it as User friendly. Vast information is maintained in this site so as to develop good awareness in public regarding health. Reduce the wastage of time of the client or user. The system just acts like a doctor asking simple queries and replying the queries, which is very user friendly. It is also useful for Students of medical sciences.

1.5. Existing System


Here the existing system is a manual system using which the patient needs to go the clinic manually, he needs to check the doctor list, doctor availability and book the appointment. The doctor also needs to needs to tell the clinic management to cancel his OP on a particular date. If the patient wants to contact the doctor for some confirmation then he needs to come to the clinic again. By following this approach the clinic management people needs to store the customer information, further consultations and payment details.

Every patient needs to go to the clinic physically for taking the doctor appointments.

Every doctor needs to intimate the clinic through phone/mail for his unavailability. Every doctor needs store the patient decease details and medicine details. Generating appointment reports or patient record report is not possible.

Department of CSE

TKRCET

Doctor Online

1.6. Proposed system


In the modern world people are aware of so many Sciences Like computer sciences, Electronics, commerce, political sciences etc. But they did not know about medical sciences and its related features much, because usage of scientific words which are difficult to remember and also difficult to pronounce. At this juncture there is a need for creating awareness in the public about the general topics of health sciences. Doctor on-line is the one, which provides direct communication with the client where he gets a remedy for his problem automatically by responding to small combination of queries. The client can also consult a doctor online, where he is charged for each consultation. Every patient can book their appointments from online. Every doctor can intimate his unavailability from online. Every customer information record will be stored in the centralized location. Generating different business reports is also possible.

Department of CSE

TKRCET

Doctor Online

2. LITERATURE SURVEY
2.1. J2EE
The Java TM 2 Platform, Enterprise Edition (J2EETM) provides a component base approach to the design, development, assembly, and deployment of enterprise applications. The J2EE platform offers a multi tiered distributed application model, reusable components, a unified security model, flexible transaction control, and Web services support through integrated data interchange on Extensible Markup Language (XML)-based standards and protocols. Not only can you deliver innovative business solutions to market faster than ever, but also your platform-independent J2EE component-based solutions are not tied to the products and application programming interfaces (APIs) of any one vendor. Vendors and customer enjoy the freedom to choose the products and components that best meet their business and technological requirements. J2EE Components The J2EE platform uses a distributed multi tiered application model for enterprise applications. Application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multi tiered J2EE environment to which the application component belongs. Although a J2EE application can consist of the three or four tiers shown in Figure 2.1, J2EE multitiered applications are generally considered to be three-tiered applications because they are distributed over three locations: client machines, the J2EE server machine, and the database or legacy machines at the back end. Three-tiered applications that run in this way extend the standard two-tiered client and server model by placing a multithreaded application server between the client application and back-end storage.

Department of CSE

TKRCET

Doctor Online Figure 2.1: Multi tiered Applications J2EE Application 1 Client Tier Web Tier Server Business Tier Database EIS Tier Databa ssSSSse Database Server Machine Enterprise Beans Enterprise Beans Machine Application Client J2EE Application 2 Dynamic HTML Pages Client Machine J2EE

JSP Pages

Fig 2.1 shows two multi tiered J2EE applications divided into the tiers described in the following list: Client-tier components run on the client machine. Web-tier components run on the J2EE server. Business-tier components run on the J2EE server. Enterprise information system (EIS)-tier software runs on the EIS server. Although a J2EE application can consist of the 3 or 4 tiers, J2EE multi tiered applications are generally considered to be three-tiered applications because they are distributed over three locations: client machines, the J2EE server machine, and the database or legacy machines at the back end.

Department of CSE

TKRCET

Doctor Online J2EE applications are made up of components. A J2EE component is a selfcontained functional software unit that is assembled into a J2EE application with its related classes and files and that communicates with other components. The J2EE specification defines the following J2EE components: Application clients and applets are components that run on the client. Enterprise Java Beans components are business components that run on the server J2EE Containers Normally, thin-client multi tiered applications are hard to write because they involve many lines of intricate code to handle transaction and state management, multithreading, resource pooling, and other complex low-level details. The componentbased and platform-independent J2EE architecture makes J2EE applications easy to write because business logic is organized into reusable components. In addition, the J2EE server provides underlying services in the form of a container for every component type. Because you do not have to develop these services yourself, you are free to concentrate on solving the business problem at hand. Containers are the interface between a component and the low-level platformspecific functionality that supports the component. Before a Web, enterprise bean, or application client component can be executed, it must be assembled into a J2EE module and deployed into its container. The assembly process involves specifying container settings for each component in the J2EE application and for the J2EE application itself. Container settings customize the underlying support provided by the J2EE server, including services such as security, transaction management, Java Naming and Directory Interface (JNDI) lookups, and remote connectivity.

Department of CSE

TKRCET

Doctor Online Container types J2EE Server It is the runtime portion of a J2EE product. A J2EE server provides EJB and Web containers. Enterprise Java Beans (EJB) Container Manages the execution of enterprise beans for J2EE application. Enterprise beans and their container run on the J2EE server. Web container Manages the execution of JSP page and Servlet components for J2EE applications. Web components and their container run on the J2EE server. Application client container Manages the execution of application client components. Application clients and their container run on the client. Applet container Manages the execution of applets. Consists of a web browser and Java Plug in running on the client together. J2EE 1.4 APIs Java Message Service API The Java Message Service (JMS) API is a messaging standard that allows J2EE application components to create, send, receive, and read messages. It enables distributed communication that is loosely coupled, reliable, and asynchronous.

Department of CSE

TKRCET

Doctor Online Java Transaction API The Java Transaction API (JTA) provides a standard interface for demarcating transactions. The J2EE architecture provides a default auto commit to handle transaction commits and rollbacks. An auto commit means that any other applications that are viewing data will see the updated data after each database read or write operation. The Java Transaction API (JTA), one of the Java Enterprise Edition (Java EE) APIs, enables distributed transactions to be done across multiple X/Open XA resources in a Java environment. JTA is a specification developed under the Java Community Process as JSR 907 Java Beans Activation Framework The Java Beans Activation Framework (JAF) is included because Java Mail uses it. JAF provides standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate Java Beans component to perform those operations. Java API for XML processing The Java API for XML Processing (JAXP) supports the processing of XML documents using Document Object Model (DOM), Simple API for XML (SAX),and Extensible Style sheet Language Transformations (XSLT).JAXP enables applications to parse and transform XML documents independent of a particular XML processing implementation. JAXP also provides namespace support, which lets you work with schemes that might otherwise have naming conflicts. Designed to be flexible, JAXP lets you use any XML-compliant parser or XSL processor from within your application and supports the W3C schema.

Department of CSE

TKRCET

Doctor Online

2.2. JSP
The Java Server Pages Technology Java Server Pages technology is the Java technology in the J2EE platform for building applications containing dynamic Web content such as HTML, DHTML, XHTML and XML. The Java Server Pages technology enables the authoring of Web pages that create dynamic content easily but with maximum power and flexibility. The Java Server Pages technology provides a textual description for the creation of a response from a request. Life Cycle of JSP A JSP life cycle can be defined as the entire process from its creation till the destruction which is similar to a servlet life cycle with an additional step which is required to compile a JSP into servlet. Life cycle of a JSP page consists of two phases, translation phase and execution phase. As I said earlier every JSP is a Servlet, a JSP page is translated and compiled into servlet and the resulting servlet handles the request, So life cycle of a JSP page largely depends on the Servlet API. When a request is mapped to a JSP page, it is handled by a special servlet that first checks whether the JSP page's servlet is older than the JSP page. If it is, it translates the JSP page into a servlet class and compiles the class. During development, one of the advantages of JSP pages over servlets is that the build process is performed automatically. A JSP life cycle is similar to Servlet life cycle with an additional step which is required to translate a JSP page to a Servlet class. A JSP page is first converted into a Servlet and then that Servlet gets compiled and executed like any other Servlet. The translation of a JSP page into the corresponding Servlet is done by the JSP Engine of the underlying Web Container.

Department of CSE

TKRCET

Doctor Online JSP files are compiled into Servlets. After a JSP is compiled, its lifecycle is similar to the Servlet lifecycle: Javax.servlet.jsp package defines two classes: JSP Page Http JSP Page These classes defines the interface for the compiled JSP page. These interfaces are: jspInit() -> defined by programmer jspDestroy() -> defined by programmer jspService(HttpServletRequest request,HttpServletResponse response) -> is generated by JSP Figure 2.2(a): Life Cycle Of JSP

Create

Initialize

Unavailable for service

Available for service

Destroy Servicing requests (unavailable exception thrown) Unload

Department of CSE

10

TKRCET

Doctor Online When a Web container receives a request for a JSP file, it passes the request to the JSP processor. If this is the first time the JSP file has been requested or if the compiled copy of the JSP file is not found, the JSP compiler generates and compiles a Java source file for the JSP file. The JSP processor puts the Java source and class file in the JSP processor directory. By default, the JSP syntax in a JSP file is converted to Java code that is added to the service () method of the generated class file .If you need to specify initialization parameters for the servlet or other initialization information, add the method directive set to the value in it. Request Processing The request processing life cycle is the most important element of the JSF framework and is a must to understand to get a better grip of JSF. Whenever you do any request to any web application, the request has to be processed in some way by the server and should generate a response back to you. For example when you are doing an online booking than you send your details as part of request. The details are parsed and handled by the server and in turn will give you back a response with confirmed booking details if it is successful. In case of failure, the response outlining the reason of failure is returned back to you. Termination When the Web container no longer needs the servlet or a new instance of the servlet is being reloaded, the Web container invokes the servlet's destroy() method. The Web container can also call the destroy() method if the engine needs to conserve resources or a pending call to a servlet service() method exceeds thetimeout. The Java Virtual Machine performs garbage collection after the destroy.

Department of CSE

11

TKRCET

Doctor Online JSP Model-1 architecture Figure 2.2(b): JSP Model-1 Architecture

Response

Browser

JSP

Java Bean

Application Server

Enterprise Server/data source

In Model 1, a request is made to a JSP or servlet and then that JSP or servlet handles all responsibilities for the request, including processing the request, validating data, handling the business logic, and generating a response. The Model 1 architecture is commonly used in smaller, simple task applications due to its ease of development. Although conceptually simple, this architecture is not conducive to large-scale application development because, inevitably, a great deal of functionality is duplicated in each JSP. Also, the Model 1 architecture unnecessarily ties together the business logic and presentation logic of the application. Combining business logic with presentation logic makes it hard to introduce a new 'view' or access point in an application

Department of CSE

12

TKRCET

Doctor Online Model 1 In the Model 1 architecture, the JSP page alone is responsible for processing the incoming request and replying back to the client. There is still separation of presentation from content, because all data access is performed using beans. Although the Model 1 architecture should be perfectly suitable for simple applications, it may not be desirable for complex implementations. Indiscriminate usage of this architecture usually leads to a significant amount of scriptlets or Java code embedded within the JSP page, especially if there is a significant amount of request processing to be performed. While this may not seem to be much of a problem for Java developers, it is certainly an issue if your JSP pages are created and maintained by designers which is usually the norm on large projects. JSP Model-2 Architecture Figure 2.2(c): JSP Model-2 Architecture

REQUEST INSTANTIATE RESPONSE

(Controller) Servlet JSP BEAN

Browser

(View)

APPLICATION SERVER

ENTERPRISE SERVER

Department of CSE

13

TKRCET

Doctor Online

Model 2 The Model 2 architecture, is a hybrid approach for serving dynamic content, since it combines the use of both servlets and JSP. It takes advantage of the predominant strengths of both technologies, using JSP togenerate the presentation layer and servlets to perform process-intensive tasks. Here, the servlet acts as the controller and is in charge of the request processing and the creation of any beans or objects used by the JSP, as well as deciding,depending on the user's actions, which JSP page to forward the request to. There is no processing logic within the JSP page itself; it is simply responsible for retrieving any objects or beans that may have been previously created by the servlet, and extracting the dynamic content from that servlet for insertion within static templates. Template Data Substantial portions of dynamic content are actually fixed. The JSP technology allow for the natural manipulation of this data. Addition of Dynamic Data The JSP technology allows the addition of dynamic data to the template data in a way that is simple yet powerful. Encapsulation of Functionality The JSP technology provides two related mechanisms for the encapsulation of functionality: the standard Java Beans component architecture and the tag library mechanism. Good Tool Support The JSP technology has features that enable the creation of good authoring tools. The result is a flexible and powerful server-side technology. Department of CSE 14 TKRCET

Doctor Online

Benefits of the Java Server Pages Technology The Java Server Pages technology offers a number of benefits: Write Once, Run Anywhere properties The Java Server Pages technology is platform independent, both in its dynamic Web pages, Web servers, and its underlying server components. You can author JSP pages on any platform, run them on any Web server or Web enabled application server, and access them from any Web browser. High quality tool support The Write Once, Run Anywhere properties of JSP allows the user to choose bestof-breed tools. Additionally, an explicit goal of the Java Server Pages design is to enable the creation of high quality portable tools. Separation of Roles JSP supports the separation of roles: developers write components that interact with server-side objects. Reuse of components and tag libraries The Java Server Pages technology emphasizes the use of reusable components such as Java Beans components, Enterprise Java Beans components and tag libraries. Separation of dynamic and static content. The Java Server Pages technology enables the separation of static content from dynamic content that is inserted into the static template. Support for scripting and actions The Java Server Pages technology supports scripting elements as well as actions. Actions permit the encapsulation of useful functionality in a convenient form that can also be manipulated by tools; scripts provide a mechanism to glue together this Department of CSE 15 TKRCET

Doctor Online functionality in a per-page manner. Web access layer for N-tier enterprise application architecture(s).

2.3. Overview of Servlets


Servlet A servlet is a web component, managed by a container that generates dynamic content. Servlets are small, platform independent Java classes compiled to an architecture neutral byte code that can be loaded dynamically into and run by a web server. Servlets interact with web clients via a request response paradigm implemented by the servlet container. This request-response model is based on the behavior of the Hypertext Transfer Protocol (HTTP). Servlet Container The servlet container, in conjunction with a web server or application server, provides the network services over which requests and responses are set, decodes MIME based requests, and formats MIME based responses. A servlet container also contains and manages servlets through their lifecycle. A servlet container can either be built into a host web server or installed as an add-on component to a Web Server via that servers native extension API. Servlet Containers can also be built into or possibly installed into webenabled Application Servers. All servlet containers must support HTTP as a protocol for requests and responses, but may also support other request / response based protocols such as HTTPS (HTTP over SSL). The minimum required version of the HTTP specification that a container must implement is HTTP/1.0. It is strongly suggested that containers implement the HTTP/1.1 specification as well. A Servlet Container may place security restrictions on the environment that a servlet can executed In a Java 2 Platform Standard Edition 1.2 (J2SE) or Java 2 Platform Enterprise Edition 1.3 (J2EE) environment, these restrictions should be placed using the permission architecture defined by Java 2 Platform. For example, high end application servers may limit certain action, such as the creation of a Thread object, to insure that other components of the container are not negatively impacted. Department of CSE 16 TKRCET

Doctor Online

Servlet Life-cycle Figure 2.3: Servlet Life Cycle Instantiation of Servlet

Ready Servlet accepts request s

Instantiation & loading by Servlet Engine

Destruction of Servlet Object

Garbage collection by Servlet engine

The init(),service() and destroy() methods are called by the server during the life cycle of a servlet. void init(ServletConfig config) method is called when the servlet is initialized. An Unavailable Exception will be thrown if the servlet could not be initialized. This method is called only once. The initialization parameters are obtained from a ServletConfig object. Any initialization process like establishing a database connectivity etc., can be done in this method. This method throws ServletException. void service (ServletRequest req, ServletResponse res) method is called to process a request from the client. This method throws ServletException, IOException.The request type (GET,POST) can be red from the request object. The response to the client can be written to the response object. An exception can occur if servlet or IO problem occur. Department of CSE 17 TKRCET

Doctor Online void destroy() method is called when a servlet is unloaded from the address space of the server machine on which it is running .This method will be called only once during the life cycle of a servlet.

2.4. Overview of JDBC


JDBC API JDBC is in a SQL-level API that allows you to embeds statements as arguments to the methods in JDBC interface. To do this, JDBC requires a runtime implementation of its interfaces. A programmer can able to translate the relational data into objects. The java language employs the idea of the zero install client. The object code for the entire application, client& server, resides on the network. Database system: DB System is an integrated collection of data. A db system involve the data itself, the h/w on which the data resides, the s/w that controls the storage & retrieval of data & the users them-selves. Advantage of Database Systems: Redundancy can be reduced Inconsistency can be avoided The data can be shared Security restrictions can be enforced. Relational Database Model Is a logical representation of the data that allows the relationship between the data. A relational database is composed of tables. The most widely used RDBMS language is Structured Query Language. Updates( insert, delete, update ) Queries( select ) Java Database Connectivity Java Database Connectivity (JDBC) is the software abstraction that interfaces your Java application with different kinds of databases. Department of CSE 18 TKRCET

Doctor Online It sits between your application and the database you want to access. JDBC provides a set of APIs (interfaces and classes) which is uniform across all databases, windowing systems, operating systems and hardware environments.

JDBC Drivers JDBC drivrs are available for most database platforms,from a number of vendors and in a number of different flavors. Each type defines a JDBC driver implementation with increasingly higher levels of platform independence,performance, and deployment administration. There are four driver categories JDBC-ODBC Bridge Driver Native-API Partly-Java Driver Net-Protocol All-Java Driver Native-Protocol All-Java Driver Type-1 Driver Type 1 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 1driver. These drivers are implemented using native code. ODBC should be install on the client machine. It is the flexible driver because it can connect to any Backend. It is not meant for internet base application. The type 1 driver, JDBC-ODBC Bridge, translates all JDBC calls into ODBC (Open DataBase Connectivity) calls and sends them to the ODBC driver. The JDBCODBC Bridge allows access to almost any database, since the database's ODBC drivers are already available. Type 1 drivers may be useful for those companies that have an ODBC driver already installed on client machines Type 1 drivers may not be suitable for large-scale applications. Type II Native-API Partly-Java Driver

Department of CSE

19

TKRCET

Doctor Online Type 2 driver of Java around database-specific native code libraries. These libraries should be installed on the client Machine. For Oracle databases, the native code libraries might be based on the OCI (Oracle Call Interface). This drivers contains java code that calls native c or c++ methods provided by the individual db vendor that perform the db access. In some cases they have better performance than their all-Java counterparts. JDBC driver type 2 -- the native-API/partly Java driver -- converts JDBC calls into database-specific calls for databases such as SQL Server, Informix, Oracle, or Sybase. The vendor database library needs to be loaded on each client machine. The type 2 driver communicates directly with the database server; therefore it requires that some binary code be present on the client machine. It can be used on non-window platform. Transmission is taking on the client machine. It is also not for Internet based applications. A defect in a driver's native code section can crash the entire server. No software is installed on the client machine. Type 3 Driver Type III 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. The JDBC driver on the client uses sockets to communicate with middleware application on the server that translate the client request into a API specific to the desired driver & is extremely flexible. It is a secure driver. It is meant for applet. JDBC driver type 3 -- the net-protocol/all-Java driver follows a three-tiered approach whereby the JDBC database requests are passed through the network to the middle-tier server. The middle-tier server then translates the request (directly or indirectly) to the database-specific native-connectivity interface to further the request to the database server. Department of CSE 20 TKRCET

Doctor Online If the middle-tier server is written in Java, it can use a type 1 or type 2 JDBC driver to do this. The net protocol can be designed to make the client JDBC driver very small and fast to load.

Type-4 Driver The native-protocol/all-Java driver (JDBC driver type 4) converts JDBC calls into the vendor-specific database management system (DBMS) protocol so that client applications can communicate directly with the database server. Type 4 drivers are completely implemented in Java to achieve platform independence .Since Type 4 JDBC drivers don't have to translate database requests to ODBC or a native connectivity interface or to pass the request on to another server, performance is typically quite good. With Type 4 drivers, the user needs a different driver for each database. Accessing the database is very last. SQL does not support. These drivers will come from the database vendors.

2.5. HTML
HTML (hyper text markup language) is a language used to create hypertext documents that have hyper links embedded in them. It consists of tags embedded in the text of a document with HTML. We can build web pages or web document s. it is basically a formatting language and not a programming language. The browser reading the document interprets mark up tags to help format the document for subsequent display to a reader. HTML is a language for describing structured documents. HTML is a platform independent. WWW (world wide web) pages are written using HTML. HTML tags control in part the representation of the WWW page when view with web browser. The browser interprets HTML tags in the web document and displays it. Different browsers show data differently. Examples of browsers used to be web pages include: Department of CSE 21 TKRCET

Doctor Online Netscape Internet Explorer

HTML: What It Is HTML is a document-layout and hyperlink-specification language. It defines the syntax and placement of special, embedded directions that aren't displayed by the browser, but tell it how to display the contents of the document, including text, images, and other support media. The language also tells you how to make a document interactive through special hypertext links, which connect your document with other documents--on either your computer or someone else's, as well as with other Internet resources, like FTP and Gopher. First of all what is hypertext: It is any kind of text that have links embedded in it. These links are also called hyperlinks and a good example of this is the Windows. 'Help' features. These links point to files anywhere on the Web. HTML documents contain text, images etc., in fact they may also have audio video and multimedia files as well and this is known as hypermedia. HTML pages are transferred from one to another using HTTP (Hyper Text Transfer Protocol), which is a protocol at the application level and sits on top of the TCP/IP. Applications on the Web are basically client/server in architecture where HTML forms are viewed at the client end and a HTTP server (Web server ) is at the server side. A browser such as Netscape Navigator/Internet Explorer is required to view HTML pages. Popular Web servers are IIS ( Internet Information Server ) , Netscape Enterprise Server, Java Web Server and Apache. HTML- Features

Department of CSE

22

TKRCET

Doctor Online HTML is a mark-up language. In an electronic document, the mark-up is the codes, embedded with the document text which store information required for electronic processing SGML (Standard Generalized Markup Language) is the base language from which all markup languages are derived from HTML is one such, so is XML. The codes are the set of tags that define how your text should be formatted. The browsers parse through these tags and display the text, images etc accordingly. HTML documents are ASCII files.HTML are typically small in size easy to send across the Net. Cross platform and device independent. Supports text, images multimedia etc. HTML Tags A simple HTML file is shown below. You should save this file with .html extension and open it in the browser. Tags are enclosed in <> brackets and end with</>, some tags don't have</> end tag. Tags can also have attributes should within the start angular brackets. Basic Tags Table Name: Html Tags Table 2.5: HTML Tags Tag <HTML>.........</HTML> <HEAD>.........</HEAD> <TITLE>.........</TITLE> <BODY>........</BODY> <H1>..............</H1> <H2>..............</H2> <H3>..............</H3> <H4>..............</H4> <H5>..............</H5> Department of CSE 23 Used to Contain The entire HTML document The head of HTML document The title of the document All other text in the HTML document First-level heading Second-level heading Third-level heading Fourth-level heading Fifth-level heading TKRCET

Doctor Online <H6>..............</H6> <P>..................</p> <!.....................!> Sixth-level heading Paragraph comments

Pre-formatted tag Preformatted tags that display text as it appears in the HTML source document. Syntax <PRE>.</PRE>

Links Links are the most essential of a HTML page. Links can point to files in the same machine, or files in other machines on the internet. The links can also point to other parts of the same document. The <A> tag is used for this. Links are of two types relative and absolute paths. Relative paths are relative to particular directory. Example <a href =file.html> Click </a> Frames A frame is an independent scrolling region or window in a Web page .A Web page can be divided in to a number of frames and the frames can be nested. each frame can display a separate HTML file. The <frame> tag is used for this. A collection of frames is frameset. Within a frameset there will be frames. The portion of these frames is given in %, the frames can be permitted to be resized or not. Scrollbars are automatically added to frames when the matter in the frame exceeds the area of the frame. Forms Forms are essential for any client/server applications, must always the applications on the Web are client/server in architecture.HTML2.0 and upwards support these fill out Department of CSE 24 TKRCET

Doctor Online forms. It is the forms that add interaction to otherwise static Web pages. The forms once filled in by the user, needs be processed , and this is handled by the Web server which in turn triggers a CGI servlet , ASP or any other technology such as CORBA objects. The form tags <FORM >..</FORM> are used to create forms. The tags can be include only after the closing head tag. A HTML form can contain the following components.

JavaScript JavaScript is a compact, object-based script language for developing client and server internet applications. Browsers such as Netscape Navigator or Internet Explorer interprets JavaScript statements embedded in an HTML page. JavaScript Features Embedded language As the JavaScript has no user interface it relies on the HTML to provide it. So, this language is embedded into HTML documents and executed within them. By embedding the JavaScript into HTML, we can extend capabilities of HTML by generating events to HTML tags. Thus JavaScript provides event driven functionality to HTML. Interpreted language It is not compliable language like C language. This language is interpreted by the browser before execution. Browser dependent This language depends upon web browser. The browser should support this language. Netscape Navigator 2.0 and Internet Explorer 3.0 onwards support this Department of CSE 25 TKRCET

Doctor Online language. Browsers ignore JavaScript code, which will not support this language. It is an object-oriented language. Each individual JavaScript element is an object. This language supports events. Based on some condition we can generate some functionality on objects like buttons. Loosely typed language This language is very flexible one. For example, there is no need to specify the data type of the variable that is being declared. The Table Generator helps you to insert table tag into the HTML document very easily. Press left mouse button on a table cell and drag to the desired size then release the mouse button. Inserts Frame HTML tag. <FRAMESET ROWS="," COLS=","> <FRAME NAME="" SRC="" SCROLLING=""> <FRAME NAME="" SRC="" SCROLLING=""> </FRAMESET> Inserts Font HTML tag. <FONT SIZE=""></FONT> This command presents Heading popup menu. Heading 1 - 6 tags are available on Heading popup menu. Inserts Horizontal Ruler HTML tag. <HR> This command presents List tag popup menu. Unordered list, ordered list and Definition list are available on List tag popup menu. Inserts List Box HTML tag. <SELECT NAME=""></SELECT> With all its multimedia-enabling, new page layout features, and the hot technologies that give life to HTML documents over the Internet, it is also important to understand the language's limitations: HTML is not a word processing tool, a desktop publishing solution, or even a programming language, for that matter. That's because its fundamental purpose is to define the structure and appearance of documents and Department of CSE 26 TKRCET

Doctor Online document families so that they might be delivered quickly and easily to a user over a network for rendering on a variety of display devices.

Structure of an HTML Document An HTML document consists of text, which defines the content of the document, and tags, which define the structure and appearance of the document. The structure of an HTML document is simple, too, consisting of an outer <html> tag enclosing the document header and body: <Html> <Head> <Title>Barebones HTML Document</title> </head> <Body> This illustrates, in a very <I>simp</I>le way, The basic structure of an HTML document. </body> </html> Each document has a head and a body, delimited by the <head> and <body> tags. The head is where you give your HTML document a title and where you indicate other parameters the browser may use when displaying the document. The body is where you put the actual contents of the HTML document. This includes the text for display and document control markers (tags) that advise the browser how to display the text. Tags

Department of CSE

27

TKRCET

Doctor Online also reference special-effects files including graphics and sound, and indicate the hot spots (hyperlinks and anchors) that link your document to other documents

2.6. Conclusion
The technologies we used for developing our application are mainly JSPs in JAVA. Java Server Pages (JSP) where the actual code is written to run the application separates the dynamic part of pages from the static Hyper Text Markup Language. In order to run the application we need to access the database simultaneously. For this connection we use JDBC, the Application Program Interface specification which allows a user to utilize SQL for connecting Java programs to a database. HTML is used to develop the forms or pages viewed by the user. Therefore HTML served a better option for front end designing. JAVASCRIPT is used mainly for front end validation. This validation is done on the browser itself before sending the clients request to the server. This is particularly done in order to reduce the work carried out by the server if unless validated should respond to the user as many times as he sends an incorrect request. And finally ORACLE database for maintaining the database which stores the necessary data in it and makes the access to it whenever requested. It served as the back-end for our application. Thus the technologies which made us achieve in developing the application successfully.

Department of CSE

28

TKRCET

Doctor Online

3. SYSTEM ANALYSIS
3.1. Introduction
Analysis is the process of breaking a complex topic into smaller parts to gain a better understanding of it. Requirements Analysis is the process of understanding the needs and expectations from a proposed system or application and is a well-defined stage in the Software Development model. Requirements are a description of how a system should behave or a description of system properties or attributes. It can alternatively be a statement of what an application is expected to do. The Software Requirements Analysis Process covers the complex task of eliciting and documenting the requirements of all these users, modeling and analyzing these requirements and documenting them as a basis for system design. A dedicated and specialized Requirements Analyst is best equipped to handle the job. Software Requirements Analysis and Documentation Processes are critical to software project success. The questions to be answered at each stage of development were in hand analyzed like what are the basic hardware and software specifications required to develop the project, what the user is required to possess in basic, the context

Department of CSE

29

TKRCET

Doctor Online of the project and accordingly made it successful by implementing with the appropriate and reliable fulfillment of the requirements. A System Context Diagram (SCD) is the highest level view of a system, similar to Block Diagram, showing a (normally software-based) system as a whole and its inputs and outputs from/to external factors. SCDs are a type of Data Flow Diagram, and they should always be produced as DFDs. Context Diagrams show the interactions between a system and other actors with which the system is designed to face. SCD is very helpful in understanding the context in which the system will be part of software engineering. Context diagrams are typically drawn using labeled boxes to represent each of the external entities and another labeled box to represent the system being developed. Context diagrams are used early in a project to get agreement on the scope under investigation. Context diagrams are typically included in a requirements document. The best SCD are used to display how system inter operates at a very high level or how systems operate and interact logically. The system context diagram is a necessary tool in developing a baseline interaction between systems and actors; actors and system or systems and systems.

3.2. Requirement Specification


3.2.1. Functional Requirements Functional requirements specify which outputs should be produced from the given inputs. They describe the relationship between the input and output of the system, for each functional requirement a detailed description of all data inputs and their source and the range of valid inputs must be specified. All the operations to be performed on the input data to obtain the output should be specified. The client visits the web site to get remedy for his health. Problems or for getting more awareness regarding health. The end users get the solution by answering to simple queries automatically generated from the web site. If the user is not satisfied with the system then, he may utilize the services of the doctor, by posting mails to the concern specialist. Department of CSE 30 TKRCET

Doctor Online For this, the client registers into the web site and posts his problems and gets solution from the doctor in the form of mails in a short span of time. The client is charger for the services he is getting, through credit card. 3.2.2. Non-Functional Requirements Describe user-visible aspects of the system that are not directly related with the functional behavior of the system. Non-Functional requirements include quantitative constraints, such as response time (i.e. how fast the system reacts to user commands.) or accuracy ((.e. how precise are the systems numerical answers.)

Quality This web site Doctor on-line.com maintains good quality. Quality in the sense provides good services to the public. The site provides diseases, their symptoms, remedy and other addition information regarding health. Security Doctor This is the main concept in case of Doctor on-line.com. The web site must Client maintain the secrecy of users password and the health details. The web site doesnt give a chance to know about their clients both personal and health details. This is maintained by using user id and passwords.

3.3. Context Diagram of Project


Figure 3.3: Context Diagram of Project Doctor On-line.com Manager Administrator

Department of CSE

Official 31

TKRCET

Doctor Online

3.4. Conclusions
In these areas, it seems likely that if language engineering evaluation can make any headway, it will be contributing as much to the state of the art in requirements as vice versa. First, a stronger emphasis has been put on the process that lead from the very informal elicitations of requirements to their descriptions in terms of actor and goal diagrams. Also, the process of goals definition, analysis, and revision has been presented, pointing out, in particular, how the goal diagram construction has to be considered as an incremental process, based on a sequence of revision steps. In future works, we aim at further developing this issue with other specifically focused case. Nevertheless, we believe that clearly showing the connecting items between early and late requirements already provides for a first step towards the solution. Of course, the best support can be reached only through the development of an appropriate tool.

Department of CSE

32

TKRCET

Doctor Online

4. REQUIREMENT SPECIFICATIONS
4.1. Software Requirements
Operating System Languages Database Web server : Windows NT/ XP, Windows 98 : JAVA using Servlets, JSP with JDBC Drivers, JavaScript, HTML : Oracle : Tomcat 5.5

4.2. Hardware Requirements


Intel P-IV Processor 512 MB RAM 10 GB Hard Disk

Department of CSE

33

TKRCET

Doctor Online

5. DESIGN
5.1. Introduction
To produce the design for large module can be extremely complex task. The design principles are used to provide effective handling the complexity of the design process, it will not reduce to the effort needed for design but can also reduce the scope of introducing errors during design. For solving the large problems, the problem is divided into smaller pieces, using the time-tested principle of divide and conquer. This system problem divides into smaller pieces, so that each piece can be conquered separately. For software design, the problem is to divide into manageable small pieces that can be solved separately. This divide principle is used to reduce the cost of the entire problem that means the cost of solving the entire problem is more than the sum of the cost of solving all the pieces.

Department of CSE

34

TKRCET

Doctor Online When partitioning is high, then also arises a problem due to the cost of partitioning. In this situation to know the judgment about when to stop partitioning. In design, the most important quality criteria are simplicity and understandability. In this each the part is easily related to the application and that each piece can be modified separately. Proper partitioning will make the system to maintain by making the designer to understand problem partitioning also aids design verification. Abstraction is essential for problem partitioning and is used for existing components as well as components that are being designed, abstracting of existing component plays an important role in the maintenance phase. Doing design process of the system. In the functional abstraction, the main four modules to taking the details and computing for further actions. In data abstraction it provides some services. The system is a collection of modules means components. The highest-level component corresponds to the total system. For design this system, first following the top-down approach to divide the problem in modules. In top-down design methods often result in some form of stepwise refinement after divide the main modules, the bottom-up approach is allowed to designing the most basic or primitive components to higher-level components. The bottom-up method operations starting from very bottom. In this system, the system is main module, because it consists of discrete components such that each component supports a well-defined abstraction and if a change to the component has minimal impact on other components. The modules are highly coupled and coupling is reduced in the system. Because the relationships among elements in different modules is minimized.

5.2. Unified Modeling Language (UML) Diagrams


Use case Diagram A use case diagram is a type of behavioral diagram defined by the Unified Modeling Language (UML). Its purpose is to present a graphical overview of the Department of CSE 35 TKRCET

Doctor Online functionality provided by a system in terms of actors, their goalsrepresented as use casesand any dependencies between those use cases. Use Case A use case is a description of a system's behavior as it responds to a request that originates from outside of that system.. Actor An actor is something or someone who supplies a stimulus to the system. An actor cannot be controlled by the system and is defined as being outside the system.

Figure 5.2(a): System Use Case Diagram

Department of CSE

36

TKRCET

Doctor Online

Creating Use Case Diagrams

Department of CSE

37

TKRCET

Doctor Online I like to start by identifying as many actors as possible. You should ask how the actors interact with the system to identify an initial set of use cases. Then, on the diagram, you connect the actors with the use cases with which they are involved. If an actor supplies information, initiates the use case, or receives any information as a result of the use case, then there should be an association between them. I generally dont include arrowheads on the association lines because my experience is that people confuse them for indications of information flow, not initial invocation. Why do we develop the Use Case Model The very first question to be answered then is why do we develop the Use Case model - what Use Cases are and also - very importantly - what they are not. The Use Case model is about describing WHAT our system will do at a high-level and with a user focus for the purpose of scoring the project and giving the application some structure. Phew ! The Use Cases are the unit of estimation and also the smallest unit of delivery. Each increment that is planned and delivered is described in terms of the Use Cases that will be delivered in that increment. Use Cases are not a functional decomposition model. Use Cases are not intended to capture all of the system requirements. Use Cases do not capture HOW the system will do anything - nor do they capture anything the actor does that does not involve the system. All of these things are better modelled using other modelling techniques that were developed for those purposes. The Object Model to capture the static structure of the system and the composition of the classes. Object Sequence Diagrams and State Transition Diagrams to capture the detailed dynamic behavior of the system - the HOW. The Business Process Model to capture the overall business processes - both computerized and manual. Use Cases are not an inherently object-oriented modelling technique. There is no fundamental reason why they couldn't be used as the front-end to a structured development method - but they're not because the methods gurus are concentrating on the development of OO methods. How Do We Develop the Use Case Model Department of CSE 38 TKRCET

Doctor Online The first thing to remember when doing Use Case (or any other type of modelling) is WHY are we using this technique. Forgetting that is a sure recipe for disaster. HOW is - relatively speaking - of secondary importance - forget why you're doing use case modelling, the most common mistake in Use Case modelling, and you'll fail. Which is why I will keep repeating this point. If you've forgotten why then go back and re-read the section above. Go on, off you go, I'll wait for you. A Simple Use Case Recipe Step 1. Identify the who is going to be using the system directly - e.g. hitting keys on the keyboard. These are the Actors. Step 2. Pick one of those Actors. Figure 5.2(b): A Simple Use Case Recipe

Step 3. Define what that Actor wants to do with the system. Each of these things that the actor wants to do with the system become a Use Case. Step 4. For each of those Use Cases decide on the most usual course when that Actor is using the system. What normally happens. This is the basic course. Step 5. Describe that basic course in the description for the use case.

Describe it as "Actor does something, system does something. Actor does something, system does something." but keep it at a high level. Do not mention any GUI Department of CSE 39 TKRCET

Doctor Online specifics for example. Also you only describe things that the system does that the actor would be aware of and conversely you only describe what the actor does that the system would be aware of. Class Diagrams A class diagram is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, and the relationships between the classes. Attributes A significant piece of data owned by a Class, often containing values describing each instance of the class. Besides the attribute name and a slot for the attribute value, an attribute may have specified Visibility, Type, Multiplicity, Default value, and Propertystring. Operations These describe the functions or actions performed by the class.

Figure 5.2(c): Class Diagram For Home Page Department of CSE 40 TKRCET

Doctor Online

Login login()

Home Page Select()

Left menu Option()

Admin Page Action()

Manager Page Action()

Official Page Action()

Doctor Page Action()

Client page Action()

ErrorPage login Call()

Error page

Department of CSE

41

TKRCET

Doctor Online

Figure 5.2(d): Class Diagram For User

Login Login()

Admin page

Create user

Create() Manager Page View All Types of Users Get()

Action()

GetDises() ViewUsers()
Diseases Set() Get()

Doctor page getQueries() schedule()

View queries Get()

Reply query

sendReply()

Doctor schedule Prepare()

Department of CSE

42

TKRCET

Doctor Online

Figure 5.2(e): Class Diagram For Admin

Department of CSE

43

TKRCET

Doctor Online

Login page Login()

Officers Page Services()

Modify user Update()

Delete user Delete()

Disease Set() Get()

Doctor Schedule
Prepare()

Message Send()

Client page Services()

Error page
Display()

FAQ View() Post()

See reply Get()

Appointment

getAppointment()

Department of CSE

44

TKRCET

Doctor Online

Sequence Diagrams Figure 5.2(f): Sequence Diagram For Admin


Manage r page

Login

Admin page

Create user

View all page

View Diseas es

Doctor page

Doctor schedule

View quires

Reply Quires

Login() Login() New()

Figure 5.2(g): Sequence Diagram For Linking

Logon() View()

View()

disease s()
Plan() View() Logon() Reply()

Department of CSE

45

TKRCET

Doctor Online

login

Home page
Logon() ()()

Left menu

Admin page

Manager page

Official page

Doctor page

Client page

Move()

Select () Select ()

Select () Select ()

Select ()

Department of CSE

46

TKRCET

Doctor Online

Collaboration Diagrams Figure 5.2(h): Collaboration Diagram For Login

Manager page 1.2 1.1 Login 1. 3 Doctor page 1. 5 Home page

1.1.1 Left menu

1.4 Official page

1.6 Admin page

Client page

Department of CSE

47

TKRCET

Doctor Online

Figure 5.2(i): Collaboration Diagram For User Creation

Department of CSE

48

TKRCET

Doctor Online

1.2.2.1 View queries 1.2.2

Reply queries 1.2.1

Doctor page 1.2

doctor schedule

1. 1 Admin page

1.1.1

Login
1.3

Create user

Manager Page 1.3.1

View all users

View diseases

Department of CSE

49

TKRCET

Doctor Online

Figure 5.2(j): Collaboration Diagram For Admin

1.1.3

Doctor Schedule
1.1.6

Add Disease

1.1.1 Login
1.1 Official Page Modify user

1.2

1.1.2

client
1.2.2 1.2.1

Send Messages
1.1.4

Delete User

Appointment

View FAQ
1.2.1.1

Post query
1.2.1.2

Check reply

Department of CSE

50

TKRCET

Doctor Online

Activity Diagram Figure 5.2(k): Activity Diagram For Admin

Department of CSE

51

TKRCET

Doctor Online

User

Doctor Facilities IsClient


Login

Client Facilities

View FAQ

is Doctor
Post Query View queries

Create user Reply query

Check Reply

View users Doctor schedule View diseases

Take appointment

Modify user

Delete user

New disease

Send messages

Logout()

Department of CSE

52

TKRCET

Doctor Online

5.3. Data Dictionary


A data dictionary is a collection of descriptions of the data objects or items in a data model for the benefit of programmers and others who need to refer to them. A first step in analyzing a system of objects with which users interact is to identify each object and its relationship to other objects. After each data object or item is given a descriptive name, its relationship is described (or it becomes part of some structure that implicitly describes relationship), the type of data (such as text or image or binary value) is described, possible predefined values are listed, and a brief textual description is provided. This collection can be organized for reference into a book called a data dictionary. Doctor Online - Logical Database Structures Different Tables which are maintained in the database to run this project are Login PostedQuery Disease TodayShedule CreateDates ClientsApp Table Name: login Table 5.3(a): Login Field Name Department of CSE Data Type/ Size 53 Key TKRCET

Doctor Online SNO NAME PASSWORD TYPE EID NUMBER(38) VARCHAR2(40) VARCHAR2(20) VARCHAR2(2) VARCHAR2(30) Primary Key

Table Name: PostedQuery Table 5.3(b): PostedQuery Field Name NO PQUERY RID CID RQUERY FAQ Table name: TodaySchedule Table 5.3(c): TodaySchedule Field Name ANO DID DNAME ADATE CFEE STATE Table Name: Diseases Table 5.3(d): Disease Field Name DID DNAME STATE REMEDY Field Name NUMBER(10) VARCHAR2(30) VARCHAR2(2) VARCHAR2(300) Key Primary Key Data Type/ Size NUMBER(38) NUMBER(38) VARCHAR2(30) VARCHAR2(12) NUMBER(38) VARCHAR2(2) Key Primary key Data Type/ Size NUMBER(38) VARCHAR2(300) NUMBER(38) NUMBER(38) VARCHAR2(300) VARCHAR2(2) Key Primary Key

Department of CSE

54

TKRCET

Doctor Online

Table Name: Createdates Table 5.3(e): Createdates Field Name RNO DID DNAME ADATE Table Name: ClientsApp Table 5.3(f): ClientsApp Field Name ANO DID DNAME ADATE CCNO CID CFEE Data Type/ Size NUMBER(38) NUMBER(38) VARCHAR2(30) VARCHAR2(12) Number(38) Number(38) Number(38) Key Data Type/ Size NUMBER(38) NUMBER(38) VARCHAR2(30) VARCHAR2(12) Primary Key Key

Primary Key

Department of CSE

55

TKRCET

Doctor Online

5.4. Module Description


Administrator The Administrator enters into the web site by entering the user Id and password into the Administrator login screen. When the Administrator clicks the ok button in the login screen after entering the username and password then username and password is checked with the database for validity. When the Administrator enters wrong password then a message box is displayed When Administrator clicks the new user in Administrator home screen new user screen is displayed. The Administrator enters the details of newly appointed users of Doctor on-line.com , the details may be user name , password , EmpNo, Type of user. User Id is automatically generated by Clicking the ok button data will Manager When the Manger clicks the ok button in the login screen after entering the username then username and password is checked with the database for validity. When the manager enters wrong password then a message box is displayed. He can view the list of users in this application based specific type He can view the list of diseases and their remedies.

Department of CSE

56

TKRCET

Doctor Online Official Official enters into the site after login through Official login screen, by entering user name and password. The official authentication is checked by verifying user Id and password from the data base. After entering into the site Official home screen is displayed. When the official clicks on the Diseases link then Disease details screen will be displayed to add the details of a new disease. This consists of fields like Disease_no, name, symptoms, precaution, medicine, hospital and doctor details. Disease_no field contains number of each disease which are in the database. By clicking a particular Disease_no the details of that disease is displayed. The official can modify, and delete the user records. He can update the doctor availability dates information. He can send a mail to the client. Doctor Doctor enters into the web site by Entering his User Id and password by checking his authentication. After entering through Doctor login screen Doctor gets the Client query list screen which contains list of query details He can view the list of queries posted by different customers. He can click on a specific query and send the reply. He can set his available dates for patient appointments

Department of CSE

57

TKRCET

Doctor Online

Client The client visits the web site to get remedy for his health problems or for getting more awareness regarding health. The home screen consists of different links like Home, How to use, Health Awareness, Registration, and login. The clients can go for any link. Home: When the client clicks Home link the information regarding the web site is displayed. How to use: when the client goes for clicking this link then the information regarding the usage of the site is displayed. Health Awareness When the client selects the Awareness through Symptoms then Symptoms selection screen is displayed. Registration: The client registers into the web site and posts his problems and gets solution from the in a short span of time. The client is charger for the services he is getting, through credit card. When the user wants to subscribe into the web site then he goes for Registration. In the registration the user enters his details. User id and password are given and if the user id selected by the client already exists then a message box is displayed. The client selects another user id and clicks ok button then new Id is created and a message is displayed your have registered successfully. The user login into web site after subscribing to the site. The client Authentication is checked from the database. He can view the FAQ which contains different and replies. He can post a new query. He can check the list of available doctors. He can view the reply which was posted by a doctor. If the client wants to log out he can go out by pressing logout link. Department of CSE 58 TKRCET

Doctor Online

5.5. Conclusion
Before developing the code for the project, the designers after keen observation of how to design the project design a model which depicts the entire functionality of the project. Thereafter these models are given to the developers. The models we designed for our application are UML Diagrams, Data Flow Diagrams. UML Diagrams are used as they describe the structural and behavioral aspects of the application. Data is input, processed, stored, retrieved, use, changed and output. Data flow analysis studies the use of data in each activity. With a dataflow diagram, users are able to visualize how the system will operate, what the system will accomplish, and how the system will be implemented. Dataflow diagrams can be used to provide the end user with a physical idea of where the data they input ultimately has an effect upon the structure of the whole system from order to dispatch to restock how any system is developed can be determined. In this, the module description for all the modules is described individually in detail. The functionalities taking place under each module is been discussed which gives a theoretical overview of the entire application

Department of CSE

59

TKRCET

Doctor Online

6. IMPLEMENTATION
6.1. Introduction
Finally, after passing through the analysis and design phases, the turn of implementation carried out to achieve qualitative improvement in planning, ensuring feasibility and optimum utilization of resources .To facilitate realistic assessment of the consolidated physical achievements of the plan enabling to have realistic review and midterm correction. The view of the application is provided which depicts the aim of the project. Every key function in the application is been described and its corresponding screen shots are also been displayed to provide both theoretical and practical appearance.

6.2. Implementation
The first medical consulting website in the US was WebMD, founded in 1996 by Jim Clark (one of the founders of Netscape) and Pavan Nigam as Healthscape . Currently, its website carries information regarding health and health care, including a symptom checklist, pharmacy information, drug information, blogs of physicians with specific topics, and a place to store personal medical information. As of February 2011, WebMDs network of sites reaches an average of 86.4 million visitors per month and is the leading health portal in the United States. Other popular US healthcare and medical consulting sites include NIH.gov, MSN Health, Yahoo! Health, EverydayHealth, WomensHealth.gov, and MayoClinic , and many have experienced dramatic growth. (Healthline, launched in 2005, grew by 269% to 2.7 million average monthly unique visitors in Q1 2007 from 0.8 million average monthly unique visitors in Q1 2006). Niche consulting sites are also popular including SeniorNet, which deals with age-related syndromes and 4collegewomen.org and GirlsHealth.gov, which target young

Department of CSE

60

TKRCET

Doctor Online women. Several American online doctor companies, including Teladoc, American Well, MeMD, and Ringadoc, provide consultations with doctors over the phone or the Internet. Prominent San Francisco-based venture capital firm Founders Fund called such services "extraordinarily fast" and predicted that they will "bring relief to thousands of people with immediate medical needs." New advances in digital information technology mean that in future online doctors and healthcare websites may offer advanced scanning and diagnostic services over the internet. The Nuffield Council on Bioethics identifies such services as direct-toconsumer body imaging (such as CT and MRI scans) and personal genetic profiling for individual susceptibility to disease. Professor Sir Bruce Keogh, the medical director of the UK NHS, is drawing up plans to introduce online consultations via Skype and has said IT will "completely change the way [doctors] deliver medicine."

6.3. Result Analysis


Doctor on-line is the one, which provides direct communication with the client where he gets a remedy for his problem automatically by responding to small combination of queries. The client can also consult a doctor online, where he is charged for each consultation. There should be doctor for each department. The mail to the related diseases should reach a valid department mailbox. Every online suggestion must be charged by credit card only. The auto system should generate a remedy, which is quickly applicable

6.4. Conclusion
The view of the application is provided which depicts the aim of the project. Every key function in the application is been described and its corresponding screen shots are also been displayed to provide both theoretical and practical appearance

Department of CSE

61

TKRCET

Doctor Online

7. TESTING AND VALIDATION


7.1. Introduction
Testing is the major quality control measure employed for software development. Its basic function is to detect errors in the software. During requirement analysis and design, the output is documented that is usually textual and non-textual. After the coding phase, computer programs are available that can be executed for testing purpose. This implies that testing has to uncover errors introduced during coding phases. Thus, the goal of testing is to cover requirement, design, or coding errors in the program. The starting point of testing is unit testing. The purpose is to exercise the different parts of the module code to detect coding errors. After this the modules are gradually integrated into subsystems, which are then integrated themselves too eventually forming the entire system. After the system was put together, system testing is performed. Finally acceptance testing is performed to demonstrate to the client for the operation of the system. For the testing to be successful, proper selection of the test case is essential. There are two different approaches for selecting test case. The software or the module to be tested is treated as a black box, and the test cases are decided based on the specifications of the system or module. For this reason, this form of testing is also called black box testing. The focus here is on testing the external behavior of the system. In structural testing the test cases are decided based on the logic of the module to be tested. A common approach here is to achieve some type of coverage of the statements in the code. The two forms of testing are complementary: one tests the external behavior, the other tests the internal structure. Often structural testing is used for lower levels of testing, while functional testing is used for higher levels.

Department of CSE

62

TKRCET

Doctor Online

Testing is an extremely critical and time-consuming activity. It requires proper planning of the overall testing process. Frequently the testing process starts with the test plan. This plan identifies all testing related activities that must be performed and specifies the schedule, allocates the resources, and specifies guidelines for testing. The test plan specifies conditions that should be tested; different units to be tested, and the manner in which the module will be integrated together. During the testing of the unit the specified test cases are executed and the actual results are compared with the expected outputs. The final output of the testing phase is the testing report and the error report, or a set of such reports. Each test report contains a set of test cases and the result of executing the code with the test cases. The error report describes the errors encountered and the action taken to remove the error.

7.2. Testing Methodologies


Testing is a process, which reveals errors in the program. During testing, the program is executed with a set of conditions known as test cases and the output is evaluated to determine whether the program is performing as expected. 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.Each module can be tested using the following two strategies:

Department of CSE

63

TKRCET

Doctor Online

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 Execute internal data structures to ensure their validity. Integration Testing Integration testing ensures that software and subsystems work together as a whole. It tests the interface of all the modules to make sure that the modules behave properly when integrated together. System Testing

Department of CSE

64

TKRCET

Doctor Online System Testing involves in-house testing of the entire system before delivery to the user. Its 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. Validation Testing The system has been tested and implemented successfully and thus ensured that all the requirements as listed in the software requirements specification are completely fulfilled. In case of erroneous input corresponding error messages are displayed. Compiling Test It was a good idea to do our stress testing early on, because it gave us time to fix some of the unexpected deadlocks and stability problems that only occurred when components were exposed to very high transaction volumes. Execution Test This program was successfully loaded and executed. Because of good programming there were no execution errors. Output Test The successful output screens are placed in the output screens section above.

7.3. Designing Test Cases


A test case is a detailed procedure that fully tests a feature or an aspect of a feature. Whereas the test plan describes what to test, a test case describes how to perform a particular test. You need to develop a test case for each test listed in the test plan. Figure illustrates the point at which test case design occurs in the lab development and testing process. Department of CSE 65 TKRCET

Doctor Online

Figure 7.3: Test cases

The Design Test Cases has the following steps: The purpose of the test. Special hardware requirements, such as modem. Special software requirements, such as a tool. Specific setup or configuration requirements A description of how to perform the test. The expected results or success criteria for the test. Department of CSE 66 TKRCET

Doctor Online

Test cases should be written by a team member who understands the function or technology being tested, and each test case should be submitted for peer review. In detailed test cases, the steps describe exactly how to perform the test. In descriptive test cases, the tester decides at the time of the test how to perform the test and what data to use. Mostly one prefers detailed test cases because determining pass or fail criteria is usually easier with this type of case. In addition, detailed test cases are reproducible and are easier to automate than descriptive test cases. This is particularly important if you plan to compare the results of tests over time, such as when you are optimizing configurations. Detailed test cases are more time-consuming to develop and maintain. On the other hand, test cases that are open to interpretation are not repeatable and can require debugging, consuming time that would be better spent on testing. Test Cases & Reports Table 7.3: Test Cases & Reports Observed Behavior Status P = Passed F = Failed P

Test Input case No. The 1

Expected Behavior Bank-Official The system should give account

takes the data from the number related to the branch -Docustomer and gives it name and account type. to the system. Enter the branch name The system doesnt create an

or account type, which account number and gives an is presently doesnt error message. -DoP available in this bank. Check the related It should contain the data about

database.

the related branches, account 67 TKRCET

Department of CSE

Doctor Online type and new account holders -Doinformation P

Give

this

account Our application should generate P

number to the admin userid and password. These are -Dodepartment. used to do the net banking. Enter this userid and If these userid and passwords are 5 password in the related correct then the user enters into fields after open the the transactions page. Otherwise -Dobanks website. the system will generate error message like: your password is incorrect. The user clicks the bill When the user selects this option 6 payment option to pay one window will open contain the bills. the related fields. Like: dptacno, bill no. The user enters the Our application should check the 7 department account bill amount with our balance number, bill number, amount. If users bill amount is amount and click the less than balance then pay bill. pay button. Otherwise one error message -Dowill generate like: money not sufficient in your account. -Do-

P The customer login to Account number related to that 8 the transaction page. userid and password generated is and automatically field. -DoP

appears in the account number

Department of CSE

68

TKRCET

Doctor Online

7.4. Validation
Validation is a confirmation or careful examination of the systemhardware or software, ensures that the system meets the exact user needs and that is suitable for its intended purpose. There are typically two types of projects: those that are validated and those that arent. Generally, any system that performs regulated/critical operations should be validated. The type of validation will vary depending upon the critical nature and architecture of the application developed specifically for the proposed client. Since software is usually part of a larger hardware system, the validation of software typically includes evidence that all software requirements have been implemented correctly and completely and is traceable to system requirements.

Reasons for Validation


Validation is a critical tool for systems compliance and is undertaken primarily for three main reasons: To satisfy any regulatory requirements. To minimize costs to a project

7.5. Conclusion
Testing is the major quality measure employed during software development. The final output of the testing phase is the testing report and the error report, or a set of such reports. Each test report contains a set of test cases and the result of executing the code with the test cases. The conclusion that software is validated is highly dependent upon comprehensive software testing, inspections, analyses, and other verification tasks performed at each stage of the software development life cycle.

Department of CSE

69

TKRCET

Doctor Online

8. EXPERIMENTAL RESULTS
8.1 Screenshots
Screen 8.1.1: Home Page

Screen 8.1.2: Login Page

Department of CSE

70

TKRCET

Doctor Online

Screen 8.1.3: New User Creation

Screen 8.1.4: Manager Main Page

Department of CSE

71

TKRCET

Doctor Online

Screen 8.1.5: Reports of All Users

Screen 8.1.6: Official Main Page Department of CSE 72 TKRCET

Doctor Online

Screen 8.1.7: To Modify User

Department of CSE

73

TKRCET

Doctor Online Screen 8.1.8: To Delete User

Screen 8.1.9: To Create New Disease

Department of CSE

74

TKRCET

Doctor Online Screen 8.1.10: To Create Today Schedule

Screen 8.1.11: To View Available Doctors

Department of CSE

75

TKRCET

Doctor Online Screen 8.1.12: To Send Message

Screen 8.1.13: Doctor Main Page

Department of CSE

76

TKRCET

Doctor Online

Screen 8.1.14: Client Main Page

Screen 8.1.15: To View Faqs Department of CSE 77 TKRCET

Doctor Online

Screen 8.1.16: To Take Appointment

Department of CSE

78

TKRCET

Doctor Online

9. CONCLUSION
Doctor Online provides a website where a client directly goes for online consulting a doctoring case of urgency. This should respond automatically for small questions from clients where he will find better suggestions when any health problems occur. This all suggestion, which come from online where the client will be charged for each consultation. This system is limited to Answering to simple Queries and consulting the doctor on-line it is not meant for serious problems and fixing of personnel appointment with the doctor. The Administrator enters into the web site by entering the user Id and password into the Administrator login screen. Official enters into the site after login through Official login screen, by entering user name and password. When the Manger clicks the ok button in the login screen after entering the username then username and password is checked with the database for validity. Doctor enters into the web site by Entering his User Id and password by checking his authentication. Doctor on-line is the one, which provides direct communication with the client where he gets a remedy for his problem automatically by responding to small combination of queries. Generating different business reports is also possible

Department of CSE

79

TKRCET

Doctor Online

10. BIBLIOGRAPHY

The Complete Reference HTML, Thomas A. Powell , Third Edition Mastering Java Script, Tech Media Publication, Fourth Edition The Complete Reference JAVA, Herbert schildt, Seventh Edition

Core Servlet and JSP, Sun Press, Second Edition Java Network programming, Rusty Harod, third edition Software Engineering, Pressman, Sixth Edition Analysis & Design of Information, James A. Senn, Second Edition An Introduction to Database Systems ,C .J. Date, Eight Edition

Department of CSE

80

TKRCET

Doctor Online

Department of CSE

81

TKRCET

Doctor Online

Department of CSE

82

TKRCET

Doctor Online

Department of CSE

83

TKRCET

Doctor Online

Department of CSE

84

TKRCET

You might also like