Sei sulla pagina 1di 74

A FINAL MINI-PROJECT REPORT

ON

EXAMINATION AND ASSESSMENT SYSTEM FOR


HUNI-VALLEY SENIOR HIGH SCHOOL

Under the guidance of


DR. THOMAS YEBOAH

Submitted by

SAMUEL ANYIMAH
(1410000576)

in partial fulfillment of the requirement


for the award of the degree

Of
MASTER OF SCIENCE
IN
INFORMATION TECHONOLOGY

OCTOBER, 2015
EXAMINER’S CERTIFICATION

The project report of

SAMUEL ANYIMAH
(1410000576)

Titled

EXAMINATION AND ASSESSMENT SYSTEM FOR


HUNI-VALLEY SENIOR HIGH SCHOOL

is approved and is acceptable in terms of quality and standard.

Internal Examiner External Examiners

Sign………………………. Sign…………………………

Date………………………. Date…………………………

Name……………………… Name…………………………

…………………………….... ………………………………...

ii
BONAFIDE CERTIFICATE

Certified that this project report titled EXAMINATION AND ASSESSMENT SYSTEM FOR
HUNI-VALLEY SENIOR HIGH SCHOOL is the bonafide work of SAMUEL ANYIMAH
who carried out the project work under my supervision.

Mr. Mahendra Shrivas Dr. Thomas Yeboah

Project Co-Ordinator Project Supervisor

Sikkim Manipal University, Sikkim Manipal University,

Kumasi, Ghana Kumasi, Ghana

Mr. Nitesh Mahajan

Campus Head

Sikkim Manipal University,

Kumasi, Ghana

iii
STUDENT DECLARATION

I hereby declare that the project report entitled

Examination and Assessment System for


Huni-Valley Senior High School

Submitted in partial fulfillment of the requirements for the degree

Of

Masters of Science in Information Technology

To Sikkim Manipal University, is my original work and not submitted for the award of any other
degree, diploma, fellowship, or any other similar title or prizes.

Sign & Date:....................................................

Student Name:................................................

Roll. No:...............................................................

iv
ACKNOWLEDGEMENT

All praises and thanks to God the Almighty. The immense help and guidance offered me by Mr.
Mahendra Kumar Shrivas to the success of this project is immeasurable. I also acknowledge the
staff and student of Huni-Valley Senior High School for given me a problem to solve. I
appreciate each and every individual who in one way or the other helped to make this project
fruitful.

v
ABSTRACT

Testing is a methodical technique of observing learners and ranking them on a classification


system for the purpose of knowing how much the learner has learnt and recommends a remedy to
diagnosis learning difficulties. Testing in education is generally done for the exclusive purpose
of assessment, assigning grades to test-takers and ranking them with regards to their abilities.
Traditionally, testing in most educational institution is paper-based and processing is done
mechanically with manpower. Problems such as the high demand for invigilators corresponding
to the increasing student population, manual distribution of test paper, excessive use of papers,
lot of physical space to keep marked scripts, lot of time in processing and mechanically
evaluating scripts, possible loss of records, time consuming and wearisome task of collating and
searching large records, normally are the attributes of the present system. This project therefore
proposes an efficient and accurate computer-based system to curb the numerous problems with
the traditional paper-based examination administering system. The computerized test system
comes with a relief, in that, objective questions are automatically generated and students’
responses are automatically marked and the result is displayed immediately the test is over. It is
also recommended that for future further development, the security of the examination system
should be enhanced through the introduction of biometric validation. This will fully mitigate
impersonation of candidates taking the examination.

vi
ABBREVIATION

IDE : Integrated Development Environment

SQL : Structural Query Language

SDLC : Software Development Life Cycle

RAD : Rapid Application Development

WBS : Work Breakdown Structure

vii
LIST OF TABLES
Table 3.1 Us case Table…………………………………………………………………….14

Table 3.2 Course Table …...................................................................................................16

Table 3.3 Department Table................................................................................................16

Table 3.4 Examiner/Employee Table…..............................................................................16

Table 3.5 Login Table …….................................................................................................17

Table 3.6 Question Table …................................................................................................17

Table 3.7 Result Table ……................................................................................................17

Table 3.8 Student Table ......................................................................................................18

Table 3.9 Subject Table …..................................................................................................18

Table 3.10 Testing Schedule Table ....................................................................................18

Table 3.11 Testing Setting Table........................................................................................19

Table 4.1 Test cases and test results table …………………………………………………57

viii
LIST OF FIGURES
Fig 2.1 Waterfall Model……………………………………………………………………10

Fig. 2.2 Gantt Chart………………………………………………………………………..11

Fig 3.1 Use Case Diagram.. ...............................................................................................15

Fig 3.2 Entity Relationship Diagram .................................................................................20

Fig 3.3 Data Flow Diagram................................................................................................21

Fig 3.4 Class Diagram. ……..............................................................................................22

Fig 3.5 Employee Registration. .........................................................................................24

Fig 3.6 Student Registration. .............................................................................................24

Fig 3.7 Login Form…….... ................................................................................................25

Fig 3.8 Department Form...................................................................................................26

Fig 3.9 Course Form ………..............................................................................................26

Fig. 3.10 Subject Form…………………………………………………………………….26

Fig 3.11 Testing Schedule. ................................................................................................27

Fig 3.12 Test Schedule. .....................................................................................................27

Fig 3.13 Question Form. ...................................................................................................28

Fig 3.14 Result Form. .......................................................................................................28

ix
TABLE OF CONTENTS
Chapter 1: Introduction ......................................................................................... 1
1.1 Background……………………………………………………………………...1
1.2 Problem Statements……………………………………………………………..1
1.3 Objectives……………………………………………………………………….1
1.4 Scope and Limitation………………………………………………………… 2

Chapter 2: System Study and Analysis ................................................................. 3


2.1 Study of Existing System & Literature Review………………………………...5
2.2 Data Collection Methods and Sources………………………………………….5
Primary: Interview, questionnaire field visit ............................................................ 5
Secondary: available source/files, other similar system ........................................... 5
2.3 Data Analysis tools & Techniques……………………………………………...6
2.4 Software Requirement Specification…………………………………………...6
2.4.1 Functional Requirement………………………………………………………6
2.4.2 Non-Functional Requirement…………………………………………………7
2.4.2 Hardware Requirement……………………………………………………….7
2.4.3 Software Requirement………………………………………………………...7
2.5 Feasibility Study………………………………………………………………...8
2.5.1 Economical Feasibility..................................................................................... 8
2.5.2 Technical Feasibility ........................................................................................ 8
2.5.3 Operational Feasibility ..................................................................................... 9
2.6 System Planning………………………………………………………………...9
2.6.1 Software Development Model or Methods ................................................... 10
2.6.2 Main Activities of the Software (WBS-Work Breakdown Structure) ........... 10
2.6.3 Time Scheduling (GANTT Chart) ................................................................. 11

Chapter 3 System Design...................................................................................... 12


3.1 Diagram……………………………………………………………………….12
3.1.1 Use cases ........................................................................................................ 12
3.1.1.1 Use cases Diagram ...................................................................................... 15
3.2. Database Tables Specifications........................................................................ 16
3.2.1 ER Daigram ................................................................................................... 20
3.2.2 Data Flow Diagram ........................................................................................ 21
3.2.3 Class Daigram……………………………………………………………….22
3.3 Module Descriptions…………………………………………………….…….23
3.4 Interface Design………………………………………………………….…….24

x
Chapter 4 Development and Testing ................................................................... 29
4.1 Coding …………………………………………………………………………29
4.1.1 Back End ....................................................................................................... 29
4.1.1.1 Database Source Code ............................................................................... 29
4.1.2 Front End ...................................................................................................... 41
4.1.2.1 Front End Source Code .............................................................................. 41
4.1.3 Middle End .................................................................................................... 50
4.1.3.1 Middle End Source Code ........................................................................... 50
4.2 Testing…………………………………………………………………….…...55
4.2.1 Testing Methods and Techniques……………………………………………55
4.2.2 Test Cases and Test Result……………………………………………….….56

Chapter 5: Support ............................................................................................... 58


5.1 Implement Plan…………………………………………………………….….58
5.2 Maintenance……………………………………………………………….…..58

Chapter 6: Conclusion and Future Plan ............................................................. 59


Bibliography ........................................................................................................... 59
Appendix……………………………………………………………....................61

xi
CHAPTER 1
INTRODUCTION
1.1 BACKGROUND
Computed –based examination is an application that builds a network between educational
institutions and eligible candidates for examination. The institutions formulate the questions,
which are displayed as an exam for eligible candidates to answer. The responses given by the
candidates are evaluated, ranked and stored.

1.2 PROBLEM STATEMENT


The entire task of administering a test and allocating marks afterwards in most educational
institution is manually done. Problems such as the high demand for invigilators to meet the
increasing population of students, manual distribution of test paper, excessive use of papers, lot
of physical space to keep marked scripts, lot of time in processing and mechanically evaluating
scripts, possible loss of records, time consuming and wearisome task of collating and searching
large records normally are the attributes of the present system.

This project therefore proposes an efficient and accurate computer-based system to curb the
numerous problems with the traditional paper-based examination administering system.

1.3 OBJECTIVES
The aims of this project is to completely replace the current existing paper-based examination
systems with its associated shortcomings with an efficient computer-based test, which inhibits
human effort in the collating, processing, checking and evaluation of scripts.

The specific objectives are:

 Permitting department to create tests and answers.


 Assessing students by conducting objective tests (Multiple Choice and True or False).
 Automatic checking of students’ responses.
 Students can access their results immediately after the responses are submitted when the
