You are on page 1of 114

PROJECT REPORT On

ONLINE EXAMINATION SYSTEM


Submitted in partial fulfillment of requirements for the Degree of Bachelor of Engineering in Computer Science & Engineering, Maharishi Dayanand University, Rohtak (Haryana) TEAM MEMBERS

Sidharth Tewatia Yogesh Dubey Gurpreet Singh

241113 241120 241095

Under the Supervision Of

Mr. Suresh kumar (Project Guide)

Dr. R K Rathy (Prof. & Head, CSE)

DEPARTMENT OF COMPUTER SCIENCE & ENGNEERING CAREER INSTITUTE OF TECHNOLOGY AND MANAGEMENT ARAVALI HILLS, FARIDABAD (HARYANA)
1

April, 2008

ACKNOWLEDGMENT
The successful realization of the project is an outgrowth of a consolidated effort of people from disparate fronts. We express our deep thanks to Dr. R.K RATHY (HOD Computer Science Department, CITM) and Dr. M K Soni (Director, CITM) for warm hospitality and affection extended towards us. Their constant encouragement has helped to widen the horizon of our knowledge and inculcate the spirit of dedication to the purpose. We are thankful to Mr. Suresh Kumar, Ms. Promila Sehdev, Ms. Nitika Jindal, Ms. Rachna Behl and lab staff for their valuable advice and support extended to us without which we would not have been able to complete our project. For a success, it requires diligence, perseverance, inspiration, motivation and innovation. Words cannot express our gratitude for all those people who helped us directly or indirectly in our endeavor. We take this opportunity to express our sincere thanks to all the staff members of the CSE department for their valuable suggestions.

Sidharth Tewatia Yogesh Dubey Gurpreet Singh

241113 241120 241095

ACKNOWLEGMENT

The successful realization of the project is an outgrowth of a consolidated effort of people from disparate fronts. We express our deep thanks to Dr. R.K RATHY (HOD Computer Science Department, CITM) for warm hospitality and affection extended towards us. His constant encouragement has helped to widen the horizon of our knowledge and inculcate the spirit of dedication to the purpose. We are thankful to Mr. Suresh Kumar (Project Coordinator) and Ms. Nitika Jindal (Project Guide) for their valuable advice and support extended to us without which we would not have been able to complete our project. For a success, it requires diligence, perseverance, inspiration, motivation and innovation. Words cannot express our gratitude for all those people who helped us directly or indirectly in our endeavor. We take this opportunity to
3

express our sincere thanks to all the staff members of the CSE department for their valuable suggestions.

CERTIFICATE
This is to certify that the project report entitled ONLINE EXAMINATION SYSTEM submitted by us in partial fulfillment of the requirements for the Award of the Degree of Bachelor Of Engineering in Computer Science and Engineering of Maharishi Dayanand University, Rohtak (Haryana) is a record of own bonafide work and has not been submitted anywhere else for any other purpose.

SUMMARY

The use of computer has been steadily increasing in science and technology since its invention. Computer Technology has spread its root in various areas including Industry, Science, Technology, Education and Business. Their application is increasing day by day in various other fields and their most recent conquest is Online Applications. With the advent of various online systems for example: Online reservations, online banking, online shopping, auctioning etc., appearing for an examination through
4

Internet or rather we will say online has become an essential part of a students life. We have tried to design a system, which can be used by the students to take tests for various subjects. The questions have been designed to be objective/multiple type instead of elaborative. The user has to register for the test. The Administrator provides an unique user name and password to the student. The user name and password will be required by the student for taking the test. At the end of the test the student can see his Result. The Administrator can only add a teacher and the teacher can provide questions for only one subject only. The teacher will also be given a specific user name and password, by which the teacher can login in and add/update questions. The teacher will have to provide questions in the multiple choice format. The teacher will provide the right answer also. The administrator can view, update records of the users and can add/modify users details i.e. the administrator has the rights to make any changes in the database.

TABLE OF CONTENTS

I. ACKNOWLEGMENT II. CERTIFICATE III. SUMMARY 1. INTRODUCTION


1.1 Proposed System 1.2 Purpose 1.3 Modules
5

1.4 Objectives

2. SYSTEM ANALYSIS
2.1 Detailed Problem 2.2 Requirement Analysis 2.3 Software development Cycles 2.4 Object Model 2.5 Dynamic Model 2.6 Functional Model

3. SYSTEM DESIGN
3.1 Modular Design 3.2 Database Design 3.3 E-R Diagram 3.4 Interface Design

4. SYSTEM IMPLEMENTATION
4.1 Platform Used 4.1.1 About .Net 4.1.2 About SQL Server 4.2 Coding

5. TESTING
5.1 Verification and Validation 5.2 Levels of testing 5.3 A Sample Testing Cycle
6

6. CONCLUSION
6.1 Future Scope 6.2 Bibliography 6.3 References

CHAPTER-1 INTRODUCTION

INTRODUCTION

1.1 PROPOSED SYSTEM:

CITM online exam is helpful for the students to check out their performance in various subjects. Authenticated user can access to the website. Only teachers can add new questions to any subject with one right answer. And they can delete questions as well.
8

Students have to log in, select the subject and can take the test. Floating difficulty level of the questions based on students performance. Only the correct answer provided by teacher will fetch marks to the students.

The Format of the test will be as follows: When a student starts a test, he will get a simple level question.If the student gives the right answer,then he will get the Medium level question.If the students gives the right answer to that,then he will get a Difficult level question.If in any condition the student fails to give the right answer,then the level will fall down to one level below.The first question of the test will be a random question from the simple question database

Scoring in the Exam

The scoring in the exam will be done on the following Prameters: For every right answer of the respective level,the following marks will be fetched

1.Easy Level 2.Medium Level 3.Difficult Level

=1 =2 =3

1.2 WHY IS ONLINE BETTER THEN PAPER BASED?


Lower long-term costs :Although the initial expenditure to set up the system will be on the higher side, but when the system becomes fully operative and functional,it will be economically beneficial.
9

Instant feedback to students: The students can get the result instantaneously. Greater flexibility with respect to location and timing. The students can give the test any time they want and the test location is also flexible. The student can give the exam at any time or place. Improved reliability: Machine marking is much more reliable than human marking. Enhanced question styles which incorporate interactivity and multimedia

1.3 MODULES

ADMINISTRATOR:
The administrator will perform the most important responsibilities of the system.He will overlook the entire functioning of the project.He will be like an oversear over the teacher and student.The administrator willhave all the rights in the system.Functions of the Administrator are:

10

LOGIN: The teacher can login in using a valid username and password provided by the administrator. ADD STUDENT: The administrator can only add a new student and as well his details.

MODIFY STUDENT: The administrator can modify an already existing student record as well as delete an existing one.

ADD TEACHER: The administrator can only add a new teacher and as well his details

MODIFY TEACHER: The administrator can modify an already existing teacher record as well as delete an existing one.

STUDENT :
Every student that enrolls for the online examination is provided with a secret user name and a secret password. Whenever the student wants to give the examination it is required to enter that user name and password. This will ensure the security of the system. After the password is accepted by the system the student is made to choose the subject of the exam.This can be done by selecting the category option provided in the system.

After that the question paper will be generated infront of the student with the questions comprising of multiple choices as answers where in the student can mark
11

only one choice. After submitting the student can move to the next question.At the end of the exam student can obtain the final result for the test along with the correct answers for the wrong choices marked by him

The student can perform the following following functions:

LOGIN: The teacher can login in using a valid username and password provided by the administrator.

CATEGORY: The student can select the category o the test, i.e the subject in which the student wants give the test.

TEST: The test will be a multiple choice question exam. The student will have to tick one option as correct. Whether the answer is correct or wrong will be displayed there and then.The student can not move to the next question until he ticks one option.The student cant also move back to the previous question.

RESULT: The result will be generated at the end of the exam.

LOGOUT: At the end of the exam the student can logout. He can even logout in between the test also if he wants to.

TEACHER:
The Teacher will be given a valid username and password by the administrator. The teacher can login using that valid username and password only. The teacher is entitled
12

to add and update questions. The teacher will have to provide multiple choice questions with the right answer. The Teacher can perform the following functions. LOGIN: The teacher can login in using a valid username and password provided by the administrator.

ADD QUESTION: The teacher can add questions in the database. The teacher will have to provide the questions in a Multiple choice format. The right answer provided by the teacher only will fetch the marks to the questions. The Teacher will have to mention the level of the question as well, whether the question is Easy, Medium or Difficult.

UPDATE QUESTION : Only is teacher has got the rights to update the existing questions.

DELETE QUESTIONS: The teacher can also delete the existing questions.

1.4

OBJECTIVES

Online exam is helpful for the students to check out their performance in various subjects. Authenticated user can access to the website.

Only teachers can add new questions to any subject with one right answer. And they can delete questions as well. Students have to log in, select the subject and can take the test.
13

Floating difficulty level of the questions based on students performance. Only the correct answer provided by teacher will fetch marks to the students.

14

CHAPTER-2 System Analysis

2.1 DETAILED PROBLEM


Basically our project aims at replacing the existing examination that includes tedious paper work and manual work to large extent.By making this project we want to make examinitaion conduction a very easy and machine based system that can reduce the human work to negligible

15

As we all know that the planning is the most important part of the project and so it is the most time consuming one too. After planning came the turn of the design issues of the project which in itself was a time consuming and tedious task. Finally we started up with what we all were anxiously waiting for and it was the coding part of the project. Our project comprised of the three main modules i.e.

STUDENT

TEACHER ADMINISTRATOR

2.2 REQUIREMENT ANALYSIS


Online Examination system operates on terminals which are Intel compatible, Pentium IV processors or an equivalent processor. It supports forward compatibility. The processors must be running at a minimum of 1.6 Ghz.

2.2.1 HARDWARE REQUIREMENTS


16

Processor RAM Hardisk

Intel or compatible Pentium 4 512 MB 10 GB

2.2.2 SOFTWARE REQUIREMENTS


Database Technology SQL Server 2000 Programming Language .NET (version 2005) Operating System Windows XP-2

2.3 SOFTWARE DEVELOPMENT CYCLE:Project lifecycle


For the successful project there was a need for reorganization of the life cycle of the online examination system. So, gradual progress was made from one stage to another methodically. Herby, answering, questioning and achieving results in each stage was the need of the hour. As a result, we studied the complex system in the following respect
17

2.3.1Initial investigation
The company was following the tradition manual system of data entry. We went through numerous registers and files being maintained by the officials and clerical staff. Weekdays were the most tiring for the staff members because on these days, a reconciliation of the whole week's progress had to be made in time and paper, thus consuming are lots of time and effort. As individual, did the work it was prone to human and logical errors

2.3.2Feasibility study
Depending on the results of the initial investigation, our survey was expanded to a more detailed feasibility study. Our efforts were extended to test the proposed computerized system according to its: Workability Impact on the organization Ability to meet users need Effective use of available resources

2.3.3Analysis
After the acceptance of the initial thought of the computerized system, a detailed study was carried out on the operation of the proposed system and its relationship within and outside the organization. Data was collected from the files being maintained and the transactions being handled by the existing manual system. A thorough understanding was required of the tasks to be done by the computerized system
18

2.3.4Design
This was the most creative and challenging phase of the system lifecycle. Here an effort was made to describe the final system and the process by which it be developed. The technical requirement of both hardware and software were specified and the user of a variety of test data repeatedly tested the programs being developed. The desired format of the output was provided to the user by a presentation of sample reports. Careful preparations and maintenance of the input data and master files was required. Also, an effort was made to completely document the source for thereby keeping a margin for Re-enhancement of the project. Details related to justification of the system and an estimate of the impact of the system on the user and the company were documented and evaluated by the management as a step toward implementation.Procedural DFD's, record layouts, and report layouts were prepared for the effective and complete portrayal of the candidate system.

2.3.5Implementation
This phase is concerned with training the official and staff of the installation of new system. The system is finally tested for checking whether it is working properly runs or not. The user appreciated the readiness and accuracy of the reports in the click of a button.Test data were fed in to the system and finally, the software was run with live data to locate errors in the program. Repeated testing added assurance against error in the candidate system and also gave the user staff and opportunity to obtain experience to operations

2.3.6 Post implementation and maintenance


After the installation phase was completed,the staff was adjusted to the changes created by candidates system; periodic changes are required for both hardware and
19

software. Software changes would have to be made if the new information it is inconsistent with the design specifications. Also periodic maintenance of the hardware is required to keep the tune with designs specifications. A constant effort is needed to bring the new system to the standards of the market. System enhancements might also be called for on the evolution of any of the following factors Changes in organizational requirement Environmental factors

20

CHAPTER-3 SYSTEM DESIGN

21

2.4 DYNAMIC MODELS

22

23

FUNCTIONAL MODELS

STUDENT:

24

ADMINISTRATOR:

25

