You are on page 1of 47

Offline Examiner 1

CONTENTS
1. INTRODUCTION About Project About Offline Examiner 6 2

2. SYSTEM ANALYSIS Introduction Existing System Proposed System Data Flow Diagram

3. SYSTEM DESIGN Input design Output design Form design Database design

15

23 4. APPENDIX Source Code DFD Screen Shots 5. Normalization Table design 6. SYSTEM IMPLEMENTATION System configuration 7. CONCLUSION 45 38

43

Offline Examiner 2

8. BIBLIOGRAPHY

46

INTRODUCTION
Offline examiner is a real time project. The project will be implemented using VB. The aim of the project is to allow teachers to conduct examinations to the students. There are many unique features in the project. The students are not allowed to go back to the previous question once they click the next question. This option is up to the teachers to decide the teachers can either enable such an option or disable the option. The teachers are also given option to set the time limit of the exam. When the students start their exam, after the allotted time, the exam automatically ends and a grade sheet is printed to the students. The exams can be of single choice or multiple choices and this also the teachers can make the decision. Another important feature of the project is that the students are not allowed to take the screen shot of the questions as a matter of security, if students try for such a malpractice an alarm is raised in the examination hall. Various types of reports can be generated both for the teachers as well as the administrators.

The software will be used by three different types of users namely 1. Students 2. Staffs

Offline Examiner 3 3. Administrators The examination can be conducted in any number of systems in the same lab, so that students of the same batch can do the examinations at the same time. The questions will be issued to the students as per the order of the computer i.e. questions will be randomly displayed to the students.

Some of the modules that will be used in the project are: Teachers can add new questions to the exam paper In this software the teachers can add questions to the question set. The questions are stored in the database. The data base is resides on the server and the terminals can access the database and conduct the exam using the stored questions. Teachers of each subject add the respected question papers with the question set number and the question number. The mark and time for each question is also set by the teachers. Teachers have to manually enter the questions. Teachers can set the duration of the exam The examination duration is also set by the teachers. After the specific time the answers are submitted to the database via the network and we cannot answer any questions after the submission. The duration for each exam is varied depends on the type of the examination and the type of the subject. There are timers also for control the time duration of the examination. Students attend the exam Students can attend the examination with the login username and the password. The username and password is given by the administrator. The authentication of the software is done using the username and password.

Offline Examiner 4 The username and password is passing through the network to the server system and the authorization is done on that system. Each student can

attend the exam for 3 time with the given user name and password. After that they have to re-register to attend the exam. Administrators can generate various types of reports In this software administrator has the power to conduct the examination and he can view the various reports like the result and the list of the passed students, the list of students apply for the examination and the list of student who attend the examination etc. He can get the report of the whole examination and the percentage of mark obtained by each student. And also he can calculate number of students passed for a particular exam in a class. Administrators can enable security settings. Administrator has the control over the software and the entire system. Administrator can add new user (teachers) and can give user name and password. Administrator gives the username and password to the registered students and the student can login to the system only giving the username and password. The administrator give security like students cannot take the screenshots of the examination screen, cannot write exam after the specific time, cannot answer for a previous question and cannot change the already answered question. After the specified time the answers are submitted to the server automatically. Print out of the grade sheet is issued when the student completes the exam, or when the duration is finished

Offline Examiner 5 After the completion of the examination the answers are submitted for further process. The answers are compared with the database and the grade

for the students is calculated after result comparison. The students can view and take printouts as mark sheet or score sheets using the software. If any printer is connected with the system using software we can take the printouts and this is the official score sheets for the students.

Students can view their past exam history Students have the advantage that they can view the history of the examination they wrote. They can then analyze the answers and thus find the errors they done. The history of the examinations are stored on the server so the administrator or the students can take the reports as hardcopy any time.

Offline Examiner 6

SYSTEM ANALYSIS
Introduction to System Analysis
System analysis is a process of gathering and interpreting facts, diagnosing problems and the information to recommend improvements on the system. It is a problem solving activity that requires intensive communication between the system users and system developers. System analysis or study is an important phase of any system development process. The system is studied to the minutest detail and analyzed. The system analyst plays the role of the interrogator and dwells deep into the working of the present system. The system is viewed as a whole and the input to the system are identified. The outputs from the organizations are traced to the various processes. System analysis is concerned with becoming aware of the problem, identifying the relevant and decisional variables, analyzing and synthesizing the various factors and determining an optimal or at least a satisfactory solution or program of action.

