Top Banner
CHAPTER 1 1. INTRODUCTION 1.1 ABOUT THE PROJECT This project aims at development of an AIRLINE RESERVATION SYSTEM which facilitates the Airline customers to manage their reservations online, and the Airline administrators to modify the backend databases in a User-Friendly manner. The Customers are required to register on the server for getting access to the database and query result retrieval. Upon registration, each user has an account which is essentially the ‘view level’ for the customer. The account contains comprehensive information of the user entered during registration and permits the customer to get access to his past reservations, enquire about travel fare and availability of seats, make afresh reservations, update his account details, etc. The Airline Administrator is the second party in the transactions. The administrator is required to login using a master password, once authenticated as an administrator, one has access and right of modification to all the information stored in the database at the server. This includes the 1
88
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Online Quiz Report

CHAPTER 1

1. INTRODUCTION

1.1 ABOUT THE PROJECT

This project aims at development of an AIRLINE RESERVATION SYSTEM which

facilitates the Airline customers to manage their reservations online, and the Airline

administrators to modify the backend databases in a User-Friendly manner.

The Customers are required to register on the server for getting access to the database and

query result retrieval. Upon registration, each user has an account which is essentially the

‘view level’ for the customer. The account contains comprehensive information of the

user entered during registration and permits the customer to get access to his past

reservations, enquire about travel fare and availability of seats, make afresh reservations,

update his account details, etc.

The Airline Administrator is the second party in the transactions. The administrator is

required to login using a master password, once authenticated as an administrator, one

has access and right of modification to all the information stored in the database at the

server. This includes the account information of the customers, attributes and statistics,

description of the Airport and physical description of coaches, all the reservations that

have been made, etc. The Airline administrator has the right to modify any information

stored at the server database.

1

Page 2: Online Quiz Report

1.2. PURPOSE:

This project is used to

model the existing Airline/(other) reservation systems

provide a comprehensive set of features to enhance their operational limits

evaluate their performance in different scenarios

suggest modifications for greater efficiency

1.3 SCOPE:

Scope of this project is very broad in terms of other manually cheking yourself.

Few of them are:-

-This can be used in reservation as well as in corporate world.

-Can be used anywhere any time as it is a web based application (user Location doesn’t

matter). No restriction that user has to be present when the tickets are reserved.

2

Page 3: Online Quiz Report

CHAPTER 2

2. PROBLEM DEFINITION

2.1 EXISTING SYSTEM: The first problem is that there are loads of hard copied documents being generated. This

brings us to the age-old discussion of keeping information in the form databases. Keeping

the information in the form of hard-copied documents leads to the following problems.

2.2 DRAWBACKS OF EXISTING SYSTEM:I. Lack of space – It becomes a problem in itself to find space to keep the informations

being generated as a result of the ongoing discussion. The documents being generated

are too important to be ill-treated.

ii. Filing poses a problem – Filing the documents categorically is a time consuming and

tedious exercise.

iii. Filtering is not easy – It becomes hard to filter relevant datas for the irrelevant ones if

the count of the same crosses a certain manageable number.

iv. Reviewing becomes time-consuming – All the process done manually at the centers

and all the records are maintained on the documents. So the maintenance of the record is

very difficult in the departments and as well as it’s very difficult for the workers to check

the record. The Existing system is document based, time consuming, monotonous, less

flexible and provides a very hectic working schedule. The chance of loss of records is

high and also record searching is difficult. Maintenance of the system is also very

difficult and takes lot of time.

v. Result Processing: is slow due to hand work and requirement of staff.

3

Page 4: Online Quiz Report

2.3 PROPOSED SYSTEM:

This Web Application provides facility to conduct online reservation world wide.

It saves time as it allows number of users to book the tickets at any time and displays the

reservation as the information gets over, so no need to wait for the reservation. It is

automatically generated by the server. Administrator has a privilege to create, modify

and delete the informations and its particular informations. User can register, login and

give the information with his specific id, and can see the reservation as well.

2.4 FEATURES OF PROPOSED SYSTEM:

FUNCTIONAL CAPABILITIES: The ultimate aim of this project is to help the reservation and facilitate the user for easy reservation of the tickets.

The system shall display the set of informations with certain rules. It also displays the category for which the user wish to INFORMATION.

Once the user has completed choosing the category starts booking the information. The reservation is given and report is generated based on the correct informations.

PERFORMANCE LEVEL: The scope of this project gives immense opportunity for the users to reserve the flight tickets. It provides effective software so as to help the users as well as the administrator who are involved in administratoring performance.

DATA STRUCTURES: The data in this project are maintained in the tabular form using MYSQL in the form of database. It provides easy access to the user. Easy category informations are maintained in the database which provides easy for the user to access and choose the category.

SAFETY: No data loss occurs in the reservation system.

1. It is very much protected in such a way that it gives permission to the user to access only when the username and password is correct.2. The results are produced electronically so that nobody is prone to mistakes.

RELIABILITY: We assure that the project is completely authenticated in order to enhance security and corruptions of database as well as the software. The person is given access only if he/she has a valid username and password.

4

Page 5: Online Quiz Report

QUALITY: The project is developed with the help of visual basic 6.0 software which meets the requirement of the user, the project is checked whether the phases individually have a served its purpose.

2.5 FEASIBILITY STUDY:

What are the user’s demonstrable needs?

User needs a web-based system, which will remove all the above-mentioned Problems that, the user is facing. The user wants a web-based system, which will reduce the bulk of paperwork, provide ease of work, flexibility, fast record finding, modifying, adding, removing and generating the reports.

How can the problem be redefined?

We proposed our perception of the system, in accordance with the problems of existing system by making a full layout of the system on paper. We tallied the problems and needs by existing system and requirements. We were further updating in the layout in the basis of redefined the problems. In feasibility study phase we had undergone through various steps, which are described as under:

How feasible is the system proposed? This was analyzed by comparing the following

factors with both the existing system and proposed system.

Cost :The cost required in the proposed system is comparatively less to the existing

system.

Effort :Compared to the existing system the proposed system will provide a better working environment in which their will be ease of work and the effort required will be comparatively less than the existing system.

Time :Also the time required generating a report or for doing any other work will be

comparatively very less than in the existing system. Record finding and updating will take less time than the existing system.

Labor :In the existing system the number of staff required for completing the work is

more while the new system will require quite less number of staff.

5

Page 6: Online Quiz Report

CHAPTER 3

3. SOFTWARE REQUIREMENTS SPECIFICATION

3.1 INTERFACE REQUIREMENTS:

This section gives an overview functionality of the product. It describes the informal requirements and is used to establish a context for the technical requirements specification.

3.1.1 HARDWARE REQUIREMENTS:

Processor : Intel®core™2 duo

RAM : 4GB RAM

Hard disk : 20 GB or more

Storage capacity : 2.99GB

Monitor : HDMI

Keyboard : 104 Keys

Mouse : 2 buttons 3 button

3.1.2 SOFTWARE REQUIREMENTS:

Operating System : Windows 2007

Front end : visual basic6.0

Back end : MYSQL

Case tools : Rational Rose

6

Page 7: Online Quiz Report

3.2FRONT END

3.2.1 INTRODUCTION TO VISUAL BASIC6.0

Visual basic is most popular programming language in the world, and generally use as a front end for database application. There are some important reasons to use Visual Basic rather than others.

Capability: VB is capable of producing software as sophisticated as any of the others data-access techniques available. There is little you can do in say, Developer 2000 that cannot be implemented equally well with ADO or OO4O.

Flexibility: You do not have to use VB for only database access. You can use it to write a text processor, an e-mail listener, or 10,000 other tasks.

Familiarity: Being the most popular language in the world means there is as steady supply of talented staff for you to add to your development teams. When the general supply is short, you will still be more likely to find development staff then for other language.

Popularity: The popularity of a product is important for you to become familiar with because you will see more magazine articles and books as well as have better supply of third-party products from companies who will devote their resources in which there is a playback

Microsoft Visual Basic, the fastest and easiest way to create applications for Microsoft Windows. Whether you are an experienced professional or brand new to Windows programming, Visual Basic provides you with a complete set of tools to simplify rapid application development.

The "Visual" part refers to the method used to create the graphical user interface (GUI). Rather than writing numerous lines of code to describe the appearance and location of interface elements, you simply add prebuilt objects into place on screen. If you've ever used a drawing program such as Paint, you already have most of the skills necessary to create an effective user interface.

7

Page 8: Online Quiz Report

The "Basic" part refers to the BASIC (Beginners all-purpose Symbolic Instruction Code) language, a language used by more programmers than any other language in the history of computing. Visual Basic has evolved from the original BASIC language and now contains several hundred statements, functions, and keywords, many of which relate directly to the Windows GUI. Beginners can create useful applications by learning just a few of the keywords, yet the power of the language allows professionals to accomplish anything that can be accomplished using any other Windows programming language.