TEACHER:

26

OBJECT MODEL

27

28

CHAPTER-3 SYSTEM DESIGN

3.1 MODULAR DESIGN

29

3.2 DATABASE TABLES

30

31

32

3.3 DATABASE SCHEMA

33

3.4 E-R DIAGRAM

34

3.5 INTERFACE

Figure 3.1: Login Page

35

Figure 3.2: Wrong Username / Password

36

Figure 3.3: Start Test Page

37

Figure 3.4: Select Category

38

39

Figure 3.5: Category Option Page

40

Figure 3.6: Question Page

41

Figure 3.7: Answer Page

42

Figure 3.8: Question Level Increase

43

Figure 3.9: Question Level Increase

44

Figure 3.10: Wrong Answer

45

Figure 3.11: Result Page

46

Figure 3.12: Administrator Login

47

Figure 3.13: Administrator Functionality

48

Figure 3.14: New Student Entry

49

Figure 3.15: Modify Student Functionality

50

Figure 3.16: New teacher Functionality

51

Figure 3.17: Modify Teacher Functionality

52

Figure 3.18: Teacher Login

53

Figure 3.19: Teacher Functionality

54

Figure 3.20: Add New Question

55

CHAPTER 4
SYSTEM IMPLEMENTATION

56

SYSTEM IMPLEMENTATION
4.1 PLATFORM USED
Front end : .NET Back end : SQL Server

4.1.1 ABOUT .NET


The Microsoft .NET Framework is a software component that can be added to or is included with Microsoft Windows operating system. It provides a large body of pre-coded solutions to common program requirements, and manages the execution of programs written specifically for the framework. The .NET Framework is a key Microsoft offering, and is intended to be used by most new applications created for the Windows platform. Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements. This runtime environment, which is also a part of the .NET Framework, is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine, so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security mechanisms, memory management, and exception handling. The class library and the CLR together compose the .NET Framework. The framework is intended to make it easier to develop computer applications and to reduce the vulnerability of applications and computers to security threats. The .NET Framework is designed to fulfill the following objectives: To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internetdistributed, or executed remotely.
57

To provide a code-execution environment that minimizes software deployment and versioning conflicts.

To provide a code-execution environment that guarantees safe execution of code, including code created by an unknown or semi-trusted third party.

To

provide

code-execution

environment

that

eliminates

the

performance problems of scripted or interpreted environments.

Design goals and principal features:

Interoperability - Because interaction between new and older applications is


commonly required, the .NET Framework provides means to access functionality that is implemented in programs that execute outside the .NET environment

Common Runtime Engine - Programming languages on the .NET


Framework compile into an intermediate language known as the Common Intermediate Language, or CIL (formerly known as Microsoft Intermediate Language, or MSIL). In Microsoft's implementation, this intermediate language is not interpreted, but rather compiled in a manner known as just-in-time compilation (JIT) into native code. The combination of these concepts is called the Common Language Infrastructure (CLI), a specification; Microsoft's implementation of the CLI is known as the Common Language Runtime (CLR).

Base Class Library - The Base Class Library (BCL), part of the Framework
Class Library (FCL), is a library of types available to all languages using the .NET Framework. The BCL provides classes which encapsulate a number of
58

common functions, including file reading and writing, graphic rendering, database interaction and XML document manipulation.

Security - .NET allows for code to be run with different trust levels without the
use of a separate sandbox. A design goal of the .NET Framework was to support platform independence]. That is, a program written to use the framework should run without change on any type of computer for which the framework is implemented.

4.1.2 ABOUT SQL SERVER

59

Microsoft SQL Server 2000 is a full-featured relational database management system (RDBMS) that offers a variety of administrative tools to ease the burdens of database development, maintenance and administration. In this article, we'll cover six of the more frequently used tools: Enterprise Manager, Query Analyzer, SQL Profiler, Service Manager, Data Transformation Services and Books Online. Let's take a brief look at each: Enterprise Manager is the main administrative console for SQL Server installations. It provides you with a graphical "birds-eye" view of all of the SQL Server installations on your network. You can perform high-level administrative functions that affect one or more servers, schedule common maintenance tasks or create and modify the structure of indivisual database Query Analyzer offers a quick and dirty method for performing queries against any of your SQL Server databases. It's a great way to quickly pull information out of a database in response to a user request, test queries before implementing them in other applications, create/modify stored procedures and execute administrative tasks. SQL Profiler provides a window into the inner workings of your database. You can monitor many different event types and observe database performance in real time. SQL Profiler allows you to capture and replay system "traces" that log various activities. It's a great tool for optimizing databases with performance issues or troubleshooting particular problems. Service Manager is used to control the MSSQLServer (the main SQL Server process), MSDTC (Microsoft Distributed Transaction Coordinator) and SQLServerAgent processes. An icon for this service normally resides in the system tray of machines running SQL Server. You can use Service Manager to start, stop or pause any one of these services.

4.2 CODING
60

Add new question using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class AddNewQuestions : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { SqlConnection con = new SqlConnection("server=(local);user id=sa;password=; initial catalog=citmtest"); con.Open(); SqlDataAdapter sa = new SqlDataAdapter("select * from language", con); DataSet ds = new DataSet(); sa.Fill(ds, "language"); cmblanguage.DataSource = ds; cmblanguage.DataTextField = "language1"; cmblanguage.DataValueField = "language1"; cmblanguage.DataBind(); con.Close(); } } protected void btnsave_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection("server=(local);user id=sa;password=;initial catalog=CitmTest");
61

con.Open(); SqlCommand cmd = new SqlCommand("insert into AddNewQuestions values('" + txtquestionno .Text + "','"+cmblanguage.SelectedItem.ToString() +"','"+cmbquescategory.SelectedItem.ToString() +"','"+txtquestion.Text+"','"+txtanswer1.Text+"', '"+txtanswer2.Text+"','"+txtanswer3.Text+"','"+tx tanswer4.Text+"','"+cmbcorrect.SelectedItem.ToStr ing()+"','no')", con); cmd.ExecuteNonQuery(); con.Close(); txtquestionno.Text = ""; cmblanguage.SelectedIndex = -1; cmbquescategory.SelectedIndex = -1; txtquestion.Text = ""; txtanswer1.Text = ""; txtanswer2.Text = ""; txtanswer3.Text = ""; txtanswer4.Text = ""; cmbcorrect.SelectedIndex = -1; Response.Redirect("saved.aspx"); } protected void cmblanguage_SelectedIndexChanged(object sender, EventArgs e) { } protected void WebUserControl1_Load(object sender, EventArgs e) { } }

