Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 62

CAPSTONE PROJECT REPORT

(ONLINE

TEST)

Submitted by (ANUHARSH SAXENA) Registration No:10810233 Programme: B.tech(C.S.E) Section:RK28E3

Under the Guidance of Miss.Manpreet Kaur Discipline of CSE/IT

Lovely School of Sciences and Technology. Lovely Professional University, Phagwara

CERTIFICATE
This is to certify that Anuharsh Saxena bearing Registration no10810233 has completed capstone project titled, ONLINE TEST under my guidance and supervision. To the best of my knowledge, the present work is the result of her original investigation and study. No part of the work has ever been submitted for any other degree at any University. The project is fit for submission and the partial fulfillment of the conditions for the award of B.tech(CSE).

Signature and Name of the Research Supervisor Designation School Lovely Professional University Phagwara, Punjab. Date :

DECLARATION
I,Anuharsh Saxena student of B.tech(C.S.E) under Department of Sciences and Technology of Lovely Professional University, Punjab, hereby declare that all the information furnished in this dissertation / capstone project report is based on my own intensive research and is genuine. This dissertation / report does, to the best of my knowledge, contain part of my work which has been submitted for the award of my degree either of this university or any other university without proper citation.

Date : ANUHARSH SAXENA RegistrationNo 108102333.

ACKNOWLEDGEMENT

At the very outset, I am highly indebted to LOVELY PROFESSIONAL UNIVERSITY for giving me an opportunity to carry out my project on ONLINE TEST . I would specially thank Miss. Manpreet Kaur, Project Mentor, Lovely Professional University for giving time and guidance throughout my Partial project without whom it would have been impossible to attain success. I own my regards to the entire faculty of the department of computer science and information technology at LOVELY PROFFESSIONAL UNIVERSITY from where I have learnt the basics of Computer Science and whose informal discussions and able guidance was a become light for me in the entire duration of this work.

Anuharsh Saxena 10810233

INDEX

1.Organization Overview. 7 2. Profile of the Problem.. 8 3. Existing System 9


Introduction... 9 Existing Software9 Software requirements10 DFD for present system.... 11 Product definition. 13 Feasibility Analysis.. 13 Project Plan... 14 Introduction... 14 Scope...16 General Description. 16-20 Specific Requirements20-22 Software interface23 System Design..27 Design Notation....28 Detailed Design....29-30 Pseudo code...31 Technology used..31-32 Testing ..33 Functional Testing........34 Structural Testing........35-36 Level of testing....36 Testing the Project......37 Test cases..37-38. Implementation.39

4. Problem Analysis.. 12

5. Software Requirement Analysis 15

6. Design..27

Post implementation and software maintenance..40 Project legacy...40 Complete coding structure...41-59 Snapshots...46-47-52-60 Appropriate Validation Checks.....61 Bibliography..62

ORGANIZATION PROFILE
The name of my organization is Lovely Professional University (Lpu). It has a 600 + Acres Campus: A technology driven campus, spreed over 600 + acres of lush green area on NH-1 at the entry of Jalandhar city. LPU provides a Professional learning Environment that acts as a catalyst for the exponential growth of students academics as well as extracurricular abilities. LPU is Indias Largest University with 25,000+ students (on one campus) from across 26 States of India and 16 Countries around the world. LPU is duly recognized by UGC and other Apex Bodies and has accreditations of various national and International bodies and associations. LPU has a strong internationalization strategy where LPU wants to be regarded as a university with a global perspective. LPU has 25+ international tie-ups.

PROFILE OF THE PROBLEM


Scope of this project is very broad in terms of other manually taking exams. Few of them are: This can be used in educational institutions as well as in corporate world. No restriction that examiner has to be present when the candidate takes the test. Slow retrieval time results The system is labor and space intensive The manual system produces a risk of missing files There is a lack of confidently. No back up exists to support disaster recover.

EXISTING SYSTEM
INTRODUCTION
The project is based on ONLINE TEST. . This software firm deals in developing software for its clients. This a Notepad, using Java, Swing and AWT. In modern civilization has become so complicated and sophisticated that to survive one has to be competitive. This compiles the people to be acquainted with all type of happening in the society; mankind is surrounded with a vast amount of data available. Modern business management system has also rendered in a fashion so that it can be utilized with minimum possible time. Paper files require a high amount of storage space and storage creates several other problems like fire risk, spoilage and deterioration by way of aging humidity etc. Computerization of documents and the files has solved this problem to create extent. Not only this, but it has to be high amount of relaxation to human mind, as everything can be automated. Now the documents can in a number of ways, styles and number of documents can be created as and when required without making any mistakes.

EXISTING SOFTWARE
Project Name : ONLINE TEST

Institute

LOVELY PROFESSIONAL UNIVERSITY

Project Type Front End

: : :

Development Project Java swings, AWT. Notepad Editor

Tool

Software Requirements:
Operating System Integrated Development Environment (IDE) Front end Tool Developing Technology Database Connectivity Back End Tool Web Server Browser Application Software Windows 2000 Server, Windows NT 4.0/2000, XP Eclipse Applet Java/J2EE JDBC Ms- Access Apache Tomcat Internet Explorer 6.0 MS-Office 2003