The Visual Basic programming language is not unique to Visual Basic. The Visual Basic programming system, Applications Edition included in Microsoft Excel, Microsoft Access, and many other Windows applications uses the same language. The Visual Basic Scripting Edition (VBScript) is a widely used scripting language and a subset of the Visual Basic language. The investment you make in learning Visual Basic will carry over to these other areas.

Whether your goal is to create a small utility for yourself or your work group, a large enterprise-wide system, or even distributed applications spanning the globe via the Internet, Visual Basic has the tools you need.

Data access features allow you to create databases, front-end applications, and scalable server-side components for most popular database formats, including Microsoft SQL Server and other enterprise-level databases.

ActiveX™ technologies allow you to use the functionality provided by other applications, such as Microsoft Word word processor, Microsoft Excel spreadsheet, and other Windows applications. You can even automate applications and objects created using the Professional or Enterprise editions of Visual Basic.

Internet capabilities make it easy to provide access to documents and applications across the Internet or Intranet from within your application, or to create Internet server applications.

Your finished application is a true .exe file that uses a Visual Basic Virtual Machine that you can freely distribute.

Visual Basic EditionsVisual Basic is available in three versions; each geared to meet a specific set of development requirements.

8

Page 9: Online Quiz Report

The Visual Basic Learning edition allows programmers to easily create powerful applications for Microsoft Windows and Windows NT®. It includes all intrinsic controls, plus grid, tab, and data-bound controls.

The Professional edition provides computer professionals with a full-featured set of tools for developing solutions for others. It includes all the features of the Learning edition, plus additional ActiveX controls, the Internet Information Server Application Designer, integrated Visual Database Tools and Data Environment, Active Data Objects, and the Dynamic HTML Page Designer.

The Enterprise edition allows professionals to create robust distributed applications in a team setting. It includes all the features of the Professional edition, plus Back Office tools such as SQL Server, Microsoft Transaction Server, Internet Information Server, Visual SourceSafe, SNA Server, and more.

3.3 BACK END

3.3.1 INTRODUCTION TO MYSQL SERVER

Overview of the MySQL Database Management System

MySQL, the most popular Open Source SQL database management system, is developed, distributed, and supported by MySQL AB. MySQL AB is a commercial company, founded by the MySQL developers. It is a second generation Open Source company that unites Open Source values and methodology with a successful business model.

MySQL is a database management system.

A database is a structured collection of data. It may be anything from a simple shopping list to a picture gallery or the vast amounts of information in a corporate network. To add, access, and process data stored in a computer database, you need a database management system such as MySQL Server. Since computers are very good at handling large amounts of data, database management systems play a central role in computing, as standalone utilities, or as parts of other applications.

MySQL is a relational database management system.

9

Page 10: Online Quiz Report

A relational database stores data in separate tables rather than putting all the data in one big storeroom. This adds speed and flexibility. The SQL part of “MySQL” stands for “Structured Query Language.” SQL is the most common standardized language used to access databases and is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving since 1986 and several versions exist. In this manual, “SQL-92” refers to the standard released in 1992, “SQL:1999” refers to the standard released in 1999, and “SQL:2003” refers to the current version of the standard. We use the phrase “the SQL standard” to mean the current version of the SQL Standard at any time.

MySQL software is Open Source.

Open Source means that it is possible for anyone to use and modify the software. Anybody can download the MySQL software from the Internet and use it without paying anything. If you wish, you may study the source code and change it to suit your needs. The MySQL software uses the GPL (GNU General Public License), to define what you may and may not do with the software in different situations. If you feel uncomfortable with the GPL or need to embed MySQL code into a commercial application, you can buy a commercially licensed version from us. The MySQL Database Server is very fast, reliable, and easy to use.

If that is what you are looking for, you should give it a try. MySQL Server also has a practical set of features developed in close cooperation with our users. You can find a performance comparison of MySQL Server with other database managers on our benchmark page.

MySQL Server was originally developed to handle large databases much faster than existing solutions and has been successfully used in highly demanding production environments for several years. Although under constant development, MySQL Server today offers a rich and useful set of functions. Its connectivity, speed, and security make MySQL Server highly suited for accessing databases on the Internet.

MySQL Server works in client/server or embedded systems.

The MySQL Database Software is a client/server system that consists of a multi-threaded SQL server that supports different backends, several different client programs and libraries, administrative tools, and a wide range of application programming interfaces (APIs).

We also provide MySQL Server as an embedded multi-threaded library that you can link into your application to get a smaller, faster, easier-to-manage standalone product.

A large amount of contributed MySQL software is available.10

Page 11: Online Quiz Report

It is very likely that your favorite application or language supports the MySQL Database Server.

The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we don't mind if you pronounce it as “my sequel” or in some other localized way.

History of MySQL

We started out with the intention of using the mSQL database system to connect to our tables using our own fast low-level (ISAM) routines. However, after some testing, we came to the conclusion that mSQL was not fast enough or flexible enough for our needs. This resulted in a new SQL interface to our database but with almost the same API interface as mSQL. This API was designed to allow third-party code that was written for use with mSQL to be ported easily for use with MySQL.

The derivation of the name MySQL is not clear. Our base directory and a large number of our libraries and tools have had the prefix “my” for well over 10 years. However, co-founder Monty Widenius's daughter is also named My. Which of the two gave its name to MySQL is still a mystery, even for us.

The name of the MySQL Dolphin (our logo) is “Sakila,” which was chosen by the founders of MySQL AB from a huge list of names suggested by users in our “Name the Dolphin” contest. The winning name was submitted by Ambrose Twebaze, an Open Source software developer from Swaziland, Africa. According to Ambrose, the feminine name Sakila has its roots in SiSwati, the local language of Swaziland. Sakila is also the name of a town in Arusha, Tanzania, near Ambrose's country of origin, Uganda.

The Main Features of MySQL

The following list describes some of the important characteristics of the MySQL Database Software, for more information about current and upcoming features.

Internals and Portability:

Written in C and C++. Tested with a broad range of different compilers.

Works on many different platforms.

Uses GNU Automake, Autoconf, and Libtool for portability.

11

Page 12: Online Quiz Report

APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available.

Fully multi-threaded using kernel threads. It can easily use multiple CPUs if they are available.

Provides transactional and non-transactional storage engines.

Uses very fast B-tree disk tables (MyISAM) with index compression.

Relatively easy to add other storage engines. This is useful if you want to add an SQL interface to an in-house database.

A very fast thread-based memory allocation system.

Very fast joins using an optimized one-sweep multi-join.

In-memory hash tables, which are used as temporary tables.

SQL functions are implemented using a highly optimized class library and should be as fast as possible. Usually there is no memory allocation at all after query initialization.

The MySQL code is tested with Purify (a commercial memory leakage detector) as well as with Valgrind, a GPL tool

The server is available as a separate program for use in a client/server networked environment. It is also available as a library that can be embedded (linked) into standalone applications. Such applications can be used in isolation or in environments where no network is available.

Data Types:

Many data types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes long, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME,TIMESTAMP, YEAR, SET, ENUM, and OpenGIS spatial types. Fixed-length and variable-length records.

Statements and Functions:

Full operator and function support in the SELECT and WHERE clauses of queries. For example:

12

Page 13: Online Quiz Report

mysql> SELECT CONCAT(first_name, ' ', last_name) -> FROM citizen -> WHERE income/dependents > 10000 AND age > 30; Full support for SQL GROUP BY and ORDER BY clauses. Support for group functions (COUNT(), COUNT(DISTINCT ...), AVG(), STD(), SUM(),MAX(), MIN(), and GROUP_CONCAT()).

Support for LEFT OUTER JOIN and RIGHT OUTER JOIN with both standard SQL and ODBC syntax.

Support for aliases on tables and columns as required by standard SQL.

DELETE, INSERT, REPLACE, and UPDATE return the number of rows that were changed (affected). It is possible to return the number of rows matched instead by setting a flag when connecting to the server.

The MySQL-specific SHOW statement can be used to retrieve information about databases, storage engines, tables, and indexes.

The EXPLAIN statement can be used to determine how the optimizer resolves a query.