Administrator
62

using using using using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class admin : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void LinkButton2_Click(object sender, EventArgs e) { Response.Redirect("NewStudent.aspx"); } protected void LinkButton1_Click(object sender, EventArgs e) { Response.Redirect("modifystudent.aspx"); } protected void LinkButton3_Click(object sender, EventArgs e) { Response.Redirect("NewTeacher.aspx"); } protected void LinkButton4_Click(object sender, EventArgs e) { Response.Redirect("ModifyTeacher.aspx"); } }

Contact us
63

using using using using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class ContactUs : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } About us using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class AboutUs : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { }

Delete
64

using using using using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class AboutUs : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } FAQ using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class faq : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }

LANGUAGE SUBJECT
65

using using using using using using using using using using

System; System.Data; System.Configuration; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnsave_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection("server=(local);user id=sa;password=;initial catalog=CitmTest"); con.Open(); SqlCommand cmd = new SqlCommand("insert into Language values('" +txtlanguage.Text + "')", con); cmd.ExecuteNonQuery(); con.Close(); txtlanguage.Text = ""; Response.Redirect("saved.aspx"); } }

Login using System; using System.Data;


66

using using using using using using using using using

System.Data.SqlClient; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnlogin_Click(object sender, EventArgs e) { Session["Username"] = txtusername.Text; Session["questionno"] = "0"; Session["type1"] = "Simple"; Session["done"] = "yes"; Session["questionno1"] = "0"; Session["question"] = "x"; SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;In itial Catalog=CitmTest"); Con.Open(); SqlCommand cmd2 = new SqlCommand("update test set right_wrong='NotAttempted'", Con); cmd2.ExecuteNonQuery(); Con.Close(); Con.Open();

SqlCommand cmd21 = new SqlCommand("update addnewquestions set selected='no'", Con);


67

cmd21.ExecuteNonQuery(); Con.Close(); Con.Open();

String Sql; Sql = "select max(test_id)+1 from Test"; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataReader dtr = cmd.ExecuteReader(); int kk; kk = 0; while (dtr.Read()) { Session["user_test_id"] = dtr[0].ToString(); } //-------------------------------------------------------------Con.Close(); Con.Open(); Sql = "select * from newstudent where username='" + txtusername.Text + "' and password='" + txtpassword.Text + "'"; SqlCommand cmd1 = new SqlCommand(Sql, Con); SqlDataReader dtr1 = cmd1.ExecuteReader(); kk = 0; while (dtr1.Read()) { kk = 1; } Con.Close();
68

if (kk == 0 && txtusername.Text != "admin" && txtpassword.Text != "admin") { if (txtusername.Text != "teacher") { Label1.Text = "This user does not exist"; return; } } if (txtusername.Text == "admin") { Response.Redirect("admin.aspx"); } else if(txtusername.Text == "teacher") { Response.Redirect("teacher.aspx"); } else { Response.Redirect("MyAccount.aspx"); } } }

LOG OUT using System; using System.Data;


69

using using using using using using using using

System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class Logout : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Session.Abandon(); Response.Redirect("login.aspx"); MARKS DETAILS using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class marks_details : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }

70

RESULT using using using using using using using using using using using System; System.Data; System.Data.SqlClient; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class mask : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //lab // .Text = Session["Username"].ToString(); // txtuser_id.Text = Session["user_test_id"].ToString(); // txtlanguage.Text = Session["Language"].ToString(); try { Label1.Text = Session["Username"].ToString(); Label2.Text = Session["user_test_id"].ToString(); Label3.Text = Session["Language"].ToString(); if (!Page.IsPostBack) { fill(); } } catch { Response.Redirect("login.aspx"); } }
71