DFD:

User table

User Login REG Table

Result

Registratio n

Exam

Englis h

Math

Java

Calculate Result

PROBLEM ANALYSIS

The institute currently operates under a manual system of conducting exams of students. The primary function of the staff is to file and retrieve the information regarding the students, tests and tests type, performance reports of every student in different subjects, and to maintain batch records. There are the five major areas in which the manual system affects costs: Slow retrieval time results The system is labor and space intensive The manual system produces a risk of missing files There is a lack of confidently. No back up exists to support disaster recover.

The volume of paper is one of the things that stand in the way of increasing productivity in institute.

Document retrieval Costs


Because batches are rarely cross referenced, the staff might have to look under several headings to locate pertinent data. Even if the staff is conscientious about filling methods, locating documents is still a labor and cost intensive operation.

Value of missing information


Combined with the typical lost document statics reviewed above, one could estimate the industry average cost of not having the documents information when needed. But to obtain first hand actual data for as software organization. This company decided to measure that actual dollar value of lost information. Over a two week period, the file staff filled out a form for each request to retrieve a document from the storage rooms. The data collected documented the total number of filed requested and the results of each request.

Maintaining Registers is Costly

Traditionally, documents have been stored in batches and then filed in the cabinets and boxes. A numerical system is then assigned. Specially a batch number assigned to organize the files. Operative notes are classified alphabetically. Listed below are the cost elements in our paper based filling system: Labor: Creating new files, labeling, applying batch header sheets to file into the system, collating and entering information into a batch log book. Supplies: File folders, dividers, folder labels, batch header sheets, requisitions slips, file logs and filling boxes. Equipment: File cabinets and shelving units

FEASIBILITY STUDY
1.ECONOMIC FEASIBILITY
Economic analysis is most frequently used for evaluation of the effectiveness of the system. More commonly knows as cost/benefit analysis the procedure is to determine the benefit and saving that are expected from a system and compare them with costs, decisions is made to design and implement the system.This part of feasibility study gives the top management the economic justification for the new system. This is an important input to the management the management, because very often the top management does not like to get confounded by the various technicalities that bound to be associated with a project of this kind. A simple economic analysis that gives the actual comparison of costs and benefits is much more meaningful in such cases.In the system, the organization is most satisfied by economic feasibility. Because, if the organization implements this system, it need not require any additional hardware resources as well as it will be saving lot of time.

2.TECHNICAL FEASIBILITY
Technical feasibility centers on the existing manual system of the test management process and to what extent it can support the system. According to feasibility analysis procedure the technical feasibility of the system is analyzed and the technical requirements such as software facilities, procedure, inputs are identified. It is also one of the important phases of the system development activities.The system offers greater levels of user friendliness combined with greater processing speed. Therefore, the cost of maintenance can be reduced. Since, processing speed is very high and the work is reduced in the maintenance.

3.BEHAVIOURAL FEASIBILITY
People are inherently resistant to change and computer has been known to facilitate changes. An estimate should be made of how strong the user is likely to move towards the development of computerized system. These are various levels of users in order to ensure proper authentication and authorization and security of sensitive data of the organization.

PROJECT PLANS
Team Structure
Team Will be comprising of one members Anuharsh Saxena Our very able and helpful project guide Miss.Manpreet Kaur

Development Schedule
The work in developing the new system commented immediately with our first meeting with the management and users thereafter we were in continuous touch with the management and users of the company.

Phases Involved in the development of the system


Identify needs and benefits Held meetings with the management and user Studied and identified the existing system. Identify needs and project constraints Established project statements Prepared a detailed report of the existing system at work. Prepare the software requirement specifications . Actual coding started

1.System/Infor mation Engineering and Modeling 2. Software Requirements Analysis 3. Systems Analysis and Design 4. Code Generation 5. Testing 6. Maintenance

Software Requirement Analysis


This is also known as feasibility study. In this phase, the development team visits the customer and studies their system. They investigate the need for possible software automation in the given system. By the end of the feasibility study, the team furnishes a document that holds the different specific recommendations for the candidate system. It also includes the personnel assignments, costs, project schedule, and target dates. The requirements gathering process is intensified and focused specially on software. To understand the nature of the program(s) to be built, the system engineer ("analyst") must understand the information domain for the software, as well as required function, behavior, performance and interfacing. The essential purpose of this phase is to find the need and to define the problem that needs to be solved. It saves time as it allows number of students to give the exam at a time and displays the results as the test 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 questions. User can register, login and give the test with his specific id, and can see the results as well.

Document Conventions
The following are the list of conventions and acronyms used in this document and the project as well: Administrator: A login id representing a user with user administration privileges to the software User: A general login id assigned to users Client: Intended users for the software Examiner: Checks the test n gives result

Scope
Scope of this project is very broad in terms of other manually taking exams. Few of them are:This can be used in educational institutions as well as in corporate world. Can be used anywhere any time as it is a web based application(user Location doesnt matter). No restriction that examiner has to be present when the candidate takes the test. The proposed Language Skill Exam System is an on-line Exam System. The online test created for taking online test has following stages Login Test Result Login:There is a quality login window because this is more secure than other login forms as in a normal login window there are multiple logins available so that more than one person can access to test with there individual login. But in this project there is only one login id i.e. administrator id and password by which a person enter the site. Hence it is more secure and reliable than previously used on-line test simulators.