Finish button is clicked.

1
1.4 SCOPE AND LIMITATION

SCOPE
The application from this project will be beneficial to any educational institution which seeks to
regularly evaluate its students objectively and provide results to students which will also be
accessed by the examiner and administrator. The scope of this system includes:

 Handling of Multiple Choice Questions and True or False questions.


 Support multiple candidates taken the exams simultaneously
 Displaying of results after the exams is over

Advantages of the computerized system

1. Questions are automatically generated.

2. Time is saved as the manpower duties of mechanical collating, marking and processing
are all automated.

3. There is total reduction of paper usage

4. The results of the test are immediately accessed by students after the test

5. Enhanced security and consistency as there is no chance of leakage of question paper

6. Records of test are safe and easily retrieved when needed with little searching

Limitations:
The following are the limitations of the system:

1. This system heavily supports only objective form of test (Multiple Choice Questions and
True/False) but not subjective or written test.

2. The system does not support the use of graphical sketches and diagrams.

3. The initial preparation of the application for the computer-based test takes a great deal of
time

4. An equal number of computers to the number of students to take the test are needed in the
case where students are required to start at the same time on the school premises.

2
CHAPTER 2
SYSTEM STUDY AND ANALYSIS

2.1 STUDY OF EXISTING SYSTEM AD LITERATURE REVIEW

Testing is methodical technique of observing learners and ranking them on a classification


system for the purpose of knowing how much the learner has learnt and recommends a remedy to
diagnosis learning difficulties. “The first standardized test, in world history was created in
ancient China, during the Han Dynasty (206 BC – 220 AD), when officials designed civil service
exams to choose people to work in the government based on merit rather than on family status.
The goal was to create an intellectual meritocracy based on Confucian learning. The system of
exams was consolidated during later dynasties; through the centuries until the late 18th century,
the core material was hardly altered.” (Strauss, 2012).

“Testing, in education and psychology, is an attempt to measure a person's knowledge,


intelligence, or other characteristics in a systematic way. Teachers give tests to discover the
learning abilities of their students. They also give tests to see how well students have learned a
particular subject. Some tests help people choose a vocation, and other tests help them
understand their own personality.” (a2zpsychology.com, 2002-2010)

(Kelly, 2015) identifies the following as the paramount reasons and purpose of testing:

1. To measure how much of the lessons taught that students have learned.

2. To diagnose student strengths and weaknesses in subject areas.

3. To provide a method for awards and recognition.

4. To gain credits (GPA or CWA) for ranking in classes.

5. To create the avenue to measure teacher’s and/or school's effectiveness.

(Ogunniyi, 1984), also iterate the following as aims and objectives of test:

1. Informing the instructors about the performance of students in a class

2. Showing improvement of learners in a class.

3. A basis for comparison of one learner with the others (criterion-referenced)

4. Promoting or repeating a student

3
5. Reshape teaching items, especially where tests show that certain items are poorly learnt
either because they are poorly taught or difficult for the learners to learn. Reshaping
teaching items may involve resetting learning objectives, teaching objectives, sequencing
of teaching items or grading of the items being taught for effective learning.

6. For accreditation and certification as the end of a course of study.

7. To appraise a particular teaching method or technique.

Classification and Types of tests

Test is broad classified into two, namely;

1. Essay test (Subjective test)

Essay test is a test format which requires students to write long responses to questions. It is
subjective in nature.

2. Objective test

Objective test is a test format which requires candidates to choice from pre-determined options
the most appropriate answers. The scoring is done objectively.

Types of tests
Test, either essay or objective can be packaged in the following types;

1. Placement test: A test conducted to primary place or position students at a particular


level or rank.
2. Diagnostic test: This is a type of test conducted to know the weakness and strength of
students and proposing remedial steps where necessary.
3. Achievement test: A test whose aim is to measure the achievement of the testee in a
particular course.
4. Predictive test: A test format that is designed to envisage the learning output and
outcome of a candidate.
5. Aptitude test: A test that is designed to determine the ability, propensity and capability
of student in a particular course, task or area of interest.

(Measurement and Evaluation in education(PDE 105))

4
The Existing System
The current system of test administering still follows the traditional paper-based approach. Some
known setbacks and problems of this system include;
1. The high demand for invigilators corresponding to the increasing student population.
2. Manual distribution of test paper.
3. Excessive use of papers and stationeries.
4. Lot of physical space to keep marked scripts.
5. Lot of time in processing and mechanically evaluating scripts.
6. Possible loss of records or crediting marks to wrong candidates.
7. Time consuming and wearisome task of collating and searching large records.

The Proposed System


The computer-based or online examination system as proposed in this project will help
institutions such as Huni-Valley Senior High School in the conduct of examinations to all
candidates within the short possible time, in an automated mode. This saves the time and
manpower effort in the present system of test administration. Automatic marking of responses,
secure storing and fast searching of records will be an added advantage.

In this system, the administrator creates the examiner’s account. The questions are added by the
examiner (employee) who login with his/her account to create the exams on departmental basis.
Students register and perform login during the time of the examination. When the exam is over,
the result is immediately displayed for the student to view and the administrator as well as the
examiner can also access it. The system automatically ranks students on merit.

2.2 DATA COLLECTION METHODS AND SOURCES


Primary:
This was done by interviewing examiners and tutors of the institution concerned. Analyse of the
existent problem and setback in the current system.
Secondary:
From relevant reports, journals, document and useful websites.

5
2.3 DATA ANALYSIS TOOLS & TECHNIQUES
The data was collated with many instruments and techniques. The outcome was represented for
easy interpretation using tables, charts and graphs. The aim for the conducting of the system
analysis include;
• Identifying the basis for computerization of the exams system.
• Analysing the economical and technical viability of the proposed system.

2.4 SOFTWARE REQUIREMENT SPECIFICATION

2.4.1 Functional Requirement


The final application will be used to conduct examination and provide results to students which
will also be accessed by the examiner and administrator. The system should fulfill the following
requirements:

User Requirements

 Administrator Side
1. Modifying the super password.
2. Having the privilege to editing or delete and creating the records.
3. Enrolling the examiner
4. Adding the department
5. Backing up the database.

 Examiner (Employee) Side


1. Login into the system.
2. Accepting registrations of students.
3. Constructing and posting questions.
4. Modifying (to add, edit or delete) the questions.
5. Setting the duration or time limit of the questions (if any).
6. Determining the marks allocation of questions.
7. Sending the exam outcome (result) to specific student.

6
 Student Side:
1. Registration.
2. Appearing for the examination.
3. Login into the system.
4. Answering the questions.
5. Reviewing the given responses.
6. Altering and modifying password.
7. Resetting of forgotten password.

 Analysis
1. Validating users based on user ID and password
2. Checking students’ responses to every question.
3. Awarding marks for the students’ responses.
4. Collating the results of students’ for the various subjects/courses.
5. Keeping history of students’ mark card or reports.

2.4.2 Non-Functional Requirement

Functionality

 The score of the response are automatically marked.


 The software supports multiple users simultaneously.

User friendliness

 The application should require minimum effort for users to operate (user friendly)

Platform independent

 This application is made using Java which is platform independent and architectural
neutral.

2.4.2 Hardware Requirement

Processor - Pentium 4 and above


Speed - 233 MHz and above
Hard Disk - 10GB
RAM - 256MB

7
2.4.3 Software Requirement
Operating System : Window 2000/XP/7.
Programming Language : JAVA sdk1.5
IDE : Netbeans 7.3
Documentation tools : Microsoft Office Word 2007
UML : Visual Paradigm 8.0 Enterprise Edition
Database : MySQL 5.0

2.5 FEASIBILITY STUDY

2.5.1 Economical Feasibility


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

2.5.2 Technical Feasibility


Technical feasibility centers on the existing manual system of the test managementprocess and
to what extent it can support the system. According to feasibilityanalysis procedure the technical
feasibility of the system is analyzed and thetechnical requirements such as software facilities,
procedure, inputs are identified.It is also one of the important phases of the system development
activities. The system offers greater levels of user friendliness combined with greaterprocessing

8
speed. Therefore, the cost of maintenance can be reduced. Since,processing speed is very high
and the work is reduced in the maintenance point of view management convince that the project
is operationally feasible.

2.5.3 Operational Feasibility


Operational feasibility is the extent to which users are able to work with the system or
application. Owing to the user friendly nature of the system, users are very comfortable to work
use it.

2.6 SYSTEM PLANNING

2.6.1 Software Development Model or Methods


This project follows the Waterfall model or Classic Life Cycle which involves the following
steps;
 System Requirements
 Software Requirements
 Analysis
 Program Design
 Coding
 Testing
 Operations and maintenance

9
System Requirements

Software Requirements

Analysis

Program Design

Coding

Testing

Operations

Figure 2.1 Waterfal Model

2.6.2 Main Activities of the Software (WBS-Work Breakdown Structure)


 Proposal Preparation
 Feasibility study and information gathering
 System Requirement Specification
 Designing of Database
 Programming and Coding
 Testing
 Implementation and operation
 Project Report Writing and Documentation

10
2.6.3 Time Scheduling (GANTT Chart)

Figure 2.2 Gantt chart

11
CHAPTER 3
SYSTEM DESIGN

3.1 DIAGRAM
Diagrams captured within this chapter include Use cases, Entity Relationship, Data Flow
Diagram and Class Diagram.

3.1.1 Use cases


A use case is pictorial representation of the relevant connections that exist among the various
components of a particular system. It can be also be defined as the description of a group of
actions that are implemented by a system to produces noticeable result. (VP Gallery)