public void fill() { string x = Session["Username"].ToString(); SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;Initial Catalog=CitmTest"); Con.Open(); string tt = Session["user_test_id"].ToString(); //SqlCommand cmd = new SqlCommand(@"SELECT Status, Right_Wrong, COUNT(Right_Wrong) AS wronganswer, test_id FROM Test GROUP BY Status, Right_Wrong, test_id HAVING (test_id = '" + tt + "')ORDER BY Status", Con); SqlCommand cmd = new SqlCommand("SELECT Status, Right_Wrong, test_id FROM Test where test_id = '" + tt + "'", Con); SqlDataReader dr; dr = cmd.ExecuteReader(); //string simple, medium, tough; //simple = medium = tough = null; int r_s1, r_m1, r_t1; int w_s1, w_m1, w_t1; r_s1 = r_m1 = r_t1 = w_s1 = w_m1 = w_t1 = 0; int count; count = 0; while (dr.Read()) { count = count + 1; if (dr["status"].ToString() == "Medium") { if (dr["Right_Wrong"].ToString() == "Right") { r_m1 = r_m1 + 1; Label7.Text = r_m1.ToString(); } else { w_m1 = w_m1 + 1; Label8.Text = w_m1.ToString();
72

} } else if ((dr["status"].ToString() == "Simple")) { if (dr["Right_Wrong"].ToString() == "Right") { r_s1 = r_s1 + 1; Label4.Text = r_s1.ToString(); } else { w_s1 = w_s1 + 1; Label5.Text = w_s1.ToString(); } } Con = new SqlConnection("server=(local);uid=sa;password=;in itial catalog=CitmTest"); Con.Open(); String Sql; Sql = "select*from AddNewQuestions where QuestionNo='" + txtquestionno.Text + "'"; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataReader dr; dr = cmd.ExecuteReader(); while (dr.Read()) { cmblanguage.SelectedItem.Text = dr[1].ToString(); cmbquescategory.SelectedItem.Text= dr[2].ToString(); txtquestion.Text = dr[3].ToString(); txtanswer1.Text = dr[4].ToString(); txtanswer2.Text = dr[5].ToString(); txtanswer3.Text = dr[6].ToString();
73

txtanswer4.Text = dr[7].ToString(); cmbcorrect.SelectedItem.Text = dr[8].ToString(); } dr.Close(); Con.Close();

} protected void btnsave_Click(object sender, EventArgs e) { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;initial catalog=CitmTest"); Con.Open(); String Sql; Sql = "update AddNewQuestions set Language1='" +cmblanguage.SelectedItem.ToString() + "',QuestionCategory='" +cmbquescategory.SelectedItem.ToString() + "',Question='" +txtquestion.Text + "',Answer1='" + txtanswer1.Text + "',Answer2='" + txtanswer2.Text + "',Answer3='" +txtanswer3.Text + "',Answer4='" +txtanswer4.Text + "',CorrectAnswer='" + cmbcorrect.SelectedItem.ToString()+ "' where QuestionNo='" +txtquestionno.Text + "'"; SqlCommand com = new SqlCommand(Sql, Con); com.ExecuteNonQuery(); Con.Close(); txtquestionno.Text = ""; cmblanguage.SelectedIndex = -1; cmbquescategory.SelectedIndex = -1; txtquestion.Text = ""; txtanswer1.Text = ""; txtanswer2.Text = ""; txtanswer3.Text = ""; txtanswer4.Text = ""; cmbcorrect.SelectedIndex = -1;
74

Response.Redirect("Modify.aspx"); } protected void Button1_Click(object sender, EventArgs e) { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;in itial catalog=CitmTest"); Con.Open(); String Sql; Sql = "delete AddNewQuestions where QuestionNo='" + txtquestionno.Text + "'"; SqlCommand com = new SqlCommand(Sql, Con); com.ExecuteNonQuery(); Con.Close(); txtquestionno.Text = ""; cmblanguage.SelectedIndex = -1; cmbquescategory.SelectedIndex = -1; txtquestion.Text = ""; txtanswer1.Text = ""; txtanswer2.Text = ""; txtanswer3.Text = ""; txtanswer4.Text = ""; cmbcorrect.SelectedIndex = -1; Response.Redirect("Delete.aspx"); } }

75

MODIFY STUDENT using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class ModifyStudent : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnsearch_Click(object sender, EventArgs e) { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;in itial catalog=CitmTest"); Con.Open(); String Sql; Sql = "select*from NewStudent where Name='" + txtname.Text + "'"; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataReader dr; dr = cmd.ExecuteReader(); while (dr.Read()) { txtaddress.Text = dr[1].ToString(); txtdob.Text = dr[2].ToString(); txtphone.Text = dr[3].ToString(); cmbgender.SelectedItem.Text = dr[4].ToString(); cmbbranch.SelectedItem.Text= dr[5].ToString();
76

cmbyear.SelectedItem.Text = dr[6].ToString(); txtrollno.Text = dr[7].ToString(); txtusername.Text = dr[8].ToString(); txtpassword.Text = dr[9].ToString(); } dr.Close(); Con.Close(); } protected void modify_Click(object sender, EventArgs e) { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;in itial catalog=CitmTest"); Con.Open(); String Sql; Sql = "update NewStudent set Address='" + txtaddress.Text+ "',DOB='" + txtdob.Text + "',Phone='" + txtphone.Text + "',Gender='" + cmbgender.SelectedItem.ToString() + "',Branch='" + cmbbranch.SelectedItem.ToString() + "',Year1='" +cmbyear.SelectedItem.ToString() + "',RollNo='" +txtrollno.Text + "',UserName='" +txtusername.Text + "',Password='"+txtpassword.Text+"' where Name='" +txtname.Text + "'"; SqlCommand com = new SqlCommand(Sql, Con); com.ExecuteNonQuery(); Con.Close(); txtname.Text = ""; txtaddress.Text = ""; txtdob.Text = ""; txtphone.Text = ""; cmbgender.SelectedIndex = -1; cmbbranch.SelectedIndex = -1; cmbyear.SelectedIndex = -1; txtrollno.Text = ""; txtusername.Text = ""; txtpassword.Text = ""; Response.Redirect("Modify.aspx"); }
77

protected void btndelete_Click(object sender, EventArgs e) { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;in itial catalog=CitmTest"); Con.Open(); String Sql; Sql = "delete NewStudent where Name='" + txtname.Text + "'"; SqlCommand com = new SqlCommand(Sql, Con); com.ExecuteNonQuery(); Con.Close(); txtname.Text = ""; txtaddress.Text = ""; txtdob.Text = ""; txtphone.Text = ""; cmbgender.SelectedIndex = -1; cmbbranch.SelectedIndex = -1; cmbyear.SelectedIndex = -1; txtrollno.Text = ""; txtusername.Text = ""; txtpassword.Text = ""; Response.Redirect("Delete.aspx"); } }

78

MODIFY TEACHER using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class ModifyTeacher : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnsearch_Click(object sender, EventArgs e) { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;in itial catalog=CitmTest"); Con.Open(); String Sql; Sql = "select*from NewTeacher where Id=" + txtid.Text + ""; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataReader dr; dr = cmd.ExecuteReader(); while (dr.Read()) { txtname.Text = dr[1].ToString(); txtaddress.Text = dr[2].ToString(); txtphone.Text = dr[3].ToString(); cmbgender.SelectedItem.Text = dr[4].ToString(); cmbqualification.SelectedItem.Text = dr[5].ToString();
79

txtexperience.Text = dr[6].ToString(); cmbposition.SelectedItem.Text = dr[7].ToString(); txtdob.Text = dr[8].ToString(); txtusername.Text = dr[9].ToString(); txtpassword.Text = dr[10].ToString(); } dr.Close(); Con.Close(); } protected void btnmodify_Click(object sender, EventArgs e) { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;in itial catalog=CitmTest"); Con.Open(); String Sql; Sql = "update NewTeacher set Name='" + txtname.Text + "',Address='" + txtaddress.Text + "',Phone='" + txtphone.Text + "',Gender='" + cmbgender.SelectedItem.ToString() + "',Qualification='" + cmbqualification.SelectedItem.ToString() + "',Experience='" +txtexperience.Text + "',Position1='" +cmbposition.SelectedItem.ToString() + "',DOB='" + txtdob.Text + "',UserName='"+txtusername.Text+"',Password='" + txtpassword.Text + "' where ID=" + txtid.Text + ""; SqlCommand com = new SqlCommand(Sql, Con); com.ExecuteNonQuery(); Con.Close(); Response.Redirect("Modify.aspx"); } protected void btndelete_Click(object sender, EventArgs e) { SqlConnection Con;

80

Con = new SqlConnection("server=(local);uid=sa;password=;in itial catalog=CitmTest"); Con.Open(); String Sql; Sql = "delete from NewTeacher where Id=" + txtid.Text + ""; SqlCommand com = new SqlCommand(Sql, Con); com.ExecuteNonQuery(); Con.Close(); Response.Redirect("Delete.aspx"); } }

81