TEST:
Test page is the most creative and important page in this project. It consists of 2 modules namely: Subject selection Utilities

Subject selection:From the given choices the candidate can select his field (like C, C++ and JAVA, Eng etc) for taking on with the test.

Utilities:It includes: Skip and come back to the question afterwards if needed. Gives the list of attempted and unattempted questions and can go to any question directly and can either attempt or change the answer of the already attempted question.

Product Features
There are three different users who will be using this product: University chancellor who will be acting as the administrator. Students who will be accessing the OES online. The features that are available to the Administrator are: The administrator has the full fledged rights over the OES. Can create/delete an account. Can view the accounts. Can change the password. Can hide any kind of features from the both of users. Insert/delete/edit the information of available on OES. Can access all the accounts of the faculty members/students. The features available to the Students are: Can view The different categories of Test available in their account. Can view their marks.

Can view the various reading material. Can view and modify its profile but can modify it to some limited range. Can pay their fee online. The features available to the Examiner are: Can view The different categories of Test conducted by users. Can view their marks. Can view and modify Results.

User Classes and Characteristics


There are various kinds of users for the product. Usually web products are visited by various users for different reasons. The users include : Chancellor who will be acting as the controller and he will have all the privileges of administrator. Students who will be using the above features by accessing the OES online. Examiner who will prepare& load database into the software.

Operating Environment
The product will be operating in windows environment. Also it will be compatible with the IE 6.0. Most of the features will be compatible with the Mozilla Firefox & Opera 7.0 or higher version. The only requirement to use this online product would be the internet connection.

Design and Implementation Constraints

The whole implementation is done in two modules. The first one is Administrator and the second is Examinee.

Module I:This first module tracks the path of Administrator. In this module it shows how the admin can log into the system with a valid password and can add new valid user to the database. His name and examid is saved in the database .Also he can manipulate the database and add new question in the database from the webpage itself. It also shows how many questions are in database.

Module II:This second module track the path for the examinee .The examinee can log into the system with a valid ID issued by the admin. After successfully login into the system the examinee moves to the instruction web page where he will get instruction about the examination process. Then after clicking the start button the exam starts and timer also starts .In this manner examinee can take up the test and clicking the submit button , he will get the result of that section immediately. At the end system displays the initial web page.

Assumptions and Dependencies


Full working of OES is dependent on the availability of Internet connection and the software.

Assumptions:
In general it has been assumed that the user has complete knowledge of the system that means user is not a nave user. Any data entered by him/her will be valid. To make the software as user friendly as possible but at the same time keeping in minds user requirements. Server OS should be Windows NT/2000/XP. Client PC should be Windows 9X/NT/WorkStation or Windows 2000 with latest service pack.

Dependencies:
It depends that the one should follow the international standards for the generating the User ID & should fill the related information in the proper format.

Database Storage
Description and Priority Proposed Database is intended to store, retrieve, update, and manipulate information related to university which include Profile of both users Student details My account Test results Stimulus / Response Sequences Responses for Administrator: The administrator can Login and Logout. When the Administrator Logs into the Online Exam system. The system will check for validity of login .If the Login and password are valid, the response to this action is the administrator will be able to modify, view, add, deleting and all other functions that can be performed on the database.

Examination:
First of all the user/examinee gets a valid identification number (same as the roll no for a normal examination).The user can log on with this identification no. and can take up the examination. After logging in the user can see various options and can choose the option from the menu.

Functional Requirements
This section gives the list of Functional and non functional requirements which are applicable to the Online Exam System. Functional requirements are nothing but the services provided by the system to its end users. There are three sub modules in this phase. Candidate module. Examiner module. Administrator module. The functionality of each module is as follows.

Candidate module: The candidate will logon to the software and take his examination. He
can also check his previous examinations marks and his details. The candidate will get result immediately after the completion of the examination.

Examiner module: The database is prepared & loaded into the software. Selection for
examination can be done language wise by the examiner. The results will be displayed immediately after completion of the examination.

Administrator module: The administrator collects all the results after successful
completion of the examination and sends to the head quarters as and when required.

Interface Requirements
This section describes how the software interfaces with other software products or users for input or output. Application will be accessed through a Browser Interface. The interface would be viewed best using 1024 x 768 and 800 x 600 pixels resolution setting. The software would be fully compatible with Microsoft Internet Explorer for version 6 and above. No user would be able to access any part of the application without logging on to the system.

User Interfaces
Application will be accessed through a Browser Interface. The interface would be viewed best using 1024 x 768 and 800 x 600 pixels resolution setting. The software would be fully compatible with Microsoft Internet Explorer for version 6 and above. No user would be able to access any part of the application without logging on to the system.

Hardware Interfaces
Server Side:
Operating System: Windows 9x/xp ,Windows ME Processor: Pentium 3.0 GHz or higher RAM: 256 Mb or more Hard Drive: 10 GB or more

Client side:
Operating System: Windows 9x or above, MAC or UNIX. Processor: Pentium III or 2.0 GHz or higher. RAM: 256 Mb or more