Offline Examiner 7 A detailed study of the process must be made by various techniques like interviews, questionnaires etc. The data collected by these sources must be scrutinized to arrive to a conclusion. The conclusion is an understanding of how the system functions. This system is called the existing system. Now the existing system is subjected to close study and problem areas are identified. The designer now functions as a problem solver and tries to sort out the difficulties that the enterprise faces. The solutions are given as proposals. The proposal is then weighed with the existing system analytically and the best one is selected. The proposal is presented to the user for an endorsement by the user. The proposal is reviewed on user request and suitable changes are made. This is loop that ends as soon as the user is satisfied with proposal. Preliminary study is the process of gathering and interpreting facts, using the information for further studies on the system. Preliminary study is problem solving activity that requires intensive communication between the system users and system developers. It does various feasibility studies. In these studies a rough figure of the system activities can be obtained, from which the decision about the strategies to be followed for effective system study and analysis can be taken.

Existing System
In the existing system the exams are done only manually but in proposed system we have to computerize all the exams using this software. Lack of security of data. More man power. Time consuming. Consumes large volume of pare work. Needs manual calculations.

Offline Examiner 8 No direct role for the higher officials.

Proposed System
The aim of proposed system is to develop a system of improved facilities. The proposed system can overcome all the limitations of the existing system. The system provides proper security and reduces the manual work. Security of data. Ensure data accuracys. Proper control of the higher officials. Minimize manual data entry. Minimum time needed for the various processing. Greater efficiency. Better service. User friendliness and interactive. Minimum time required.

2.3. FEASIBILITY STUDY Feasibility study is made to see if the project on completion will serve the purpose of the organization for the amount of work, effort and the time that spend on it. Feasibility study lets the developer foresee the future of the project and the usefulness. A feasibility study of a system proposal is according to its workability, which is the impact on the organization, ability to meet their user needs and effective use of resources. Thus when a new application is proposed it normally goes through a feasibility study before it is approved for development.

Offline Examiner 9 The document provide the feasibility of the project that is being designed and lists various areas that were considered very carefully during the feasibility study of this project such as Technical, Economic and Operational feasibilities. The following are its features: 2.3.1. TECHNICAL FEASIBILITY The system must be evaluated from the technical point of view first. The assessment of this feasibility must be based on an outline design of the system requirement in the terms of input, output, programs and procedures. Having identified an outline system, the investigation must go on to suggest the type of equipment, required method developing the system, of running the system once it has been designed. Technical issues raised during the investigation are: Does the existing technology sufficient for the Can the system expand if developed?

suggested one?

The project should be developed such that the necessary functions and performance are achieved within the constraints. The project is developed within latest technology. Through the technology may become obsolete after some period of time, due to the fact that never version of same software supports older versions, the system may still be used. So there are minimal constraints involved with this project. The system has been developed using Java the project is technically feasible for development. 2.3.2. ECONOMIC FEASIBILITY

Offline Examiner 10 The developing system must be justified by cost and benefit. Criteria to ensure that effort is concentrated on project, which will give best, return at the earliest. One of the factors, which affect the development of a new system, is the cost it would require. The following are some of the important financial questions asked during preliminary investigation: The costs conduct a full system investigation. The cost of the hardware and software. The benefits in the form of reduced costs or fewer costly

errors.

Since the system is developed as part of project work, there is no manual cost to spend for the proposed system. Also all the resources are already available, it give an indication of the system is economically possible for development. 2.3.3. BEHAVIORAL FEASIBILITY This includes the following questions: Is there sufficient support for the users? Will the proposed system cause harm?

The project would be beneficial because it satisfies the objectives when developed and installed. All behavioral aspects are considered carefully and conclude that the project is behaviorally feasible.

Offline Examiner 11

DATA FLOW DIAGRAM


A Data Flow Diagram (DFD) is a diagram that describes the flow of data and the processes that change or transform data throughout a system. Its a structured analysis and design tool that can be used for flowcharting in place of, or in association with, information oriented and process oriented system flowcharts. When analysts prepare the Data Flow Diagram, they specify the user needs at a level of detail that virtually determines the information flow into and out of the system and the required data resources. This network is constructed by using a set of symbols that do not imply a physical implementation. The Data Flow Diagram reviews the current physical system, prepares input and output specification, specifies the implementation plan etc. Four basic symbols are used to construct data flow diagrams. They are symbols that represent data source, data flows, and data transformations and data storage. The points at which data are transformed are represented by enclosed figures, usually circles, which are called nodes. Data Flow Diagram Symbols:_ _ Source or Destination of data Data Flow