The list of use cases in this project include;

 Addition of Department and Class use case


 Enrollment of Examiner use case
 Registration of Students use case
 Login use case
 Addition of Questions use case
 Creation of Examination use case
 Scheduling Examinations use case
 Appearing for examinations use case
 Taking the examination use case
 Result generation use case
 Score cards preparation use case
 Backing up the database use case

Name of Use Case Add Department and Class


Main actor(s) Administrator
Action(s) Adds a new department and class

Name of Use Case Enrol Examiner


Main actor(s) Administrator
Action(s) Enrol the examiner based on the
department

12
Name of Use Case Student registration
Main actor(s) Student
Action(s) Student registers for the exams

Name of Use Case Login


Main actor(s) Administrator, Student
Action(s) All permitted users with valid User ID and
password logon into the system.

Name of Use Case Add Exams Questions


Main actor(s) Examiner
Action(s) The enrolled examiner on departmental
level login and add the questions

Name of Use Case Create examination


Main actor(s) Examiner
Action(s) The enrolled examiner add the questions
which forms the examinations with
appropriate marks allocation.

Name of Use Case Schedule examination


Main actor(s) Examiner
Action(s) The examiner schedule the exams period
and duration.

Name of Use Case Appear for examination


Main actor(s) Student
Action(s) Students appear for the examination as
scheduled.

Name of Use Case Take examination


Main actor(s) Student
Action(s) Students login the system, select the
examination and choose the appropriate
responses to the questions.

Name of Use Case Result generation


Main actor(s) System
Action(s) The system generates the result based on the
responses of students and marks allocation
by the examiner

13
Name of Use Case View result
Main actor(s) Administrator, Examiner and Student
Action(s) All permitted users with valid User ID and
password logon into the system to view
result

Name of Use Case Prepare score card


Main actor(s) Administrator and examiner
Action(s) The score card for each student is prepared
by the administrator or the examiner.

Name of Use Case Database back up


Main actor(s) Administrator
Action(s) Taking back up of the database and modify
accounts

Table 3.1 Use case table

14
3.1.1.1 Use case Diagram

Figure 3.1: Use Case Diagram

15
3.1.2 Database Tables Specifications

Course Table
S. No Filed Name Data Type Length Constrain/Remarks
1 Course ID VarChar 10 Primary Key
2 Course Name VarChar 45 Not Null
3 Course Description VarChar 45 Not Null
4 Number of Terms TinyInt 3 Not Null
Table 3.2 Course Table

Department Table
S. No Filed Name Data Type Length Constrain/Remarks
1 Department ID VarChar 10 Primary Key
2 Name VarChar 45 Not Null
3 Department Head VarChar 45 Not Null
4 Office Line 1 VarChar 10 Not Null
5 Office Line 2 VarChar 10 Not Null
Table 3.3Department Table

Examiner (Employee) Table


S. No Filed Name Data Type Length Constrain/Remarks
1 Employee ID VarChar 10 Primary Key
2 First Name VarChar 45 Not Null
3 Middle Name VarChar 45 Null
4 Last Name VarChar 45 Not Null
5 Gender VarChar 6 Not Null
6 Date of Birth Date 20 Not Null
7 Email VarChar 45 Not Null
8 Mobile 1 VarChar 10 Not Null
9 Mobile 2 VarChar 10 Not Null
10 Category VarChar 45 Not Null
11 Department ID VarChar 10 Not Null
12 Employee Signature Blob Null
Table 3.4 Employee Table

16
Login Table
S. No Filed Name Data Type Length Constrain/Remarks
1 Login ID VarChar 10 Primary Key
2 Employee ID VarChar 10 Not Null
3 Password VarChar 10 Not Null
4 Security Question VarChar 45 Not Null
5 Security Answer VarChar 45 Not Null
6 Role Date 20 Not Null
Table 3.5 Login Table

Question Table
S. No Filed Name Data Type Length Constrain/Remarks
1 Question ID VarChar 10 Primary Key
2 Option 1 VarChar 45 Not Null
3 Option 2 VarChar 45 Not Null
4 Option 3 VarChar 45 Not Null
5 Option 4 VarChar 45 Not Null
6 Answer VarChar 45 Not Null
7 Marks VarChar 10 Not Null
8 Subject ID VarChar 10 Not Null
9 Lesson Number VarChar 3 Not Null
01 Question Explanation VarChar 45 Not Null
Table 3.6 Question Table

Result Table
S. No Filed Name Data Type Length Constrain/Remarks
1 Result ID VarChar 10 Primary Key
2 Test ID VarChar 10 Not Null
3 Total Marks Int 3 Not Null
4 Student ID VarChar 10 Not Null
5 Testing Date Date Not Null
Table 3.7 Result Table

17
Student Table
S. No Filed Name Data Type Length Constrain/Remarks
1 Student ID VarChar 10 Primary Key
2 First Name VarChar 45 Not Null
3 Middle Name VarChar 45 Null
4 Last Name VarChar 45 Not Null
5 Gender VarChar 6 Not Null
6 Date of Birth VarChar 20 Not Null
7 Email VarChar 20 Not Null
8 Nationality VarChar 20 Not Null
9 Photo Blob Null
10 Parent Name/Guardian VarChar 45 Not Null
11 Town VarChar 45 Not Null
12 House Number VarChar 10 Null
13 Mobile 1 VarChar 10 Not Null
14 Mobile 2 VarChar 10 Null
15 Admission Date VarChar 20 Not Null
Table 3.8 Student Table

Subject Table
S. No Filed Name Data Type Length Constrain/Remarks
1 Subject ID VarChar 10 Primary Key
2 Subject Name VarChar 20 Not Null
3 Course ID VarChar 10 Not Null
4 Term VarChar 5 Not Null
5 Subject type VarChar 45 Not Null
Table 3.9 Subject Table

Testing Schedule Table


S. No Filed Name Data Type Length Constrain/Remarks
1 Test ID VarChar 10 Primary Key
2 Course ID VarChar 10 Not Null
3 Subject ID VarChar 10 Not Null
4 Is Active TinyInt 1 Not Null
5 Generated By VarChar 45 Not Null
Table 3.10 Testing Schedule Table

18
Testing Setting Table
S. No Filed Name Data Type Length Constrain/Remarks
1 Test ID VarChar 10 Primary Key
2 One Mark TinyInt 3 Not Null
3 Two Marks TinyInt 3 Not Null
4 Four Marks TinyInt 3 Not Null
5 Five Marks TinyInt 3 Not Null
6 Minimum Passing Marks TinyInt 3 Not Null
Table 3.11 Test Setting Table

19
3.2.2.1 Entity Relationship Daigram

Figure 3.2 Entity Relationship Diagram

20
3.2.3 Data Flow Diagram

Figure 3.3 Data Flow Diagram

21
3.2.4 Class Daigram

Figure 3.4 Class Diagram

22
3.3 MODULE DESCRIPTIONS
There are seven (7) types of modules described here.

1. Administrator module:
This module has the full-fledged right and responsibility to manage all modules.

2. Examiner module:
The examiner enter the test item to create the exams.

3. Student module: Students appearing for the exams login into the system after being registered
aforetime.

4. Registration module: This module requires students to register aforetime before the time of
examinations to be able to perform login to start the exams.

5. Course module: This module shelters all the information about the different types of courses to
be examined on.

6. Exams module:
This is where the exams is performed with the suitable marks assigned to each question
answered.

7. Result module: Generation of result after the exams.

23
3.4 INTERFACE DESIGN

Figure 3.5 Employee Registration

Figure 3.6 Student Registration

24
Figure 3.7 Login Form

Figure 3.8 Department Form

25
Figure 3.9 Course Form

Figure 3.10 Subject Form

26
Figure 3.11 Testing Schedule

Figure 3.12 Test Settings

27
Figure 3.13 Question Form

Figure 3.14 Result Form

28
CHAPTER 4
DEVELOPMENT AND TESTING

4.1 CODING

4.1.1 Back End


MySQL 5.0 was used as back end

4.1.1.1 Database Source Code


-- MySQL Administrator dump 1.4
--
-- ------------------------------------------------------
-- Server version 5.0.45-community-nt

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;


/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS
*/;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0