Software Interfaces
Client Side : .HTML, Web Browser, Windows XP/2000/Vista Web Server: .HTML, Windows XP/2000/Vista

Communications Interfaces
The Customer must connect to the Internet to access the Website: Dialup Modem of 52 kbps Broadband Internet Dialup or Broadband Connection with a Internet Provider .

Other Nonfunctional Requirements:


Performance Requirements
Some Performance requirements identified is listed below: The database shall be able to accommodate a minimum of 10,000 records of students. The software shall support use of multiple users at a time. There are no other specific performance requirements that will affect development

Safety Requirements
The database may get crashed at any certain time due to virus or operating system failure. Therefore, it is required to take the database backup.

Security Requirements
Some of the factors that are identified to protect the software from accidental or malicious access, use, modification, destruction, or disclosure are described below. 1 2 3 4 5 6 Keep specific log or history data sets Assign certain functions to different modules Restrict communications between some areas of the program Check data integrity for critical variables Later version of the software will incorporate encryption techniques in the user/license Communication needs to be restricted when the application is validating the user or license. (i.e., using https).

authentication process.

Software Quality Attributes


The Quality of the System is maintained in such a way so that it can be very user friendly to all the users. The software quality attributes are assumed as under: 1)Accurate and hence reliable. 2) Secured. 3) Fast speed. 4) Compatibility.

SYSTEM DEVELOPMENT LIFE CYCLE MODEL (SDLC MODEL)


This is also known as Classic Life Cycle Model (or) Linear Sequential Model (or) Waterfall Method. This has the following activities. 1. System/Information Engineering and Modeling 2. Software Requirements Analysis 3. Systems Analysis and Design 4. Code Generation 5. Testing 6. Maintenance

System/Information Engineering and Modeling


As software is always of a large system (or business), work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when software must interface with other elements such as hardware, people and other resources. System is the basic and very critical requirement for the existence of software in any entity. So if the system is not in place, the system should be engineered and put in place. In some cases, to extract the maximum output, the system should be re-engineered and spruced up. Once the ideal system is engineered or tuned, the development team studies the software requirement for the system.

Software Requirement Analysis


This is also known as feasibility study. In this phase, the development team visits the customer and studies their system. They investigate the need for possible software automation in the given system. By the end of the feasibility study, the team furnishes a document that holds the different specific recommendations for the candidate system. It also includes the personnel assignments, costs, project schedule, and target dates. The requirements gathering process is intensified and focused specially on software. To understand the nature of the program(s) to be built, the system engineer ("analyst") must understand the information domain for the software, as well as required function, behavior, performance and interfacing. The essential purpose of this phase is to find the need and to define the problem that needs to be solved.

System Analysis and Design


In this phase, the software development process, the software's overall structure and its nuances are defined. In terms of the client/server technology, the number of tiers needed for the package architecture, the database design, the data structure design etc are all defined in this phase. A software development model is created. Analysis and Design are very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage of the software development. Much care is taken during this phase. The logical system of the product is developed in this phase.

Code generation
The design must be translated into a machine-readable form. The code generation step performs this task. If the design is performed in a detailed manner, code generation can be accomplished without much complication. Programming tools like Compilers, Interpreters, and Debuggers are used to generate the code. Different high level programming languages like C, C++, Pascal, and Java are used for coding. With respect to the type of application, the right programming language is chosen.

Testing
Once the code is generated, the software program testing begins. Different testing methodologies are available to unravel the bugs that were committed during the previous phases. Different testing tools and methodologies are already available. Some companies build their own testing tools that are tailor made for their own development operations.

Maintenance
Software will definitely undergo change once it is delivered to the customer. There are many reasons for the change. Change could happen because of some unexpected input values into the system. In addition, the changes in the system could directly affect the software operations. The software should be developed to accommodate changes that could happen during the post implementation period.

System Design:
username password

Exam id Marks Exam Result

Receiv e

user

Register USERNA ME

Exam Result

REGISTRATIO N

Password

User id RESUL T EXAMINATION perform

USER name and password

ENG

MATH S

JAVA

Design notation:

oval

Start and End

Processing Steps

Input/Output

Flow Of Control

Decision box

System Design
Introduction: The objective of the system design is to deliver the requirements as specified in the feasibility report. System design involves first logical design (logical design) and then physical construction (detailed design) of the system. The logical design describes the structure and characteristics of features, such as the outputs, inputs, files, databases, and procedures. The physical construction produces actual program software, files, and a working system. System design goes through two phases of development: Logical Design Physical Design

Logical Design:We know that a data flow diagram shows the logical flow of a system and defines the boundaries of the system. Logical design specifies the user need at a level of details that virtually determine the information flow into and out of the system and the required data resources. Logical design describes the inputs, outputs, database and procedures .All in a format that meets the users requirements.

Physical Design:It provides the working system by defining the design specification that tells programmers exactly what that candidate system must do. In short it can state that physical design is the implementation of the logical design. Physical system design consists of the followingDesign the physical system Specify input, output media Design the database and specify backup procedures. Design physical information flow through the system and a physical design walkthrough. Plan system implementation