_ Process

Storage

Offline Examiner 12

Level 0 DFD
Teachers Admin details Teacher Details

Administrator

Offline Examiner

Student Details

Students

Level 1 DFD Administrator

Add Details Administrator


Admin id, password

Student details View results results

Offline Examiner

Login

Student Add login details

verify validate Login

Login

Offline Examiner 13 Level 1 DFD Teacher Add Questions and set time Questions

Teacher

Add Questions

login id, password login

Questions Verify Login Validate

Level 1 DFD Student

Student

Offline Examiner User details Store results Select exam Add User Login id, password verify results Login

login id, password User details login

validate Select User Administrator

Delete User

LoginDelete

Level 2 DFD Administrator


View reports View reports

details View reports User reports Details

Offline Examiner 14

Level 2 DFD Student

Questions Write exam Select exam Store results Get grade Student View grade grade Results Question

View history View history Get details

Offline Examiner 15

SYSTEM DESIGN
Introduction to System Design
Design is the first step into the development phase for any engineered product or system. Design is a creative process. A good design is the key to effective system. The term design is defined as the process of applying various techniques and principles for the purpose of defining a process or a system in sufficient detail to permit its physical realization. It may be defined as a process of applying various techniques and principles for the purpose of defining a device, a process or a system in sufficient detail to permit its physical realization. Software design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm that is used. The system design develops the architectural detail required to build a system or product. As in the case of any systematic approach, this software too has undergone the best possible design phase fine tuning all efficiency, performance and

Offline Examiner 16 accuracy levels. The design phase is a transition from a user oriented document to a document to the programmers or database personnel. System design goes through two phases of development: Logical and Physical Design.

Input design
The design of input focuses on controlling the amount of input required, controlling the errors, avoiding delay, avoiding extra steps and keeping the process simple. The input is designed in such a way so that it provides security and ease of use with retaining the privacy. Input Design considered the following things: o What data should be given as input? o How the data should be arranged or coded? o The dialog to guide the operating personnel in providing input. o Methods for preparing input validations and steps to follow when error occur. OUTPUT DESIGN A quality output is one, which meets the requirements of the end user and presents the information clearly. In output design it is determined how the information is to be displaced for immediate need and also the hard copy output. It is the most important and direct source information to the user. Efficient and intelligent output design improves the systems relationship to help user decision-making. Designing computer output should proceed in an organized, well thought out manner; the right output must be developed while ensuring

Offline Examiner 17 that each output element is designed so that people will find the system can use easily and effectively. When analysis design computer output, they should : Identify the specific output that is needed to meet the requirements. Select methods for presenting information. Create document, report, or other formats that contain information produced by the system.

Form design- Sample Screen Shots

Offline Examiner 18

Offline Examiner 19

Offline Examiner 20

Offline Examiner 21

Offline Examiner 22

Offline Examiner 23

Sample Coding
Login
Private Sub cmdAdminLog_Click() Set rs = con.Execute("select * from Adminlogin where Username='" + txtUsername.Text + "' and Password='" + txtPassword.Text + "'") If (Not rs.EOF) Then MsgBox "Login Success", vbInformation, "Offline Examiner" Unload Me End If rs.Close End Sub Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdTchLog_Click() Set rs = con.Execute("select * from Userlogin where Username='" + txtUsername.Text + "' and Password='" + txtPassword.Text + "'") If (Not rs.EOF) Then MsgBox "Login Success", vbInformation, "Offline Examiner"

Offline Examiner 24 Unload Me End If End Sub Private Sub Form_Load() connectdb End Sub

Add Branch
Private Sub cmdAdd_Click() If (txtbrname.Text = "" Or txtbrcode.Text = "" Or txtsem.Text = "") Then MsgBox "Missing Fields", vbInformation, "Offline Examiner" Else con.Execute ("insert into Branch values('" + txtbrname.Text + "','" + txtbrcode.Text + "'," + txtsem.Text + ")") MsgBox "Record added successfully", vbInformation, "Offline Examiner" txtbrname.Text = "" txtbrcode.Text = "" txtsem.Text = "" txtbrname.SetFocus End If End Sub Private Sub cmdCancel_Click() Unload Me End Sub Private Sub Form_Load() connectdb End Sub

Add Subject
Dim x As Integer Dim i As Integer

Private Sub cmbBranch_Click() cmbSem.Clear Set rs = con.Execute("select Sem from Branch where Branchcode='" + cmbBranch.Text + "'") If (Not rs.EOF) Then

