Вы находитесь на странице: 1из 46

Offline Examiner

CONTENTS
1. INTRODUCTION
About Project

About Offline Examiner


2. SYSTEM ANALYSIS

Introduction
Existing System
Proposed System
Data Flow Diagram
3. SYSTEM DESIGN

15

Input design
Output design
Form design
Database design
23

4. APPENDIX
Source Code
DFD
Screen Shots
5. Normalization
Table design

38

6. SYSTEM IMPLEMENTATION

43

System configuration
7. CONCLUSION

45

Offline Examiner

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
3. Administrators

Offline Examiner

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

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

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.

SYSTEM ANALYSIS

Offline Examiner

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.
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.

Offline Examiner

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.

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.

Offline Examiner

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.
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.

Offline Examiner

9
Technical issues raised during the investigation are:

Does the existing technology sufficient for the


suggested one?
Can the system expand if developed?

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
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.

Offline Examiner

10

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.

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.

Offline Examiner

11

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

Level 0 DFD
Teachers

Administrator

Admin
details

Offline Examiner

Teacher Details

Student
Details

Level 1 DFD Administrator

Students

Offline Examiner

12

Add Details

Student details

Administrator
Admin id, password

Offline Examiner

View results
results

Login

Student
Add login details
verify

validate

Login

Login

Level 1 DFD Teacher


Add Questions and set time
Add Questions
Questions

Teacher

login id, password


Questions
login

Verify
Login

Validate

Level 1 DFD Student

Offline Examiner

13
Offline
Examiner

Student

login id,
password

Store results
Select exam
login
results

verify

validate
Login

Level 2 DFD Administrator

Add User
User details

details

User details

Login id, password


Login

Select User

Delete User
Delete

Administrator

User Details
View reports
View reports
View reports

reports

Offline Examiner

14
Level 2 DFD Student

Write exam

Questions
Question

Select exam
Store results
Get grade
Student

View grade

grade

Results

View history
View history

SYSTEM DESIGN

Get details

Offline Examiner

15

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
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?

Offline Examiner

16
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
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.

Offline Examiner

17

Form design- Sample Screen Shots

18

Offline Examiner

19

Offline Examiner

20

Offline Examiner

21

Offline Examiner

22

Offline Examiner

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"
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

Offline Examiner

24
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
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

Offline Examiner

25
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
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()

26

Offline Examiner
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
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

Offline Examiner

27
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)
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

Offline Examiner

28

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
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 + "'")

Offline Examiner

29

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
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

Offline Examiner

30

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 + "'")
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)

Offline Examiner

31

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
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

Offline Examiner

32

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"
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"

Offline Examiner

33

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)
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

34

Offline Examiner
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
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

Offline Examiner

35
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, _


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

Offline Examiner

36

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
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

Offline Examiner

37

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.

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.

Offline Examiner

38

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:


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

Offline Examiner

39

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.
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.

Offline Examiner

40

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
Password

Data Type
Text
Text

Constrains
Not Null
Not Null

Description
Primary Key

Constrains
Not Null
Not Null
Not Null

Description

Table: Branch
Primary: BranchCode
Field Name
BranchName
BranchCode
Sem

Data Type
Text
Text
Number

Primary Key

Offline Examiner

41

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

Constrains
Not Null
Not Null
Not Null
Not Null
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
Choice 1
Choice 2
Choice 3
Choice 4
Answer

Data Type
Text
Text
Number
Text
Text
Text
Text
Text
Text
Text
Text

Table: Results
Primary: ExamID

Primary Key

Offline Examiner

42
Field Name
Username
BranchName
BranchCode
Sem
SubjectCode
ExamId
Mark
Result

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

Constrains
Not Null
Not Null

Description
Primary Key

Constrains
Not Null
Not Null
Not Null
Not Null

Description

Primary Key

Table: Student
Primary: Username
Field Name
Username
Password

Data Type
Text
Text

Table: Subjects
Primary: SubjectCode
Field Name
BranchCode
Sem
SubjectCode
SubjectNam

Data Type
Text
Number
Text
Text

Primary Key

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

Offline Examiner

43

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.

System Configuration
HARDWARE REQUIREMENTS
Processor

: X86 Compatible processor


with 1.7 GHz Clock speed

RAM

: 512 MB or more

Offline Examiner

44
Hard disk

20 GB or more

Monitor

: VGA/SVGA

Keyboard

104 Keys

Mouse

2 buttons/ 3 buttons

SOFTWARE
Operating System
Front end
Back end

REQUIREMENTS

: Windows 2000/XP
: Visual Basic 6.0
: MsAccess

Conclusion

Offline Examiner

45

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.

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

Offline Examiner

46

www.associatedcontent.com

www.members.tripod.com

www.vbcodesource.com

Вам также может понравиться