Pseudo code
For login page 1. If student is not add then registered. 2. Already registered then view status 3. Search the marks. 4. Give rating. 5. Display on software

TECHNOLOGY USED:

JAVA
Java Technology is both a programming language and a platform. Java: The Programming Language The Java programming language is a high level language that can be characterized by all of the following buzzwords: Simple Object oriented Distributed Interpreted Robust Secure Architecture neutral Portable High performance Multithreaded

With most programming languages, you either compile or interpret a program so that you can run it on your computer. The Java programming language is unusual in that a program is both compiled and interpreted. With the compiler, first you translate a program into an intermediate language called Java byte codes the platform-independent codes interpreted by the interpreter on the Java platform. The interpreter parses and runs each Java byte code instruction

on the computer. Compilation happens just once; interpretation occurs each time the program is executed. The following figure illustrates how this works.

The Java platform has two components:


The Java Virtual Machine (Java VM) The Java Application Programming Interface (Java API)

Java Virtual Machine is standardized hypothetical computer, which is emulated inside our computer by a program. It is base of Java platform and is ported onto various hardwarebased platforms. The Java API is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped into libraries of related classes and interfaces; these libraries are known as packages. The following figure depicts a program that's running on the Java platform. As the figure shows, the Java API and the virtual machine insulate the program from the hardware.

TESTING

FUNCTIONAL TESTING : - Functional testing is a type of black box testing that


bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal structure program is rarely structured. Test case design focuses on a set technique for the cases that meet overall testing objectives. In test case design phase, the engineer creates a series of test cases that are, intended to demolish the software that has been built. Any software product can be tested in one of two ways: Knowing the specific function that a product has been designed to perform, test can be conducted that demonstrate each function is fully operational, at the same time searching for errors in each function. This approach is known as black box testing. Knowing the internal working of a product, test can be conducted to ensure that internal operation performs according to specification and all internal components have been adequately exercised. This approach is know as white-box testing. Black box testing is designed to uncover errors. They are used to demonstrate that software function are operations; that input is properly accepted and output is correctly produced; and that integrity of external information is maintained (e.g. data files.). A black box examines some fundamental aspects of a system with little regard for the internal logical structure of the software. White box testing of software is predicated on close examination of procedural details. Providing test cases that exercise specific set of conditions and loops test logical paths through the software. The state of the program may be examined at various points to determine if the expected or asserted status corresponds to the actual status.

STRUCTURAL TESTING: - Structural system testing is designed to verify that the


developed system and programs work. The objective is to ensure that the product designed is

structurally sound and will function correctly. It attempts to determine that the technology has been used properly and that when all the component parts are assembled they function as a cohesive unit. The quality of a product or item can be achieved by ensuring that the product meets the requirements by planning and conducting the following tests at various stages

Unit Tests at unit level, conducted by development team, to verify individual Integration Tests after two or more product units are integrated conducted by Functional Test prior to the release to validation manager, designed and conducted

standalone units.

development team to test the interface between the integrated units.

by the team independent of designers and coders, to ensure the functionality provided against the customer requirement specifications.

Acceptance Tests prior to the release to validation manger, conducted by the Validation Tests prior to customer, conducted by the validation team to validate the Regression Testing is the re-execution of some subsets of tests already been

development team, if any supplied by the customer.

product against the customer requirement specifications and the user documentation.

conducted to ensure that changes are not propagated unintended side effects.

LEVEL OF TESTING: -

In order to uncover the errors present in different phases, we have the concept of levels of testing. The basic levels of testing are: Client Needs Acceptance Testing

Requirements

System Testing

Design

Integration Testing

Code Fig. Level of Testing

Unit Testing

Integration Testing
In this process of testing it is incremented approach to construction of program structure. Modules are integrated moving downward beginning with main control module. Modules subordinate structure to main control module is incorporated into structure. This form of testing is performed of software in five steps: 1. 2. a time. 3. 4. 5. Tests are conducted as each component is integrated. On completing each set of tests another stub is replaced. It is also tested to ensure that new errors have not been introduced. Main control module is used as test driver and stubs (modules) are Depending on integration selected subordinate stubs are replaced one at substituted for all components subordinate to main control.

In well-factored program structure decision-making occurs at upper levels in hierarchy and therefore encountered first. If major control problem do exist, early recognition is essential. This is termed as top-down integration testing. Bottom-up integration testing begins construction and testing with atomic modules as the components are integrated from the bottom-up, processing required for components subordinate to a given level is always available and the need for stubs is eliminated.

Low-level components are combined into clusters that perform a specific software function. A driver (a control program for testing) is written to coordinate test case input and output. The cluster is tested. Drivers are removed and clusters are combined moving upward in the program structure.

Each time a new module is added as part of integration testing, the software changes. New data flow paths are established, new I/O can occur, and new control logic is invoked. These changes cause problems with functions that previously worked flawlessly. In context of integration test strategy Successful tests result in discovery of errors and errors must be corrected. When software is corrected some aspect of software configuration is changed.