Offline Examiner 25 x = rs(0) For i = 1 To x cmbSem.AddItem i Next End If End Sub Private Sub cmdAdd_Click() If (cmbBranch.Text = "" Or cmbSem.Text = "" Or txtSubname.Text = "" Or txtSubCode.Text = "") Then MsgBox "Missing Fields", vbInformation, "Offline Examiner" Else con.Execute ("insert into Subjects values('" + cmbBranch.Text + "'," + cmbSem.Text + ",'" + txtSubname.Text + "','" + txtSubCode.Text + "')") MsgBox "Record added sucessfully", vbInformation, "Offline Examiner" txtSubname.Text = "" txtSubCode.Text = "" txtSubname.SetFocus End If End Sub Private Sub cmdCancel_Click() Unload Me End Sub Private Sub Form_Load() connectdb Set rs = con.Execute("select * from Branch") While (Not rs.EOF) cmbBranch.AddItem rs(1) rs.MoveNext Wend rs.Close End Sub

Add Questions
Dim x, i As Integer Dim exid As String Dim eID As String Dim Qno As Integer Private Sub cmbBranch_Click() cmbSem.Clear

Offline Examiner 26 Set rs = con.Execute("select Sem from Branch where Branchcode='" + cmbBranch.Text + "'") If (Not rs.EOF) Then x = rs(0) For i = 1 To x cmbSem.AddItem i Next End If rs.Close End Sub Private Sub cmbSem_Click() cmbSubjects.Clear Set rs = con.Execute("select Subjectname from Subjects where Branchcode='" + cmbBranch.Text + "' and Sem=" + cmbSem.Text + "") While (Not rs.EOF) cmbSubjects.AddItem rs(0) rs.MoveNext Wend rs.Close End Sub Private Sub cmbSubjects_Click() Set rs = con.Execute("select Subjectcode from Subjects where Subjectname='" + cmbSubjects.Text + "' and BranchCode='" + cmbBranch.Text + "'") If (Not rs.EOF) Then txtSubCode.Text = rs(0) End If rs.Close End Sub Private Sub cmdAdd_Click() If (txtAns.Text = "" Or txtOpt1.Text = "" Or txtOpt2.Text = "" Or txtOpt3.Text = "" Or txtOpt4.Text = "" Or txtQst.Text = "") Then MsgBox "Missing Fields", vbInformation, "Offline Examiner" Else If (txtOpt1.Text <> txtAns.Text And txtOpt2.Text <> txtAns.Text And txtOpt3.Text <> txtAns.Text And txtOpt4.Text <> txtAns.Text) Then MsgBox "Answer key does not match any one of 4 options", vbCritical, "Offline Examiner" txtAns.Text = "" txtAns.SetFocus Else exid = cmbBranch.Text + txtDate.Text + txtSubCode.Text

Offline Examiner 27 con.Execute ("insert into Questions values('" + cmbBranch.Text + "'," + cmbSem.Text + _ ",'" + txtSubCode.Text + "','" + exid + "','" + lblQno.Caption + _ "','" + txtQst.Text + "','" + txtOpt1.Text + "', '" + txtOpt2.Text + _ "','" + txtOpt3.Text + "','" + txtOpt4.Text + "','" + txtAns.Text + "')") con.Execute ("insert into ExamDetails values('" + cmbBranch.Text + "'," + cmbSem.Text + _ ",'" + txtSubCode.Text + "','" + exid + "','" + txtDate.Text + "','" + txtTime.Text + "')") MsgBox "Question Added Successfully", vbInformation, "Offline Examiner" txtAns.Text = "" txtOpt1.Text = "" txtOpt2.Text = "" txtOpt3.Text = "" txtOpt4.Text = "" txtQst.Text = "" txtQst.SetFocus lblQno.Caption = lblQno.Caption + 1 End If End If End Sub Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdNext_Click() If (txtSubCode.Text = "" Or txtDate.Text = "" Or txtTime.Text = "") Then MsgBox "Please Select and fill all the fields" Frame1.Visible = True Frame2.Visible = False Else lblSubName.Caption = cmbSubjects.Text lblSubCode.Caption = txtSubCode.Text eID = cmbBranch.Text + txtDate.Text + txtSubCode.Text Set rs = con.Execute("select count(*) from Questions where BranchCode='" + cmbBranch.Text + _ "' and Sem=" + cmbSem.Text + " and SubjectCode='" + txtSubCode.Text + _ "' and ExamID='" + eID + "'") If (Not rs.EOF) Then Qno = rs(0)