MY ACCOUNT using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class MyAccount : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write(Session["user_test_id"].ToString() ); } protected void LinkButton1_Click(object sender, EventArgs e) { Response.Redirect("ModifyStudent.aspx"); } protected void LinkButton2_Click(object sender, EventArgs e) { Response.Redirect("TestNow.aspx"); } protected void LinkButton3_Click(object sender, EventArgs e) { Response.Redirect("mask.aspx"); } }

82

NEW STUDENT using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class NewStudent : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnsave_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection("server=(local);user id=sa;password=;initial catalog=CitmTest"); con.Open(); SqlCommand cmd = new SqlCommand("insert into NewStudent values('" + txtname.Text + "','" + txtaddress.Text + "','" + txtdob.Text + "','" +txtphone.Text+ "','" +cmbgender.SelectedItem.ToString() + "','" + cmbbranch.SelectedItem.ToString() + "','" + cmbyear.SelectedItem.ToString() + "','" + txtrollno.Text + "','" +txtusername.Text + "','"+txtpassword.Text+"')", con); cmd.ExecuteNonQuery(); con.Close(); txtname.Text = ""; txtaddress.Text = ""; txtdob.Text = ""; txtphone.Text = ""; cmbgender.SelectedIndex = -1; cmbbranch.SelectedIndex = -1; cmbyear.SelectedIndex = -1;
83

txtrollno.Text = ""; txtusername.Text = ""; txtpassword.Text = ""; Response.Redirect("saved.aspx"); } }

84

NEW TEACHER using using using using using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class NewTeacher : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnsave_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection("server=(local);user id=sa;password=;initial catalog=CitmTest"); con.Open(); SqlCommand cmd = new SqlCommand("insert into NewTeacher values('"+txtid.Text+"','" + txtname.Text + "','" + txtaddress.Text + "','" + txtphone.Text + "','" + cmbgender.SelectedItem.ToString() + "','" + cmbqualification.SelectedItem.ToString() + "','" +txtexperience.Text + "','" +cmbposition.SelectedItem.ToString() + "','" +txtdob.Text + "','"+txtpassword.Text+"','" + txtpassword.Text + "')", con); cmd.ExecuteNonQuery(); con.Close(); Response.Redirect("saved.aspx"); } }

85