Smoke testing
It is an integration testing that is commonly used when shrink wrapped software products are being developed. It is designed as pacing mechanism for time critical projects, allowing us to assess the project on frequent basis. This consists of steps: Software components are translated into code are integrated into a build. A includes all data files, libraries, reusable modules and engineered components. A series of tests is designed to expose errors that will keep the build from properly performing its function. The build is integrated with other builds and the entire product is smoke tested daily. build

Validation Testing prior to customer, conducted by the validation team to validate the product against the customer requirement specifications and the user documentation.

TESTING THE PROJECT: The best testing is to test each subsystem separately as we have done in our project. It is best to test a system during the implementation stage in form of small sub steps rather then large

chunks. We have tested each module separately i.e. have completed unit testing first and system testing was done after combining /linking all different Modules with different menus and thorough testing was done. Once each lowest level unit has been tested, units are combined with related units and retested in combination. These proceeds hierarchically bottom-up until the entire system is tested as a whole. Hence we have used the Top Up approach for testing our system.

TEST CASES
Test case For Log In: Project : - Online Examination System. Objective : - To check whether user name & Password valid or invalid. Page : - Login Screen. Test Data : - User=admin and Password =1234.
Sr No 1 Steps Enter user name ,password and press submit button. Enter username and press submit button Enter password and press submit button. Enter blank user name and blank password and press submit button. Enter wrong user and password. Data Expected Data Should navigate to admins page Should Display message box please fill all the fields Should display message box please fill all the fields. Should display a message box please fill all the fields Should display a message box Invalid ID or Password Actual result status Pass

Pass

3 4 5

Pass Pass Pass

Test case For Navigation: Project : - Online Examination System.

Objective : - To check whether different hyperlinks are working properly or not. Page : - home page (default page).

Sr No 1

Steps Click on homepage hyperlink menu Click on new questionnaries hyperlink menu Click on quiz hyperlink menu Click on show result hyperlink menu Click on login hyperlink menu Click on queries hyperlink menu Click on feedback hyperlink menu

Data

Expected Data Should display home page Should Display questionnaries details page Should display quiz details page Should display result details page Should display respective login page Should display queries details page Should display feedback form page

Actual result

status Pass

Pass

3 4 5

Pass Pass Pass

6 7

pass pass

IMPLEMENTATION

IMPLEMENTATION OF THE PROJECT: - The result indicated a considerable time saving with the candidate system and comes out with fast and efficient development. Implementation is the process of having system personnel check out and put new software into use, trained user, installs the new application and constructs any strategies. Sometimes system developers may choose to pilot the operation in only area of the firm, say in one department or with only one or two persons. Sometimes they run old and new systems together to compare the result. The implementation phase is less creative than system design. Implementation means the process of converting a new or a revised system design into an operational one. It is primarily concerned with user training, site preparation, and file conversion. When the candidate system is linked to terminals or remote sites, the telecommunication network and tests of the network along with the system are also included under implementation. Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy. In computer science, an implementation is a realization of a technical specification or algorithm as a program, software component, or other computer system. Many implementations may exist for a given specification or standard. For example, web browsers contain implementations of World Wide Web Consortium-recommended specifications, and software development tools contain implementations of programming languages. In the IT Industry, implementation refers to post-sales process of guiding a client from purchase to use of the software or hardware that was purchased. This includes Requirements Analysis, Scope Analysis, Customizations, Systems Integrations, User Policies, User Training and Delivery. These steps are often overseen by a Project Manager using Project Management Methodologies set forth in the Project Management Body of Knowledge. Software Implementations involve several professionals that are relatively new to the knowledge based economy such as Business Analysts, Technical Analysts, Solutions Architect, and Project Managers..

POST IMPLEMENTATION AND SOFTWARE MAINTENANCE: - After the installation phase is completed and the user staff is

adjusted to the changes created by the candidate system, evaluation and maintenance begin. Like any system, there is an aging process that requires periodic maintenance of hardware and software. If the new information is inconsistent with the design specifications, then changes have to be made. Hardware also requires periodic maintenance to keep in tune with design specifications. The importance of maintenance is to continue to bring the new system to standards. For the maintenance it has to be regularly checked whether all the devices are working properly. If any of the devices on network is not working then that has to be checked and amended in time.

PROJECT LEGACY
CURRENT STATUS OF THE PROJECT: - Till now, each modules, from index
page to thanks page are working so fine, and the result of each pages are meeting to the requirements very well. The current status of the project is that the basics of discovering and starting the projects are functional.

REMAINING AREAS OF CONCERN: - No remaining areas were left anymore.


All the modules have been accomplished with required controls.

TECHNICAL AND MANEGERIAL LESSONS LEARNT: - During the


development of system, I have learnt so many assets about tools, system language and many more like: 1) I got to know how the classes(eg dataReader, dataset) fetches data and create table. 2)Moreover, files like Class file helps me to create numerous method.

Complete coding structure:


Login page:

import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import java.sql.*; import java.io.*; public class login4 extends JFrame implements ActionListener { // for login ResultSet rs,rs1; Statement st,st1; Connection con,con1; Font f=new Font("TimesNewRoman",Font.BOLD,15); Font f1=new Font("TimesNewRoman",Font.BOLD,25); int x=230,y=170,h=20; int chk=1; int qn=2; JLabel user,pwd,sys; JTextField utf; JPasswordField ptf; JButton ok,cancel; String str1= ""; String str2= ""; String k = ""; JLabel l1=new JLabel(); JDesktopPane jdp =new JDesktopPane(); Container cp=getContentPane(); public login4()

{ setBounds(100,50,800,570); sys =new JLabel("ONLINE TESTING SYSTEM"); sys.setBounds(220,70,580,80); sys.setFont(f1); jdp.add(sys); user=new JLabel("USER NAME"); pwd=new JLabel("PASSWORD"); utf=new JTextField(20); ptf=new JPasswordField(15); ok=new JButton("OK"); cancel=new JButton("CANCEL"); user.setBounds(x,y,80,25); utf.setBounds(x+90,y,150,25); utf.setToolTipText("ENTER USER NAME "); pwd.setBounds(x,y+50,80,25); ptf.setBounds(x+90,y+50,150,25); ptf.setToolTipText("ENTER YOUR PASSWORD"); ok.setBounds(x+90,y+110,60,25); cancel.setBounds(x+160,y+110,80,25); l1.setBounds(x+90,y+200,300,25); //setDefaultCloseOperation(EXIT_OFF_CLOSE);

ok.addActionListener(this); cancel.addActionListener(this); ptf.addActionListener(this); jdp.add(user); jdp.add(pwd); jdp.add(utf); jdp.add(ptf); jdp.add(ok);

jdp.add(cancel); jdp.add(l1); l1.setFont(f); utf.requestFocus(); cp.add(jdp); setVisible(true);

} public void actionPerformed(ActionEvent ae) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("Jdbc:Odbc:exam"); } catch(Exception e) { System.out.println(e); } Object s =ae.getSource(); if(s==ok) { str1=utf.getText(); String temp=""; str2=""; char input[] =ptf.getPassword(); for(int i=0;i<input.length;i++) { temp=String.valueOf(input[i]); str2=str2+temp;

} try { st=con.createStatement(); rs=st.executeQuery("SELECT * from user"); while(rs.next()) { if(chk==1) { if(str1.equals(rs.getString(1))&&str2.equals(rs.getString(3))) { l1.setText("correct"); menus m008=new menus(); m008.setVisible(true); this.dispose();

chk=0; } else { l1.setText("incorrect user name or passward "); chk=1; } } } } catch(Exception e) { System.out.println(e); } }

else if(s==cancel) { utf.setText(""); ptf.setText(""); l1.setText(""); System.exit(1); } } public static void main(String str[]) { login4 log=new login4(); } }

Menu coding:
import java.awt.*; import java.awt.event.*; import java.awt.MenuItem; public class menus extends Frame implements ActionListener { MenuBar mb=new MenuBar(); Menu m1=new Menu("Area of interest Menu m2 =new Menu("Help Menu m3=new Menu("Quit"); MenuItem m11=new MenuItem("Computers"); MenuItem m12=new MenuItem("General Knowledge"); MenuItem m13=new MenuItem("English"); MenuItem m21=new MenuItem("About Help"); MenuItem m22=new MenuItem("About Project"); MenuItem m31=new MenuItem("Exit"); /*MenuItem m131=new MenuItem("C "); MenuItem m132=new MenuItem("C++ "); MenuItem m133=new MenuItem("JAVA "); MenuItem m134=new MenuItem("Visual Basic"); MenuItem m135=new MenuItem("ORACLE ");*/ Font f=new Font("TimesRoman",Font.BOLD,16); Frame f1; public static void main(String args[]) { new menus().setVisible(true); } public menus() { "); ");

super("ONLINE EXAM"); setSize(800,600); setBackground(Color.lightGray); setLayout(null); setMenuBar(mb); m1.setFont(new Font("TimesRoman", Font.BOLD,16)); m2.setFont(new Font("TimesRoman", Font.BOLD,16)); m3.setFont(new Font("TimesRoman", Font.BOLD,16)); mb.add(m1); mb.add(m2); mb.add(m3); m1.add(m11); m1.add(m12); m1.add(m13); m2.add(m21); m2.add(m22); m3.add(m31); /*m13.setEnabled(false); m13.add(m131); m13.add(m132); m13.add(m133); m13.add(m134); m13.add(m135);*/ setVisible(true); m11.addActionListener(this);

m12.addActionListener(this); m13.addActionListener(this); m2.addActionListener(this); m3.addActionListener(this); m21.addActionListener(this); m22.addActionListener(this); m31.addActionListener(this); /*m131.addActionListener(this); m132.addActionListener(this); m133.addActionListener(this); m134.addActionListener(this); m135.addActionListener(this);*/ } public void actionPerformed(ActionEvent e) { if(e.getSource()==m11) { comp m009=new comp(1); m009.setVisible(true); this.dispose(); } if(e.getSource()==m12) { gen m009=new gen(1); m009.setVisible(true); this.dispose(); } /* if( (e.getSource()==m131) || (e.getSource()==m132) || (e.getSource()==m133) || { comp cm=new comp(1); cm.setVisible(true);

(e.getSource()==m134) || (e.getSource()==m135) )

this.dispose(); }*/ if(e.getSource()==m21) { mhelp m009=new mhelp(); m009.setVisible(true); } if(e.getSource()==m13) { eng en=new eng(1); en.setVisible(true); this.dispose(); } if(e.getSource()==m31) { this.dispose(); System.exit(0); } } }