Offline Examiner 28 Qno = Qno + 1 Else Qno = 1 End If lblQno.Caption = Qno Frame1.Visible = False Frame2.Visible = True End If End Sub Private Sub Form_Load() Frame1.Visible = True Frame2.Visible = False connectdb Set rs = con.Execute("select * from Branch") While (Not rs.EOF) cmbBranch.AddItem rs(1) rs.MoveNext Wend rs.Close End Sub

Add User
Private Sub cmdAdd_Click() Set rs = con.Execute("select * from Userlogin where Username='" + txtUsername.Text + "' and Password='" + txtPassword.Text + "'") If (Not rs.EOF) Then MsgBox "Sorry!! User already exists. Try another username", vbCritical, "Offline Examiner" txtPassword.Text = "" txtUsername.Text = "" txtUsername.SetFocus Else con.Execute ("insert into Userlogin values('" + txtUsername.Text + "','" + txtPassword.Text + "')") MsgBox "User added sucessfully", vbInformation, "Offline Examiner" txtPassword.Text = "" txtUsername.Text = "" txtUsername.SetFocus End If

Offline Examiner 29 End Sub Private Sub cmdCancel_Click() Unload Me End Sub Private Sub Form_Load() connectdb End Sub

Change Password
Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdChange_Click() If (txtConfrmpass.Text = txtNewpass.Text) Then Set rs = con.Execute("select * from Userlogin where Username='" + cmbUsername.Text + "' and password='" + txtcurpassword.Text + "'") If (Not rs.EOF) Then con.Execute ("update Userlogin set Password='" + txtNewpass.Text + "' where Username='" + cmbUsername.Text + "'") MsgBox "Password successfully updated!!", vbInformation, "Offline Examiner" Else MsgBox "Invalid Password", vbCritical, "Offline Examiner" txtcurpassword.Text = "" txtcurpassword.SetFocus End If Else MsgBox "Password Mismatch!!", vbInformation, "Offline examiner" txtConfrmpass.Text = "" txtNewpass.Text = "" txtNewpass.SetFocus End If End Sub Private Sub Form_Load() connectdb Set rs = con.Execute("select * from Userlogin") While (Not rs.EOF) cmbUsername.AddItem rs(0) rs.MoveNext Wend rs.Close

Offline Examiner 30 End Sub

Delete User
Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdDelete_Click() con.Execute ("delete from Userlogin where Username='" + cmbUsername.Text + "'") MsgBox "User deleted sucessfully!!", vbInformation, "Offline Examiner" cmbUsername.Text = "" End Sub Private Sub Form_Load() connectdb Set rs = con.Execute("select * from Userlogin") While (Not rs.EOF) cmbUsername.AddItem rs(0) rs.MoveNext Wend End Sub

Select Exam
Dim dt As Date Private Sub cmbBranch_Click() cmbSem.Clear Set rs = con.Execute("select Sem from Branch where BranchCode='" + cmbBranch.Text + "'") If (Not rs.EOF) Then x = rs(0) For i = 1 To x cmbSem.AddItem i Next End If rs.Close End Sub Private Sub cmbExID_Click() Set rs = con.Execute("select Time from ExamDetails where ExamId='" + cmbExID.Text + "'")

Offline Examiner 31 If (Not rs.EOF) Then txtTime.Text = rs(0) End If rs.Close End Sub Private Sub cmbSem_Click() cmbSub.Clear Set rs = con.Execute("select Subjectname from Subjects where Branchcode='" + cmbBranch.Text + "' and Sem=" + cmbSem.Text + "") While (Not rs.EOF) cmbSub.AddItem rs(0) rs.MoveNext Wend rs.Close End Sub Private Sub cmbSub_Click() Set rs = con.Execute("select Subjectcode from Subjects where Subjectname='" + cmbSub.Text + "'") If (Not rs.EOF) Then txtSubCode.Text = rs(0) End If rs.Close Set rs = con.Execute("select distinct(ExamID) from ExamDetails where BranchCode='" + cmbBranch.Text + _ "' and Sem=" + cmbSem.Text + " and SubjectCode='" + txtSubCode.Text + "' and ExDate=#" & Date & "#") While (Not rs.EOF) cmbExID.AddItem rs(0) rs.MoveNext Wend rs.Close End Sub Private Sub cmdStart_Click() If (cmbBranch.Text = "" Or cmbExID.Text = "" Or cmbSem.Text = "" Or cmbSub.Text = "") Then MsgBox "Missing fields, Please fill up all", vbInformation, "Offline Examner" Else bcode = cmbBranch.Text sem = cmbSem.Text