*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
--
-- Create schema testing
--
CREATE DATABASE IF NOT EXISTS testing;
USE testing;
--
-- Definition of table `course`
--
DROP TABLE IF EXISTS `course`;
CREATE TABLE `course` (
`CourseID` varchar(10) NOT NULL,

29
`CourseName` varchar(45) NOT NULL,
`CourseDescription` varchar(45) NOT NULL,
`NoOfTerms` tinyint(3) unsigned NOT NULL,
PRIMARY KEY (`CourseID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `course`
--

/*!40000 ALTER TABLE `course` DISABLE KEYS */;


INSERT INTO `course` (`CourseID`,`CourseName`,`CourseDescription`,`NoOfTerms`)
VALUES
('CID1000000','ICT','General Knowledge in IT',3),
('CID1000001','Science','Grammar ',3),
('CID1000002','Home Economics','Sets and Operation',3),
('CID1000003','History','History of Ghana',3);
/*!40000 ALTER TABLE `course` ENABLE KEYS */;

--
-- Definition of table `department`
--

DROP TABLE IF EXISTS `department`;


CREATE TABLE `department` (
`DepartmentID` varchar(10) NOT NULL,
`Name` varchar(45) NOT NULL,
`DepartmentHead` varchar(45) NOT NULL,
`OfficeLine1` varchar(45) NOT NULL,
`Officeline2` varchar(45) default NULL,
PRIMARY KEY (`DepartmentID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `department`
--

/*!40000 ALTER TABLE `department` DISABLE KEYS */;

30
INSERT INTO `department`
(`DepartmentID`,`Name`,`DepartmentHead`,`OfficeLine1`,`Officeline2`) VALUES
('DEP1000001','Science','Joseph Arhin','0123456789','0123456789'),
('DEP1000002','Mathematics','Wisdom Ahiabley','0247895623',NULL),
('DEP1000003','ICT','Joseph Arlloh','0233698547',NULL),
('DEP1000004','Home Economics','Lydia Adu Gyamfi','0245874521',NULL),
('DEP1000005','General Arts','James Arthur','0247951357',NULL);
/*!40000 ALTER TABLE `department` ENABLE KEYS */;

--
-- Definition of table `employee`
--

DROP TABLE IF EXISTS `employee`;


CREATE TABLE `employee` (
`EmployeeID` varchar(10) NOT NULL,
`FirstName` varchar(45) NOT NULL,
`MiddleName` varchar(45) default NULL,
`LastName` varchar(45) NOT NULL,
`Gender` varchar(6) NOT NULL,
`DOB` date NOT NULL,
`Email` varchar(45) NOT NULL,
`Mobile1` varchar(10) NOT NULL,
`Mobile2` varchar(10) default NULL,
`Category` varchar(45) NOT NULL,
`DepartmentID` varchar(10) NOT NULL,
`Photo` blob,
PRIMARY KEY (`EmployeeID`),
KEY `FK_employee_1` (`DepartmentID`),
CONSTRAINT `FK_employee_1` FOREIGN KEY (`DepartmentID`) REFERENCES
`department` (`DepartmentID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `employee`
--

/*!40000 ALTER TABLE `employee` DISABLE KEYS */;

31
INSERT INTO `employee`
(`EmployeeID`,`FirstName`,`MiddleName`,`LastName`,`Gender`,`DOB`,`Email`,`Mobile1`,`Mo
bile2`,`Category`,`DepartmentID`,`Photo`) VALUES
('EID1000000','Joseph ','HG','Arhin','Male','1960-01-
01','arhin@gmail.com','0241478102',NULL,'Senior Staff','DEP1000001',NULL),
('EID1000001','Joseph',NULL,'Arlloh','Male','1965-02-
02','profarlloh@yahoo.com','0245856309',NULL,'Senior Staff','DEP1000003',NULL),
('EID1000002','Wisdom',NULL,'Ahiabley','Male','1974-03-
03','wisdy@yahoo.com','0247954751',NULL,'Senior Staff','DEP1000002',NULL),
('EID1000003','Lydia','Adu','Gyamfi','Female','1975-07-
07','mamalee@yahoo.com','0263541021',NULL,'Senior Staff','DEP1000004',NULL),
('EID1000004','James',NULL,'Arthur','Male','1968-08-
08','jamesarthur@yahoo.com','0206747488',NULL,'Senior Staff','DEP1000005',NULL);
/*!40000 ALTER TABLE `employee` ENABLE KEYS */;

--
-- Definition of table `login`
--

DROP TABLE IF EXISTS `login`;


CREATE TABLE `login` (
`LogInID` varchar(10) NOT NULL,
`EmployeeID` varchar(10) NOT NULL,
`Password` varchar(45) NOT NULL,
`SecurityQuestion` varchar(45) NOT NULL,
`SecurityAnswer` varchar(45) NOT NULL,
`Role` varchar(45) NOT NULL,
PRIMARY KEY (`LogInID`),
KEY `FK_login_1` (`EmployeeID`),
CONSTRAINT `FK_login_1` FOREIGN KEY (`EmployeeID`) REFERENCES `employee`
(`EmployeeID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `login`
--

/*!40000 ALTER TABLE `login` DISABLE KEYS */;

32
INSERT INTO `login`
(`LogInID`,`EmployeeID`,`Password`,`SecurityQuestion`,`SecurityAnswer`,`Role`) VALUES
('LID1000000','EID1000000','kojo','Where did you meet your spouse?','church','Employee'),
('LID1000001','EID1000001','kojo','What is your mother\'s maiden name?','Rose','Employee'),
('LID1000002','EID1000002','kojo','Where did you meet your spouse?','Library','Employee'),
('LID1000003','EID1000003','kojo','Where did you meet your spouse?','Bus','Employee'),
('LID1000005','EID1000004','kojo','What is your mother\'s maiden name? ','Ama','Employee');
/*!40000 ALTER TABLE `login` ENABLE KEYS */;

--
-- Definition of table `question`
--

DROP TABLE IF EXISTS `question`;


CREATE TABLE `question` (
`QuestionID` varchar(10) NOT NULL,
`Question` varchar(50) NOT NULL,
`Option1` varchar(45) NOT NULL,
`Option2` varchar(45) NOT NULL,
`Option3` varchar(45) NOT NULL,
`Option4` varchar(45) NOT NULL,
`Answer` varchar(45) character set latin1 collate latin1_bin NOT NULL,
`Marks` varchar(45) NOT NULL,
`SubjectID` varchar(45) NOT NULL,
`LessonNo` varchar(45) NOT NULL,
`QuestionExplanation` varchar(45) default NULL,
PRIMARY KEY (`QuestionID`),
KEY `FK_question_1` (`SubjectID`),
CONSTRAINT `FK_question_1` FOREIGN KEY (`SubjectID`) REFERENCES `subject`
(`SubjectID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `question`
--

/*!40000 ALTER TABLE `question` DISABLE KEYS */;

33
INSERT INTO `question`
(`QuestionID`,`Question`,`Option1`,`Option2`,`Option3`,`Option4`,`Answer`,`Marks`,`SubjectI
D`,`LessonNo`,`QuestionExplanation`) VALUES
('QUE1000000','Who is SADIC ','IT GURU','administrator','Reverse Only Memory','Return
Often Memory',0x31,'2','SUB1000000','14',''),
('QUE1000010','hi','A','B','C','D',0x32,'1','SUB1000000','1','hi'),
('QUE1000011','The acronymn RAM stands for ','Random Access
Memory','Read Access Memory','Reverse Access Memory','Readable Access
Memory',0x31,'1','SUB1000000','1','hi'),
('QUE1000012','The acronymn RAM stands for ','Random Access
Memory','Read Access Memory','Reverse Access Memory','Readable Access
Memory',0x31,'1','SUB1000000','4','hi'),
('QUE1000013','The acronymn RAM stands for ','Random Access
Memory','Read Access Memory','Reverse Access Memory','Readable Access
Memory',0x31,'1','SUB1000000','4','hi'),
('QUE1000014','What is the use of the monitor
','typing','displaying','inputting','scanning',0x32,'2','SUB1000000','5','hi'),
('QUE1000015','CPU stands for ','Central Processing
Unit','jjjj','lll','ffff',0x31,'2','SUB1000000','6','hi'),
('QUE1000016','SAMMY ','KOJO','YAW','MANSA','ABU',0x32,'2','SUB1000000','7',''),
('QUE1000017','Mahendra is a good person','ama','grace','Mat','go',0x32,'2','SUB1000000','8',''),
('QUE1000018','F','F','F','F','F',0x34,'2','SUB1000000','1','F'),
('QUE1000019','Which among the following is an output device','Printer','Mouse','System
Unit','Keyboard',0x32,'2','SUB1000000','10',''),
('QUE1000020','The fastest printer among the following is ','Inkjet','Laserjet','Epson
Workforce','Maxima',0x31,'2','SUB1000000','11',''),
('QUE1000021','What does the acronymn ROM stands for','Random Only Memory','Read Only
Memory','Reverse Only Memory','Return Often Memory',0x31,'2','SUB1000000','1','');
/*!40000 ALTER TABLE `question` ENABLE KEYS */;

--
-- Definition of table `registration`
--

DROP TABLE IF EXISTS `registration`;


CREATE TABLE `registration` (
`RegistrationID` varchar(10) NOT NULL,
`StudentID` varchar(10) NOT NULL,
`CourseID` varchar(10) NOT NULL,

34
`RegisteredDate` date NOT NULL,
`Class` varchar(5) NOT NULL,
PRIMARY KEY (`RegistrationID`),
KEY `FK_registration_1` (`StudentID`),
KEY `FK_registration_2` (`CourseID`),
CONSTRAINT `FK_registration_1` FOREIGN KEY (`StudentID`) REFERENCES `student`
(`StudentID`),
CONSTRAINT `FK_registration_2` FOREIGN KEY (`CourseID`) REFERENCES `course`
(`CourseID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `registration`
--

/*!40000 ALTER TABLE `registration` DISABLE KEYS */;


INSERT INTO `registration`
(`RegistrationID`,`StudentID`,`CourseID`,`RegisteredDate`,`Class`) VALUES
('RID1000000','SID1000000','CID1000000','2015-10-15','3A'),
('RID1000001','SID1000001','CID1000001','2015-10-15','3B'),
('RID1000002','SID1000002','CID1000002','2015-10-15','3A'),
('RID1000003','SID1000003','CID1000003','0201-10-15','3B');
/*!40000 ALTER TABLE `registration` ENABLE KEYS */;

--
-- Definition of table `result`
--

DROP TABLE IF EXISTS `result`;


CREATE TABLE `result` (
`ResultID` varchar(10) NOT NULL,
`TestID` varchar(45) NOT NULL,
`TotalMarks` varchar(45) NOT NULL,
`ObtainMarks` varchar(45) NOT NULL,
`StudentID` varchar(45) NOT NULL,
`TestingDate` date NOT NULL,
PRIMARY KEY (`ResultID`),
KEY `FK_result_1` (`TestID`),
KEY `FK_result_2` (`StudentID`),

35
CONSTRAINT `FK_result_1` FOREIGN KEY (`TestID`) REFERENCES `test_settings`
(`TestID`),
CONSTRAINT `FK_result_2` FOREIGN KEY (`StudentID`) REFERENCES `student`
(`StudentID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `result`
--

/*!40000 ALTER TABLE `result` DISABLE KEYS */;


/*!40000 ALTER TABLE `result` ENABLE KEYS */;

--
-- Definition of table `student`
--

DROP TABLE IF EXISTS `student`;


CREATE TABLE `student` (
`StudentID` varchar(10) NOT NULL,
`FirstName` varchar(45) NOT NULL,
`MiddleName` varchar(45) default NULL,
`LastName` varchar(45) NOT NULL,
`Gender` varchar(25) NOT NULL,
`DOB` varchar(20) NOT NULL,
`Email` varchar(20) default NULL,
`Nationality` varchar(20) NOT NULL,
`ParentName_Guardian` varchar(45) NOT NULL,
`Town` varchar(45) NOT NULL,
`HouseNumber` varchar(10) NOT NULL,
`Mobile1` varchar(10) NOT NULL,
`Mobile2` varchar(10) default NULL,
`AdmissionDate` varchar(20) NOT NULL,
PRIMARY KEY (`StudentID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `student`
--

36
/*!40000 ALTER TABLE `student` DISABLE KEYS */;
INSERT INTO `student`
(`StudentID`,`FirstName`,`MiddleName`,`LastName`,`Gender`,`DOB`,`Email`,`Nationality`,`Par
entName_Guardian`,`Town`,`HouseNumber`,`Mobile1`,`Mobile2`,`AdmissionDate`) VALUES
('SID1000000','Samuel
','','Anyimah','Male','23/12/1985','samanyimah@gmail.com','Ghanaian','Mr. Anthony
Essel','Prestea','WC 4/13','0246244662','0206488747','01/11/2014'),
('SID1000001','Isaac ','','Essel','Male','26/03/1995','ikessel@yahoo.com','Ghanaian','Mr.
Elizaphan Essel','Tarkwa','EA 2/23','0245123456',NULL,'01/11/2013'),
('SID1000002','Anthoniette
','Afia','Assan','Female','05/07/1986','anthoassan@yahoo.com','Ghanaian','Mr. Enock
Assan','Nanako','MD 34','0249883692',NULL,'01/11/2014'),
('SID1000003','Kojo ','','Owusu','Male','14/05/1984','kowusu@gmail.com','Ghanaian','Mrs.
Charlotte Anyimah','Agona Nsaba','AH 87','0201456987',NULL,'01/12/2014'),
('SID1000004','Grace
','Adjoaba','Boadi','Female','03/06/1987','graceboadi@gmail.com','Ghanaian','Mr. Kofi
Boadi','Sunyani','BL 4','0249885524',NULL,'01/11/2014'),

('SID1000005','Sadic','Ibn','Abubakar','Male','17/11/1985','olando2@yahoo.com','Ghanaian','Oma
r Abu','Bolga','BC 8','0205847147',NULL,'01/11/2013'),

('SID1000006','KWAKU','','MAU','Male','23/11/1985',NULL,'GHANAIAN','KANKUZINI','WI
AWSO','WO 14','0247396852','','01/11/2013'),

('SID1000007','Sadic','Ibn','Abubakar','Male','17/11/1985','olando2@yahoo.com','Ghanaian','Oma
r Abu','Bolga','BC 8','0205847147','','01/11/2013'),
('SID1000008','Samuel
','','Anyimah','Male','23/12/1985','samanyimah@gmail.com','Ghanaian','Mr. Anthony
Essel','Prestea','WC 4/13','0246244662','0206488747','01/11/2014'),
('SID1000009','Samuel
','','Anyimah','Male','23/12/1985','samanyimah@gmail.com','Ghanaian','Mr. Anthony
Essel','Prestea','WC 4/13','0246244662','0206488747','01/11/2014'),

('SID1000010','KWAKU','','MAU','Male','23/11/1985','','GHANAIAN','KANKUZINI','WIAWS
O','WO 14','0247396852','','01/11/2013'),

('SID1000011','Elizaphan','Abena','Essel','Female','08/09/2015','eliza@gmail.com','Ghanaian','Sa
muel Anyimah','Aboso','WC 4/13','0246244662','0206488747','01/11/2014'),

37
('SID1000012','Jonathan','Kobina','Yankson','Male','09/06/1965','biobio@gmail.com','Ghanaian','
Mr. Anthony Essel','Eikwe','BN 5/6','0246852147','0206488747','01/11/2013'),
('SID1000013','Isaac ','Kwame','Essel','Male','26/03/1995','ikessel@yahoo.com','Ghanaian','Mr.
Elizaphan Essel','Tarkwa','EA 2/23','0245123456','','01/11/2013'),

('SID1000014','Collins','Opoku','Ampofo','Male','23/12/1985','colopo@gmail.com','Ghanaian','M
r. Jacob Opoku Ampofo','Kumasi','HV 14/45','0254789635','0547856321','01/11/2015');
/*!40000 ALTER TABLE `student` ENABLE KEYS */;

--
-- Definition of table `subject`
--

DROP TABLE IF EXISTS `subject`;


CREATE TABLE `subject` (
`SubjectID` varchar(10) NOT NULL,
`SubjectName` varchar(45) NOT NULL,
`CourseID` varchar(10) NOT NULL,
`Terms` varchar(20) NOT NULL,
`SubjectType` varchar(45) NOT NULL,
PRIMARY KEY (`SubjectID`),
KEY `FK_subject_1` (`CourseID`),
CONSTRAINT `FK_subject_1` FOREIGN KEY (`CourseID`) REFERENCES `course`
(`CourseID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `subject`
--

/*!40000 ALTER TABLE `subject` DISABLE KEYS */;


INSERT INTO `subject` (`SubjectID`,`SubjectName`,`CourseID`,`Terms`,`SubjectType`)
VALUES
('STID100000','Information and Communication Technology','CID1000000','3','Knowledge in
ICT'),
('STID100001','Physics','CID1000001','3','Waves and Motion'),
('SUB1000000','English','CID1000002','1','Grammar');
/*!40000 ALTER TABLE `subject` ENABLE KEYS */;

38
--
-- Definition of table `test_settings`
--

DROP TABLE IF EXISTS `test_settings`;


CREATE TABLE `test_settings` (
`TestID` varchar(10) NOT NULL,
`OneMark` tinyint(3) unsigned NOT NULL,
`TwoMarks` tinyint(3) unsigned NOT NULL,
`FourMarks` tinyint(3) unsigned NOT NULL,
`FiveMarks` tinyint(3) unsigned NOT NULL,
`TotalMarks` tinyint(3) unsigned NOT NULL,
`Min_PassingMarks` tinyint(3) unsigned NOT NULL,
PRIMARY KEY (`TestID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `test_settings`
--

/*!40000 ALTER TABLE `test_settings` DISABLE KEYS */;


/*!40000 ALTER TABLE `test_settings` ENABLE KEYS */;

--
-- Definition of table `testing_schedule`
--

DROP TABLE IF EXISTS `testing_schedule`;


CREATE TABLE `testing_schedule` (
`TestID` varchar(10) NOT NULL,
`CourseID` varchar(45) NOT NULL,
`SubjectID` varchar(45) NOT NULL,
`Class` varchar(45) NOT NULL,
`Is_Active` tinyint(1) NOT NULL,
`Generated_By` varchar(45) NOT NULL,
PRIMARY KEY (`TestID`),
KEY `FK_testing_schedule_1` (`CourseID`),

39
KEY `FK_testing_schedule_2` (`SubjectID`),
KEY `FK_testing_schedule_3` (`Generated_By`),
CONSTRAINT `FK_testing_schedule_1` FOREIGN KEY (`CourseID`) REFERENCES
`course` (`CourseID`),
CONSTRAINT `FK_testing_schedule_2` FOREIGN KEY (`SubjectID`) REFERENCES
`subject` (`SubjectID`),
CONSTRAINT `FK_testing_schedule_3` FOREIGN KEY (`Generated_By`) REFERENCES
`employee` (`EmployeeID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `testing_schedule`
--

/*!40000 ALTER TABLE `testing_schedule` DISABLE KEYS */;


INSERT INTO `testing_schedule`
(`TestID`,`CourseID`,`SubjectID`,`Class`,`Is_Active`,`Generated_By`) VALUES
('TID1000000','CID1000000','STID100000','3',1,'EID1000000'),
('TID1000002','CID1000001','STID100001','2',1,'EID1000001');
/*!40000 ALTER TABLE `testing_schedule` ENABLE KEYS */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;


/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

40
4.1.2 Front End

Java Netbeans IDE 7.3 was used for the front end coding.

4.1.2.1 Front End Source Code

Question Form Source Code


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package exams.view;

import exams.dao.QuestionDAO;
import exams.model.Question;
import java.awt.Color;
import javax.swing.JOptionPane;

/**
*
* @author PC
*/
public class QuestionForm extends javax.swing.JFrame{

/**
* Creates new form Question
*/
public QuestionForm() {
initComponents();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLabel1 = new javax.swing.JLabel();


lblQID = new javax.swing.JLabel();
txtQID = new javax.swing.JTextField();
lblQuestion = new javax.swing.JLabel();
lblOption1 = new javax.swing.JLabel();

41
lblOption2 = new javax.swing.JLabel();
lblOption3 = new javax.swing.JLabel();
lblOption4 = new javax.swing.JLabel();
lblAnswer = new javax.swing.JLabel();
txtOption1 = new javax.swing.JTextField();
txtOption2 = new javax.swing.JTextField();
txtOption3 = new javax.swing.JTextField();
txtOption4 = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
txtareaQuestionExp = new javax.swing.JTextArea();
btnAdd = new javax.swing.JButton();
btnReset = new javax.swing.JButton();
cmbAnswer = new javax.swing.JComboBox();
btnUpdate = new javax.swing.JButton();
btnSearch = new javax.swing.JButton();
lblSID = new javax.swing.JLabel();
txtSID = new javax.swing.JTextField();
lblLessonNo = new javax.swing.JLabel();
txtLessonNo = new javax.swing.JTextField();
lblMarks = new javax.swing.JLabel();
txtMarks = new javax.swing.JTextField();
lblQExplanation = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
txtareaQuestion = new javax.swing.JTextArea();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(153, 204, 0));
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel1.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N


jLabel1.setForeground(new java.awt.Color(0, 0, 204));
jLabel1.setText("QUESTIONS");
getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 0,
170, 30));

lblQID.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


lblQID.setForeground(new java.awt.Color(0, 102, 204));
lblQID.setText("Question ID");
getContentPane().add(lblQID, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 50, -1,
-1));

txtQID.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


txtQID.setForeground(new java.awt.Color(0, 102, 204));
txtQID.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txtQIDFocusLost(evt);

42
}
});
getContentPane().add(txtQID, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 50,
208, -1));

lblQuestion.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


lblQuestion.setForeground(new java.awt.Color(0, 102, 204));
lblQuestion.setText("Question");
getContentPane().add(lblQuestion, new org.netbeans.lib.awtextra.AbsoluteConstraints(86,
150, -1, -1));

lblOption1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


lblOption1.setForeground(new java.awt.Color(0, 102, 204));
lblOption1.setText("Option 1");
getContentPane().add(lblOption1, new org.netbeans.lib.awtextra.AbsoluteConstraints(90,
320, -1, -1));

lblOption2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


lblOption2.setForeground(new java.awt.Color(0, 102, 204));
lblOption2.setText("Option 2");
getContentPane().add(lblOption2, new org.netbeans.lib.awtextra.AbsoluteConstraints(90,
350, -1, -1));

lblOption3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


lblOption3.setForeground(new java.awt.Color(0, 102, 204));
lblOption3.setText("Option 3");
getContentPane().add(lblOption3, new org.netbeans.lib.awtextra.AbsoluteConstraints(90,
380, -1, -1));

lblOption4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


lblOption4.setForeground(new java.awt.Color(0, 102, 204));
lblOption4.setText("Option 4");
getContentPane().add(lblOption4, new org.netbeans.lib.awtextra.AbsoluteConstraints(90,
410, -1, -1));

lblAnswer.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


lblAnswer.setForeground(new java.awt.Color(0, 102, 204));
lblAnswer.setText("Answer");
getContentPane().add(lblAnswer, new org.netbeans.lib.awtextra.AbsoluteConstraints(96,
441, -1, -1));
getContentPane().add(txtOption1, new org.netbeans.lib.awtextra.AbsoluteConstraints(170,
320, 323, -1));
getContentPane().add(txtOption2, new org.netbeans.lib.awtextra.AbsoluteConstraints(170,
350, 323, -1));
getContentPane().add(txtOption3, new org.netbeans.lib.awtextra.AbsoluteConstraints(170,
380, 323, -1));

43
getContentPane().add(txtOption4, new org.netbeans.lib.awtextra.AbsoluteConstraints(170,
410, 323, -1));

txtareaQuestionExp.setColumns(20);
txtareaQuestionExp.setRows(5);
jScrollPane1.setViewportView(txtareaQuestionExp);

getContentPane().add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(170,


240, 323, 70));

btnAdd.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


btnAdd.setForeground(new java.awt.Color(0, 0, 204));
btnAdd.setText("Add");
btnAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddActionPerformed(evt);
}
});
getContentPane().add(btnAdd, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 480,
138, 36));

btnReset.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


btnReset.setForeground(new java.awt.Color(51, 0, 204));
btnReset.setText("Reset");
btnReset.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnResetActionPerformed(evt);
}
});
getContentPane().add(btnReset, new org.netbeans.lib.awtextra.AbsoluteConstraints(380,
480, 129, 36));

cmbAnswer.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N


cmbAnswer.setForeground(new java.awt.Color(0, 0, 204));
cmbAnswer.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Select
Answer", "1", "2", "3", "4" }));
getContentPane().add(cmbAnswer, new org.netbeans.lib.awtextra.AbsoluteConstraints(166,
441, 323, -1));

btnUpdate.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


btnUpdate.setForeground(new java.awt.Color(51, 0, 204));
btnUpdate.setText("Update");
btnUpdate.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnUpdateActionPerformed(evt);
}

44
});
getContentPane().add(btnUpdate, new org.netbeans.lib.awtextra.AbsoluteConstraints(240,
480, 129, 36));

btnSearch.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


btnSearch.setForeground(new java.awt.Color(51, 0, 204));
btnSearch.setText("Search");
btnSearch.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSearchActionPerformed(evt);
}
});
getContentPane().add(btnSearch, new org.netbeans.lib.awtextra.AbsoluteConstraints(410,
40, 90, 60));

lblSID.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


lblSID.setForeground(new java.awt.Color(0, 102, 204));
lblSID.setText("Subject ID");
getContentPane().add(lblSID, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 80, -1,
-1));

txtSID.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txtSIDFocusLost(evt);
}
});
getContentPane().add(txtSID, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 80,
210, -1));

lblLessonNo.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


lblLessonNo.setForeground(new java.awt.Color(0, 102, 204));
lblLessonNo.setText("Lesson Number");
getContentPane().add(lblLessonNo, new org.netbeans.lib.awtextra.AbsoluteConstraints(80,
110, -1, -1));
getContentPane().add(txtLessonNo, new org.netbeans.lib.awtextra.AbsoluteConstraints(210,
110, 100, -1));

lblMarks.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


lblMarks.setForeground(new java.awt.Color(0, 102, 204));
lblMarks.setText("Marks");
getContentPane().add(lblMarks, new org.netbeans.lib.awtextra.AbsoluteConstraints(360,
110, -1, -1));
getContentPane().add(txtMarks, new org.netbeans.lib.awtextra.AbsoluteConstraints(410,
110, 90, -1));

lblQExplanation.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

45
lblQExplanation.setForeground(new java.awt.Color(0, 102, 204));
lblQExplanation.setText("Question Explaination");
getContentPane().add(lblQExplanation, new
org.netbeans.lib.awtextra.AbsoluteConstraints(30, 270, -1, -1));

txtareaQuestion.setColumns(20);
txtareaQuestion.setRows(5);
jScrollPane2.setViewportView(txtareaQuestion);

getContentPane().add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(166,


150, 323, 80));

pack();
}// </editor-fold>

private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {


if (txtSID.getText().isEmpty()) {
txtSID.setBackground(Color.yellow);
txtSID.grabFocus();
} else {
QuestionDAO dao = new QuestionDAO();
Question ques = new Question();
try {
ques.setQuestionID(dao.getQuestionID());
ques.setSubjectID(txtSID.getText());
ques.setLessonNo(txtLessonNo.getText());
ques.setMarks(Integer.parseInt(txtMarks.getText()));
ques.setQuestion(txtareaQuestion.getText());
ques.setOption1(txtOption1.getText());
ques.setOption2(txtOption2.getText());
ques.setOption3(txtOption3.getText());
ques.setOption4(txtOption4.getText());
ques.setAnswer(cmbAnswer.getSelectedItem().toString());
ques.setQuestionExplanation(txtareaQuestionExp.getText());
if (dao.addQuestion(ques) > 0) {
JOptionPane.showMessageDialog(this, "Question Added");
txtQID.setText(ques.getQuestionID());
} else {
JOptionPane.showMessageDialog(this, "No Record Inserted..");

}
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex);
}

46
}

private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {


if (txtSID.getText().isEmpty()) {
txtSID.setBackground(Color.yellow);
txtSID.grabFocus();
} else {
QuestionDAO dao = new QuestionDAO();
Question ques = new Question();
try {
ques.setQuestionID(txtQID.getText());
ques.setSubjectID(txtSID.getText());
ques.setLessonNo(txtLessonNo.getText());
ques.setMarks(Integer.parseInt(txtMarks.getText()));
ques.setQuestion(txtareaQuestion.getText());
ques.setOption1(txtOption1.getText());
ques.setOption2(txtOption2.getText());
ques.setOption3(txtOption3.getText());
ques.setOption4(txtOption4.getText());
ques.setAnswer(cmbAnswer.getSelectedItem().toString());
ques.setQuestionExplanation(txtareaQuestionExp.getText());
if (dao.modifyQuestion(ques) > 0) {
JOptionPane.showMessageDialog(this, "Question Updated");
} else {
JOptionPane.showMessageDialog(this, "No Record Found..");
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex);
}
}

private void btnSearchActionPerformed(java.awt.event.ActionEvent evt) {


if (txtQID.getText().isEmpty()) {
txtQID.setBackground(Color.yellow);
txtQID.grabFocus();
} else {
QuestionDAO dao = new QuestionDAO();
try {
Question ques = dao.searchQuestion(txtQID.getText());
if (ques != null) {

txtSID.setText(ques.getSubjectID());

47
txtLessonNo.setText(ques.getLessonNo());
txtMarks.setText(ques.getMarks() + "");
txtareaQuestion.setText(ques.getQuestion());
txtOption1.setText(ques.getOption1());
txtOption2.setText(ques.getOption2());
txtOption3.setText(ques.getOption3());
txtOption4.setText(ques.getOption4());
cmbAnswer.setSelectedItem(ques.getAnswer());
txtareaQuestionExp.setText(ques.getQuestionExplanation());
} else {
JOptionPane.showMessageDialog(this, "No Record Found..");
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex);
}
}
}

private void btnResetActionPerformed(java.awt.event.ActionEvent evt) {


txtQID.setText("");
txtLessonNo.setText("");
txtMarks.setText("");
txtOption1.setText("");
txtOption2.setText("");
txtOption3.setText("");
txtOption4.setText("");
txtQID.setText("");
txtSID.setText("");
txtareaQuestion.setText("");
txtareaQuestionExp.setText("");
cmbAnswer.setSelectedIndex(0);
}

private void txtQIDFocusLost(java.awt.event.FocusEvent evt) {


txtQID.setBackground(Color.white);

private void txtSIDFocusLost(java.awt.event.FocusEvent evt) {


txtSID.setBackground(Color.white);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {

48
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(QuestionForm.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(QuestionForm.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(QuestionForm.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(QuestionForm.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new QuestionForm().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnAdd;
private javax.swing.JButton btnReset;
private javax.swing.JButton btnSearch;
private javax.swing.JButton btnUpdate;
private javax.swing.JComboBox cmbAnswer;
private javax.swing.JLabel jLabel1;

49
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JLabel lblAnswer;
private javax.swing.JLabel lblLessonNo;
private javax.swing.JLabel lblMarks;
private javax.swing.JLabel lblOption1;
private javax.swing.JLabel lblOption2;
private javax.swing.JLabel lblOption3;
private javax.swing.JLabel lblOption4;
private javax.swing.JLabel lblQExplanation;
private javax.swing.JLabel lblQID;
private javax.swing.JLabel lblQuestion;
private javax.swing.JLabel lblSID;
private javax.swing.JTextField txtLessonNo;
private javax.swing.JTextField txtMarks;
private javax.swing.JTextField txtOption1;
private javax.swing.JTextField txtOption2;
private javax.swing.JTextField txtOption3;
private javax.swing.JTextField txtOption4;
private javax.swing.JTextField txtQID;
private javax.swing.JTextField txtSID;
private javax.swing.JTextArea txtareaQuestion;
private javax.swing.JTextArea txtareaQuestionExp;
// End of variables declaration
}

4.1.3 Middle End


Data Access Object (DAO)

4.1.3.1 Middle End Source Code

QuestionDAO
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package exams.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

50
import exams.model.Question;

/**
*
* @author PC
*/
public class QuestionDAO {

public String getQuestionID() throws Exception {


String fid;
fid = null;
try (Connection con = Connector.getCon()) {
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select QuestionID from Question order by QuestionID
desc");
if (rs.next()) {
String id = rs.getString(1).trim().substring(3);
int iid = Integer.parseInt(id);
fid = "QUE" + (++iid);
} else {
fid = "QUE1000001";
}
}
return fid;
}

public int addQuestion(Question reg) throws Exception {


int result;
try (Connection con = Connector.getCon()) {
PreparedStatement ps = con.prepareStatement("insert into question
values(?,?,?,?,?,?,?,?,?,?,?)");
ps.setString(1, reg.getQuestionID());
ps.setString(2, reg.getQuestion());
ps.setString(3, reg.getOption1());
ps.setString(4, reg.getOption2());
ps.setString(5, reg.getOption3());
ps.setString(6, reg.getOption4());
ps.setString(7, reg.getAnswer());
ps.setInt(8, reg.getMarks());
ps.setString(9, reg.getSubjectID());

51
ps.setString(10, reg.getLessonNo());
ps.setString(11, reg.getQuestionExplanation());
result = ps.executeUpdate();
}
return result;
}

/**
*
* @param reg
* @return
* @throws Exception
*/
public int modifyQuestion(Question reg) throws Exception {
int result;
try (Connection con = Connector.getCon()) {
PreparedStatement ps = con.prepareStatement("update question set question=?,
Option1=?,Option2=?,Option3=?,Option4=?,Answer=?,Marks=?,SubjectID=?,LessonNo=?,Que
stionExplanation=? where questionid=?");

ps.setString(1, reg.getQuestion());
ps.setString(2, reg.getOption1());
ps.setString(3, reg.getOption2());
ps.setString(4, reg.getOption3());
ps.setString(5, reg.getOption4());
ps.setString(6, reg.getAnswer());
ps.setInt(7, reg.getMarks());
ps.setString(8, reg.getSubjectID());
ps.setString(9, reg.getLessonNo());
ps.setString(10, reg.getQuestionExplanation());
ps.setString(11, reg.getQuestionID());
result = ps.executeUpdate();
}
return result;
}

public int removeQuestion(String regid) throws Exception {


int result;
try (Connection con = Connector.getCon()) {

52
PreparedStatement ps = con.prepareStatement("delete from question where
questionid=?");
ps.setString(1, regid);
result = ps.executeUpdate();
}
return result;
}

public Question searchQuestion(String regid) throws Exception {


Question reg;
try (Connection con = Connector.getCon()) {
PreparedStatement ps = con.prepareStatement("select * from question where
questionid=?");
ps.setString(1, regid);
ResultSet rs = ps.executeQuery();
reg = null;
if (rs.next()) {
reg = new Question();
reg.setQuestionID(rs.getString(1));
reg.setQuestion(rs.getString(2));
reg.setOption1(rs.getString(3));
reg.setOption2(rs.getString(4));
reg.setOption3(rs.getString(5));
reg.setOption4(rs.getString(6));
reg.setAnswer(rs.getString(7));
reg.setMarks(rs.getInt(8));
reg.setSubjectID(rs.getString(9));
reg.setLessonNo(rs.getString(10));
reg.setQuestionExplanation(rs.getString(11));
}
}
return reg;
}

public List<Question> listQuestion() throws Exception {


List<Question> list;
try (Connection con = Connector.getCon()) {
PreparedStatement ps = con.prepareStatement("select * from registration ");
ResultSet rs = ps.executeQuery();
list = new ArrayList<>();

53
while (rs.next()) {
Question reg = new Question();
reg.setQuestionID(rs.getString(1));
reg.setQuestion(rs.getString(2));
reg.setOption1(rs.getString(3));
reg.setOption2(rs.getString(4));
reg.setOption3(rs.getString(5));
reg.setOption4(rs.getString(6));
reg.setAnswer(rs.getString(7));
reg.setMarks(rs.getInt(8));
reg.setSubjectID(rs.getString(9));
reg.setLessonNo(rs.getString(10));
reg.setQuestionExplanation(rs.getString(11));
list.add(reg);
}
}
return list;
}
}

54
4.2 TESTING OF SOFTWARE
Testing is the practice of evaluating a system and its components with the sole aim of finding
whether the specified requirements are met or not. It is also a means finding out flaws in a
software that is obstructing the proper functioning of the system. (Sharma, Ayushi, & Ojha ,
2014). Testing is therefore done to discover any gaps, errors (initialization and termination
errors), and missing requirements which conflicts the actual requirements.- (Work Breakdown
Structure Retrieved).

4.2.1 TESTING METHODS AND TECHNIQUES


Software can be tested with two techniques for verifying and validating. Thes are:
1. Black box testing
2. White box testing

Black Box Testing


Black box testing, also called functional testing is a testing technique employed wholly during
validation. Although they are designed to uncover possible errors, it can also be used to
demonstrate the operational functionality of a software, maintaing the integrity of external
information, acceptance of inputs and correct outcome of output.
Black box testing assist in finding the following errors:
1. Incorrect or missing functions;
2. Errors in the interface and performance;
3. Errors in data structures or external database access;
4. Initialization and termination errors.

White Box Testing


White-box testing, also known as glass-box testing, is a testing technique that utilizes the control
structure of the procedural design.

Merits of the method

 All non-dependant paths are implemented at least once.


 Exericise of all logical decisions

55
 Execution of all boundaries loops.
 Maintenance of the validity of the internal data structure

(Jovanovi, 2009)

4.2.2 Test Cases and Test Result


NUMBER
CASE

DESCRIPTION OF TRIAL PROBABLE REAL REMARKS


CASE INPUT OUTPUT OUTPUT

1 Login ID on the Blank Message: Message: Passed the


Login form should “Enter a “Enter a test
not be empty or null valid login valid Login
and void ID” ID”
2 Registration ID Blank Message: Message: Passed the
should not be empty “Enter a “Enter a test
or null and void valid Registration
Registration ID”
ID”
3 Student ID on the Login Blank Message: Message: Passed the
form should not be “Enter a valid “Enter a valid test
empty or null and void Student ID” Student ID”
4 Course ID should not be Blank Message: Message: Passed the
empty or null and void “Enter a valid “Enter a valid test
Course ID” Course ID”
5 Password should Blank Message: Message: Passed the
never be empty or “Enter a “Enter a test
null valid valid
password” password”
6 Password should not Helloexamine Message: Message: Passed the
be more than 10 “Password “Password test
should not be should not
more than 10 be more
characters.” than 10
characters.”
7 Security question Blank Message: Message: Passed the
should not be null “Select a “Select a test
security security
question” question”
8 Security answer Blank Message: Message: Passed the
should not be null “Answer the “Answer the test
security security
question” question”

56
9 First name should not Blank Message: Message: Passed the
be blank in “Kindly enter “Kindly test
registration form First name” enter First
name”
10 Surname cannot be Empty/Blank Message: Message: Passed the
empty in registration “Kindly enter “Kindly test
form Surname” enter
Surname”
11 Date of Birth should Blank Message: Message: Passed the
not be blank “Kindly enter “Kindly test
Date of enter Date
Birth” of Birth”
12 Mobile 1 should be 02498836 Message: Message: Passed the
exactly ten digits “Kindly enter “Kindly test
a valid enter a valid
mobile mobile
number” number”
13 Mobile 1 should not Blank Message: Message: Passed the
be null “Kindly enter “Kindly test
Mobile enter Mobile
number” number”
14 Gender should not be Blank Message: Message: Passed the
null “Kindly “Kindly test
choose choose
Gender” Gender”
15 Role should not be Blank Message: Message: Passed the
null “Kindly “Kindly test
select your select your
role” role”
16 Generated By should No data No data Passed the
be created by the input input test
system

Table 4.1 Test cases and test results table

57
CHAPTER 5:
SUPPORT

5.1 Implement Plan


Implementation plan is the final and crucial phase of the software development. This stage is
most vital in achieving a successful new system. It assures users of the effectiveness and
efficiency of the newly developed system and also offers maximum security.

5.2 Maintenance
System maintenance is the practice of varying a system that is already in service for the sole aim
of sustaining its survival ability. Therefore, maintenance is a support stage in the development of
reliable software. Maintenance centers on alterations relating to;

 Correction of errors in specifications, design or coding.


 Improvement of the functionality of the software on the part of the developer.
 Enhancement and upgraded requirement yearned for by the customer or user.

There are four (4) types of software maintenance, namely:

1. Corrective maintenance / Correction: This involves debugging notified errors in the


software. Such errors usually comprises of errors in design, coding or requirements.

2. Adaptive maintenance / Adaption: Modifying the software to accommodate changes of


the software’s external environment such as different operating system or hardware
platform. However, the functionality of the software is not totally altered, only the
operating environment is modified for portability.

3. Perfective maintenance / Enhancement: This is the maintenance that outspreads the


software away from its initial functionality.

4. Preventive maintenance / Prevention: This involves the prevention of future


undesirable problems in the software. The software’s reliability is therefore increased as a
preventive measure.

The system will be maintained by qualified and trained professionals in Information Technology
(IT). Redemptive measures were initiated for the system’s maintenance.

(Garrido)

58
CHAPTER 6
CONCLUSION AND FUTURE PLAN
The examination and assessment system has been developed and tested with appropriate data to
obtain a desirable output. In comparison to the existing paper-based system of conducting exams,
the benefit of the computerized system has been time saving and stress-free. Scoring and marks
card preparation have been effortless. The system therefore solves the problem for which it was
intended to solve.

As part of future development, more security measures should be applied, such as biometric
finger print authentication to curb the problem of impersonation of candidates.

BIBLIOGRAPHY

1. a2zpsychology.com. (2002-2010). Retrieved from


http://www.a2zpsychology.com/articles/importance_of_testing_in_psychology.php

2. Garrido, S. G. (n.d.). Types of Maintenance. Retrieved from


http://www.mantenimientopetroquimica.com/en/typesofmaintenance.html

3. Jovanovi, I. (2009, January). Transactions on Internet Research (TIR) - Journals. Retrieved from
Software Testing Methods and : http://tir.ipsitransactions.org/2009/January/Paper%2006.pdf

4. Kelly, M. (2015). The Purpose of Tests. Retrieved from


http://712educators.about.com/od/assessments/tp/The-Purpose-Of-Tests.htm

5. Krishna , M., Syed Saqib , A., Ajit , P. M., Shashank , K. S., & Awanish, K. G. (2010). A Project Report on
Online Exams System. DLW Training Centre.

6. Measurement and Evaluation in education (PDE 105). (n.d.). Retrieved from http://www.nti-
nigeria.org/nti-pgde/PGDE-6.pdf

7. Ogunniyi, M. B. (1984). Educaitonal measurement and evaluation. Plc: Longman Nigeria.

8. Sharma, S., Ayushi, C., & Ojha , S. (2014). Testing Methodology to test Online Examination Application
developed in SAP ABAP. International Journal of Engineering, Business and Enterprise
Applications (IJEBEA), 158-163.

59
9. Strauss, V. (2012, December 3). The Washington Post. Retrieved from How the first standardized tests
helped start a war — really: https://www.washingtonpost.com/blogs/answer-
sheet/wp/2012/12/03/how-the-first-standardized-tests-helped-start-a-war-really/

10. VP Gallery. (n.d.). Retrieved October 5, 2015, from VP Gallery: http://www.visual-


paradigm.com/VPGallery/diagrams/UseCase.html

11. Work Breakdown Structure Retrieved. (n.d.). Retrieved from


http://www.matchware.com/en/products/mindview/mindview2_be/wbs.htm

60
APPENDIX

Turnitin Originality Report


EXAMINATION AND ASSESSMENT SYSTEM FOR HUNI-VALLEY SENIOR HIGH
SCHOOL by Samuel ANYIMAH
From Final_Mini_Project (MSCIT_SEM_2_SP_15)
 Processed on 07-Oct-2015 15:47 GMT
 ID: 579471844
 Word Count: 4798

Similarity Index
19%
Similarity by Source
Internet Sources:
14%
Publications:
2%
Student Papers:
16%
sources:
1
5% match (student papers from 27-May-2011)
Submitted to University of Greenwich on 2011-05-27
2
2% match (student papers from 04-Oct-2015)
Class: MSCIT_SEM_2_SP_15
Assignment:
Paper ID: 579473869
3
1% match (student papers from 13-Jul-2015)
Submitted to University of Ghana on 2015-07-13
4
1% match (Internet from 25-Jun-2014)
http://nti-nigeria.org/nti-pgde/PGDE-6.pdf
5
1% match (student papers from 01-Oct-2015)
Class: MSCIT_SEM_2_SP_15
Assignment:
Paper ID: 578386939
6
< 1% match (Internet from 28-May-2010)
http://elearning.nic.in/student-trainee-report/chief-minister-monitoring-system/project-report-
harbaksh.doc/download
7
< 1% match (student papers from 21-Dec-2013)
Submitted to University of Bahrain on 2013-12-21
8
< 1% match (student papers from 23-May-2008)

61
Submitted to Manchester Metropolitan University on 2008-05-23
9
< 1% match (student papers from 24-Apr-2014)
Submitted to RDI Distance Learning on 2014-04-24
10
< 1% match (student papers from 06-Oct-2015)
Class: MSCIT_SEM_2_SP_15
Assignment:
Paper ID: 578411688
11
< 1% match (student papers from 30-Mar-2015)
Submitted to University of Mauritius on 2015-03-30
12
< 1% match (Internet from 16-Jul-2010)
http://www.iisjaipur.org/iiim-current-08/MCA_IV_Sem_Pro_Eva/10.Project-
%20online%20exam%20system.pdf
13
< 1% match (Internet from 28-Aug-2003)
http://www.cbr.clw.csiro.au/aclep/pcsites/pcsites.pdf
14
< 1% match (student papers from 13-Nov-2013)
Submitted to Myanmar Computer Company Ltd (MCC) - Yatanarpon on 2013-11-13
15
< 1% match (Internet from 14-Aug-2014)
http://712educators.about.com/od/assessments/tp/The-Purpose-Of-Tests.htm
16
< 1% match (student papers from 13-Nov-2013)
Submitted to Myanmar Computer Company Ltd (MCC) - Yatanarpon on 2013-11-13
17
< 1% match (student papers from 13-Nov-2013)
Submitted to Myanmar Computer Company Ltd (MCC) - Yatanarpon on 2013-11-13
18
< 1% match (student papers from 11-Feb-2013)
Submitted to Swansea Metropolitan University on 2013-02-11
19
< 1% match (student papers from 02-Jan-2011)
Submitted to Informatics Education Limited on 2011-01-02
20
< 1% match (student papers from 10-Jan-2013)
Submitted to University of Greenwich on 2013-01-10
21
< 1% match ()
http://www2.middleware-company.com/casestudy/specification.pdf
22
< 1% match (student papers from 09-Oct-2014)
Submitted to Midlands State University on 2014-10-09
23

62
< 1% match (student papers from 01-Jun-2015)
Submitted to HELP UNIVERSITY on 2015-06-01
24
< 1% match (Internet from 06-Oct-2015)
http://docslide.us/documents/itr.html
25
< 1% match (student papers from 30-Apr-2009)
Submitted to University of Greenwich on 2009-04-30
26
< 1% match (student papers from 14-May-2015)
Submitted to University of Sunderland on 2015-05-14
27
< 1% match (Internet from 10-Oct-2011)
http://www.slideshare.net/Softwarecentral/microsoft-powerpoint-ch6softwaretesting0714
28
< 1% match (Internet from 23-Apr-2010)
http://meta.wikimedia.org/wiki/Folklore,_myth_and_religion
29
< 1% match (Internet from 30-Jan-2015)
http://www.slideshare.net/fiu025/online-examination
30
< 1% match (student papers from 13-May-2015)
Submitted to Midlands State University on 2015-05-13
31
< 1% match ()
http://www.rusak.info/en/news/4.aspx
32
< 1% match (Internet from 14-Oct-2010)
http://www.ed.gov.nl.ca/edu/k12/studentsupportservices/rts/principal_instructions.pdf
33
< 1% match (Internet from 18-Oct-2012)
http://internetjournals.net/journals/tir/2009/January/Full%20Journal.pdf

63

Potrebbero piacerti anche