import java.awt.*; import java.awt.event.*; public class exam extends Frame implements ActionListener { Label l1,l2; Button b1,b2; Panel p1,p2,p3; public static void main(String args[]) { new exam().setVisible(true); } public exam() { super("ONLINE EXAM"); setSize(800,600); setBackground(Color.lightGray); setLayout(new BorderLayout()); p1=new Panel(); p2=new Panel(); p2.setLayout(null); l1=new Label("OnLine Exam"); l1.setFont(new Font("TimesRoman",Font.BOLD,25)); l1.setBackground(Color.lightGray); l1.setAlignment(Label.CENTER); l2 =new Label("Do you want to appear in exam?",Label.LEFT); l2.setFont(new Font("TimesRoman",Font.BOLD,20)); l2.setBounds(270,120,300,50);

p1.add(l1); add("North",p1); add("Center",p2); b1=new Button("Yes"); b1.setBounds(330,220,50,20); b1.addActionListener(this); b2=new Button("No"); b2.setBounds(410,220,50,20); b2.addActionListener(this); p2.add(l2); p2.add(b1); p2.add(b2); } public void actionPerformed(ActionEvent e) { if(e.getSource()==b1) { frm f1=new frm(); f1.setVisible(true); this.dispose(); } if(e.getSource()==b2) { this.dispose(); System.exit(0); } }

Result coding:
import java.awt.*; import java.awt.event.*; import java.sql.*; import java.util.*; public class cresult extends Frame implements ActionListener { Label head=new Label("EXAMINATION SYSYTEM "); Label name=new Label("Name"); Label total=new Label("Total Marks"); Label min=new Label("Minimum Marks"); Label per=new Label("Percentage"); String uans[]=new String[40]; String cans[]=new String[40]; static int earn=0,i=1; TextField n1=new TextField(); TextField t1=new TextField(); TextField m1=new TextField(); TextField per1=new TextField(); Button review=new Button("Review Answer"); Button exit=new Button("Exit"); Font f=new Font("TimesRoman",Font.BOLD,16); public static void main(String args[]) { new cresult().setVisible(true); }

public cresult() { super("ONLINE EXAM"); setSize(800,600); setBackground(Color.lightGray); setLayout(new BorderLayout()); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=DriverManager.getConnection("jdbc:odbc:exam"); Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("SELECT [answer] FROM answer"); System.out.print("user ans "); while(rs.next()) { uans[i]=rs.getString(1); System.out.print(" "+uans[i]); i++; } i=1; System.out.println(); //con.close(); Statement stmt1=con.createStatement(); ResultSet rs1=stmt1.executeQuery("SELECT [correct] FROM computer"); System.out.print("correct ans"); while(rs1.next()) { cans[i]=rs1.getString(1); System.out.print(" "+cans[i]); i++;

} i=1; Statement stmt2=con.createStatement(); ResultSet rs2=stmt2.executeQuery("SELECT [name] FROM user"); while(rs2.next()) n1.setText(rs2.getString(1)); while(i<=30) { if(uans[i].equals(cans[i])) { earn++; } i++; } System.out.println(); System.out.print("Marks Earned: "+earn); con.close(); } catch(Exception e1) { System.out.print("**"); } float p= (earn * 100) /30; System.out.println("Per: "+p); Panel p1=new Panel(); Panel p2=new Panel(); Panel p3=new Panel(); add("North",p1); add("Center",p2);

add("South",p3); p2.setLayout(null); p1.add(head); head.setFont(new Font("TimesRoman",Font.BOLD,20)); p2.add(name); name.setFont(f); name.setBounds(150,50,150,20); p2.add(total); total.setFont(f); total.setBounds(150,80,150,20); p2.add(min); min.setFont(f); min.setBounds(150,110,150,20); p2.add(per); per.setFont(f); per.setBounds(150,140,150,20); p2.add(n1); n1.setFont(f); n1.setBounds(300,50,150,20); p2.add(t1); t1.setFont(f); t1.setBounds(300,80,150,20); t1.setText("30"); p2.add(m1); m1.setFont(f); m1.setBounds(300,110,150,20); m1.setText("12");

p2.add(per1); per1.setFont(f); per1.setBounds(300,140,150,20); per1.setText(p+"%"); p3.add(review); review.setFont(f); review.addActionListener(this); p3.add(exit); exit.setFont(f); exit.addActionListener(this); } public void actionPerformed(ActionEvent e) { if(e.getSource()==review) { compans cn=new compans(); cn.setVisible(true); this.dispose(); } if(e.getSource()==exit) { this.dispose(); System.exit(0); } } }

Appropriate Validation Checks


S.No 1 Test cases If incorrect username or password. 2 5 If user log in changes in marks description Expected value Error message must be displayed Logout must be displayed The new description must be saved 6 If user log out into database The home page must be displayed Displayed Displayed Updated Actual value Displayed

REFRENCES:
Complete refernce For java. Black book of java. Online help from Java2s.com forum website www.java.sun.com

You might also like