This action might not be possible to undo. Are you sure you want to continue?
This system is basically concerned with the reservation and cancellation of bus tickets to the passengers. The need of this system arose because as is the known fact that India has the large roadway network in the world and to handle it manually is quite a tough job. By computerizing it, we will be able to overcome many of its limitations and will be able to make it more efficient. The handling of data and records for such a vast system is a very complex task if done manually but it can be made much easier if the system is computerized. Existing manual system : The system is very time consuming and lazy. This system is more prone to errors and sometimes the approach to various problems is unstructured. Proposed online system : With the advent of latest technology if we do not update our system then our business result in losses gradually with time. The technical systems contains the tools of latest trend i.e. computers printers, fax, Internet etc. The systems with this technology are very fast, accurate, user-friendly and reliable. Advantages: Is accessed through your existing web site Allows customers to book a confirmed reservation without Reservations Desk assistance Closes more sales with instant price and availability confirmation Saves Reservation Desk labor Saves third party commissions and fees
SYSTEM DEVELOPMENT LIFE CYCLE The systems development life cycle is a project management technique that divides complex projects into smaller, more easily managed segments or phases. Segmenting projects allows managers to verify the successful completion of project phases before allocating resources to subsequent phases. Software development projects typically include initiation, planning, design, development, testing, implementation, and maintenance phases. However, the phases may be divided differently depending on the organization involved. For example, initial project activities might be designated as request, requirements-definition, and planning phases, or initiation, conceptdevelopment, and planning phases. End users of the system under development should be involved in reviewing the output of each phase to ensure the system is being built to deliver the needed functionality.
1. 2. 2. and a concept of operations.e. -. data models.Netbeans --SQL .. critical success factors. Operating System Front-End Back-End Editor Data retrieval quarries – Microsoft Windows XP With Service Pack 2 – HTML. process models.2. objectives. 5. 4.JSP – JSTL. • Establish system boundaries. will a change in the business process offer a solution? System Concept Development Phase • Determine the feasibility and appropriateness of the alternatives.J2EE.4GH 2. and • Develop high-level technical architecture. 3. Hardware Requirements Processor RAM Hard Disk Processor Speed – Pentium 4 – 512 MB – 40GB – 2. • Identify basic functional and data requirements to satisfy the business need. • Evaluate costs and benefits of alternative approaches to satisfy the basic functional requirements • Assess project risks • Identify and initiate risk mitigation actions. Software Specifications: 1. identify goals. Recommend the exploration of alternative concepts and methods to satisfy the need including questioning the need for technology. and performance measures. TECHNOLOGICAL OVERVIEW 2. i. • Identify system interfaces.Phases Of System Development Life Cycle Identify significant assumptions and constraints on solutions to that need.Oracle 10g.
it also dramatically cuts down on bugs. These devices are small. We use a standard set of them in describing Java. distributed. Initially these were just compiler technology problems. Java started as a part of a larger project to develop advanced software for consumer electronics. object-oriented. and extensive automatic coercions. Archimedes Inc. robust. we designed Java as closely to C++ as possible in order to make the system more comprehensible. poorly understood. confusing features of C++ that in our experience bring more grief than benefit. thereby simplifying the task of Java programming but making the system somewhat more complicated. Most programmers working these days use C. but as time passed more problems emerged that were best solved by changing the language. So even though we found that C++ was unsuitable. high-performance. Simple We wanted to build a system that could be programmed easily without a lot of esoteric training and which leveraged today's standard practice. portable. architecture neutral. network-savvy.3. and most programmers doing object-oriented programming use C++. reliable. is a fictitious software company that produces software to teach about basic physics. This software is designed to interact with the user. These omitted features primarily consist of operator overloading (although the Java language does have method overloading). JAVA OVERVIEW Introduction The Java programming language and environment is designed to solve a number of problems in modern programming practice. interpreted. We added automatic garbage collection. dynamic language. providing not only text and illustrations in the manner of a traditional textbook. multiple inheritance. portable. Java Java: A simple. Java omits many rarely used. but also a set of software lab benches on which experiments can be set up and their behavior simulated. Here's an explanation of what we mean by those buzzwords and the problems we were trying to solve. A common source of complexity in many C and C++ applications is storage management: the allocation and freeing of memory. . real-time embedded systems. When we started the project we intended to use C++. secure. but encountered a number of problems. By virtue of having automatic garbage collection (periodic freeing of memory not being referenced) the Java language not only makes the programming task easier. One way to characterize a system is with a set of buzzwords. multithreaded. The most basic experiment allows students to put together levers and pulleys and see how they act. The italicized narrative of the trials and tribulations of the Archimedes' designers is used here to provide examples of Java language concepts.
but instead spent a lot of time on mundane programming tasks. One of the most complicated of these programming tasks was figuring out where memory was being wasted across their 20K lines of code. rather than writing a whole new object simulation. and secondarily with the tools used to make it. it was a snap because they could build on what had been written before. A small size is important for use in embedded systems and so Java can be easily downloaded over the net. But they had some ideas for interactive learning games that they wanted to try out for their next product. For example. But all the networking systems they'd seen were complicated and required esoteric software specialists. Another aspect of being simple is being small.The folks at Archimedes wanted to spend their time thinking about levers and pulleys. But objectoriented design is very powerful because it facilitates the clean definition of interfaces and makes it possible to provide reusable "software ICs. with extensions from Objective C for more dynamic method resolution. among them ropes and elastic bands. When it came time to add chains. object-oriented design is a technique that focuses design on the data (=objects) and on the interfaces to it. The folks at Archimedes initially built their stuff for CD ROM. Network-Savvy Java has an extensive library of routines for coping easily with TCP/IP protocols like HTTP and FTP. Objectoriented design is also the mechanism for defining how modules "plug and play." Simply stated. One of the goals of Java is to enable the construction of software that can run stand-alone in small machines. In their initial C version of the product. To make an analogy with carpentry. a "non-object-oriented" carpenter would think primarily of his tools. Object-Oriented This is. they ended up with a pretty big system because they had to write separate software for describing ropes versus elastic bands. This makes creating network connections much easier than in C or C++. not programming. they wanted to allow students on different computers to cooperate in building a machine to be simulated. The Java interpreter and standard libraries have a small footprint. The folks at Archimedes had lots of things in their simulation. When they rewrote their application in an object-oriented style. they found they could define one basic object that represented the common aspects of ropes and elastic bands. and then ropes and elastic bands were defined as variations (subclasses) of the basic type. unfortunately. one of the most overused buzzwords in the industry. So they gave up. an "object-oriented" carpenter would be mostly concerned with the chair he was building. Their central expertise was teaching." The object-oriented facilities of Java are essentially those of C++. . Java applications can open and access objects across the net via URLs with the same ease that programmers are used to when accessing a local file system.
In Java. They also had to reissue their software after the first release because of all the bugs that slipped through. The linker understands the type system and repeats many of the type checks done by the compiler to guard against version mismatch problems. Java programmers can be relatively fearless about dealing with memory because they don't have to worry about it getting corrupted. In addition. One of the advantages of a strongly typed language (like C++) is that it allows extensive compile-time checking so bugs can be found early. you are informed about it at compile time. Unfortunately. Java puts a lot of emphasis on early checking for possible problems. they paid for in quality assurance time. Java programs also cannot gain unauthorized access to memory. versions out-of-sync and interface mismatches. which is relatively lax (particularly method/procedure declarations). They had lots of trouble with memory corruption. TCL and Smalltalk are often used for prototyping. While Java doesn't make the QA problem go away. Java forces you to make choices explicitly because it has static typing. But their schedule kept slipping because of all the small bugs that kept slipping through. What they gained because C let them pull strange tricks in their code. programs can't accidentally overwrite the end of a memory buffer. The single biggest difference between Java and C/C++ is that Java has a pointer model that eliminates the possibility of overwriting memory and corrupting data. The folks at Archimedes had their application basically working in C pretty quickly. which could happen in C or C++. it does make it significantly easier. later dynamic (runtime) checking. we require declarations and do not support C-style implicit declarations. and eliminating situations that are error prone. it is not possible to turn an arbitrary integer into a pointer by casting. . C++ inherits a number of loopholes in compile-time checking from C. One of the reasons for their success at this is that they are very robust: you don't have to worry about freeing or corrupting memory. Very dynamic languages like Lisp. which the compiler enforces. You don't have to worry about method invocation error. Because there are no pointers in Java. Java uses another approach to solve this dilemma. Java has true arrays. This allows subscript checking to be performed.Robust Java is intended for writing programs that must be reliable in a variety of ways. One reason that dynamic languages are good for prototyping is that they don't require you to pin down decisions too early. Instead of pointer arithmetic. Along with these choices comes a lot of assistance: you can write method invocations and if you get something wrong.
Secure Java is intended for use in networked/distributed environments. With the PC market (through Windows/NT) diversifying into many CPU architectures. when thousands of folks discovered rude pictures popping up in their children's lessons. Java enables the construction of virus-free. the folks at Archimedes still had a lot of damage to control. Portable Being architecture neutral is a big chunk of being portable.. the same version of the application runs on all platforms. even though they were in no way responsible for the incident. This closes the door on most activities of viruses. but there's more to it than that.. lots of people downloaded it. and a competitor jumped in. Archimedes is a small company. The Java compiler does this by generating bytecode instructions which have nothing to do with a particular computer architecture. The . They posted this patch to one of the major bulletin boards. Rather. they were a large enough company that they could afford to do a port to the Macintosh. They couldn't afford to port to the PowerPC Macintosh or MIPS NT machine. They couldn't "catch the new wave" as it was happening. tamper-free systems." For example. To enable a Java application to execute anywhere on the network. Since it was easily available and added some interesting features to the system. production of software that runs on all platforms becomes nearly impossible. given the presence of the Java runtime system. With Java. but it was a pretty big effort and didn't really pay off. The authentication techniques are based on public-key encryption. Someone wrote an interesting "patch" to the PC version of the Archimedes system. In general. a lot of emphasis has been placed on security. In the present personal computer market. Architecture Neutral Java was designed to support applications on networks. but it seemed to work. Unlike C and C++. the changes to the semantics of pointers make it impossible for applications to forge access to data structures or to access private data in objects that they do not have access to. After a while. It hadn't been checked out by the folks at Archimedes. Until the next April 1st. the compiler generates an architectureneutral object file format--the compiled code is executable on many processors. they are designed to be both easy to interpret on any machine and easily translated into native machine code on the fly. Needless to say. networks are composed of a variety of systems with a variety of CPU and operating system architectures. and Apple moving off the 680x0 toward the PowerPC. application writers have to produce versions of their application that are compatible with the IBM PC and with the Apple Macintosh. This is useful not only for networks but also for single system software distribution. Toward that end. They started out producing their software for the PC since that was the largest market. there are no "implementation dependent" aspects of the specification. There is a strong interplay between "robust" and "secure.
000 method calls per second on an Sun Microsystems SPARCStation 10. For example. The performance of bytecodes converted to machine code is almost indistinguishable from native C or C++. "int" always means a signed two's complement 32 bit integer. This impressed the investors enough that they got funded. they did a prototype in Smalltalk. They also spent a lot of time tracking down senseless bugs because some changed source files didn't get compiled (despite using a fancy "make" facility). there is an abstract Window class and implementations of it for Unix. Efficient code is produced: the compiler does automatic register allocation and some optimization when it produces the bytecodes. The bytecodes can be translated on the fly (at runtime) into machine code for the particular CPU the application is running on. as is the behavior of arithmetic on them. and the Macintosh. The Java system itself is quite portable. Windows NT/95. which caused version mismatches.sizes of the primitive data types are specified. The compiler is written in Java and the runtime is written in ANSI C with a clean portability boundary. As a part of the bytecode stream. The libraries that are a part of the system define portable interfaces. so the actual process of generating machine code is generally simple. In interpreted code we're getting about 300. High Performance While the performance of interpreted bytecodes is usually more than adequate. And since linking is a more incremental and lightweight process. this is somewhat like putting the final machine code generator in the dynamic loader. When Archimedes was starting up. and they had to track down procedures that were declared inconsistently in various parts of their programs. and "float" always means a 32-bit IEEE 754 floating point number. The portability boundary is essentially a POSIX subset. more compile-time information is carried over and available at runtime. there are situations where higher performance is required. it had to be rewritten in C. Another couple of months lost in the schedule. For example. The bytecode format was designed with generating machine codes in mind. the development process can be much more rapid and exploratory. For those accustomed to the normal design of a compiler and dynamic loader. The programmers at Archimedes spent a lot of time waiting for programs to compile and link. Making these choices is feasible in this day and age because essentially all interesting CPUs share these characteristics. Interpreted Java bytecodes are translated on the fly to native machine instructions (interpreted) and not stored anywhere. . This is what the linker's type checks are based on. It also makes programs more amenable to debugging. but it didn't really help them produce their product: in order to make their simulations fast enough and the system small enough.
It is possible to avoid this problem in C++. Because they had to write all this in a single threaded form. then if A changes its library and distributes a new release. all the things that happen at the same time. Lots of things were going on at once in their simulations. For example. By integrating these concepts into the language (rather than only in classes) they become much easier to use and are more robust. It was designed to adapt to an evolving environment. but it is extraordinarily difficult and it effectively means not using any of the language's OO features directly. Running on top of other systems like Unix. Windows. Dynamic In a number of ways.A. B will almost certainly have to recompile and redistribute their own software. Ropes were being pulled. and input from the user was being tracked. In an environment where the end user gets A and B's software independently (say A is an OS vendor and B is an application vendor) problems can result. but it was still a mess. Using an "event loop" made things a little cleaner. Much of the style of this integration came from Xerox's Cedar/Mesa system. When they converted to a multithreaded style.Multithreaded There are many things going on at the same time in the world around us.Hoare. The system became fragile and hard to understand. If company A produces a class library (a library of plug and play components) and company B buys it and uses it in their product. had to be manually intermixed. writing programs that deal with many things happening at once can be much more difficult than writing in the conventional single-threaded C and C++ style. They were pulling in data from all over the net. even though they had nothing to do with each other. however. This is limited. levers were rocking. This serialized network communication was very slow. the Macintosh. then all of the software from B will break. But originally they were doing it one chunk at a time.R. or Windows NT limits the real-time responsiveness to that of the underlying system. if A distributes an upgrade to its libraries. . wheels were turning. For example. it was trivial to overlap all of their network communication. Other benefits of multithreading are better interactive responsiveness and real-time behavior. by the underlying platform: stand-alone Java runtime environments have good real-time behavior. one major problem with C++ in a production environment is a side-effect of the way that code is implemented. Multithreading is a way of building applications with multiple threads Unfortunately. Java is a more dynamic language than C or C++. Java has a sophisticated set of synchronization primitives that are based on the widely used monitor and condition variable paradigm introduced by C.
Java completely avoids these problems and makes the use of the object-oriented paradigm much more straightforward. instances of which contain runtime class definitions. Because casts are checked at both compile-time and runtime. They had to hire a couple of new programmers because it was so complicated. in a C or C++ program. finding out based on the runtime type information is straightforward. because compiled Java code is architecture-neutral.and operating system- . Libraries can freely add new methods and instance variables without any effect on their clients. there is no way to find out. This also added problems when debugging. in Java. but just barely.) By making these interconnections between modules later. (In real life. backwards compatibility isn't always a high priority in the Unix world. Java applications are ideal for a diverse environment like the Internet. you can trust a cast in Java. the folks at Archimedes wanted to architect their product so that new aftermarket plug-in modules could be added to extend the system. In the PC world. Interfaces promote flexibility and reusability in code by connecting objects in terms of what they can do rather than how they do it. JAVA VIRTUAL MACHINE The Java virtual machine is the cornerstone of the Java and Java 2 platforms. Summary The Java language provides a powerful addition to the tools that programmers have at their disposal. A class implements an interface by implementing all the methods contained in the interface. 3DPC would never have released such a library: their ability to change their product and use C++'s object oriented features is severely hindered because they can't expect their customers to recompile. In contrast. This means that you can compute a data type name and have it easily dynamically-linked into the running system. inheritance by subclassing passes both a set of methods and their implementations from superclass to subclass. Customers of Archimedes that bought these new machines discovered to their dismay that their old software no longer worked. Java makes programming easier because it is object-oriented and has automatic garbage collection. However. A Java class can implement multiple interfaces but can only inherit from a single superclass. 3DPC released a new version of the graphics library which several computer manufacturers bundled with their new machines. In addition. On the other hand. To expand their revenue stream. It is also possible to look up the definition of a class given a string containing its name. If. Classes have a runtime representation: there is a class named Class. This was possible on the PC. the compiler just trusts that you're doing the right thing. you have a pointer to an object but you don't know what type of object it is. An interface specifies a set of methods that an object can perform but leaves open how the object should implement those methods.Archimedes built their product using the object-oriented graphics library from 3DPC Inc. in C and C++. It is the component of the technology responsible for its hardware.
and others. emulate the Java virtual machine on Win32 and Solaris hosts in much more sophisticated ways.OVERVIEW OF ORACLE 10g Oracle delivers a number of software products and facilities on the z/OS platform. the small size of its compiled code. These include Oracle Export and Import for transporting database objects. but can just as well be implemented by compiling its instruction set to that of a silicon CPU. . What follows are overviews of the Oracle product set on z/OS organized by functional category. The first prototype implementation of the Java virtual machine. Inc. implementors of other languages are turning to the Java virtual machine as a delivery vehicle for their languages. It is not inherently interpreted.independence. it has an instruction set and manipulates various memory areas at run time. 3GL application development and deployment facilities. the Java virtual machine does not assume any particular implementation technology. Like the Oracle database server. including its core relational database server. However. Like a real computing machine. host hardware. components of its JavaTM 2 SDK and JavaTM 2 Runtime Environment products. and integration products unique to the platform. the best-known virtual machine may be the P-Code machine of UCSD Pascal. the Java virtual machine imposes strong format and structural constraints on the code in a class file. the class file format. However. SQL*Plus for ad hoc SQL and reporting. emulated the Java virtual machine instruction set in software hosted by a handheld device that resembled a contemporary Personal Digital Assistant (PDA). Attracted by a generally available. and DB2 to participate in an Oracle Database application. Tools and Utilities Tool and utility programs are associated with the Oracle database server for various purposes. 4. only of a particular binary format. Linux. networking features. SQL*Loader for high-speed database table loading. as well as other ancillary information. It may also be implemented in microcode or directly in silicon. any language with functionality that can be expressed in terms of a validclass file can be hosted by the Java virtual machine. For the sake of security. machine-independent platform. done at Sun Microsystems. the z/OS versions of these tools and utilities are compiled from the same common code base and function in the same way as their counterparts on other Oracle platforms. and its ability to protect users from malicious programs. The Java virtual machine knows nothing of the Java programming language. and other systems on which the Oracle database runs. Sun's current Java virtual machine implementations. The Java virtual machine is an abstract computing machine. This set of products and facilities allows z/OS systems to host the same Oracle platform as UNIX. related tools and utilities. IMS TM.. A class file contains Java virtual machine instructions (or bytecodes) and a symbol table. The integration products allow widely used z/OS components such as CICS TS. It is reasonably common to implement a programming language using a virtual machine. or host operating system.
OCI applications can be built to run in batch and TSO or as z/OS POSIX programs. OCI applications are not supported in CICS TS or IMS TM. Oracle tools and utilities can access a local (z/OS) or remote (any platform) Oracle database server with equal ease. As discussed in the following section. you can run SQL*Loader on z/OS and have it load data from a z/OS VSAM data set into an Oracle database server running on UNIX or Linux. the same tool or utility executable (program object) is used. and Oracle API calls to access an Oracle database server. Pro*COBOL. most Oracle tools and utilities can run in traditional MVS environments (batch job and native TSO) as well as the z/OS POSIX environments such as a Telnet z/OS UNIX System Services shell session or the OMVS shell in TSO. Access Managers must be installed and configured with their respective IBM transaction manager before Oracle-accessing transactions are run. executable statements. they exhibit UNIX-like behavior and typically access Hierarchical File System (HFS) files. Access Managers Application execution under CICS TS or IMS TM requires the use of an Oracle integration product called an Access Manager. in CICS TS and IMS TM transaction environments. you write a C or C++ language program that makes calls to specific functions to perform specific operations in the Oracle server. A few OCI features utilize POSIX threading and so require a POSIX environment. However. In z/OS POSIX environments. Oracle tools and utilities are also provided in a client-only install on z/OS. With OCI.On z/OS. On z/OS. In the traditional environments they behave like typical MVS utility programs including the use of DD and data set names for input and output files and support for TSO Command Processor (CP) invocation. While more complex to use than the precompilers. Precompiler applications can run in a native z/OS batch or TSO address space. or in a z/OS POSIX environment such as a TSO OMVS shell or login shell. Output from the precompiler is input to a supported IBM language compiler and ultimately to the z/OS binder (linkage editor) to produce an executable load module or program object. in both types of environments. For example. The Access Managers provide coordination between Oracle database updates and commit or rollback processing in the respective transaction manager. . Although associated with the Oracle database server. Application Development Support for 3GL application development on z/OS is provided by Oracle Precompilers: Pro*C. and Pro*PL/I. These products read source code containing imbedded EXEC SQL directives and translate the directives into appropriate data declarations. OCI provides access to all features of the Oracle database server. This allows you to write transaction programs that update both Oracle resources and non-Oracle resources (such as VSAM or IMS/DB data) with full two-phase commit integrity. Oracle Call Interface In addition to the precompiler products. an API called Oracle Call Interface (OCI) can be used to develop 3GL Oracle applications on z/OS.
the actions provided in the JSTL should suit a wide audience. we are closer to reaching that clean division of labor.No more creating your own iteration action for the tenth time. To sum up for now. the layout of the JSTL is straightforward. These tag libraries provide a wide range of custom action functionality that most JSP authors have found themselves in need of in the past.3 specifications. The page author is the person who builds the JSP pages. the functionality for each set of actions is apparent and makes more sense. but will allow you to concentrate on good design and implementation practices in your pages. it is actually composed of four separate tag libraries: Core XML manipulation SQL Internationalization and formatting These libraries are defined by the Tag Library Descriptor files. JSR-52 covers the creation of a standard tag library for JavaServer Pages and allows this library to be available to all compliant JSP containers. There has always been a need (although not a requirement) that the page authors have some understanding of a programming language (usually Java)in order to create complex pages. This set of common functionality has come about through the input of the various members of the expert group. Using the JSTL will not only make your JSPs more readable and maintainable. We can finally take the ‘custom' out of custom action and replace it with ‘standard' . Additionally. While the JSTL is commonly referred to as a single tag library. your favorite Integrated Development Environment (IDE) that supports JSP authoring will now support these standard actions and can assist the JSP page author in rapid development. The functional areas in the JSTL help page authors identify what type of functionality they need and where they can find it. The JSTL is a set of custom actions that is based on the JSP 1. Using the tags provided in the JSTL. Using separate TLDs to expose the tags.5. Using separate TLDs also allows each library to have its own namespace. The overriding theme throughout the JSTL is simplifying the life of the page author. Having a defined specification for how the functionality is implemented means that a page author can learn these custom actions once and then use and reuse them on all future products on all application containers that support the specification. This dilemma is what has hampered the true role separation between the JSP page author and the Java programmer. Functional Overview The JSTL encapsulates common functionality that a typical JSP author would encounter.2 and Servlet 2. The JSTL came about under JSR-52 of the Java Community Process (JCP). .AN OVERVIEW OF JSTL JSTL is the JSP Standard Tag Library. Since this expert group has a good cross section of JSP authors and users.
Today. server-side modules that fit seamlessly into a Web server framework and can be used to extend the capabilities of a Web server with minimal overhead. Sun Java System Application Server. As part of the Java technology family. JSP technology uses XML-like tags that encapsulate the logic that generates the content for the page. maintenance. ease of administration. separation of logic from display. enhanced performance. ease of use. information-rich. HTML or the Hyper Text Markup Language. . HTML tags are used to denote various text-based information of a webpage as paragraphs. Unlike other scripting languages. to the part of the system that needs them.6. JSP technology separates the user interface from content generation. is a markup language for Web pages. enabling designers to change the overall page layout without altering the underlying dynamic content. The application logic can reside in server-based resources (such asJavaBeans component architecture) that the page accesses with these tags. The question that arises here. Third-party servlet containers are available for Apache Web Server. extensibility into the enterprise. Various HTML tags can also be used to supplement the text with images. forms and other objects. By separating the page logic from its design and display and supporting a reusable component-based design. and support. the answer is HTML. Together. as its name suggests. Any and all formatting (HTML or XML) tags are passed directly back to the response page. Servlets are platform-independent. they are application components that are downloaded. JSP technology makes it faster and easier than ever to build Web-based applications. The markup tags of HTML define the structure of the text-based information of a web page. Servlet containers are usually a component of Web and application servers. on demand. JavaServer Pages technology is an extension of the Java Servlet technology. that How to Manage or Define the Structure of all Text-Based Information on a particular web page? Well. Sun Java System Web Server. 7. for a lay man would be. Microsoft IIS. JSP technology and servlets provide an attractive alternative to other types of dynamic Web scripting/programming by offering: platform independence. and others. links. Today servlets are a popular choice for building interactive Web applications. IBM WebSphere. most importantly.AN OVERVIEW OF JSP JavaServer Pages (JSP) technology enables Web developers and designers to rapidly develop and easily maintain. and. such as BEA WebLogic Application Server. bullet points etc. servlets involve no platformspecific consideration or modifications. dynamic Web pages that leverage existing business systems. the most important component of any web page is the text-based information that it contains. HTML OVERVIEW Developed by the World Wide Web Consortium. headings. and others. JSP technology enables rapid development of Web-based applications that are platform independent.
WHAT EACH USER CAN DO 1) ADMIN/OWNER of application: a. g. He should be able to reserve a bus ticket. He should be able to cancel the reserved bus ticket. There will be no ‘Make Payment’ option for him. He should be able to add new source/destinations. 3) GENERAL USER/CUSTOMER/TRAVELLER: a. He should be able to reserve a bus ticket. He cannot reserve the ticket until he makes the payment. There will be no ‘Make Payment’ option for him. He should be able to add new operators. b. He should be able to add new luxury types. b. He should be able to add new travels to the system. b. He should be able to add new buses being operated by the existing travels. f. . h. He should be able to cancel the reserved bus ticket. He should first register to book/reserve a ticket. d.Needs of Airlines system A few factors that directs us to develop a new system are given below -: 1) 2) 3) 4) 5) Faster System Accuracy Reliability Informative Reservations and cancellations from any where to any place 8. He should be able to cancel a particular bus route e. 2) OPERATOR: a. c. He should be able to reserve the bus ticket from his home.
. DIAGRAMS Context Diagram The context diagram shows the interaction between the external entities and the system.9. Here we don’t deal with the internal sub pocesses of the system.
Data Flow Diagram .
with respect to the context in which it is intended to operate. Software Testing also provides an objective. Software Testing. independent view of the software to allow the business to appreciate and understand the risks at implementation of the software. These two approaches are used to describe the point of view that a test engineer takes when designing test cases. It can also be stated as the process of validating and verifying that a software program/application/product meets the business and technical requirements that guided its design and development. Testing methods Software testing methods are traditionally divided into black box testing and white box testing. the process of executing a program or application with the intent of finding software bugs. . can be implemented at any time in the development process. but are not limited to. however the most test effort is employed after the requirements have been defined and coding process has been completed. Test techniques include.TESTING Software Testing is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test . depending on the testing method employed. so that it works as expected and can be implemented with the same characteristics.Entity Relationship Diagram The entity relationship diagram shows the relationship between the entities. 10.
Testing of the application using Public and Private APIs. all-pairs testing.White box testing includes all static testing." on the other." because the tester doesn't know how the software being tested was actually constructed. For example.creating tests to satisfy some criteria of code coverage." black box testers find bugs where programmers don't. the test designer can create tests to cause all statements in the program to be executed at least once." without any knowledge of internal implementation. Thus. Black box testing methods include: equivalence partitioning. either "is" or "is not" the same as the expected value specified in the test case. but it is insufficient to guard against certain risks.Black box testing Black box testing treats the software as a "black box. static testing . black box testing has the advantage of "an unaffiliated opinion. traceability matrix. and the disadvantage of "blind exploring. the test object. White box testing White box testing. who then can simply verify that for a given input." on the one hand. Therefore. and only sees the output from. fault injection methods. exploratory testing and specification-based testing. the output value (or behavior). and/or (2) some parts of the back end are not tested at all. . This level of testing usually requires thorough test cases to be provided to the tester. "Ask and you shall receive. by contrast to black box testing. That's why there are situations when (1) a black box tester writes many test cases to check something that can be tested by only one test case. Specification-based testing Specification-based testing aims to test the functionality of software according to the applicable requirements. and a tester's perception is very simple: a code must have bugs. mutation testing methods. Specification-based testing is necessary. black box testing has been said to be "like a walk in a dark labyrinth without a flashlight. Advantages and disadvantages The black box tester has no "bonds" with the code. model-based testing. But. Using the principle. on the other hand. fuzz testing. code coverage . is when the tester has access to the internal data structures and algorithms (and the code that implement these) Types of white box testing :The following types of white box testing exist: api testing . boundary value analysis. the tester inputs data into.
html http://www.getdors.com/products/jsp/overview.net/java/master-java/index.roseindia.onressystems.shtml .com/ http://www. REFERENCES http://en.org/wiki/Computer_reservations_system http://www. So the program created is just an instance of the Original Online Railway Reservation System.com/journal/2003/09/AnIntroductionToJstl.javaranch. it can be concluded that Automated System is better than Manuel System (listed as various Advantages above) & this Automated System helps with significant facts & figures to take important decisions concerned with the various parameters of the business line.CONCLUSIONS Our project is only the gist of the online reservation system. 13.sun.html http://www. Due to time constraints it was not possible to incorporate all the concepts related to the topic.11.SNAPSHOTS 12.wikipedia.FUTURE ENHANCEMENTS 14. Based on the preparation & analysis of Automated Airline Reservation System.com/ http://java.