RESULT using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class Result : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { try { string x = Session["Username"].ToString(); SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;In itial Catalog=CitmTest"); Con.Open(); string tt = Session["user_test_id"].ToString(); SqlCommand cmd=new SqlCommand (@"SELECT Status, Right_Wrong, COUNT(Right_Wrong) AS wronganswer, test_id FROM Test GROUP BY Status, Right_Wrong, test_id HAVING (test_id = '" + tt + "')ORDER BY Status",Con); SqlDataReader dr; dr = cmd.ExecuteReader(); string simple, medium, tough; simple = medium = tough = null; int r_s1, r_m1, r_t1;
86

int w_s1, w_m1, w_t1; r_s1 = r_m1 = r_t1 = w_s1 = w_m1 = w_t1 = 0;

while(dr.Read()) { if (dr["status"].ToString() == "Medium") { if (dr["Right_Wrong"].ToString() == "Right") { r_m1 = r_m1 + 1; m1.Text = r_m1.ToString(); } else { w_m1 = w_m1 + 1; m2.Text = w_m1.ToString(); }

} else if ((dr["status"].ToString() == "Simple")) { if (dr["Right_Wrong"].ToString() == "Right") { r_s1 = r_s1 + 1; s1.Text = r_s1.ToString(); } else { w_s1 = w_s1 + 1;
87

s2.Text = w_s1.ToString(); }

} else { if (dr["Right_Wrong"].ToString() == "Right") { r_t1 = r_t1 + 1; } else { w_t1 = w_t1 + 1; }

} dr.Close(); Con.Close();

//

DataSet ds = new DataSet();

}
88

catch (Exception y) { Response.Redirect("Login.aspx"); } if (!Page.IsPostBack) { // showgrid(); showgrid2(); }

} public void showgrid() { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;In itial Catalog=CitmTest"); Con.Open(); string tt = Session["user_test_id"].ToString(); String Sql; Sql = "select*from Test where username='" + Session["Username"].ToString() + "' and date1='" + Session["date1"].ToString() + "' and test_id='" + Session["user_test_id"].ToString() + "'"; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataAdapter sa = new SqlDataAdapter(Sql, Con); DataSet ds = new DataSet(); sa.Fill(ds, "naveen"); GridView1.DataSource = ds; GridView1.DataMember = "naveen"; GridView1.DataBind(); }
89

public void showgrid2() { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;In itial Catalog=CitmTest"); Con.Open(); String Sql; Sql = "select*from Test where username='" + Session["Username"].ToString() + "' and date1='" + Session["date1"].ToString() + "' and test_id='" + Session["user_test_id"].ToString() + "'"; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataAdapter sa = new SqlDataAdapter(Sql, Con); DataSet ds = new DataSet(); sa.Fill(ds, "naveen"); GridView2.DataSource = ds; GridView2.DataMember = "naveen"; GridView2.DataBind(); } protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { } protected void GridView2_SelectedIndexChanged(object sender, EventArgs e) { } }

90

RESULT END using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class Result1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { try { string x = Session["Username"].ToString(); } catch (Exception y) { Response.Redirect("Login.aspx"); } try { showgrid(); } catch(Exception yy) { Response.Redirect("Result1.aspx"); } } public void showgrid() {
91

SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;In itial Catalog=CitmTest"); Con.Open(); String Sql; Sql = "select*from Test where username='" + Session["Username"].ToString() + "'"; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataAdapter sa = new SqlDataAdapter(Sql, Con); DataSet ds = new DataSet(); sa.Fill(ds, "naveen"); GridView1.DataSource = ds; GridView1.DataMember = "naveen"; GridView1.DataBind(); } }

92

SAVING RECORD using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class saved : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }

93

TEACHER using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class teacher : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void LinkButton2_Click(object sender, EventArgs e) { Response.Redirect("AddNewQuestions.aspx"); } protected void LinkButton1_Click(object sender, EventArgs e) { Response.Redirect("ModifyQuestion.aspx"); } }

94

TEST using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class Test : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { try { txtuser.Text = Session["Username"].ToString(); txtuser_id.Text = Session["user_test_id"].ToString(); txtlanguage.Text = Session["Language"].ToString(); txtdate.Text = System.DateTime.Today.Date.ToShortDateString(); Session["date1"] = txtdate.Text; fill(); } catch { Response.Redirect("login.aspx"); } } } public void fill()
95

{ SqlConnection con = new SqlConnection("server=(local);user id=sa;password=;initial catalog=CitmTest"); con.Open(); string type1 = Session["type1"].ToString(); string done = Session["done"].ToString(); if (done == "no") { if (type1 == "Tough") { type1 = "Medium"; } else if (type1 == "Medium") { type1 = "Simple"; } } if (done == "yes" && txtright.Text=="Right") { if (type1 == "Simple") { type1 = "Medium"; } else if (type1 == "Medium") { type1 = "Tough"; } } Session["type1"] = type1; SqlCommand cmd = new SqlCommand("select * from AddNewQuestions where language1='" + txtlanguage.Text + "' and selected='no' and questioncategory='" + Session["type1"] .ToString() + "'", con); SqlDataReader dr; dr = cmd.ExecuteReader(); RadioButtonList1.Items.Clear(); int j; j = 0; RadioButtonList1.Items.Clear(); txtcorrectanswer.Text = "";
96

txtstatus.Text = ""; txtanswerselected.Text = ""; if { (dr.Read())

Session["questionno"] = dr["Questionno"].ToString(); txtquestion.Text = dr["Question"].ToString(); Session["question"] = txtquestion.Text; RadioButtonList1.Items.Add(dr["Answer1"].ToString ()); RadioButtonList1.Items.Add(dr["Answer2"].ToString ()); RadioButtonList1.Items.Add(dr["Answer3"].ToString ()); RadioButtonList1.Items.Add(dr["Answer4"].ToString ()); txtcorrectanswer.Text = dr["correctanswer"].ToString(); txtstatus.Text = dr["questioncategory"].ToString(); int i = Convert.ToInt32(Session["questionno1"].ToString() ); j=Convert.ToInt32(txtquesno.Text) ; j=j+1; txtquesno.Text = j.ToString(); i = i + 1; Session["questionno1"] = i.ToString(); if (i >10) { //Response.Redirect("Result.aspx"); Response.Redirect("mask.aspx"); } }
97

dr.Close(); con.Close(); } protected void btnnext_Click(object sender, EventArgs e) { try { RadioButtonList1.Enabled = true; if (txtanswerselected.Text == txtcorrectanswer.Text) { txtright.Text = "Right"; Session["done"] = "yes"; } else { Session["done"] = "no"; txtright.Text = "Wrong"; } SqlConnection con = new SqlConnection("server=(local);user id=sa;password=;initial catalog=CitmTest"); con.Open(); SqlCommand cmd = new SqlCommand("insert into Test values('" + txtdate.Text + "','" + txtlanguage.Text + "','" + txtuser.Text + "','" + txtquesno.Text + "','" + txtquestion.Text + "','" + RadioButtonList1.Items[0].Text + "','" + RadioButtonList1.Items[1].Text + "','" + RadioButtonList1.Items[2].Text + "','" + RadioButtonList1.Items[3].Text + "','" + txtanswerselected.Text + "','" + txtcorrectanswer.Text + "','" + txtstatus.Text + "','" + txtright.Text + "','" + txtuser_id.Text + "')", con); cmd.ExecuteNonQuery(); con.Close(); con.Open();
98

SqlCommand cmd1 = new SqlCommand("update AddNewQuestions set selected='yes' where questionno='" + Session["questionno"].ToString() + "'", con); cmd1.ExecuteNonQuery(); con.Close(); txtcorrectanswer.Visible = false; fill(); } catch { Response.Redirect("mask.aspx"); //Response.Redirect("Result.aspx"); } } protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) { int i; i = RadioButtonList1.SelectedIndex; i = i + 1; txtcorrectanswer.Visible = true; txtanswerselected.Text = i.ToString(); if (txtcorrectanswer.Text == txtanswerselected.Text) { txtright.Text = "Right"; } else { txtright.Text = "Wrong"; } RadioButtonList1.Enabled = false; } }

99

TEST NOW using using using using using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class TestNow : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { SqlConnection con = new SqlConnection("server=(local);user id=sa;password=; initial catalog=citmtest"); con.Open(); SqlDataAdapter sa = new SqlDataAdapter("select * from language", con); DataSet ds = new DataSet(); sa.Fill(ds, "language"); cmblanguage.DataSource = ds; cmblanguage.DataTextField = "language1"; cmblanguage.DataValueField = "language1"; cmblanguage.DataBind(); con.Close(); } } protected void btnsubmit_Click(object sender, EventArgs e) { Session["language"] = cmblanguage.SelectedItem.ToString(); Response.Redirect("Test.aspx");
100

VIEW LANGUAGE using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class ViewLanguages : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { showgrid(); } public void showgrid() { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;In itial Catalog=CitmTest"); Con.Open(); String Sql; Sql = "select*from Language"; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataAdapter sa = new SqlDataAdapter(Sql, Con); DataSet ds = new DataSet(); sa.Fill(ds, "naveen"); GridView1.DataSource = ds; GridView1.DataMember = "naveen"; GridView1.DataBind(); } }

101

VIEW QUESTION using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class ViewQuestions : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { showgrid(); } public void showgrid() { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;In itial Catalog=CitmTest"); Con.Open(); String Sql; Sql = "select*from AddNewQuestions"; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataAdapter sa = new SqlDataAdapter(Sql, Con); DataSet ds = new DataSet(); sa.Fill(ds, "naveen"); GridView1.DataSource = ds; GridView1.DataMember = "naveen"; GridView1.DataBind(); } }

102

VIEW STUDENT using using using using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class ViewStudent : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { showgrid(); } public void showgrid() { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;In itial Catalog=CitmTest"); Con.Open(); String Sql; Sql = "select*from NewStudent"; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataAdapter sa = new SqlDataAdapter(Sql, Con); DataSet ds = new DataSet(); sa.Fill(ds, "naveen"); GridView1.DataSource = ds; GridView1.DataMember = "naveen"; GridView1.DataBind(); } } VIEW TEACHER using System;
103

using using using using using using using using using using

System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Data.SqlClient;

public partial class ViewTeacher : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { showgrid(); } public void showgrid() { SqlConnection Con; Con = new SqlConnection("server=(local);uid=sa;password=;In itial Catalog=CitmTest"); Con.Open(); String Sql; Sql = "select*from NewTeacher"; SqlCommand cmd = new SqlCommand(Sql, Con); SqlDataAdapter sa = new SqlDataAdapter(Sql, Con); DataSet ds = new DataSet(); sa.Fill(ds, "naveen"); GridView1.DataSource = ds; GridView1.DataMember = "naveen"; GridView1.DataBind(); } }

104

CHAPTER-5
TESTING

TESTING
105

5.1 SOFTWARE TESTING


TESTING: What is it? Once the source code has generated, software must be tested to uncover as many errors as possible. Our goal must be to design a series of test cases that have a high likelihood of finding errors. This is done through software testing techniques. Theses techniques provide systematic guidance for designing that- exercise the internal logic of software components and exercise the input and output domains of the program to uncover errors in program function, behavior and performance. Importance of testing: Reviews and other software quality assurance activities can also uncover errors but they are not sufficient. Every time the program is executed, the customer tests it. Therefore, you have to execute the program before it gets to the customer with the specific intent of finding and removing errors. In order to find the highest possible number of errors, tests must be conducted systematically and test cases must be designed using disciplined techniques. Testing: Who does it A software engineer performs all tests during early stages of testing. As the testing progresses, testing specialists may also be involved. Testing: Steps Software is tested from two different perspectives: Program logic is exercised using White Box Testing. Software requirements are exercised using Black Box Testing. In both the cases, the intent is to find the maximum number of errors with the minimum amount of effort and time.

106

5.2 TESTING METHODOLOGY


A methodology for testing integrates test case design techniques into a well-planned series of steps that results in the successful construction of the software. The first step in system testing is to prepare a plan that will test all the aspects of system, in a way that promotes its credibility among potential users. A workable test plan is prepared in accordance with the established specification. Procedure for using test data, personnel and training requirements after the test plan were develops, and all tests can be planned and designed before any code is generated. Except for small programs, system should not be tested as a single unit. Large systems are built out of modules that in turn are composed of functions and procedures, the testing process should therefore proceed in stages where testing is carried out incrementally in conjunction with the system implementation. The testing process is an iterative one with information being feedback from later stage to earlier parts of the process. Therefore testing can be categorized into following forms: 1. Unit testing 2. Module testing 3. System testing 4. Alpha/ Beta testing 5. White Box/ Black Box testing

UNIT TESTING:
The methodology of unit testing was followed in the manner that each and every piece of code was tested as a soon as it was written. The individual components were

107

tested to ensure that they operate correctly and independently. Lets have a closer look at this kind of pattern: Each component is tested independently without the other system components. It is the first level of testing and the different modules are tested against the specifications. Unit testing is essential for verification of the code product during the coding phase, and hence the goal is to test the internal logic of the module. Unit testing focuses in the verification effort of the smallest unit of software design module.

MODULE TESTING:
A module is a collection of dependent components such as procedures and functions. A module encapsulates related components so that it can be tested without other system modules. Module testing is a systematic technique for constructing the program structure while at the same time conducting test to uncover errors associated with interfacing. The program is constructed and testing in small segments where errors are easier to isolate and correct interfaces are more likely to be tested completely.

SYSTEM TESTING:
Collections of modules make a sub-system and collection of sub-systems makes the entire system. This phase involves testing of collection of sub-systems, which have been integrated into the entire system. Aim is to find out errors, which normally result from unanticipated interaction between sub-systems and components. It is also concerned with validating that the system meets its functional and non-functional requirements. Generally, it begins with low volumes of transactions based on live data.System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. In system testing, performance and acceptance standards are developed.
108

ALPHA/BETA TESTING:
Alpha Testing- in this of testing the system is tested with the user provided data. Customer tests the system at developer site. Developer looks over shoulder and records errors & usage problems. Test is conducted in a controlled environment. Beta Testing this kind of testing involves delivering the system to a number of potential customers who give their feedback regarding the software. The system is then modified with respect to the feedback given. Repairing the system may introduce new bugs or errors in the system, thus testing has to be repeated after the system has been modified. Beta testing is conducted at one or more customers site by the end user. Unlike in alpha testing, the developer is generally not present.

WHITE BOX & BLACK BOX TESTING:


White Box Testing is concerned with the implementation of the program. The idea is to test different programming and data structures used in the program. This tests mainly focuses on the code rather than on the specifications. The test cases must be designed in such a way that it is able to locate most of the errors with minimum amount of tme and efforts. White box testing is a design method that uses control structure of the procedural design to derive test cases. Here, in the project few proto were developed and tested thoroughly. All the modules were designed only using those protocols. Using the White Box method, we derive the test case that Guarantee that all independent paths within a module have been exercised at once. Exercise all logical decisions on the true and false sides. Execute all loops at their boundaries and within their operational bounds.
109

Exercise internal data structure to ensure their validity.

Black Box Testing method focuses on the functional requirements of the software. A set of input conditions are derived that will fully exercise all functional requirements for a program. It is not an alternative to white box but is a complementary approach that uncovers a different class of errors than white box methods. Black Box method attempts to find out errors relating to incorrect or missing functions, Interface errors, errors in data structures, performance errors, initialization and termination errors. White box testing is performed at earlier stages but black box testing is applied at the later stages of testing.

5.3 TESTING STRATEGIES FOLLOWED IN THE PROJECT


We also began with unit testing procedures. In this we tested individual forms developed to meet different requirements, to find and remove the errors. Following problems were encountered while making our project: syntax error caused due to misspelling or missing clause. Unrecognized command verb, phrase and keywords. Data types mismatched. Expected errors. Connectivity errors and logic errors.

These errors were removed using following techniques: Monitoring the compilation of the program. By appropriate statements in the program. By applying the right logic.

Finally the project is run to test the connectivity and integrity of different options given in the menu to choices given by the user. This is to ensure that the system is responding well and giving best results as per user expectations and requirements.
110

111

CHAPTER-6 CONCLUSION

CONCLUSION

112

The project has performed all the basic features, which are required to make the project alive. We have tried to design a system, which can be used by the students to take tests for various subjects. The questions have been designed to be objective/multiple type instead of elaborative. It is also authentic from the security point of view where in all the rights are reserved by the concerned authority. The online examination system tests the true caliber of the student with the application of enhanced features included in our project. It also makes sure that the manual work in the examination system is reduced to negligible.

FUTURE SCOPE:
There are limited number of questions. We can include more number of questions. On Re-Test a student may get the same questions again. That can be removed. Once an answer is selected, it cannot be changed. We are also planning to include Tutorials, on-line. The possibility of reviewing the paper and to help the student in correcting his/her mistakes, with some description automatically, so that the same mistakes are not made again.

BIBLIOGRAPHY AND REFERENCES


113

BIBLIOGRAPHY
Complete Reference for C# Software Engineering (fifth edition) by Ian Somerville

REFERENCE
www.gre.com www.studentforum.com www.onlinetutorials.com

114

You might also like