Function names do not clash with table or column names. For example, ABS is a valid column name. The only restriction is that for a function call, no spaces are allowed between the function name and the ‘(’ that follows it. You can mix tables from different databases in the same query (as of

MySQL 3.22).

Security:

A privilege and password system that is very flexible and secure, and that allows host-based verification. Passwords are secure because all password traffic is encrypted when you connect to a server.

Scalability and Limits:

Handles large databases. We use MySQL Server with databases that contain 50 million records. We also know of users who use MySQL Server with 60,000 tables and about 5,000,000,000 rows.

13

Page 14: Online Quiz Report

Up to 64 indexes per table are allowed (32 before MySQL 4.1.2). Each index may consist of 1 to 16 columns or parts of columns. The maximum index width is 1000 bytes (767 for InnoDB); before MySQL 4.1.2, the limit is 500 bytes. An index may use a prefix of a column for CHAR, VARCHAR,BLOB, or TEXT column types.

Connectivity:

Clients can connect to the MySQL server using TCP/IP sockets on any platform. On Windows systems in the NT family (NT, 2000, XP, 2003, or Vista), clients can connect using named pipes. On Unix systems, clients can connect using Unix domain socket files. In MySQL 4.1 and higher, Windows servers also support shared-memory connections if started with the --shared-memory option. Clients can connect through shared memory by using the --protocol=memory option.

The Connector/ODBC (MyODBC) interface provides MySQL support for client programs that use ODBC (Open Database Connectivity) connections. For example, you can use MS Access to connect to your MySQL server. Clients can be run on Windows or Unix. MyODBC source is available. All ODBC 2.5 functions are supported, as are many others.

The Connector/J interface provides MySQL support for Java client programs that use JDBC connections. Clients can be run on Windows or Unix. Connector/J source is availableMySQL Connector/NET enables developers to easily create .NET applications that require secure, high-performance data connectivity with MySQL. It implements the required ADO.NET interfaces and integrates into ADO.NET aware tools. Developers can build applications using their choice of .NET languages. MySQL Connector/NET is a fully managed ADO.NET driver written in 100% pure C#.

Localization:

The server can provide error messages to clients in many languages. Full support for several different character sets, including latin1 (cp1252), german, big5, ujis, and more. For example, the Scandinavian characters ‘å’, ‘ä’ and ‘ö’ are allowed in table and column names. Unicode support is available as of MySQL 4.1.

All data is saved in the chosen character set. All comparisons for normal string columns are case-insensitive.

14

Page 15: Online Quiz Report

Sorting is done according to the chosen character set (using Swedish collation by default). It is possible to change this when the MySQL server is started. To see an example of very advanced sorting, look at the Czech sorting code. MySQL Server supports many different character sets that can be specified at compile time and runtime.

Clients and Tools:

MySQL Server has built-in support for SQL statements to check, optimize, and repair tables. These statements are available from the command line through the mysqlcheck client. MySQL also includes myisamchk, a very fast command-line utility for performing these operations on MyISAM tables All MySQL programs can be invoked with the --help or -? options to obtain online assistance.

MySQL Stability

This section addresses the informations, “How stable is MySQL Server?” and, “Can I depend on MySQL Server in this project?” We will try to clarify these issues and INFORMATION some important informations that concern many potential users. The information in this section is based on data gathered from the mailing lists, which are very active in identifying problems as well as reporting types of use.

The original code stems back to the early 1980s. It provides a stable code base, and the ISAM table format used by the original storage engine remains backward-compatible. At TcX, the predecessor of MySQL AB, MySQL code has worked in projects since mid-1996, without any problems. When the MySQL Database Software initially was released to a wider public, our new users quickly found some pieces of untested code. Each new release since then has had fewer portability problems, even though each new release has also had many new features.

Each release of the MySQL Server has been usable. Problems have occurred only when users try code from the “gray zones.” Naturally, new users don't know what the gray zones are; this section therefore attempts to document those areas that are currently known. The descriptions mostly deal with Versions 3.23 and later of MySQL Server. All known and reported bugs are fixed in the latest version, with the exception of those listed in the bugs section, which are design-related.

The MySQL Server design is multi-layered with independent modules. Some of the newer modules are listed here with an indication of how well-tested each of them is:

15

Page 16: Online Quiz Report

Replication (Stable)

Large groups of servers using replication are in production use, with good results. Work on enhanced replication features is continuing.

InnoDB tables (Stable)

The InnoDB transactional storage engine has been stable since version 3.23.49. InnoDB is being used in large, heavy-load production systems.

Full-text searches (Stable)

Full-text searching is widely used. Important feature enhancements were added in MySQL 4.0 and 4.1.

MyODBC 3.51 (Stable)

MyODBC 3.51 uses ODBC SDK 3.51 and is in wide production use. Some issues brought up appear to be application-related and independent of the ODBC driver or underlying database server.

How Large MySQL Tables Can Be

MySQL 3.22 had a 4GB (4 gigabyte) limit on table size. With the MyISAM storage engine in MySQL 3.23, the maximum table size was increased to 65536 terabytes (2567 – 1 bytes). With this larger allowed table size, the maximum effective table size for MySQL databases is usually determined by operating system constraints on file sizes, not by MySQL internal limits.

The InnoDB storage engine maintains InnoDB tables within a tablespace that can be created from several files. This allows a table to exceed the maximum individual file size. The tablespace can include raw disk partitions, which allows extremely large tables. The maximum tablespace size is 64TB.

The following table lists some examples of operating system file-size limits. This is only a rough guide and is not intended to be definitive. For the most up-to-date information, be sure to check the documentation specific to your operating system.

Operating System File-size Limit

16

Page 17: Online Quiz Report

Linux 2.2-Intel 32-bit 2GB (LFS: 4GB)

Linux 2.4+ (using ext3 filesystem) 4TB

Solaris 9/10 16TB

NetWare w/NSS filesystem 8TB

Win32 w/ FAT/FAT32 2GB/4GB

Win32 w/ NTFS 2TB (possibly larger)

MacOS X w/ HFS+ 2TB

On Linux 2.2, you can get MyISAM tables larger than 2GB in size by using the Large File Support (LFS) patch for the ext2 filesystem. On Linux 2.4, patches also exist for ReiserFS to get support for big files (up to 2TB). Most current Linux distributions are based on kernel 2.4 or higher and include all the required LFS patches. With JFS and XFS, petabyte and larger files are possible on Linux. However, the maximum available file size still depends on several factors, one of them being the filesystem used to store MySQL tables.

Windows users please note: FAT and VFAT (FAT32) are not considered suitable for production use with MySQL. Use NTFS instead.

By default, MySQL creates MyISAM tables with an internal structure that allows a maximum size of about 4GB. You can check the maximum table size for aMyISAM table with the SHOW TABLE STATUS statement or with myisamchk -dv tbl_name.

If you need a MyISAM table that is larger than 4GB and your operating system supports large files, the CREATE TABLE statement supports AVG_ROW_LENGTHand MAX_ROWS options. You can also change these options with ALTER TABLE to increase a table's maximum allowable size after the table has been createdOther ways to work around file-size limits for MyISAM tables are as follows:

17

Page 18: Online Quiz Report

If your large table is read-only, you can use myisampack to compress it. myisampack usually compresses a table by at least 50%, so you can have, in effect, much bigger tables. myisampack also can merge multiple tables into a single table .

MySQL includes a MERGE library that allows you to handle a collection of MyISAM tables that have identical structure as a single MERGE table.

3.4 CASE TOOL

3.4.1INTRODUCTION TO RATIONAL ROSE :

This is a brief overview to get users started in using Rational Rose to quickly create object-oriented models and diagrams. It is not by any means a complete introduction to Rational Rose, but it should get you started.

A. GETTING STARTED:Click on Start, Programs, Rational Suite Development Studio 1.5, and then on Rational Rose 2000 Enterprise Edition (not the one that has the arrow next to it). You will now see a window appearing that says “Create New Model”. This is for working with Java, Oracle, and VB. Just press “Cancel”.Next, you see the main window called “Rational Rose- [untitled]” and a smaller window within it called “Class Diagram: Logical View / Main”. There is also a browser on the left side of the page that has the diagrams that you are working on in the project. If you ever want to see the specifics on any diagram that you are working on, go to the browser, click on the “ + “, and you’ll be able to see what is in that view. To close the view, click on the – “.

B. USE-CASE DIAGRAM:1. The first diagram you’ll be working on is a use-case diagram. Go to Browse

18

Page 19: Online Quiz Report

and click on Use Case Diagram. You will get a window saying Select Use CaseDiagram.Click on OK. You now will see a new window called Use CaseDiagram: Use Case View / Main. You will see a set of tools to the left of this window. These tools are specific to the Use Case diagram and will be used to create it. To make a Use Case, go to the tools and click on the one that looks like an oval. This is the Use Case button. (Note: If you ever want to know if it’s the right button, just hold the mouse arrow over the button for two seconds, and it will tell you what the button is.)

2. Once you have clicked on the Use Case button, position the new mouse pointer wherever you want on the page and click again. The oval will now appear on the page. Now, type in a name for your Use Case. To reposition the Use Case, just click once on the Use Case.To change it’s property (name etc.) double click on the Use.

3. Now, we need to add some actors, which are actually the classes in thisproject (you’ll see this later as you continue). Click on the stick figure in thetoolbox. Now, click anywhere on the Use Case Diagram to place the actor. Once again, name your actor. As with the use cases, to reposition the actor click once or change its name, double click on the actor.

4. Finally, we want to connect the use cases with the actors. In order to do this, click in the toolbox on the box that has the curved arrow that saysUnidirectional Association. This will allow you accomplish this task. You are now finished with the Use Case Diagram portion of the project. Don’t forget to save!!!

5. Now, we want to give the attributes their types, initialize the types, anddistinguish the attributes as public, private, or protected. To do this, double click on the class anywhere that is blank. A new window called Class Specification will pop up. Click on attributes. Double click on the attribute that you want to select. Another new window called Class Attribute Specification pops up. In this window, you can initialize your attribute to any value, specify if it’s public, private, or protected, and give it the type.

6. Next, we add some methods to our class. To insert a method of the class, right click on the class and this time select new operation. Now, type in the name of the method of the class. We also want to add arguments for the new operation. To do this, once again, double click on the class anywhere that is blank. The Class Specification window will again pop up. Click on operations. Double click on the method that you want to select. Another new window called Operation Specification pops up. In this window, the General tab is already selected. (If not, select it). Here you can decide if the methods will be public, private, or protected. After doing this, select the Detail tab. Right click in thespace below Name. Select insert. Now, type in the name of the argument. Hit tab to

19

Page 20: Online Quiz Report

insert the argument’s type. Hit tab again if you want to set the argument to default. Press OK and you’re back to Operations. Press OK again.

7. Great. Now that we have all the classes created, we can create an

UNIDIRECTIONAL ASSOCIATION connection between classes. Click on the UNIDIRECTIONAL ASSOCIATION icon. Now, click on the first class, hold the mouse button down, drag the mouse to the other class, and release the mouse button. To name the association, double click on the association connection line. The Association Specification window pops up. Type the Association name in the space provided. Press OK. Now, we need to insert the cardinality of the class association. To do this, right click on the association connection line, next to the first class. Select multiplicity and finally select the correct cardinality. Do the same for the second class** If you nave more than 1 association between 2 classes, be careful. If you select association between the 2 classes again, it will overlap the first one. Click on the line, drag the other association, and release it. You can change the association properties (name, cardinality by double clicking on them).

8. It’s time for AGGREGATION. It’s basically done the same way that Association is done. First create the UNIDIRECTIONAL ASSOCIATION connection as above. ** Be careful! Create the aggregation by starting off on the class that you want the diamond attached to, then right click on the association line and press AGGREGATE. Don’t forget to save!!!

D. STATE DIAGRAMS1.Up until now, we dealt with the entire system, all the classes and use cases.Now, we’re going to pick one of the classes and create a state diagram for it,specifically the book class. You need to let Rational Rose know which classyou’re going to use for the State Diagram. Select the book class by clicking on it once. Now, in the Browse menu, select State Machine Diagram. Click OK. Now a window New State Machine Diagram pops up. In the diagram type click on STATECHART. Click OK. The state chart diagram pops up with a tool bar besides it.

2. The first thing to do is get the Start State of the diagram. To do this, click on the black dot icon. This is the Start State. Position the new mouse pointer wherever you want on the page and click again. You can double click on the start state and change it’s property (name etc.).

3. Next, click on the State icon (which is a rectangular icon). Once you have

20

Page 21: Online Quiz Report

clicked on the state button, position the new mouse pointer wherever you want on the page and click again. A rounded rectangle representing the state will now appear on the page. Now, type in a name for your class by first double clicking on the state. To reposition the class, just click once on the class. To change its name, click twice.

4. Let’s now give the transition between the states. To do this, click on the State Transition icon (which is an inclined arrow icon)on the tool bar. Click first on the state that the transition is coming from, and drag it to the state that the transition is going towards. To name the transition, double click on the transition and type in the name.

5. Continue this with all states. Finally, you should have an End State. The end state is reached when the item in the state diagram is thrown out. Connect the transition to this state in the same manner as you did with the other states. You can draw the End State by first clicking on the end state icon (a black dot with a circle around it), and then positioning it wherever you want it in the page.Don’t forget to save!!!

E. SEQUENCE DIAGRAMS

1. The last diagram in this exercise is the Sequence Diagram. Once again, this is a dynamic diagram, like the state diagram. Go to the Browse menu and select Interaction Diagram. In the Select Interaction Diagram indow that pops up, choose Logical View and click on OK. When the window New Interaction Diagram pops up, choose sequence as the diagram type and type the title. The tool bar comes beside the diagram.(Note: A Collaboration Diagram is almost the same as a Sequence Diagram. In this exercise, we will use the Sequence Diagram).

2. First, we need to choose the class objects that will be interacting in thediagram. To do this, choose the object icon (which is a rectangular icon). Position the new mouse pointer wherever you want on the page and click again. To name the class object, double click on the object (or click inside the rectangle and type).

3. To show a transition in the Sequence Diagram, click the right arrow icon, the Object Message icon. This is the “Object Message” icon used for transitions. Click on the vertical dotted line that extends from the bottom of the class object and drag it to the vertical dotted line of the second class object.

4. To make a self-transition, click on the “U-turn” arrow, the Message To Self icon . This is the “Message to Self” icon. No dragging is necessary.5. To name either transition, double click on the transition and type in thename.

21

Page 22: Online Quiz Report

** Note: You can move the transitions slightly up or down as needed by clicking on them and dragging them.

6. Once you make a transition, the vertical dotted line of the class objects extend.OK, you’re done with all the diagrams. Now, let’s generate some code!!!

CHAPTER 4

4. OBJECT ORIENTED ANALYSIS

4.1 USE CASE DIAGRAM

The users of our system are user and faculty members.

This diagram will explain the interaction between their role and the system. The use case

diagram is given in the high level by representing the goals of the actor. The

22

Page 23: Online Quiz Report

administrator can login to the information generation module using the authentication

provided and can perform the operation of add/modify/delete/mov_next/mov_previous

functions as show in fig 4.1.1. The user can enter the information module by satisfying

the authentication need. The new user can perform the act of registering when they enter

for the first time. Therefore the user can INFORMATION their information on their

interesting topics and see their result instantly as show in fig 4.1.2

Figure 4.1.1 Use case diagram for administrator

23

Page 24: Online Quiz Report

Figure 4.1.2 Use case diagram for participant

4.2 SEQUENCE DIAGRAM

This diagram shows the kind of interaction how the processes operate with one another and in what order. In fig 4.2.1 the sequence for login to the user page is given. Here the user logins the page only when the given id and password are found in the database successfully.

When a report is generated it checks the database and displays in grid view, and it updates the database if a information is added, deleted, update.

24

Page 25: Online Quiz Report

Figure 4.2.1 Sequence Diagram for Administrator

25

Page 26: Online Quiz Report

Figure 4.2.2 Sequence Diagram for Participant

In fig 4.2.2 the sequence diagram for entire discussion When a new user enters he/she is asked to complete the registration process and then they are allowed to login using their username and password when they wish. He/she can select their category before they move to the information. After submitting the INFORMATION it automatically calls the report generation module and gets the report generated.

26

Page 27: Online Quiz Report

4.3 .ACTIVITY DIAGRAM

They are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In fig 4.3.1 Initially user is made to fill all registration fields filled in registration form. Once the user clicks submit, the username is verified. If the, username is already present, then the user is again taken back, So ,that he can change the username. If the username is not present then it checks for password and remaining mandatory fields. If any of the mandatory field is left empty or filled incorrect, then the user is informed to enter the correct values. Once all verifications are succeeded, then the registration is done.

To enter into the registration page the user have to enter the details first. After entering the details he has to verify the user name. If suppose the user name already exists then he has to enter the details. Then he has to verify the password. If the registration is successful then the unique id will be provided. Then the user can go the home page. To fill the farmer/wholesaler registration form then he has to fill all the details. Then the verifying the username , password and the registration form. After verification he has to fill all the registration details. Then for the user the user id will be provided for the user/faculty. If the deny registration then the user has to go the home page.

27

Page 28: Online Quiz Report

Figure 4.3.1.Acticvity diagram for Administrator

Figure 4.3.2 Activity diagram for Participant

28

Page 29: Online Quiz Report

4.4 CLASS DIAGRAM:

It is a diagram which is a static structure of a system that shows the system’s

classes, their attributes and the operations or methods along with their relationships

among the classes.The main aim of the administrator to create new information and the

corresponding INFORMATION for them.This diagram makes the view more clear about

what happening in the project. The functions performed are update, delete, modify etc ,as

show in fig 4.4.1

Figure 4.4.1 Class diagram for Administrator

29

Page 30: Online Quiz Report

In the fig4.4.2 it shows the clear idea of attributes and operation performed by the users. If he/she is a new user they can perform the operation of registration() and if already existing user then they can login() and can continue INFORMATIONing. After submitting report is generated with attributes of name ,category and rank in descending order.

Figure 4.4.2 Class diagram for Participant

30

Page 31: Online Quiz Report

CHAPTER 5

5. MODULE DESCRIPTION

This project involves following phases

ADMINISTRATOR

1. Authentication phase2. Information generation phase3. Report generation phase

PARTICIPANT

1. Authentication phase2. Registration phase3. Rules and category selection phase4. Information bank phase5. Result generation phase

5.1ADMINISTRATOR

5.1.1AUTHENTICATION PHASE:

This proposed system is completely authenticated in order to enhance security and corruptions of database as well as the software. A person is given access permission to this system when he/she has got a valid username and password i.e. the administrator. Hence this authentication module includes two fields where administrator (programmer) is asked to enter the username and password. The details include:

1. Username2. Password

31

Page 32: Online Quiz Report

5.1.2INFORMATION GENERATION PHASE:

This phase includes the various categorized information generation. In this phase the administrator can perform additional operation. This phase may be the most important phase in proposed system, because it is the one where the entire system gets the categorized information.

5.1.3REPORT GENERATION PHASE:

This phase contains various report generation related to our system such as Administrator report, Participant report, Reservation etc. the report gives the overall view about our system.

5.2PARTICIPANT

5.2.1AUTHENTICATION PHASE:

This proposed system is completely authenticated in order to enhance security and corruptions of database as well as the software. A person is given access permission to this system when he/she has got a valid username and password. Hence this authentication module includes two fields where participant is asked to enter their username and password. The details include:

1. Username2. Password

5.2.2REGISTRATION PHASE:

If the participant is an existing user then he can enter into the system, using his valid username and password.

If the participant is a new one then he has to fill the registration form. Now valid username and password will assign to the user. Using that he can enter into the system.

32

Page 33: Online Quiz Report

5.2.3RULES AND CATEGORY SELECTION PHASE:

This phase provides the users with a set of rules and regulations to be followed while attending the Airline Reservation. It is useful for the user who is new to the online process so that they can have a clear idea of what has to be done. This module also provides the users a special feature of category selection. This category includes Sports, Science, Software, and General Knowledge. Based on the category informations are put forth to the users.

5.2.4INFORMATION BANK PHASE:

This phase provides the users a set of multiple-choice informations and a set of INFORMATIONs below the specific information. Once after the current information has been INFORMATIONed it automatically makes a move to the second information with their corresponding INFORMATIONs.

This module is provided with four fields:

1. Information number2. Information field3. Option 14. Option 25. Option 3

5.2.5RESULT GENERATION PHASE:

The result of the corresponding user is generated based on his, her performance in the test. The result is generated at the end of the Airline Reservation. The result is generated with the help of following field:

1. Username2. Category 3. Regeistration

33

Page 34: Online Quiz Report

CHAPTER 6

6. IMPLEMENTATION

6.1 DATABASE DESIGN:

ADMINISTRATOR

TABLE 6.1.1: LOGIN

NAME TYPE

USERNAME VARCHAR(10)

PASSWORD VARCHAR(10)

TABLE6.1.2: RESERVATION

NAME TYPE

USERNAME VARCHAR(10)

RESERVATION NO. NUMBER(10)

CATEGORY VARCHAR(10)

TABLE6.1.3: REGISTRATION

34

Page 35: Online Quiz Report

NAME TYPE

USERNAME VARCHAR(10)

PASSWORD VARCHAR(10)

NAME VARCHAR(10)

EMAILID VARCHAR(10)

GENDER VARCHAR(10)

DOB VARCHAR(10)

6.2 CODING:

MAIN FORM:Private Sub Command1_Click()Load Form2Form2.ShowUnload MeEnd Sub

Private Sub command2_Click()Load Form5Form5.ShowUnload MeEnd Sub

Private Sub command3_Click()Unload MeEnd Sub

ADMINISTRATOR AUTHENTICATION:

35

Page 36: Online Quiz Report

Dim rs As New ADODB.RecordsetDim s As StringDim flag As Integer

Private Sub Command1_Click()Dim a, b As Stringa = Trim(Text1.Text)b = Trim(Text2.Text)rs.MoveFirstWhile Not rs.EOFIf rs.Fields(0) = a And rs.Fields(1) = b ThenMsgBox ("login successfull")Load Form3Form3.ShowUnload MeExit SubEnd Ifrs.MoveNextWendMsgBox ("invalid enty") End Sub

Private Sub command2_Click()Load Form1Form1.ShowUnload MeEnd Sub

Private Sub Form_Load()Set cn = New ADODB.ConnectionIf cn.State = 1 Thencn.CloseEnd Ifcn.CursorLocation = adUseClientcn.Open "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=Airline Reservation_sys;User=root;Password=;Option=3;"rs.Open "select * from Airline Reservationadmin", cn, adOpenDynamic, adLockOptimisticEnd Sub

INFORMATION GENERATION:36

Page 37: Online Quiz Report

Dim cn As New ADODB.ConnectionDim rs1 As New ADODB.RecordsetDim rs2 As New ADODB.RecordsetDim rs3 As New ADODB.RecordsetDim rs4 As New ADODB.RecordsetDim a As Integer

Private Sub reset()If cn.State = 1 Thencn.CloseEnd IfSet cn = New ADODB.Connectioncn.CursorLocation = adUseClientcn.Open "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=Airline Reservation_sys;User=root;Password=;Option=3;"rs1.Open "select * from adminsports order by no", cn, adOpenDynamic, adLockOptimisticrs2.Open "select * from adminscience order by no", cn, adOpenDynamic, adLockOptimisticrs3.Open "select * from adminsoft order by no", cn, adOpenDynamic, adLockOptimisticrs4.Open "select * from admingk order by no", cn, adOpenDynamic, adLockOptimisticEnd Sub

Private Sub Command1_Click()If Combo1.Text = "SPORTS" Thenrs1.AddNewcn.Execute "insert into adminsports values('" & Text1.Text & "','" & Combo1.Text & "','" & RichTextBox1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "')"MsgBox ("RECORD ADDED")Call resetEnd IfIf Combo1.Text = "SCIENCE" Thenrs2.AddNewcn.Execute "insert into adminscience values('" & Text1.Text & "','" & Combo1.Text & "','" & RichTextBox1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "')"MsgBox ("RECORD ADDED")Call resetEnd If

37

Page 38: Online Quiz Report

If Combo1.Text = "SOFTWARE" Thenrs3.AddNewcn.Execute "insert into adminsoft values('" & Text1.Text & "','" & Combo1.Text & "','" & RichTextBox1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "')"MsgBox ("RECORD ADDED")Call resetEnd IfIf Combo1.Text = "GK" Thenrs4.AddNewcn.Execute "insert into admingk values('" & Text1.Text & "','" & Combo1.Text & "','" & RichTextBox1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "')"MsgBox ("RECORD ADDED")Call resetEnd IfEnd Sub

Private Sub clear()Text1.Text = ""RichTextBox1.Text = ""Text2.Text = ""Text3.Text = "" Text4.Text = "" Text5.Text = "" End SubPrivate Sub command2_Click()If Combo1.Text = "SPORTS" Thencn.Execute "update adminsports set no='" & Text1.Text & "',cat='" & Combo1.Text & "',information='" & RichTextBox1.Text & "',opt1='" & Text2.Text & "',opt2='" & Text3.Text & "',opt3='" & Text4.Text & "',ans='" & Text5.Text & "' where no=" & Text1.Textrs1.UpdateMsgBox ("RECORD UPDATED")Call resetEnd IfIf Combo1.Text = "SCIENCE" Thencn.Execute "update adminscience set no='" & Text1.Text & "',cat='" & Combo1.Text & "',information='" & RichTextBox1.Text & "',opt1='" & Text2.Text & "',opt2='" & Text3.Text & "',opt3='" & Text4.Text & "',ans='" & Text5.Text & "' where no=" & Text1.Textrs2.UpdateMsgBox ("RECORD UPDATED")Call reset

38

Page 39: Online Quiz Report

End IfIf Combo1.Text = "SOFTWARE" Thencn.Execute "update adminsoft set no='" & Text1.Text & "',cat='" & Combo1.Text & "',information='" & RichTextBox1.Text & "',opt1='" & Text2.Text & "',opt2='" & Text3.Text & "',opt3='" & Text4.Text & "',ans='" & Text5.Text & "' where no=" & Text1.Textrs3.UpdateMsgBox ("RECORD UPDATED")Call resetEnd IfIf Combo1.Text = "GK" Thencn.Execute "update admingk set no='" & Text1.Text & "',cat='" & Combo1.Text & "',information='" & RichTextBox1.Text & "',opt1='" & Text2.Text & "',opt2='" & Text3.Text & "',opt3='" & Text4.Text & "',ans='" & Text5.Text & "' where no=" & Text1.Textrs4.UpdateMsgBox ("RECORD UPDATED")Call resetEnd IfEnd Sub

Private Sub command3_Click()If Combo1.Text = "SPORTS" Thencn.Execute "delete from adminsports where no=" & Text1.TextMsgBox "RECORD HAS BEEN DELETED SUCCCESSFULLY", vbInformation, "Deleted"rs1.UpdateclearCall reset End IfIf Combo1.Text = "SCIENCE" Thencn.Execute "delete from adminscience where no=" & Text1.TextMsgBox "RECORD HAS BEEN DELETED SUCCCESSFULLY", vbInformation, "Deleted"rs2.UpdateclearCall resetEnd IfIf Combo1.Text = "SOFTWARE" Thencn.Execute "delete from adminsports where no=" & Text1.TextMsgBox "RECORD HAS BEEN DELETED SUCCCESSFULLY", vbInformation, "Deleted"rs3.Update

39

Page 40: Online Quiz Report

clearCall resetEnd IfIf Combo1.Text = "GK" Thencn.Execute "delete from admingk where no=" & Text1.TextMsgBox "RECORD HAS BEEN DELETED SUCCCESSFULLY", vbInformation, "Deleted"rs4.UpdateclearCall resetEnd IfEnd SubPrivate Sub command4_Click()Load Form4Form4.ShowUnload MeEnd Sub

Private Sub Command5_Click()If Combo1.Text = "SPORTS" Thenrs1.MoveNextIf rs1.EOF Thenrs1.MoveFirstEnd IfCall displayEnd IfIf Combo1.Text = "SCIENCE" Thenrs2.MoveNextIf rs2.EOF Thenrs2.MoveFirstEnd IfCall displayEnd IfIf Combo1.Text = "SOFTWARE" Thenrs3.MoveNextIf rs3.EOF Thenrs3.MoveFirstEnd IfCall displayEnd IfIf Combo1.Text = "GK" Thenrs4.MoveNext

40

Page 41: Online Quiz Report

If rs4.EOF Thenrs4.MoveFirstEnd IfCall displayEnd IfEnd Sub

Private Sub Command6_Click()If Combo1.Text = "SPORTS" Thenrs1.MovePreviousIf rs1.BOF Thenrs1.MoveLastEnd IfCall displayEnd If

If Combo1.Text = "SCIENCE" Thenrs2.MovePreviousIf rs2.BOF Thenrs2.MoveLastEnd IfCall displayEnd IfIf Combo1.Text = "SOFTWARE" Thenrs3.MovePreviousIf rs3.BOF Thenrs3.MoveLastEnd IfCall displayEnd IfIf Combo1.Text = "GK" Thenrs4.MovePreviousIf rs4.BOF Thenrs4.MoveLastEnd IfCall displayEnd IfEnd Sub

Private Sub Command7_Click()Call clearIf Combo1.Text = "SPORTS" Then

41

Page 42: Online Quiz Report

rs1.MoveLasta = Trim(rs1.Fields(0))Text1.Text = Val(a) + 1End IfIf Combo1.Text = "SCIENCE" Thenrs2.MoveLasta = Trim(rs2.Fields(0))Text1.Text = Val(a) + 1End IfIf Combo1.Text = "SOFTWARE" Thenrs3.MoveLasta = Trim(rs3.Fields(0))Text1.Text = Val(a) + 1End If

If Combo1.Text = "GK" Thenrs4.MoveLasta = Trim(rs4.Fields(0))Text1.Text = Val(a) + 1End IfEnd Sub

Private Sub Command_Click()Call resetCombo1.Enabled = FalseText1.Visible = TrueRichTextBox1.Visible = TrueText2.Visible = TrueText3.Visible = TrueText4.Visible = TrueText5.Visible = TrueLabel1.Visible = TrueLabel2.Visible = TrueLabel3.Visible = TrueLabel4.Visible = TrueLabel5.Visible = TrueLabel6.Visible = TrueLabel7.Visible = TrueCommand1.Visible = TrueCommand2.Visible = TrueCommand3.Visible = True

42

Page 43: Online Quiz Report

Command4.Visible = TrueCommand5.Visible = TrueCommand6.Visible = TrueCommand7.Visible = TrueIf Combo1.Text = "SPORTS" And rs1.RecordCount = 0 ThenMsgBox ("SPORTS DATABASE IS EMPTY")Text1.Text = 1ElseIf Combo1.Text = "SPORTS" Thenrs1.MoveLasta = Trim(rs1.Fields(0))Text1.Text = Val(a) + 1End IfIf Combo1.Text = "SCIENCE" And rs2.RecordCount = 0 ThenMsgBox ("SCIENCE DATABASE IS EMPTY")Text1.Text = 1

ElseIf Combo1.Text = "SCIENCE" Thenrs2.MoveLasta = Trim(rs2.Fields(0))Text1.Text = Val(a) + 1End IfIf Combo1.Text = "SOFTWARE" And rs3.RecordCount = 0 ThenMsgBox ("SOFTWARE DATABASE IS EMPTY")Text1.Text = 1ElseIf Combo1.Text = "SOFTWARE" Thenrs3.MoveLasta = Trim(rs3.Fields(0))Text1.Text = Val(a) + 1End IfIf Combo1.Text = "GK" And rs4.RecordCount = 0 ThenMsgBox ("GK DATABASE IS EMPTY")Text1.Text = 1ElseIf Combo1.Text = "GK" Thenrs4.MoveLasta = Trim(rs4.Fields(0))Text1.Text = Val(a) + 1End IfEnd Sub

Private Sub Command8_Click()Unload MeEnd Sub

43

Page 44: Online Quiz Report

Private Sub Form_Load()Text1.Visible = FalseRichTextBox1.Visible = FalseText2.Visible = FalseText3.Visible = FalseText4.Visible = FalseText5.Visible = FalseLabel1.Visible = FalseLabel2.Visible = FalseLabel3.Visible = FalseLabel4.Visible = FalseLabel5.Visible = FalseLabel6.Visible = FalseLabel7.Visible = False

Command1.Visible = FalseCommand2.Visible = FalseCommand3.Visible = FalseCommand4.Visible = FalseCommand5.Visible = FalseCommand6.Visible = FalseCommand7.Visible = FalseEnd Sub

Private Sub display()If Combo1.Text = "SPORTS" ThenText1.Text = rs1.Fields(0)Combo1.Text = rs1.Fields(1)RichTextBox1.Text = rs1.Fields(2)Text2.Text = rs1.Fields(3)Text3.Text = rs1.Fields(4)Text4.Text = rs1.Fields(5)Text5.Text = rs1.Fields(6)End IfIf Combo1.Text = "SCIENCE" ThenText1.Text = rs2.Fields(0)Combo1.Text = rs2.Fields(1)RichTextBox1.Text = rs2.Fields(2)Text2.Text = rs2.Fields(3)Text3.Text = rs2.Fields(4)Text4.Text = rs2.Fields(5)

44

Page 45: Online Quiz Report

Text5.Text = rs2.Fields(6)End IfIf Combo1.Text = "SOFTWARE" ThenText1.Text = rs3.Fields(0)Combo1.Text = rs3.Fields(1)RichTextBox1.Text = rs3.Fields(2)Text2.Text = rs3.Fields(3)Text3.Text = rs3.Fields(4)Text4.Text = rs3.Fields(5)Text5.Text = rs3.Fields(6) End If

If Combo1.Text = "GK" ThenText1.Text = rs4.Fields(0)Combo1.Text = rs4.Fields(1)RichTextBox1.Text = rs4.Fields(2)Text2.Text = rs4.Fields(3)Text3.Text = rs4.Fields(4)Text4.Text = rs4.Fields(5)Text5.Text = rs4.Fields(6)End If End Sub

REPORT GENERATION:45

Page 46: Online Quiz Report

Dim cn As New ADODB.ConnectionDim rs1 As New ADODB.RecordsetDim rs2 As New ADODB.RecordsetDim rs3 As New ADODB.Recordset

Private Sub Command1_Click()DataGrid1.Visible = TrueSet DataGrid1.DataSource = rs2End Sub

Private Sub command2_Click()DataGrid1.Visible = TrueSet DataGrid1.DataSource = rs1End Sub

Private Sub command3_Click()DataGrid1.Visible = TrueSet DataGrid1.DataSource = rs3End Sub

Private Sub command4_Click()Load Form1Form1.ShowUnload MeEnd SubPrivate Sub Form_Load()Set cn = New ADODB.ConnectionIf cn.State = 1 Thencn.CloseEnd Ifcn.CursorLocation = adUseClientcn.Open "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=Airline Reservation_sys;User=root;Password=;Option=3;"rs1.Open "select * from Airline Reservationuser", cn, adOpenDynamic, adLockOptimisticrs2.Open "select * from Airline Reservationadmin", cn, adOpenDynamic, adLockOptimisticrs3.Open "select * from rank order by mark desc", cn, adOpenDynamic, adLockOptimisticEnd Sub

46

Page 47: Online Quiz Report

REGISTRATION:Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim s As StringDim flag As Integer

Private Sub Command1_Click()rs.AddNewrs.Fields(0) = Text1.Textrs.Fields(1) = Text2.Textrs.Fields(2) = Text3.Text

rs.Fields(4) = Combo1.Textrs.Fields(5) = Text5.Textrs.UpdateMsgBox ("RECORD ADDED")Load Form5Form5.ShowUnload MeEnd Sub

Private Sub command2_Click()Load Form5Form5.ShowUnload MeEnd SubPrivate Sub Form_Load()Set cn = New ADODB.ConnectionIf cn.State = 1 Thencn.CloseEnd Ifcn.CursorLocation = adUseClientcn.Open "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=Airline Reservation_sys;User=root;Password=;Option=3;"rs.Open "select * from Airline Reservationuser", cn, adOpenDynamic, adLockOptimisticEnd Sub

47

Page 48: Online Quiz Report

RULES AND REGULATION:

Private Sub Command1_Click()Load Form8Form8.ShowUnload MeEnd Sub

Private Sub command2_Click()Load Form1Form1.ShowUnload MeEnd Sub

CATEGORY SELECTION:Dim cn As New ADODB.ConnectionDim rs1 As New ADODB.RecordsetDim rs2 As New ADODB.RecordsetDim rs3 As New ADODB.RecordsetDim rs4 As New ADODB.Recordset

Private Sub Command1_Click()rs1.MoveFirstForm9.Text1.Text = rs1.Fields(0)Form9.Label2.Caption = rs1.Fields(1)Form9.RichTextBox1.Text = rs1.Fields(2)Form9.Option1.Caption = rs1.Fields(3)Form9.Option2.Caption = rs1.Fields(4)Form9.Option3.Caption = rs1.Fields(5)Load Form9Form9.ShowUnload MeEnd Sub

Private Sub command2_Click()rs2.MoveFirstForm9.Text1.Text = rs2.Fields(0)Form9.Label2.Caption = rs2.Fields(1)Form9.RichTextBox1.Text = rs2.Fields(2)Form9.Option1.Caption = rs2.Fields(3)Form9.Option2.Caption = rs2.Fields(4)

48

Page 49: Online Quiz Report

Form9.Option3.Caption = rs2.Fields(5)Load Form9Form9.ShowUnload MeEnd Sub

Private Sub command3_Click()rs3.MoveFirstForm9.Text1.Text = rs3.Fields(0)Form9.Label2.Caption = rs3.Fields(1)Form9.RichTextBox1.Text = rs3.Fields(2)Form9.Option1.Caption = rs3.Fields(3)Form9.Option2.Caption = rs3.Fields(4)Form9.Option3.Caption = rs3.Fields(5)Load Form9Form9.ShowUnload MeEnd Sub

Private Sub command4_Click()rs4.MoveFirstForm9.Text1.Text = rs4.Fields(0)Form9.Label2.Caption = rs4.Fields(1)Form9.RichTextBox1.Text = rs4.Fields(2)Form9.Option1.Caption = rs4.Fields(3)Form9.Option2.Caption = rs4.Fields(4)Form9.Option3.Caption = rs4.Fields(5)Load Form9Form9.ShowUnload MeEnd Sub

Private Sub Command5_Click()Unload MeEnd Sub

Private Sub Form_Load()Set cn = New ADODB.ConnectionIf cn.State = 1 Thencn.CloseEnd Ifcn.CursorLocation = adUseClient

49

Page 50: Online Quiz Report

cn.Open "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=Airline Reservation_sys;User=root;Password=;Option=3;"rs1.Open "select * from adminsports order by no", cn, adOpenDynamic, adLockOptimisticrs2.Open "select * from adminscience order by no", cn, adOpenDynamic, adLockOptimisticrs3.Open "select * from adminsoft order by no", cn, adOpenDynamic, adLockOptimisticrs4.Open "select * from adminGK order by no", cn, adOpenDynamic, adLockOptimisticEnd Sub

INFORMATION BANK:

Dim cn As New ADODB.ConnectionDim rs1 As New ADODB.RecordsetDim rs2 As New ADODB.RecordsetDim rs3 As New ADODB.RecordsetDim rs4 As New ADODB.RecordsetDim a As IntegerDim total As Integer

Private Sub Command1_Click()If Label2.Caption = "SPORTS" ThenIf Option1.Value = True And Trim(Option1.Caption) = Trim(rs1.Fields(6)) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option1.Value = False And Trim(Option1.Caption) = Trim(rs1.Fields(6)) ThenMsgBox ("INFORMATION IS WRONG")End IfIf Option2.Value = True And Trim(Option2.Caption) = Trim(rs1.Fields(6)) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option2.Value = False And Trim(Option2.Caption) = Trim(rs1.Fields(6)) ThenMsgBox ("INFORMATION IS WRONG")End IfIf Option3.Value = True And Trim(Option3.Caption) = Trim(rs1.Fields(6)) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option3.Value = False And Trim(Option3.Caption) = Trim(rs1.Fields(6)) ThenMsgBox ("INFORMATION IS WRONG")End Ifrs1.MoveNext

50

Page 51: Online Quiz Report

Call display

ElseIf Label2.Caption = "SCIENCE" ThenIf Option1.Value = True And Trim(Option1.Caption) = Trim(rs2.Fields(6)) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option1.Value = False And Trim(Option1.Caption) = Trim(rs2.Fields(6)) ThenMsgBox ("INFORMATION IS WRONG")End IfIf Option2.Value = True And Trim(Option2.Caption) = Trim(rs2.Fields(6)) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option2.Value = False And Trim(Option2.Caption) = Trim(rs2.Fields(6)) ThenMsgBox ("INFORMATION IS WRONG")End IfIf Option3.Value = True And Trim(Option3.Caption) = Trim(rs2.Fields(6)) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option3.Value = False And Trim(Option3.Caption) = Trim(rs2.Fields(6)) ThenMsgBox ("INFORMATION IS WRONG")End Ifrs2.MoveNextCall display

ElseIf Label2.Caption = "SOFTWARE" ThenIf Option1.Value = True And Trim(Option1.Caption) = rs3.Fields(6) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option1.Value = False And Trim(Option1.Caption) = rs3.Fields(6) ThenMsgBox ("INFORMATION IS WRONG")End IfIf Option2.Value = True And Trim(Option2.Caption) = rs3.Fields(6) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option2.Value = False And Trim(Option2.Caption) = rs3.Fields(6) ThenMsgBox ("INFORMATION IS WRONG")End IfIf Option3.Value = True And Trim(Option3.Caption) = rs3.Fields(6) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option3.Value = False And Trim(Option3.Caption) = rs3.Fields(6) ThenMsgBox ("INFORMATION IS WRONG")

51

Page 52: Online Quiz Report

End Ifrs3.MoveNext Call displayElseIf Label2.Caption = "GK" ThenIf Option1.Value = True And Trim(Option1.Caption) = rs4.Fields(6) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option1.Value = False And Trim(Option1.Caption) = rs4.Fields(6) ThenMsgBox ("INFORMATION IS WRONG")End IfIf Option2.Value = True And Trim(Option2.Caption) = rs4.Fields(6) ThenMsgBox ("INFORMATION IS CORRECT")Call marksElseIf Option2.Value = False And Trim(Option2.Caption) = rs4.Fields(6) ThenMsgBox ("INFORMATION IS WRONG")End IfIf Option3.Value = True And Trim(Option3.Caption) = rs4.Fields(6) ThenMsgBox ("INFORMATION IS CORRECT") Call marksElseIf Option3.Value = False And Trim(Option3.Caption) = rs4.Fields(6) ThenMsgBox ("INFORMATION IS WRONG")End Ifrs4.MoveNextCall displayEnd IfEnd Sub

Private Sub Form_Load()If cn.State = 1 ThenSet rs1.ActiveConnection = NothingSet rs2.ActiveConnection = NothingSet rs3.ActiveConnection = NothingSet rs4.ActiveConnection = Nothingrs1.Closers2.Closers3.Closers4.Closecn.CloseEnd IfSet cn = New ADODB.Connectioncn.CursorLocation = adUseClientcn.Open "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=Airline Reservation_sys;User=root;Password=;Option=3;"

52

Page 53: Online Quiz Report

rs1.Open "select * from adminsports order by no", cn, adOpenDynamic, adLockOptimisticrs2.Open "select * from adminscience order by no", cn, adOpenDynamic, adLockOptimisticrs3.Open "select * from adminsoft order by no", cn, adOpenDynamic, adLockOptimisticrs4.Open "select * from admingk order by no", cn, adOpenDynamic, adLockOptimistictotal = 0End Sub

Private Sub marks()total = Val(total) + 10Form10.Text2.Text = totalEnd Sub

Private Sub display()Call refIf Label2.Caption = "SPORTS" ThenIf rs1.EOF = False ThenText1.Text = rs1.Fields(0)RichTextBox1.Text = rs1.Fields(2)Option1.Caption = rs1.Fields(3)Option2.Caption = rs1.Fields(4)Option3.Caption = rs1.Fields(5)ElseLoad Form10Form10.ShowForm10.Text3.Text = Label2.CaptionUnload MeExit SubEnd IfEnd IfIf Label2.Caption = "SCIENCE" ThenIf rs2.EOF = False ThenText1.Text = rs2.Fields(0)RichTextBox1.Text = rs2.Fields(2)Option1.Caption = rs2.Fields(3)Option2.Caption = rs2.Fields(4)Option3.Caption = rs2.Fields(5)ElseLoad Form10Form10.ShowForm10.Text3.Text = Label2.Caption

53

Page 54: Online Quiz Report

Unload MeExit SubEnd IfEnd IfIf Label2.Caption = "SOFTWARE" ThenIf rs3.EOF = False ThenText1.Text = rs3.Fields(0)RichTextBox1.Text = rs3.Fields(2)Option1.Caption = rs3.Fields(3)Option2.Caption = rs3.Fields(4)Option3.Caption = rs3.Fields(5)ElseLoad Form10Form10.ShowForm10.Text3.Text = Label2.CaptionUnload MeExit SubEnd IfEnd IfIf Label2.Caption = "GK" ThenIf rs4.EOF = False ThenText1.Text = rs4.Fields(0)RichTextBox1.Text = rs4.Fields(2)Option1.Caption = rs4.Fields(3)Option2.Caption = rs4.Fields(4)Option3.Caption = rs4.Fields(5)ElseLoad Form10Form10.ShowForm10.Text3.Text = Label2.CaptionUnload MeExit SubEnd IfEnd IfEnd SubPrivate Sub ref()Option1.Value = FalseOption2.Value = FalseOption3.Value = FalseEnd Sub

54

Page 55: Online Quiz Report

RESULT GENERATION:Dim cn As New ADODB.ConnectionDim rs1 As New ADODB.RecordsetDim a As Integer

Private Sub Command1_Click()cn.Execute "insert into rank values('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "')"Form11.Command1.Visible = TrueForm11.Command4.Visible = TrueForm11.DataGrid1.Visible = TrueLoad Form11Form11.ShowUnload MeEnd Sub

Private Sub Form_Load()If cn.State = 1 Thencn.Close End IfSet cn = New ADODB.Connectioncn.CursorLocation = adUseClientcn.Open "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=Airline Reservation_sys;User=root;Password=;Option=3;"rs1.Open "select * from rank order by mark desc", cn, adOpenDynamic, adLockOptimisticEnd Sub REPORT GENERATION:Dim cn As New ADODB.ConnectionDim rs1 As New ADODB.RecordsetDim rs2 As New ADODB.RecordsetDim rs3 As New ADODB.Recordset

Private Sub Command1_Click()DataGrid1.Visible = TrueSet DataGrid1.DataSource = rs3End Sub

Private Sub command4_Click()Load Form1Form1.Show

55

Page 56: Online Quiz Report

Unload Me End SubPrivate Sub Form_Load()Set cn = New ADODB.ConnectionIf cn.State = 1 Thencn.CloseEnd Ifcn.CursorLocation = adUseClientcn.Open "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=Airline Reservation_sys;User=root;Password=;Option=3;"rs1.Open "select * from Airline Reservationuser", cn, adOpenDynamic, adLockOptimisticrs2.Open "select * from Airline Reservationadmin", cn, adOpenDynamic, adLockOptimisticrs3.Open "select * from rank order by mark desc", cn, adOpenDynamic, adLockOptimisticEnd Sub

6.3 SCREEN SHOTS:

56

Page 57: Online Quiz Report

Fig 6.3.1 MAIN FORM

Fig 6.3.2 ADMINISTRATOR LOGIN

57

Page 58: Online Quiz Report

Fig 6.3.3 INFORMATION GATHERING

58

Page 59: Online Quiz Report

Fig 6.3.4 REQUIRED REGISTRATION

Fig 6.3.5 BOOKING STATUS

59

Page 60: Online Quiz Report

Fig 6.3.6 CONFIRMATION

Fig 6.3.7 REGISTERED

60

Page 61: Online Quiz Report

Fig 6.3.8 HELP INFORMATION

61

Page 62: Online Quiz Report

CHAPTER 7

7. TESTING

7.1 INTRODUCTION:

Testing is a set of activities that can be planned in advance and conducted

systematically testing requires that the developer discard preconceived notations of the

correctness of the software just developed and overcome a conflict of interest that occurs

when errors are encountered. Testing also provides the main objective of our project and

understand the risk of implementation. Testing is a process of technical investigation,

performed on behalf of stakeholder, that is intended to reveal quantity related information

about the product with respect to the context in which it is intended to operate. Testing is

the process of executing a program or an application with an intent of finding an error or

bugs. Testing can be stated as the process of validating and verifying that a software

program/application/product:

7.2 TEST PLAN:

Test plan will describe about the scope and activities of our modules in the project .We

must plan the test plans in the starting of our project. It will provide a unique identifier

for our document. Testing should begin in “small” and proceeds in the “large”.

Exhaustive testing is not possible. Provides an overview of our test plan.

Specify the goals/objectives/constraints.

Our project has eight modules. So, we will do testing from the starting phase itself .The

main aim of test plan is to produce a correct code with all users requirements satisfied.

62

Page 63: Online Quiz Report

7.2.1 UNIT TESTING:Unit testing is used to test or verify the functionality of specific section of code.

This is written by the developers to ensure that specific function is working or not.A unit is the smallest part of an application.

Unit tests are created by programmers or occasionally by white box testers during the development process.

7.2.2 INTEGRATION TESTING:

Integration testing (sometimes called Integration and Testing, abbreviated "I&T") is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before validation testing . Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing.

Integration testing is a type of software that seeks to verify the interface between components. The components are integrated in an iterative way.

Integration testing will allow the interface to find the issues more quickly and fixed.

It works to expose defects in the interfaces and interaction between integrated components (Modules).

TEST CASE FOR END USER:

If the user is just visiting our website then he /she can access only the home page.

TEST CASE FOR LOGIN:

If the user has joined into our website they will be provided wih an user id

And using that they can access their account.

TEST CASE FOR CREATE SESSION:

If the user wants to take a test then they can login as user and select their category and can proceed to next step.

63

Page 64: Online Quiz Report

7.2.3 VALIDATION TESTING:

While verification is a quality control process, quality assurance process carried out

before the software is ready for release is known as validation testing. The validation

testing goals is to validate and be confident about the software product or system, that it

fulfills the requirements given by the customer. The acceptance of the software from the

end customer is also a part of validation testing. Validation testing INFORMATIONs the

information, "Are you building the right software system". Another information, which

the entire process of validation testing in software engineering INFORMATIONs is, "Is

the deliverable fit for purpose". In other words, does the software system provide the

right solution to the problem. Therefore, often the testing activities are introduced early in

the software development life cycle. The two major areas, when validation testing should

take place are in the early stages of software development and towards the end, when the

product is ready for release. In other words, it is acceptance testing which is a part of

validation testing.

64

Page 65: Online Quiz Report

CHAPTER 8

FUTURE ENHANCEMENTS

o The main aim of our project is create a good interaction between the user and administrator.o We are trying to do the project at best level to satisfy all the end users (i.e, user/faculty).o In our future we are decided to provide more security to our website which may not be hacked.o And we give the choice to user to add their name under the faculty who they wish and get advice for their betterment.o It will be more empowering.o Next we are aiming to provide some online classes in to our website.

65

Page 66: Online Quiz Report

CHAPTER 9

9. CONCLUSION

This online Airline reservation system provides facility to conduct online reservation world wide. It saves time as it allows number of users to give the exam at a time and displays the results as the reservation gets over, so no need to wait for the result. It is automatically generated by the server. Administrator has a privilege to create, modify and delete the test papers and its particular informations. User can register, login and give the reservation with his specific id, and can see the results as well.

REFERENCES:

http://blog.jitbit.com/2007/08/why-we-still-use-vb6-for-some-projects.html

http://homepages.uel.ac.uk/D.Bowden/   http://dev.mysql.com/doc/refman/5.0/en/connector-odbc-general-information.html   http://www.cs.virginia.edu/~horton/cs494/info/rose-howto-v2.pdf

66