Offline Examiner 32 subcode = txtSubCode.Text exid = cmbExID.Text Load frmExam frmExam.Show Unload Me End If End Sub Private Sub Command1_Click() Unload Me End Sub Private Sub Form_Load() connectdb Set rs = con.Execute("select * from Branch") While (Not rs.EOF) cmbBranch.AddItem rs(1) rs.MoveNext Wend rs.Close End Sub

Start Exam
Private Sub cmdCancel_Click() Unload Me End Sub

Private Sub cmdEnter_Click() Set rs = con.Execute("select * from Student where Username='" + txtUname.Text + "' and Password='" + txtPass.Text + "'") If (Not rs.EOF) Then MsgBox "Login Success", vbInformation, "Offline Examiner" uname = txtUname.Text Load frmSelectExam frmSelectExam.Show Unload Me Else MsgBox "Invalid Username or Password", vbCritical, "Offline Examiner"

Offline Examiner 33 End If End Sub Private Sub Form_Load() connectdb End Sub

Exam
Dim x As Integer Dim ar(5) As Integer Dim y, i As Integer Dim Qcnt As Integer Dim z As Integer Dim ans As String Dim selected As String Dim mark As Integer Dim rslt As String Private Sub cmdFinish_Click() If (mark >= 3) Then rslt = "Passed" Else rslt = "Failed" End If con.Execute ("insert into Result values('" & uname & "','" & bcode & "'," & sem & ",'" & subcode & "','" & exid & "'," & mark & ",'" & rslt & "')") MsgBox mark Unload Me End Sub Private Sub cmdNext_Click() Qcnt = Qcnt + 1 If (Qcnt <= 5) Then Set rs = con.Execute("select * from Questions where BranchCode='" & bcode & "' and Sem=" & sem & " and SubjectCode='" & subcode & "' and ExamID='" & exid & "' and Qno=" & ar(Qcnt - 1) & " ") If (Not rs.EOF) Then lblQno.Caption = Qcnt lblQst.Caption = rs(5) Option1.Caption = rs(6) Option2.Caption = rs(7) Option3.Caption = rs(8) Option4.Caption = rs(9) ans = rs(10)

Offline Examiner 34 If (Option1.Value = True) Then selected = Option1.Caption ElseIf (Option2.Value = True) Then selected = Option2.Caption ElseIf (Option3.Value = True) Then selected = Option3.Caption ElseIf (Option4.Value = True) Then selected = Option4.Caption End If End If Else MsgBox "Exam Completed", vbInformation, "Offline Examiner" cmdNext.Enabled = False cmdFinish.Enabled = True End If If (ans = selected) Then mark = mark + 1 End If End Sub Private Sub Form_Load() connectdb Qcnt = 1 Set rs = con.Execute("select count(*) from Questions where BranchCode='" + bcode + "' and Sem=" & sem & " and SubjectCode='" + subcode + "' and ExamID='" + exid + "' ") If (Not rs.EOF) Then x = rs(0) End If rs.Close y = RandomNumbers(x, 2, 5) For i = LBound(y) To UBound(y) ar(i) = y(i) Next For i = 0 To 4 ' If (ar(i) = 0) Then ' ar(i) = 1 ' End If 'MsgBox ar(i) Next Set rs = con.Execute("select * from Questions where BranchCode='" & bcode & "' and Sem=" & sem & " and SubjectCode='" & subcode & "' and ExamID='" & exid & "' and Qno=" & ar(0) & " ") If (Not rs.EOF) Then

Offline Examiner 35 lblQno.Caption = Qcnt lblQst.Caption = rs(5) Option1.Caption = rs(6) Option2.Caption = rs(7) Option3.Caption = rs(8) Option4.Caption = rs(9) End If rs.Close cmdFinish.Enabled = False End Sub Public Function RandomNumbers(Upper As Integer, _ Optional Lower As Integer = 1, _ Optional HowMany As Integer = 1, _ Optional Unique As Boolean = True) As Variant On Error GoTo LocalError If HowMany > ((Upper + 1) - (Lower - 1)) Then Exit Function Dim x As Integer Dim n As Integer Dim arrNums() As Variant Dim colNumbers As New Collection ReDim arrNums(HowMany - 1) With colNumbers 'First populate the collection For x = Lower To Upper .Add x Next x For x = 0 To HowMany - 1 n = RandomNumber(0, colNumbers.Count + 1) arrNums(x) = colNumbers(n) If Unique Then colNumbers.Remove n End If Next x End With Set colNumbers = Nothing RandomNumbers = arrNums Exit Function LocalError: 'Justin (just in case) RandomNumbers = "" End Function Public Function RandomNumber(Upper As Integer, _

Offline Examiner 36 Lower As Integer) As Integer 'Generates a Random Number BETWEEN the LOWER and UPPER values Randomize RandomNumber = Int((Upper - Lower + 1) * Rnd + Lower) End Function DATABASE DESIGN A database is an organized mechanism that has the capability of storing information through which a user can retrieve stored information in an effective and efficient manner. The data is the purpose of any database and must be protected. The database design is a two level process. In the first step, user requirements are gathered together and a database is designed which will meet these requirements as clearly as possible. This step is called Information Level Design and it is taken independent of any individual DBMS. In the second step, this Information level design is transferred into a design for the specific DBMS that will be used to implement the system in question. This step is called Physical Level Design, concerned with the characteristics of the specific DBMS that will be used. A database design runs parallel with the system design. The organization of the data in the database is aimed to achieve the following two major objectives. Data Integrity Data independence Normalization is the process of decomposing the attributes in an application, which results in a set of tables with very simple structure. The

Offline Examiner 37 purpose of normalization is to make tables as simple as possible. Normalization is carried out in this system for the following reasons. To structure the data so that there is no repetition of data , this helps in saving. To permit simple retrieval of data in response to query and report request. To simplify the maintenance of the data through updates, insertions, deletions. To reduce the need to restructure or reorganize data which new application requirements arise. RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS): A relational model represents the database as a collection of relations. Each relation resembles a table of values or file of records. In formal relational model terminology, a row is called a tuple, a column header is called an attribute and the table is called a relation. A relational database consists of a collection of tables, each of which is assigned a unique name. A row in a tale represents a set of related values. RELATIONS, DOMAINS & ATTRIBUTES: A table is a relation. The rows in a table are called tuples. A tuple is an ordered set of n elements. Columns are referred to as attributes. Relationships have been set between every table in the database. This ensures both Referential and Entity Relationship Integrity. A domain D is a set of atomic values. A common method of specifying a domain is to specify a data type from which the data values forming the domain are drawn. It is also useful to specify a name for the domain to help in interpreting its values. Every value in a relation is atomic, that is not decomposable.

Offline Examiner 38

RELATIONSHIPS:

Table relationships are established using Key. The two main keys of prime importance are Primary Key & Foreign Key. Entity Integrity and Referential Integrity Relationships can be established with these keys.Entity Integrity enforces that no Primary Key can have null values.Referential Integrity enforces that no Primary Key can have null values.

Referential Integrity for each distinct Foreign Key value, there must exist a matching Primary Key value in the same domain. Other key are Super Key and Candidate Keys.

Relationships have been set between every table in the database. This ensures both Referential and Entity Relationship Integrity.

NORMALIZATION:
As the name implies, it denoted putting things in the normal form. The application developer via normalization tries to achieve a sensible organization of data into proper tables and columns and where names can be easily correlated to the data by the user. Normalization eliminates repeating groups at data and thereby avoids data redundancy which proves to be a great burden on the computer resources. These includes: Normalize the data. Choose proper names for the tables and columns. Choose the proper name for the data.

First Normal Form:

Offline Examiner 39 The First Normal Form states that the domain of an attribute must include only atomic values and that the value of any attribute in a tuple must be a single value from the domain of that attribute. In other words 1NF disallows relations within relations or relations as attribute values within tuples. The only attribute values permitted by 1NF are single atomic or indivisible values. The first step is to put the data into First Normal Form. This can be donor by moving data into separate tables where the data is of similar type in each table. Each table is given a Primary Key or Foreign Key as per requirement of the project. In this we form new relations for each nonatomic attribute or nested relation. This eliminated repeating groups of data. A relation is said to be in first normal form if only if it satisfies the constraints that contain the primary key only.

Second Normal Form:


According to Second Normal Form, For relations where primary key contains multiple attributes, no nonkey attribute should be functionally dependent on a part of the primary key. In this we decompose and setup a new relation for each partial key with its dependent attributes. Make sure to keep a relation with the original primary key and any attributes that are fully functionally dependent on it. This step helps in taking out data that is only dependant on apart of the key.

Offline Examiner 40 A relation is said to be in second normal form if and only if it satisfies all the first normal form conditions for the primary key and every nonprimary key attributes of the relation is fully dependent on its primary key alone.

Third Normal Form:


According to Third Normal Form, Relation should not have a nonkey attribute functionally determined by another nonkey attribute or by a set of

nonkey attributes. That is, there should be no transitive dependency on the primary key. In this we decompose and set up relation that includes the nonkey attributes that functionally determines other nonkey attributes. This step is taken to get rid of anything that does not depend entirely on the Primary Key. A relation is said to be in third normal form if only if it is in second normal form and more over the non key attributes of the relation should not be depend on other non key attribute.

Table Design

Table: Admin Login Primary: Username Field Name Username Data Type Text Constrains Not Null Description Primary Key

Offline Examiner 41 Password Text Not Null

Table: Branch Primary: BranchCode Field Name BranchName BranchCode Sem Data Type Text Text Number Constrains Not Null Not Null Not Null Description Primary Key

Table: ExamDetails Primary: ExamID Field Name BranchName BranchCode Sem SubjectCode ExamId ExamDate Time Data Type Text Text Number Text Text Date/Time Date/Time Constrains Not Null Not Null Not Null Not Null Not Null Not Null Not Null Description

Primary Key

Table: Questions Primary: ExamID Field Name BranchName BranchCode Sem SubjectCode ExamId Qst Data Type Text Text Number Text Text Text Constrains Not Null Not Null Not Null Not Null Not Null Not Null Description

Primary Key

Offline Examiner 42 Choice 1 Choice 2 Choice 3 Choice 4 Answer


Text Text Text Text Text

Not Null Not Null Not Null Not Null Not Null

Table: Results Primary: ExamID Field Name Username BranchName BranchCode Sem SubjectCode ExamId Mark Result Table: Student Primary: Username Field Name Username Password Table: Subjects Primary: SubjectCode Field Name BranchCode Sem SubjectCode Data Type Text Number Text Constrains Not Null Not Null Not Null Description Primary Key Data Type Text Text Constrains Not Null Not Null Description Primary Key Data Type Text Text Text Number Text Text Number Text Constrains Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Description

Primary Key

Offline Examiner 43 SubjectName Text Not Null

SYSTEM IMPLEMENTATION
About Language Microsoft Visual Basic 6.0
Visual Basic 6.0 is Microsofts latest version of the Visual Basic Programming language. Although writing programs can be a tedious chore at time. Visual Basic reduces the effort required on your part, and makes programming enjoyable. Visual Basic makes many aspects of programming as simple as dragging graphics objects on to screen with your mouse. Visual Basic 6.0 is more than just a programming language; the secret to Visual Basic is in its name Visual. With to days Windows Operating System, a program must be able to interact with the screen. Keyboard, mouse and printer graphically. The environment provided by Visual Basic is suitable for any type of application. Using this environment, the user can visually design the objects that your application uses. Visual Basic is not just a languages, its an integrated development environment in which you can develop, run, test and debug your applications. The impressive array of programming resources provided by Visual Basic enables to create the objects extemporaneously which can range from pop-up menu to a message box. A form is a major part of Visual Basic application, which allows the user to enter the data as well as view the result. A control is an object that we draw on a form to enable or enhance user interaction with an application. Hence a Visual Basic application is a combination of object like forms and controls, procedures that can respond to Events and other general-purpose procedures.

Offline Examiner 44

System Configuration
HARDWARE REQUIREMENTS Processor : X86 Compatible processor with 1.7 GHz Clock speed RAM Hard disk Monitor Keyboard Mouse : 512 MB or more : : : : 20 GB or more VGA/SVGA 104 Keys 2 buttons/ 3 buttons

Offline Examiner 45

SOFTWARE
Operating System Front end Back end

REQUIREMENTS

: Windows 2000/XP : Visual Basic 6.0 : MsAccess

Conclusion

Advantages
1. Exam can be conducted easily. 2. Exam time management i.e., Exam starts and end at the right time. 3. Valuation is easy and result can be published with in time. 4. Only manual work needed is entering questions and corresponding right answer key. 5. No mishap is possible because the system is password protected.

Disadvantages
1. Exam wont be conducted if there is power failure. 2. Exam cant be conducted without Hub.

Offline Examiner 46

BIBLIOGRAPHY
Books
A Complete Guide to Programming in Visual Basic .Net A Complete Visual Basic 6 Training Course: How to Programme: Package Advanced Programming Using Visual Basic: Version 6.0 Access 2003 Power Programming with VBA Advanced MS Visual Basic

Site Address
www.associatedcontent.com www.members.tripod.com www.vbcodesource.com

Offline Examiner 47

You might also like