Intelligent Question Bank and Examination System

advertisement
Intelligent Question Bank and Examination System
A dissertation submitted to the
Faculty of Computer Science and Information Technology
University of Malaya
By
HU HENG SIEW
(WGC020032)
In Partial Fulfilment of the Requirement for the Degree of
Master Software Engineering (Worth 18/36 credit hours)
May 2006
Supervisor: Mr. Ang Tan Fong
Page 1 of 252
ABSTRACT
Question bank can be described as the databank that keeps all the examination questions
whether pre-existing or created by user. Web-based examination is an online assessment
tool that used to evaluate students’ performance. Examination will incorporate questions
with varying complexity from question bank. Students are required to response to those
examination questions. With this, examination serves as the assessment tool to track
student understanding of the classroom material.
This research is to develop an online Intelligent Question Bank and Examination System
(IQBAES), which will make use of open source technology. The technologies include
java server pages (jsp), servlet, jdbc thin driver, jfreechart, ant, xml, log4j and hibernate.
The system run on Tomcat 4.1 Application Server resides on a J2EE framework, which
makes use of Model View Controller (MVC) design pattern. Hibernate technology is
used to access the database.
The system that had been developed enable lecturer to author and store a bank of webbased questions. Furthermore, this system able to assemble questions and generate exam
based on lecturer’s specifications. The examination module allowed user to conduct
examination over the Internet and Intranet. Questions from various topics with different
level of complexity can be included and assigned to user as per the level. Upon
examination completed, the system able to grade student based on the questions with
varying complexity they have answered.
Page 2 of 252
ACKNOWLEDGEMENT
It is not a trivial task to complete a project of this magnitude, especially having to meet
the dateline of the project. Most of the acknowledgement I must give here must go to my
supervisor Mr. Ang Tan Fong. Throughout the project, he has provided me with much
helpful guidance and moral support towards the end when I needed it most! His guidance
on Question Bank and Examination System concept and explanation on the inner
working of examination were crucial to the understanding of how this project of this
nature should be developed. His guidance, insight, and confidence have inspired me to
complete this project within the time schedule. There are many people who had
contributed to the completion of the project. There are also too many people to mention,
who have provided feedback and inspiration in one way or another that contributed to the
success of this project. Last but not least, I would like to express my gratitude to all those
helpful people. Thank you very much.
Page 3 of 252
TABLE OF CONTENTS
ABSTRACT ......................................................................................................................... 2
ACKNOWLEDGEMENT................................................................................................... 3
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
2
INTRODUCTION ................................................................................................... 13
OVERVIEW OF THE SYSTEM ..................................................................................... 13
OBJECTIVE .............................................................................................................. 14
PROJECT SCOPE ....................................................................................................... 15
PROBLEM STATEMENT ............................................................................................. 16
SYSTEM LIMITATION ............................................................................................... 17
EXPECTED OUTCOME .............................................................................................. 17
SIGNIFICANCE OF SYSTEM ....................................................................................... 17
THESES ORGANIZATION ........................................................................................... 19
LITERATURE REVIEW ........................................................................................ 21
2.1 ANALYSIS STUDIES ................................................................................................. 21
2.1.1 Overview of current Examinations Systems ..................................................... 21
2.1.2 Current Process Flow (Manual) or Existing System.......................................... 22
2.1.3 Case Study 1: UTS Online Examination System............................................... 24
2.1.4 Case Study 2: MIND Online Evaluation System (OES) .................................... 26
2.1.5 Case Study 3: ExamManager ........................................................................... 28
2.1.6 Case Study 4: Online Courses Examination System (OCES) ............................ 31
2.1.7 Case Study 5: Web-based Adaptive Testing (WAT) ......................................... 33
2.1.8 Case Study 6: SIETTE ..................................................................................... 35
2.1.9 Case Study 7: Architecture Tutor ..................................................................... 39
2.1.10 Relationship to existing work ........................................................................... 40
2.1.11 IQBAES Approach .......................................................................................... 42
2.2 REVIEW ON LATEST TECHNOLOGIES ........................................................................ 52
2.2.1 Client-Server Architecture................................................................................ 52
2.2.2 Two-Tier Architecture...................................................................................... 52
2.2.3 Three-Tier Architecture.................................................................................... 52
2.2.4 J2EE technology .............................................................................................. 53
2.2.5 J2EE Framework.............................................................................................. 56
2.2.6 .NET Framework ............................................................................................. 57
2.2.7 Comparing J2EE and .NET Platform ................................................................ 58
2.2.8 Component Technology ................................................................................... 60
2.2.9 Application Server and Web Server.................................................................. 60
2.2.10 Operating System ............................................................................................. 62
2.2.11 Database Server ............................................................................................... 63
Page 4 of 252
2.2.12 Database Access Technology ........................................................................... 66
2.2.13 Open Source Technology ................................................................................. 69
2.2.14 Programming Languages .................................................................................. 71
3
METHODOLOGY .................................................................................................. 73
3.1 SYSTEM DEVELOPMENT FLOW ................................................................................. 73
3.2 SOFTWARE METHODOLOGY ..................................................................................... 74
3.2.1 Techniques Used to Define Requirements ........................................................ 76
3.2.2 Software Process Model ................................................................................... 81
3.2.3 Choice of Incremental Development Model as Methodology............................ 83
3.2.4 Advantages of Incremental Development Model .............................................. 88
4
SYSTEM ANALYSIS .............................................................................................. 90
4.1 REQUIREMENT ANALYSIS ........................................................................................ 90
4.2 FUNCTIONAL REQUIREMENT .................................................................................... 90
4.2.1 User Manager Module ...................................................................................... 92
4.2.2 Administrator Module ...................................................................................... 92
4.2.3 Lecturer Module............................................................................................... 95
4.2.4 Student Module ................................................................................................ 98
4.2.5 Examination Module ...................................................................................... 100
4.2.6 Question Module ............................................................................................ 113
4.2.7 Flows of Events ............................................................................................. 116
4.3 NON-FUNCTIONAL REQUIREMENT .......................................................................... 119
4.3.1 Product requirements ..................................................................................... 119
4.3.2 User Interface Requirements .......................................................................... 120
4.3.3 Organizational requirements........................................................................... 120
4.3.4 External requirements .................................................................................... 121
4.4 SYSTEM TOOLS REQUIREMENT .............................................................................. 122
4.4.1 Hardware Requirements ................................................................................. 122
4.4.2 Software Requirements .................................................................................. 124
4.4.3 Development Tools ........................................................................................ 126
5
SYSTEM DESIGN AND DETAILED DESIGN .................................................. 127
5.1 SYSTEM ARCHITECTURE ........................................................................................ 127
5.2 SYSTEM DESIGN .................................................................................................... 127
5.2.1 Struts Framework ........................................................................................... 128
5.2.2 IQBAES Framework Design .......................................................................... 130
5.2.3 IQBAES System Design ................................................................................ 137
5.3 IQBAES SECURITY DESIGN .................................................................................. 140
5.4 DETAILED DESIGN ................................................................................................. 142
Page 5 of 252
5.4.1 User Role Management Class Diagram .......................................................... 143
5.4.2 Examination System Collaboration Diagram .................................................. 146
5.4.3 Examination System Sequence Diagram ........................................................ 147
5.4.4 Examination System Class Diagram ............................................................... 148
5.4.5 Package Dependency Diagram ....................................................................... 149
5.5 ENTITY RELATIONSHIP DIAGRAM .......................................................................... 150
5.5.1 Entities ........................................................................................................... 150
5.5.2 Relationships.................................................................................................. 150
5.5.3 Optionally and Cardinality ............................................................................. 151
5.5.4 Bridge Entities ............................................................................................... 152
5.5.5 Recursive Relationships ................................................................................. 153
5.5.6 Multiple Relationships Between Entities ........................................................ 153
5.5.7 Entity Subtypes .............................................................................................. 153
5.5.8 Exclusive-Or Relationship.............................................................................. 153
5.5.9 User Role Management E-R Diagram ............................................................ 153
5.5.10 Examination Management E-R Diagram ........................................................ 155
5.5.11 Question Bank E-R Diagram .......................................................................... 156
5.5.12 Question System E-R Diagram ....................................................................... 157
5.6 DATA DICTIONARY................................................................................................ 158
6
SYSTEM IMPLEMENTATION AND TESTING ............................................... 176
6.1 INTRODUCTION...................................................................................................... 176
6.2 DEVELOPMENT ENVIRONMENT .............................................................................. 176
6.2.1 Hardware Environment .................................................................................. 177
6.2.2 Software Environment.................................................................................... 177
6.2.3 Development with Provision for Disaster Recovery and Mirroring ................. 179
6.2.4 Implementation Environment ......................................................................... 180
6.2.5 System Development ..................................................................................... 181
6.2.6 Classes and Components ................................................................................ 181
6.2.7 Question Difficulty Assessment Implementation ............................................ 186
6.2.8 Automatic Question Generator ....................................................................... 187
6.2.9 Intelligent Questioning System....................................................................... 188
6.2.10 Coding ........................................................................................................... 191
6.3 TESTING APPROACH .............................................................................................. 195
6.4 TYPE OF TESTING .................................................................................................. 197
6.4.1 Unit Testing ................................................................................................... 198
6.5 MODULE TESTING ................................................................................................. 199
6.6 INTERFACE TESTING .............................................................................................. 199
6.7 INTEGRATION TESTING .......................................................................................... 199
Page 6 of 252
6.8
SYSTEM TESTING .................................................................................................. 200
7
EVALUATION AND RESULTS .......................................................................... 201
7.1 EVALUATION METHODS ......................................................................................... 201
7.1.1 Evaluation in Term of User Interface.............................................................. 201
7.1.2 Evaluation in Term of Implementation ........................................................... 212
7.1.3 Finding .......................................................................................................... 213
7.1.4 Reliability Assessment ................................................................................... 218
7.1.5 Fairness .......................................................................................................... 221
8
CONCLUSION AND FUTURE WORK .............................................................. 223
8.1 SUMMARY OF PROJECT .......................................................................................... 223
8.2 RESEARCH GOALS AND CONTRIBUTIONS ................................................................ 224
8.3 PROBLEMS ENCOUNTERED AND ITS SOLUTIONS ...................................................... 226
8.3.1 Difficulties in configuring Jcrontab ................................................................ 226
8.3.2 Problem with user access rights ...................................................................... 227
8.3.3 Insufficient documentation for open-source plug-in component...................... 227
8.3.4 Problem in mirroring development environment............................................. 227
8.4 EVALUATION BY END USERS ................................................................................. 227
8.5 SYSTEM CONSTRAINTS AND FUTURE ENHANCEMENT ............................................. 228
8.5.1 System constraints.......................................................................................... 228
8.5.2 Future Enhancement....................................................................................... 228
8.6 KNOWLEDGE AND EXPERIENCE GAINED................................................................. 229
8.6.1 Hibernate ....................................................................................................... 229
8.6.2 Apache Ant .................................................................................................... 230
8.6.3 JfreeChart ...................................................................................................... 230
8.6.4 Log4j ............................................................................................................. 230
8.7 CONCLUSION......................................................................................................... 231
9
APPENDIX A – LIST OF REFERENCES ........................................................... 232
10
APPENDIX B - QUESTIONAIRE ....................................................................... 234
11
APPENDIX C – IQBAES SCREEN SHOT .......................................................... 236
12
APPENDIX D – USER REGISTRATION FLOW ............................................... 249
13
APPENDIX E – QUESTION BANK FLOW ........................................................ 250
14
APPENDIX F – EXAMINATION CREATION FLOW ...................................... 251
15
APPENDIX G – EXAMINATION FLOW ........................................................... 252
Page 7 of 252
LIST OF FIGURES
FIGURE 1 – FOUR STAGES IN THE EXAMINATION SYSTEM ................................................ 21
FIGURE 2 – CLASSIC EXAMINATION SYSTEM ................................................................... 23
FIGURE 3 – SEMI-COMPUTERIZED EXAMINATIONS MARKS SYSTEM ................................. 23
FIGURE 4 – EXAMMANAGER MAIN SCREEN ..................................................................... 29
FIGURE 5 – EXAMMANAGER LOGIN SCREEN .................................................................... 30
FIGURE 6 – SCREEN SHOT OF ARCHITECTURE TUTOR ....................................................... 40
FIGURE 7 – SCREEN SHOT OF SAMPLE QUESTION ON STAGE 1 .......................................... 47
FIGURE 8 – SCREEN SHOT OF SAMPLE QUESTION ON STAGE 2 .......................................... 48
FIGURE 9 – SCREEN SHOT OF SAMPLE QUESTION ON STAGE 3 .......................................... 49
FIGURE 10 – SCREEN SHOT OF SAMPLE QUESTION ON STAGE 4 ........................................ 50
FIGURE 11 – SCREEN SHOT OF QUESTIONING PROCESS ..................................................... 51
FIGURE 12 – J2EE ENVIRONMENT (FROM SUN MICRO-SYSTEM)....................................... 54
FIGURE 13 – THE MICROSOFT .NET PLATFORM............................................................... 57
FIGURE 14 – THE CONCEPTUAL JAVA ARCHITECTURE ..................................................... 59
FIGURE 15 – THE CONCEPTUAL .NET ARCHITECTURE..................................................... 59
FIGURE 16 – INCREMENTAL DEVELOPMENT MODEL ........................................................ 88
FIGURE 17 – ADMINISTRATOR MODULE USE CASE DIAGRAM .......................................... 93
FIGURE 18 – LECTURER MODULE USE CASE DIAGRAM ................................................... 96
FIGURE 19 – STUDENT MODULE USE CASE DIAGRAM ..................................................... 99
FIGURE 20 – CONCEPTUAL GRAPH ................................................................................ 102
FIGURE 21 – EXAMINATION MODULE USE CASE DIAGRAM............................................ 112
FIGURE 22 – INTELLIGENT QUESTIONING SYSTEM CONCEPT .......................................... 114
FIGURE 23 – QUESTIONING SYSTEM ARCHITECTURE ..................................................... 114
FIGURE 24 – STRUTS FRAMEWORK ARCHITECTURE ....................................................... 128
FIGURE 25 – STRUTS SEQUENCE DIAGRAM ................................................................... 129
FIGURE 26 – MVC DESIGN PATTERN ............................................................................. 131
FIGURE 27 – MODEL 1 DESIGN PATTERN (FROM SUN MICRO-SYSTEM)............................ 132
FIGURE 28 – MODEL 2 DESIGN PATTERN(FROM SUN MICRO-SYSTEM) ............................ 133
FIGURE 29 – IQBAES FRAMEWORK OVERVIEW ............................................................ 134
FIGURE 30 – IQBAES FRAMEWORK FLOW ................................................................... 135
FIGURE 31 – IQBAES FRAMEWORK ............................................................................. 136
FIGURE 32 – IQBAES SYSTEM ARCHITECTURE............................................................. 139
FIGURE 33 – IMPLEMENTATION OF IQBAES SYSTEM..................................................... 140
FIGURE 34 – OVERLAY BROWSER ................................................................................. 142
FIGURE 35 – HIERARCHY DIAGRAM OF BASEROLE ........................................................ 143
FIGURE 36 – USER ROLE MANAGEMENT CLASSES ......................................................... 144
FIGURE 37 – USER ROLE LISTING CLASSES ................................................................... 145
FIGURE 38 – COLLABORATION DIAGRAM OF EXAMINATION SYSTEM .............................. 146
FIGURE 39 – SEQUENCE DIAGRAM OF EXAMINATION SYSTEM ........................................ 147
FIGURE 40 – CLASS DIAGRAM OF EXAMINATION SYSTEM .............................................. 148
FIGURE 41 – PACKAGE DEPENDENCY OF IQBAES ........................................................ 149
FIGURE 42 - CROWS-FOOT NOTATION ........................................................................... 151
Page 8 of 252
FIGURE 43 – USER ROLE MANAGEMENT E-R DIAGRAM ................................................ 154
FIGURE 44 – EXAMINATION MANAGEMENT E-R DIAGRAM ............................................ 155
FIGURE 45 – QUESTION BANK MANAGEMENT E-R DIAGRAM ........................................ 156
FIGURE 46 – QUESTION SYSTEM E-R DIAGRAM ............................................................ 157
FIGURE 47 – ICM COMPUTER LABORATORY LAYOUT ................................................... 180
FIGURE 48 – TOP-DOWN DEVELOPMENT STRATEGY ...................................................... 181
FIGURE 49 – ERROR HANDLING IF IQBAES .................................................................. 193
FIGURE 50 – TESTING PROCESS..................................................................................... 197
FIGURE 51 – INTEGRATION THREAD TESTING ................................................................ 200
FIGURE 52 – COMPARISON OF IQBAES AND TRADITIONAL EXAMINATION .................... 222
FIGURE 53 – IQBAES LOGIN PAGE .............................................................................. 236
FIGURE 54 – SYSTEM ADMINISTRATOR MAIN PAGE ...................................................... 236
FIGURE 55 – USER ROLE LISTING PAGE ........................................................................ 237
FIGURE 56 – USER ROLE MAINTENANCE PAGE.............................................................. 237
FIGURE 57 – USER PROFILE LISTING PAGE .................................................................... 238
FIGURE 58 – GENERAL MAINTENANCE PAGE ................................................................ 238
FIGURE 59 – CHAPTER MAINTENANCE PAGE ................................................................. 239
FIGURE 60 – EXAMINATION LISTING PAGE .................................................................... 239
FIGURE 61 – EXAMINATION MAINTENANCE PAGE ......................................................... 240
FIGURE 62 – QUESTION BANK LISTING BY CHAPTER PAGE............................................ 240
FIGURE 63 – LIST OF EXAMINATION QUESTIONS IN QUESTION BANK ............................. 241
FIGURE 64 – EXAMINATION QUESTION DETAIL PAGE .................................................... 241
FIGURE 65 – EXAMINATION QUESTION UPDATE PAGE ................................................... 242
FIGURE 66 – STUDENT COURSE ENROLMENT PAGE ....................................................... 242
FIGURE 67 – STUDENT ACTION BULLETIN PAGE ............................................................ 243
FIGURE 68 – EXAMINATION MAIN PAGE ....................................................................... 243
FIGURE 69 – EXAMINATION PAGE ................................................................................. 244
FIGURE 70 – STUDENT EXAM SUMMARY PAGE.............................................................. 244
FIGURE 71 – STUDENT EXAM SUMMARY BAR CHART.................................................... 245
FIGURE 72 – STUDENT GRADE BOOK PAGE ................................................................... 245
FIGURE 73 – STUDENT DETAIL GRADE BOOK PAGE....................................................... 246
FIGURE 74 – STUDENT’S EXAMINATION HISTORY PAGE ................................................ 246
FIGURE 75 – STUDENT’S EXAM QUESTION HISTORY LISTING PAGE ............................... 247
FIGURE 76 – QUESTION ANALYSIS REPORT PAGE .......................................................... 247
FIGURE 77 – STUDENT’S EXAM QUESTION HISTORY DETAIL PAGE ................................ 248
FIGURE 78 – EXAMINATION SUMMARY REPORT PAGE ................................................... 248
Page 9 of 252
LIST OF TABLES
TABLE 1 – ADMINISTRATOR MODULE ACTOR DESCRIPTION ............................................ 94
TABLE 2 – ADMINISTRATOR MODULE USE CASE DESCRIPTION ........................................ 94
TABLE 3 – LECTURER MODULE ACTOR DESCRIPTION ...................................................... 96
TABLE 4 – LECTURER MODULE USE CASE DESCRIPTION ................................................. 97
TABLE 5 – STUDENT MODULE ACTOR DESCRIPTION........................................................ 99
TABLE 6 – STUDENT MODULE USE CASE DESCRIPTION ................................................... 99
TABLE 7 – EXAMINATION MODULE USE CASE DESCRIPTION ......................................... 112
TABLE 8 – CHAPTER ..................................................................................................... 158
TABLE 9 – CLASSSCHEDULE .......................................................................................... 158
TABLE 10 – COUNTRY................................................................................................... 159
TABLE 11 – COURSE ..................................................................................................... 159
TABLE 12 – COURSEENROLMENT................................................................................... 159
TABLE 13 – COURSETYPE .............................................................................................. 160
TABLE 14 – DEPARTMENT ............................................................................................. 160
TABLE 15 – EXAM ........................................................................................................ 160
TABLE 16 – EXAMMANAGER ......................................................................................... 161
TABLE 17 – EXAMSUMMARY......................................................................................... 161
TABLE 18 – FACULTY ................................................................................................... 162
TABLE 19 – GENDER ..................................................................................................... 162
TABLE 20 – GRADEDETAIL ............................................................................................ 162
TABLE 21 – GRADEMASTER........................................................................................... 163
TABLE 22 – INTAKE ...................................................................................................... 163
TABLE 23 – LECTURER.................................................................................................. 163
TABLE 24 – LEVELOFDIFFICULTY .................................................................................. 164
TABLE 25 – MAJORDETAIL ............................................................................................ 164
TABLE 26 – MAJORMASTER ........................................................................................... 165
TABLE 27 – MARITALSTATUS ........................................................................................ 165
TABLE 28 – NATIONALITY............................................................................................. 165
TABLE 29 – PLACEOFBIRTH ........................................................................................... 166
TABLE 30 – PROGRAM .................................................................................................. 166
TABLE 31 – PROGRAMTYPE ........................................................................................... 166
TABLE 32 – QUESTIONBANK ......................................................................................... 167
TABLE 33 – RACE ......................................................................................................... 168
TABLE 34 – RELIGION ................................................................................................... 168
TABLE 35 – RESOCCUPANCY ......................................................................................... 168
TABLE 36 – RESOURCE ................................................................................................. 169
TABLE 37 – RESOURCETYPE .......................................................................................... 169
TABLE 38 – SALUTATION .............................................................................................. 169
TABLE 39 – SEMESTER .................................................................................................. 170
TABLE 40 – SEMESTERDATE .......................................................................................... 170
TABLE 41 – STATE ........................................................................................................ 170
TABLE 42 – STUDENT ................................................................................................... 171
Page 10 of 252
TABLE 43 – STUDENTCOURSE ....................................................................................... 171
TABLE 44 – STUDENTCOURSEHISTORY .......................................................................... 171
TABLE 45 – STUDENTDETAIL ........................................................................................ 172
TABLE 46 – STUDENTPROGRAM .................................................................................... 173
TABLE 47 – STUDENTPROGRAMHISTORY ....................................................................... 173
TABLE 48 – STUDENTSEMESTER .................................................................................... 173
TABLE 49 – T_GRP_REG................................................................................................ 174
TABLE 50 – T_PROPERTY_HOLDER ................................................................................ 174
TABLE 51 – T_ROLE_REG.............................................................................................. 174
TABLE 52 – T_USER ...................................................................................................... 174
TABLE 53 – T_USER_GROUP.......................................................................................... 175
TABLE 54 – T_USER_GROUP_CHILD .............................................................................. 175
TABLE 55 – TOWN ........................................................................................................ 175
TABLE 56 – SOFTWARE TECHNOLOGY LISTING ............................................................. 178
TABLE 57 – RESULTS OF TALLYING THE QUESTIONNAIRE RESPONSES............................. 201
TABLE 58 – JOB TITLES ................................................................................................ 204
TABLE 59 – GENDER .................................................................................................... 204
TABLE 60 – AGE GROUPS OF RESPONDENTS .................................................................. 205
TABLE 61 – SUMMARY OF SECTION B, QUESTIONS 1 –3 ................................................. 205
TABLE 62 – SUMMARY OF SECTION B, QUESTIONS 4-6................................................... 206
TABLE 63 – SUMMARY OF SECTION B, QUESTIONS 7-17................................................. 206
TABLE 64 – SECTION C, USER INTERFACE COLOUR SCHEME.......................................... 207
TABLE 65 – SECTION C, USER INTERFACE LAYOUT ....................................................... 208
TABLE 66 – SECTION C, USER INTERFACE BUTTONS...................................................... 209
TABLE 67 – SECTION C, USER INTERFACE MENUS ......................................................... 210
TABLE 68 – SECTION D, QUESTION 1 ............................................................................ 210
TABLE 69 – SECTION D, QUESTION 2 ............................................................................ 211
TABLE 70 – SECTION D, QUESTION3 ............................................................................. 211
TABLE 71 – ENJOYABILITY OF IQBAES EXAM PROCESS ............................................... 214
TABLE 72 – PERCEIVED LEARNING IN IQBAES EXAM................................................... 215
TABLE 73 – PERCEIVED FAIRNESS IN GRADING IN IQBAES EXAM ................................ 215
TABLE 74 – OVERALL SATISFACTION WITH THE IQBAES EXAM PROCESS ..................... 216
TABLE 75 – OVERALL RECOMMENDATION OF USING THE IQBAES EXAM PROCESS ....... 216
TABLE 76 – COMPARISON BETWEEN TRADITIONAL EXAM AND IQBAES EXAM ............. 218
TABLE 77 – RELIABILITIES’ SUMMARY ......................................................................... 220
Page 11 of 252
Abbreviations
CAT
Computer Adaptive Testing
DR
Detailed Requirement
EIS
Enterprise Information Systems
EJB
Enterprise Java Bean
IQBAES
Intelligent Question Bank And Examination System
J2EE
Java 2 Enterprise Edition
JDBC
Java Database Connectivity
JDK
Java Development Kit
JSP
Java Server Page
JVM
Java Virtual Machine
MVC
Model View Controller
UM
University Malaya
Page 12 of 252
1
INTRODUCTION
1.1
Overview of the System
Nowadays, Internet-based education is supposed to greatly grow in number and in
quality. We expect many kinds of merits of IT-based education. It enables us to let
learners more eager to study the subject, to easily share the world-wide instructive
resources that have been created by other educational staff in the world, to give students
distance learning and conduct online examination at anywhere in the world. Online
examinations are a cost-effective and popular means of assessing student knowledge.
Bicanich, Slivinski and Hardwicke (1997) note that from a study of 400 vocational
learners, 75% preferred online testing to paper-based assessment. However, it is not so
easy to make a fair online evaluation of how well the students have understood the
contents. There are several disturbances for realizing fair grading such as mere
duplication of homework answers between the students, illegally pretending to be other
persons to answer the exam or something like those. Web-based exam presented in the
following sections is an example as a solution to this issue. We have developed an online
examination system based on a Browser/Server framework, which carries out the
examination and auto-grading for objective questions.
Online Question Bank and Examination System is a relatively new and rapidly expanding
system. The main idea of this system is to provide a system that will enable lecturer to
author and store a bank of examination questions. The system will then assemble the
questions to become an examination paper. Student can then access the system and take
part in the exam. Upon examination complete, the system will be able to do a grading
base submitted exam paper.
Page 13 of 252
1.2
Objective
This thesis undertakes a comprehensive study of the web-based examination system and
question bank. This research will focus on developing a web-based applications that can
assists in authoring and storing examination question items, assembling questions into
exam and as a centralized on-line system for mass education evaluation and auto-grading.
The objectives of the thesis can be summarized as follows:
To define a framework for web-based application development and develop a
question bank and examination system on top of the framework.
To develop a system that will define questions’ level of difficulty based on
functional concept graph (Conceptual Graph Structure).
To develop a system that serve as question bank for storing and creation of
examination questions dynamically.
To develop a system which will provide fair assessment method for online
examination system.
Page 14 of 252
1.3
Project Scope
In conjunction with the objectives of the thesis, the scope of the thesis is defined in order
to provide a basic guideline that enables the research to be conducted within a certain
range and depth. The following statements summarize the scope of the thesis in
accordance with the stated objectives:
The study and survey current manual examination and question bank.
The study and survey existing online examination and question bank.
The analysis of the flow involved in examination, grading algorithm and question
bank items creation.
The study and survey of all the components related to web-based examination
system.
The study and explore some of the possible factors that are directly and indirectly
influencing the accuracy of grading system and investigate the possible solutions
to overcome the issue.
To build a framework that is able to support web-based application and allow the
question bank and examination system builds on top of this framework.
To build Intelligent Question Bank and Examination System on top of the
framework.
The study of open source technology and utilize the technology in system
development.
This project will not include developing the student enrolment module, student
registration module, financial module and time tabling module.
Page 15 of 252
1.4
Problem Statement
Web-based education is supposed to greatly grow in number and in quality. We expect
many kinds of merits of web-based education. It enables us to let learners more eager to
study the subject, to easily share the world-wide instructive resources that have been
created by other educational staff in the world, to give students distance learning at
anywhere in the world, and many other things (Toshihiro, 2000).
Web-based examination system, which is part of the web-based education, is an effective
solution for mass education evaluation. However, there are some difficulties in this kind
of evaluation. The main difficulty is the use of appropriate assessment techniques to
support student learning and to record their achievement. Most of the present systems
were designed to grade students on how well they have done on their examination only
after they have answered all the questions in the exam that was assigned to them. The
only algorithm that used to evaluate student performance is based on how well they have
answered the exam and no of questions they have answered correctly. These systems
were designed with the concept of traditional paper based examination in mind. There is
a need to use a range of different assessment methods, in order to prevent assessment
being biased against students that have particular problems with one particular method.
Hence, a proposed system that can make fair evaluation of how each student understood
the content of the lecture play a paramount important role.
Another drawback of present systems is that there is no flexibility and there are very
limited options for the examination questions. Most of the systems were designed to
deliver and mark multiple-choice questions. Multiple-choice questions have many
disadvantages. Not least of which is different students will interpret the questions
differently. Hence, by using multiples choice question to evaluate students’
understanding, these systems will not precise enough to represent the knowledge of
individual users, and to select problem to extend the user’s current level of
understanding.
Page 16 of 252
On top of that, the definition of the level of difficulty for examination question often
creates an argument. We do not have a clear mechanism to define the level of difficulty
for each question. Currently, the level of difficulty for a question is solely defines by
setter of the questions. Hence, there is a need to come out with a system that can based on
question difficulty assessment algorithm to determine the level of difficulty for each
question.
1.5
System Limitation
Currently, this system is an independent system which independent from university
central database. Hence, some information likes administration, admission, course
management, enrolment, finance, resource management will not be integrated into this
system. However, this system should be scale enough to handle the possibility of
integration with any other academic module in university.
1.6
Expected Outcome
This system is designed for actual implementation of online examination and question
bank in university and schools. The system should support concurrent access by a pool of
lecturers as well as students. The useful statistical information from this system will be
the examination results, which can be used in assessment and projections of student
performance.
1.7
Significance of System
This is a system with real benefits to be gained from the development of the whole
system. In effect, it is an extension of the efforts done in university over the past few
years in the computerization of examination results and monitoring student performance.
The significance of the project can be realized in:
Page 17 of 252
Introduction of newer and better technologies.
The development of this system will introduce newer technologies such as J2EE
framework with MVC design pattern, hibernate technology etc. These
technologies will improve the scalability of the system.
A more scalable and user-friendly system.
Newer technologies promise to deliver presentation of results in better userinterfaces, including Web Page design, and possibility even scalable to
presentation on mobile devices. The results are user-friendlier, as they use
controls that is more familiar to the current generation of younger users who are
net-savvy.
Opens up new avenues in examination processing.
The design of this new system could result in developing newer ways of
administering and maintaining the examination system. This may lead to new
possibilities that are yet not thought of by anyone. Certainly, using the Web to
process results is a step in the new direction.
Techniques developed could be applied in other systems.
Developing this system will lead to a pattern of development that can be applied
in other and the other associated new technologies. The techniques can be applied
beyond the boundaries of the online examination system. The same techniques
could be used in various other industries, including commercial usage.
Page 18 of 252
1.8
Theses Organization
This report consists of 8 chapters and its organization is outlined as below:
Chapter 1: Introduction
This chapter gives an Overview of the system, system motivation, system
objectives, system scope and the project schedule.
Chapter 2: Literature Review
This chapter is the literature review of the thesis. In this chapter, reviews are
conducted on all the necessary areas that are relevant to the thesis. It provides
study on existing manual and web-based question bank and examination system.
The study includes all the development paths leading to the core technologies
used in the project. There is also a review of the development tools that were
considered for use in this system.
Chapter 3: Methodology
This chapter outlines the methodology used in arriving at this system, the
different ways and techniques used to develop the whole system.
Chapter 4: System Analysis
This chapter lays out the details of system requirements, including functional and
non-functional requirements, hardware and software requirements.
Chapter 5: System Design
This chapter describes in detail the system design, database design and user
interface design.
Page 19 of 252
Chapter 6: System Implementation And Testing
This chapter focuses on the development environment and strategy. On top of
that, it lays out the testing process, and the various testing techniques.
Chapter 7: System Evaluation And Conclusion
This chapter discuss the procedures used to obtain evaluation results regarding the
proposed IQBAES system in term of effectiveness and efficiency.
Chapter 8: Conclusion And Future Work
This chapter discuss problems encountered, system strength, system constraints,
future enhancements, and knowledge and experience gained.
Page 20 of 252
2
LITERATURE REVIEW
This chapter covers the study on existing systems available in the market. The purpose of
this study is to obtain all the features that are necessary to be included in the new system.
The study seeks to discover how the old systems perform their tasks, their strengths and
weaknesses. This chapter also reviews the latest open source technologies that have
arrived recently in the field of Information Technology. It seeks to discover the concepts
of the new technologies, and how these concepts came about, built upon earlier
pioneering technology. Besides, it covers tools and methods that will be useful for the
project development.
2.1
Analysis Studies
2.1.1
Overview of current Examinations Systems
An examination system in Malaysia consists of four main stages. Each of these
components represents a challenge in organization and implementation.
REGISTRATION
EXAMINATION
PROCESS
MARKS
REPORTING
• List of Students
• Set Questions
• Prepare
• Recording
•
•
•
•
in each class
• Subject
combinations
(packages)
Marking
Scheme
• Execute
Examination
• Mark Test
of Test
Marks
• Process
Results
Mark sheets
Result Slips
Analysis
Awards
Figure 1 – Four stages in the Examination System
The first stage in an examination system is the registration of students for an
Page 21 of 252
examination. In an education institution system, the registration involves obtaining
relevant particulars of each student, and entering the data in a form of Register. Some
institutions are still using a large book as a Register while others have implemented some
form of computerized data entry system. Most rural education institution is still using the
manual system, as they do not have the computer skills needed to implement a
computerized system. Even in most of the large town schools, they are using Microsoft
Excel spreadsheets to handle their examinations processing.
The second stage involves organizing the Examination Process. This includes Setting the
Questions, Preparing the Marking Scheme, Executing the examination (students sitting
for the examination), Marking the examination scripts, Issuing the examination results.
Each of these steps can be subjected to varying degrees of computerization, including
online tests where the students enter their answers in a computer.
The third stage is the recording of marks in marks sheets, processing the results,
including calculating grades, averages and class positioning.
The final stage of the Examination System is the presentation of the results. This can take
the form of displaying the results on screen, printing out the results as mark sheets,
generating result slips, analyzing the results for overall performance. It also includes
selection of students for various incentives, such as prize giving.
2.1.2
Current Process Flow (Manual) or Existing System
The current manual system of school examination systems is that marks are entered on
paper forms that are distributed to each teacher in a particular class. Some teachers would
transfer these marks into a large master mark sheet. All the master mark sheets of each
class are then bound in one huge master examination book. The process flow looks like
this.
Page 22 of 252
Mark sheets
for each
subject
All marks
for each
class
Transfer
Marks
Bind
Mark
Sheets
All marks
for all
classes
Figure 2 – Classic Examination System
Some teachers would enter marks in individual electronic spreadsheets to aid in the
process. Others would use database programs such as dBase IV and Microsoft Excel to
enter the marks in their home computers. As such, they use different file formats and
different file structures, using different types of programs. This makes it extremely
difficult or impossible to combine all the data in the various files to form a master
examination marks database.
Enter Marks into
Excel File or
Access Database
Process
Marks
Print
Marks
Sheet
Bind
Mark
sheets
Figure 3 – Semi-Computerized Examinations Marks System
Page 23 of 252
2.1.3
Case Study 1: UTS Online Examination System
Business, Law and Ethics provides the foundation for all law subjects in the Bachelor of
Business. It tries to achieve an appropriate blend of law and ethics for the 80% of
business students who will need to understand the underlying legal issues of being in
business in Australia (Michael Adam, 2001). For the 1,300 students who study the
subject each year this may be the only law subject they study and as a result their only
chance to receive information on legal compliance and professional responsibility.
The ethics component of the subject allows a broader look at contexts of social
responsibility than a straight legal subject. This lends itself to a case study approach and
the tutorials are based around case studies that identify business problems, explain legal
issues and demonstrate how students can support it with evidence. The evidence for these
legal issues is case law and legislation which is addressed in a two hour lecture each
week. The lecture presents a skeleton of the legal argument around which the students are
expected to apply their knowledge and skills in legal problem solving. Each problem has
a set structure that the students need to know.
The subject has a mid-semester examination to test that the students have a sufficient
understanding of the case law to operate in the Australian regulatory environment. The
mid-semester examination is worth 20% of the total assessment and deals with the
material taught in the first 6 lectures. The examination takes place on UTS Online which
is also used for subject announcements, any online discussion about the subject and the
distribution of resource materials. Prior to the examination practice questions are made
available on UTS Online for the students to become familiar with the assessment tool and
the format of the questions.
Each student who sits the examination undertakes a different set of multiple-choice
questions. The exam takes the questions from pools that have been re-written to change
Page 24 of 252
them into unique questions. The four of five topics covered in the exam each have their
own pool that generates a unique combination of questions for every student. The subject
does not have an extensive database of questions, just enough so that each student gets a
unique exam. The students do not receive any feedback other than their mark but they are
able to access their results immediately through UTS Online.
The students can do the examination at any time between 9.00 am on the Monday until
6.00 pm Friday on the week of the exam. Students have 25 minutes to complete all 40
questions with each question worth half a mark. There is no negative marking. A timer on
the screen helps the students monitor their time. They are warned when they have only
one minute to go. The students then need to submit their answers within in this final
minute.
Students are given two attempts at the mid-semester examination. There are two
examinations scheduled over a two-week period and students are allowed to have a
second attempt in the following week. This allays any fears that there is a drop out or
other technological problem. The best result of the students’ two attempts is used for the
final assessment.
Page 25 of 252
2.1.4
Case Study 2: MIND Online Evaluation System (OES)
MothersonSumi Infotech & Designs Ltd (MIND) has developed online Evaluation
System as a product for online examination and opinion polls, with key features like
question bank, time control, security etc. The needs of OES was raised due to the fact that
conducting exams, checking them and compilation of results take up lot of time in any
organization; also different types of exams have to be designed for different purposes.
Recording of exam results and controlling of examination procedure is also a time
consuming job. Organizations also conduct opinion polls from time and time for various
purposes and conducting these polls and then analyzing the results is very tedious job and
need lot of manpower and time. Thus a need exists which can make these tasks easy and
manageable with least amount of manpower and time.
MIND came out with the solution to design and build an Online Examination System
(OES) in order to provide a cost effective solution to organizations for conducting exams
and opinion polls. Its key features are:
Question Bank
Questions with varying complexity can be included in different exams from a
question bank and assigned to user as per the level.
User defined exams and polls.
Questions from various topics can be included
Control over time
Does not allow user to give exam after the defined time limit.
Stopwatch is displayed so that user can manage the time during the examination.
Page 26 of 252
Security
Robust security system takes care that no unauthorized user can have access.
User can only see his own result but an Administrator can see the result of all
candidates.
Exam & Grading
Exam questions were compiled based on pool of questions from question bank.
Questions were from varying complexity.
Grading was done when exam completed or student has answered all questions.
Other features
Report Cards are generated so that user can immediately view the result.
Results of opinion poll can be analyzed.
User having options to move back and forth while taking the exam.
MIND makes use of the following technical environment to build the OES:
Developed using Java, jsp and servlets
Uses SQL Server as database
Browser based client
The key benefits of OES are:
Saving of resources both manpower and time
Better organization and control
Better security options.
It can be deployed on web and used by organizations conducting online courses.
Page 27 of 252
OES has quite comprehensive features as an online examination system. It consists of a
question bank, which keeps questions with varying complexity from various topics.
However, users or lecturers who need to create an exam are required to manually compile
the questions based on pool of questions from question bank. Grading was done when
exam completed or student has answered all questions. The grading was solely based on
traditional marking strategy. Grading will not based on level of difficulty and student will
be graded based on how well they have performed in the exam or how many questions
they have answered correctly. Report Cards are generated so that user can immediately
view the result.
2.1.5
Case Study 3: ExamManager
ExamManager is a web-based exam assessment system. Exam Manager enables students
to review old and new exams setup by their lecturers, take a graded quiz to test
themselves, setup their own review exams and quizzes from a database of questions in
the subject category of their choice and review their own performance and scores.
On top of that, Exam Manager™ allows lecturer to create multiple-choice questions. User
can add pictures, case studies, and explanations to the questions. Faculty users can either
create their own questions or use the questions that already exist in the question bank.
Faculty users can determine how much time a student will have to complete the exam.
They also control how many times students are allowed to take an exam. Faculty users
have the option of hiding grades from students when they are done taking a quiz.
Once an exam is published, a student can use it as a study tool or an assessment tool.
Study tool: When reviewing an exam, the student will get immediate feedback on
whether the selected answer is correct. An explanation page can be linked to the question,
Page 28 of 252
providing students with study references or further information on the question. Students
can also generate random exams to quiz or review by selecting the category(ies),
difficulty level(s) and number of questions they want to be tested on. Scores of random
quizzes cannot be saved.
Assessment tool: When students take a timed exam, they are only allowed a specific
amount of time that has been set by the faculty. The students will not be able to see the
questions' explanations nor to get immediate feedback. When the exam is ready to be
graded, students will be given the option to go back to the exam to answer questions left
blank.
Once students have taken the exam, Exam Manager™ scores their tests immediately.
Faculty users can choose to hide the exam score from students. The following screenshots
shows a typical screen shot for ExamManager page.
Figure 4 – ExamManager main screen
Page 29 of 252
Figure 5 – ExamManager login screen
As compare to OES, ExamManager provide more flexibility to its users by providing
study tools and assessment tools to its students. Once students have taken the exam,
Exam Manager™ scores their tests immediately. Obviously, student will be graded only
when they have answered all the questions. The questions are not be properly categorized
into various level of difficulty. Student will be graded based on how well they have
performed in the exam or how many questions they have answered correctly.
Page 30 of 252
2.1.6
Case Study 4: Online Courses Examination System (OCES)
OCES is an Internet Based Testing (IBT), which provides extensibility of distance
Examination. This system enables registered students to attend online courses and
undergo training. The student can then measure their proficiency in such courses and
module themselves using the computer based tests. iSummation Technologies provides
such kind of solution in OCES. This application keeps information of registered courses
their modules as well as their progress report. It shows knowledge content it self in
module also. The users of this application can register and enrich their knowledge. They
can study the theories in depth and can assess themselves on the spot.
The application has a front-end that is acts as an interface to the users of the application
and a backend that aids in the management of the application. The features of both are
listed below.
Front-End
The Front End of the Application provides several functionalities to the users:
User can see the detail of the course without registering.
They can access Module information and theories after registering for a particular
Course.
Student will face multiple choice and textual questions.
They can view the progress report after going through in Examination but they
will see temporary report .The complete report will be showed after judgment of
textual answer.
Back-End
The Back End of the Application is used by administrator:
Administrator can add/delete/edit the courses.
Page 31 of 252
He can also change the launch status of Courses that will be affected in Front End.
Users, registered for a particular course can appear in that Examination and view
Reports also.
Administrator can update the visual Interface for every Course.
In different Courses there may be same Modules included.
He can add / edit / delete Modules
He can view report.
He can change the status of a User.
He has to check out the textual answer of users
Page 32 of 252
2.1.7
Case Study 5: Web-based Adaptive Testing (WAT)
Web-based Adaptive Testing is an online assessment system which has a module called
“Test Module” that can generates questions adaptively, based on the student’s ability and
also calculates the results. This system is able to asses the student’s knowledge based on
his/her abilities to answer the questions, given in the form of quizzes mainly multiplechoice and true or false.
The architecture of the system is based on simple client-server architecture. A Java
applet will be downloaded onto the client’s machine, where the questions will be given to
the students. Once the student answers the question, the applet sends the reply back to the
server to calculate the result and send the next relevant question. This is possible because
of Java’s powerful networking classes, JDBC capability and able to access any platforms.
The questions are selected from various topics set by the teacher/author, who is in charge
of the system. There are 3 difficulty levels and the teacher sets these difficulty levels,
based on their difficulty. Initially, the student is given a pre-test, which is nothing but
basic concepts about programming and computers. These questions itself will be in
random so as to eliminate cheating. The scores obtained from this pre-test will be used as
the starting estimated ability value. This pre-test is given to give equal opportunities to
students when they start the actual quiz session. The policy of adapting the question is
based on the logic of Computer Adaptive Testing (CAT), which is given below.
1. All the items that have not yet been administered are evaluated to determine
which will be the best one to administer next, given the currently estimated ability
level.
2. The “best” next item is administered and the student responds.
3. A new ability level is computed based on the responses of the student
4. Steps 1 to 3 are repeated until a stopping criterion is met.
Page 33 of 252
Questions would be given randomly to eliminate cheating. The new ability level is
computed based on the following equations. This has been used in MANIC system during
the quiz sessions to compute the new estimated ability level.
NewValue = OldValue + OldValue * (level of Question / 10)
NewValue = OldValue + OldValue * (5 - level of Question / 10)
The first equation is for correctly answered questions and the second one is for wrongly
answered questions. This is because a student should not be punished too much if he
could not answer a hard question. When the student starts the quiz, the OldValue will
have the value scored by the student during pre-test. After that, for every question, this
value will be updated, based on student’s response. The quiz grade is in the boundary 0 to
1.
Termination criteria are defined based on certain parameter. The parameters for ending
the test would be either half of the questions answered by the student are correct, in this
case, he/she does not have to continue the test since the student would have reached the
threshold value or the student has answered the maximum questions allowed by the
system.
Finally, at the end of quiz, the results will be displayed on the screen. It will contain the
student name, id, the total number of questions he/she has taken, number of right answers
and wrong answers, whether the student has to revise the topic or not will be shown on
the screen. These results will be stored in a user profile manager, which keeps track of all
users, their ids, question ids, test ids etc.
Page 34 of 252
2.1.8
Case Study 6: SIETTE
SIETTE is a web-based adaptive testing system which was developed in year 1998. It
implements computerized adaptive tests (CAT). These tests are tailor-made, theory-based
tests, where questions shown to students, finalization of the test, and student knowledge
estimation are accomplished adaptively. To construct these tests, SIETTE has an
authoring environment comprising a suite of tools that helps teachers/instructors create
questions and tests properly, and analyze students’ performance after taking a test.
SIETTE works as a student knowledge diagnosis tool. It is a multilingual system,
currently translated to Spanish and English. The components of the SIETTE system are
Question Knowledge Base which is a database of questions related to a test. All
these questions are calibrated with some parameters. All the contents are
structured in subjects. Each subject comprises a set of topics. Each topic can be
decomposed
into
a set
of subtopics
following
aggregation relations.
Questions/items are associated to topics in such a way that if a question is related
to a topic, it means it can be used to assess the topic and any parent of that topic.
Tests are defined based on the topics they assess, the rules for selecting the items
and some finalization criterions.
Test Edition Module, which is the tool used by teachers to define the tests and the
structure of the subject domain: topics, questions, relationships between them, and
relative weights of topics in the test. This information is stored in the question
knowledge base.
Student Model, which is created and updated by SIETTE for each student that
takes the test. Basically, the student model consists of a vector of K probabilities
(p0, p1, ..., pK-1), where pi represents the probability that the student has reached
certain knowledge level i about the domain, where 0 is the lowest level and K-1 is
the expert level. In addition, the student model stores information about which
questions have been asked by the system.
Page 35 of 252
Test Generator, is responsible for selecting the questions that will be posed to
each student. The generation process will be guided by the student model and the
test specifications.
Associated to each question, SIETTE have the following parameters:
•
General question data, which are the title and the number of possible answers.
•
Question stem, should be as simple as possible, and never confusing or
ambiguous.
•
ICC parameters, it will be considered that the student's knowledge can be
measured in terms of a discrete random variable q that takes integer values in [0,
K-1]. This means that an ICC (Item Characteristic Curve) is a set {pi} of K values,
that give the probability of a correct answer given that the student's knowledge is
i, i.e., pi = P(Ui=1/ q=i) for i=0,...,K-1. The discrete distribution is derived from
an underlying continuous three-parameter logistic distribution, so a, b, and c
values are also needed. The guessing factor c is determined automatically by
SIETTE according to the number n of different answers that are shown to the
student (c = 1/n). On the other hand, the teacher must define the discrimination
index a and the difficulty degree b. The former must be a number between 0.5 and
1.5. Concerning the latter, since too easy or too difficult questions are hardly
useful, only natural numbers between 0 and K-1 are allowed. (Ricardo Conejo,
2000)
•
Extreme values of the ICC are not very significant, so only the "central" fragment
has been discretized. Namely, and following some empirical adjustments, the
interval [(K-1)/2, (K+1)/2] has been selected for discretization. The interval has
been divided in K-1 subintervals of equal length and the separation points give the
values of the continuous variable q that are in correspondence with the discrete
variable; that is to say, pi = ICC(i - (K-1)/2) for i= 0, 1, ..., K-1. (Ricardo Conejo,
2000)
Page 36 of 252
In SIETTE, when a student takes a test, he will be administered question by question in
terms of his knowledge level current estimation. The question selected to be administered
is the one which will make the student’s knowledge estimation more accurate. After the
student answers the question, his knowledge level is estimated taking the response into
account. This process is carried out until his knowledge estimation is accurate enough.
The student model will be created and updated by the system for each student that takes
the test. This information will be used to provide the test generator module with adaptive
capabilities. To present an example of student model, SIETTE will assume that the
number of knowledge levels fixed by the teacher is K=11. Then, the student's knowledge
level would vary from Level 0 (novice) to Level 10 (expert). Initially, and in the absence
of any other information, the probability is uniformly distributed among the 11 levels
and, as the student takes the test, they are updated. The system keeps track of different
types of data regarding this particular student:
•
Date that the test was taken, knowledge level reached, and confidence interval
associated.
•
Probability that the student has reached each knowledge level.
•
Topic distribution in the test posed.
•
Questions that have been selected and presented to the student.
Once the test is finished, the student model will be updated with all the information it
contains until the next session.
The test generator will use the algorithm which consists of three main procedures: (a)
question selection, (b) knowledge level estimation, and (c) termination criterion.
Instructor/teacher can choose between three different question selection procedures:
a. Bayesian procedure, which selects the question that minimizes the posterior standard
deviation
b. Difficulty-based procedure, which selects the question that gives the minimum
distance between the mean of the ICC and the mean of the current student's
knowledge distribution
c. Random procedure which the question is selected randomly.
Page 37 of 252
With the selected procedure, the system will extend with the following features:
•
Random question selection. If the selection criterion does not allow differentiating
between two questions, the question is selected randomly between the possible
alternatives.
•
Content balancing. To assure content balanced tests, SIETTE uses the weights
specified by the instructor for each topic. These weights determine the desired
percentage of questions about each topic. SIETTE compares the empirical
percentages of the questions that have already been posed with the desired
percentages, and selects the topic with the biggest difference as the target topic.
Then, SIETTE selects the best next question belonging to that topic using the ICC
associated to each question.
Once the best question has been chosen, the system poses it to the student. The system
computes the student's new proficiency level once he/she has answered the question. The
test can be terminated once it reaches the termination criteria define by the instructor, for
instance, the system has already posed all the questions in a test or it has posed at least
the minimum number of questions
In order to use this system, student must provide a username and a password to access the
tests. Although there are tests restricted to predefined sets of students, others can be
freely accessed by simply supplying some optional personal information (e.g. name,
surname, email, etc). Students can be organized in groups defined by teachers. When the
student has been authenticated, his personalized list of subjects is displayed. Three types
of user’s profiles are managed in SIETTE: teachers, learners and examinees. Teachers are
responsible of test creation. They can have a look at their tests before any student takes
them. Consequently, when a teacher accesses to the test generator tool, all the tests of his
subjects (or the subjects on which he has privileges) are available. Learners are students
that take tests for self-assessment. In this kind of tests, question correction is shown
immediately after the student answers. These tests are administered with question hints
Page 38 of 252
and feedbacks. Examinees are students that take tests for academic grading. No question
hints or feedbacks are provided.
2.1.9
Case Study 7: Architecture Tutor
The Architecture Tutor is an intelligent tutor system for computer architecture developed
at Azusa Pacific University. This system applies functional concept graph as an
assessment approach in the system. Specifically, its approach is for course subjects that
are based on well-formulated concept hierarchies and applicable for tutoring subject in
science and engineering. In the functional conceptual graph, a set of nodes are being
defined. These nodes are corresponding to each question in the system. Each node of the
graph is associated with a value. In the implementation, this system uses nodes in the
graph to represent questions in the system. Each node is corresponding to a question with
an associated value. Typically, if a node consists of a number of child nodes, this node
will have a higher value than its child node. If a student is able to solve a problem
involving more concepts (more nodes in the graph) about a subject, he or she should have
a reasonably good understanding of the subject. This does help in assessing the student’s
understanding of a certain subject. The screen shot for this system is shown as below:
Page 39 of 252
Figure 6 – Screen shot of Architecture Tutor
2.1.10 Relationship to existing work
There are a few web-based education systems that being reviewed in this section. The
IQBAES that I propose clearly fits into the family of these web-based education/testing
systems which were designed earlier. SIETTE is one of the systems which influence my
software design the most. It is an example of a Web-based adaptive testing system. The
kind of learning material it possesses is questions and the only thing it can do is to
generate an adaptive sequence of questions to assess student’s knowledge. SIETTE is
incomplete by its nature and has to be used as components in distributed Web-based
Adaptive and Intelligent Educational System (AIES).
Question weights are values assigned to each question measuring the difficulty level and
it is relative importance of the material being tested. In such a case, the higher the weight
of a question, the greater the difficulty. However in SIETTE or any other web-based
Page 40 of 252
examination/testing system, there is no algorithm in defining the difficulty of question.
Assessing the difficulty of a question is a subjective process and is usually done by the
instructor/teacher based on experience. Hence an accurate assessment of the difficulty of
exam questions is important and will help to better allocate credits/scores/marks to
exams. I will propose and incorporate a question difficulty assessment algorithm into
IQBAES.
On top of this, SIETTE as well as most of the web-base educational systems use a limited
set of assessment questions generated by the instructors or teachers. On top of providing
a question/answer interface for instructors/teachers to create and add questions into
question bank, my propose system will define an approach which serve as an automatic
question generator.
An important feature of SIETTE is adaptivity. Speaking about adaptivity, SIETTE
attempts to be different for different students by taking into account information
accumulated in the student models. SIETTE is able to be aware of student’s behaviour so
that it can take into account the level of knowledge and provide the student with the right
kind of question. SIETTE keeps track of many aspects of the student. For instance, how
much and what students learned, what learning styles are successful for students and what
seem to be less successful and so on. Student modelling does keeping track of all these
aspects of a student’s learning. Without a student model, it is impossible for such a
learning environment to adapt to the needs of individual students.
Student model is used to predict the current state of knowledge of the student. The
function of the student model is to capture a student’s understanding of the domain
knowledge. A student model records a student’s progress towards a complete solution
(Kinshuk, 1996). Student modelling mainly occurs at runtime when the student uses the
system. It is through the evidence provided by the student's inputs to the system that the
student model is created. Although there is no consensus as to what should be included in
Page 41 of 252
a student model, a comprehensive student model would include the student’s prior
relevant learning, the students’ progress, and other types of student-related information.
However, implementing such a model is often a difficult task. The main problem that the
student model has is (Ericco, 1996) the lack of clear or unambiguous semantics for the
(epistemic) concepts deal with. Hence, without a robust student model, the web-based
examination/educational system will not be considered as “Intelligent”. In order to make
the system more adaptively, an educational system should not fully rely on student
model. Thus, I would like to propose a question model (intelligent questioning system)
into my propose system, IQBAES. It will consist of an adaptive question management
system that uses a hierarchical knowledge map to direct the assessment process based on
the students’ degree of understanding of concepts.
2.1.11 IQBAES Approach
Based on the disadvantages and the limitations of existing systems discussed above, a
more efficient approach had to be used. The IQBAES approach, which will be discussed
here, is aimed at solving the problems presented by the systems stated above. The
IQBAES will consist of 3 core components namely
a. Question difficulty assessment algorithm
b. Automatic question generator
c. Intelligent questioning system
2.1.11.1 Question difficulty assessment algorithm
IQBAES is defining an approach to access questions difficulties and this approach is
making use of functional concept graph. A functional conceptual graph G also refers to
Directed Acyclic Graph (DAG) and it consists of a set of nodes V and a set of directed
edges E (Li and Sambasivam, 2003). The edges connect the nodes of V. Each node of the
DAG is associated with a level. Node may have a set of incoming edges that connect to
lower level nodes. A node without any incoming edge is a source node. A node is also
Page 42 of 252
associated with a value. The value of a node is computed from the value of the input node
connected by edge.
By using the DAG, IQBAES defines the degree of difficulty as D = w1N + w2P + w3M,
where N is the number of conditions given in the questions (that is, the number of
terminal nodes), P is the number of downward edges in the paths traversed during
question generation, and M is the number of upward edges traversed during question
generation. Three weight factors w1, w2 and w3 is used to balance between the path
length and the number of conditions. Typically, w1<w2<w3 because upward edges
traversed represent more difficult concept association and downward edges, and the total
number of edges, which corresponds to the number of problem solving steps involved,
carries more information about the effort needed in problem solving. This definition of
degree of difficulty serves only as a rough guidance during automatic question
generation. It is by no means a perfect measurement. However, it does help in assessing
the student’s understanding of a certain subject. If a student is able to solve a problem
involving most concepts and equations about a subject, he or she should have a
reasonably good understanding of the subject.
2.1.11.2 Automatic question generator
IQBAES will build an automatic question generator. The questions to be generated
typically are the types of direct evaluation of a result from given conditions. The result
can be compared against a value or a range.
The algorithm is presented as below:
An integer named credit is used to represent complexity. The larger is this number, the
more complex the question is. It uses a queue OPEN to store those nodes that are not yet
expanded. A node is expanded if its descendants are generated. It is assumed that each
node Ni stores an estimated maximum difficulty Di that is obtained by downward
expanding the concept graph rooted at this node to the maximum. In addition, we assume
that we have two basic types of nodes in a concept graph: the array nodes and the regular
Page 43 of 252
nodes. An array node may have several descendants of the same class and a result is
computed from the descendent values. A regular node has descendants of different
classes.
1. Define a queue: Queue OPEN = new QueueList();
2. Select a node Nr from the entire concept graph and mark it as “closed”.
3. If Dr < credit, then
Traverse upward;
credit = credit–w3;
Push the parent of Nr to OPEN: OPEN.enqueue(parent of Nr);
else
Randomly decide traverse up or down to node N;
Push the descendants of N to OPEN: OPEN.enqueue(descendants of N);
credit = credit–w2* num_descendants;
3. Dequeue a node N from OPEN and mark it as closed: OPEN.dequeue();
4. If D >= credit, then
Select a random value in the interval specified in the node for each node in
OPEN queue;
Finish question generation;
else
Randomly decide traverse up or down to node Nd;
Push the descendants of Nd to OPEN: OPEN.enqueue(descendants of Nd);
credit = credit-w2*num_descendants;
5. Go to step 3.
Remark: the credit value in fact denotes the desired question difficulty. The difficulty of
the automatically generated question may exceed the desired difficulty by a small
percentage
Page 44 of 252
2.1.11.3 Intelligent questioning system
The Intelligent Questioning System is comprised of three basic components: the User, the
Knowledge System and the Question System. The Knowledge System presents the user
with his or her current level in the system. The Questioning System then identifies an
appropriate set of questions within the level. A question is then randomly selected and
presented to the user. When the user completes exam, the Questioning System provides
an assessment measure to the Knowledge System. The Knowledge System then updates
the user’s status in the system.
To implement this system, several databases are required. The question database contains
the complete set of questions. The student system database encapsulates a model of the
student’s progress, maintaining information about which questions the student has
attempted and the assessment measure for each question. The knowledge system database
maintains the structure of knowledge flow.
The assessment system uses the weight of the question to provide the incremental score
contributed by the answer to this question. The “knowledge key” information about each
question is used by the adaptive questioning system, together with student input and the
current state of knowledge, to determine which question to pose next. After each question
is answered, the question management system updates the knowledge map.
Questions are grouped into a Question Set based on level of difficulty. The questioning
process involves: randomly selecting a question from the set, completing the question,
gathering assessment information, and providing a measure of the degree of
understanding back to the knowledge model for use in knowledge assessment. Besides
selecting and asking a question, the Question Set also provides a mechanism to quantify
degree of understanding. This is used to assist in assessing the student’s level of
competence in each topic.
Page 45 of 252
Example:
When the student logins into IQBAES and starts the examination process, a question will
be displayed to the student based on his/her current level/profile. If this is the first time
the student has attempted question on this chapter, then a random question will be
selected by the system and displayed to student. For each question, the system maintains
a set of attribute in the database. For instance, for each question in the question bank, the
question database contains text of the question, figures if any, difficulty level or question
weight and parameter that need to be defined.
The question generator will pick the question and assemble the html code for the question
together with the images (if any). This information is then passed to the web server using
JSP script. If the answer is correct, the student record is updated and the option for
another harder question is given. If the answer is incorrect, the student record is updated
and the option for another easier question is given. Figures below presents the example of
what will actually happen in the system when a student manages to answer the question
correctly or fail to answer a particular question.
Page 46 of 252
Stage 1:
The student’s profile stores the student’s understanding level and is used for constructing
the first question.
Figure 7 – Screen shot of Sample Question on Stage 1
Page 47 of 252
Stage 2:
When the student fails to answer the first question correctly, an easier question will be
displayed to student. In the above example, the system firstly tests the student’s
understanding on the attribute of software object. The student fails to answer the question
correctly and hence he/she was directed to an easier question as below. The system will
choose an easier question based on the level of difficulty value as defined for each
question. The question to be selected will be chosen based on a topic/chapter that the
student is currently undergone. This question was intended to test the student’s
understanding on the attribute of all real world objects have and hopefully with this
similar concept in mind, the student can answer the question posted earlier where
software object should also have the same attribute as the real world object.
Figure 8 – Screen shot of Sample Question on Stage 2
Page 48 of 252
Stage 3:
Upon successfully answering the previous question, another harder question will be
posted to student. The system will choose a harder question based on the level of
difficulty value as defined for each question. The question to be selected will be chosen
based on a topic/chapter that the student is currently undergone.
Figure 9 – Screen shot of Sample Question on Stage 3
Page 49 of 252
Stage 4:
When the student manages to the above question correctly, a harder question will be
directed to the student. To answer the question “what are the static variables and methods
of a class” below, student needs to have a correct understanding on what is a class.
Hence, student will need to answer the question on stage 3 correctly before the question
on stage 4 will be posted to the student.
Figure 10 – Screen shot of Sample Question on Stage 4
Page 50 of 252
Typically the process can be depicting as in figure below.
Figure 11 – Screen shot of questioning process
Page 51 of 252
2.2
Review on Latest Technologies
2.2.1
Client-Server Architecture
In the early history of distributed computing, huge mainframe computers did most of the
processing of data and functionality, handling multiple users. Dumb terminals were
connected to access the resources on the mainframe. As desktop computers became
cheaper and increased greatly in processing power, some of the processing was done on
these intelligent terminals, later referred to as clients. The mainframe became the
“Server”.
This led to the Client-Server model of computing, that involves a central server handling
the database functionality. The ‘fat-client’ handles the user interface, and some of the
business logic, requesting data access from the server.
However, there are problems with this architecture, especially when maintenance of the
client software involves replicating new versions over a widely distributed environment.
With the advent of the World-Wide Web, ‘thin clients’ came into place, where the only
software required is an Internet browser. The bulk of the processing is now distributed
into a multi-tier architecture at the server level.
2.2.2
Two-Tier Architecture
Two-tier architecture refers to client/server architecture. The user interface runs on the
client side and the database is stored on the server. The actual application logic can run
on either the client or the server. There are only the architecturally tiered data server and
client.
2.2.3
Three-Tier Architecture
Three-tier architecture is a special type of client/server architecture consisting of three
well-defined and separate processes, each running on a different platform.
Page 52 of 252
The three tiers consist of:
Client-tier: Client tier runs on the user’s computer and provides user interface.
Application-server-tier: Application server tier is the functional module that actually
process data. This middle tier does not explicitly present in 2-tier architecture. This tier
protects the data from direct access by the clients.
Data-server-tier: Data-server-tier is a database management system (DBMS) that stores
the data required by the middle tier.
2.2.4
J2EE technology
The idea of J2EE was originate from the combination of client-server architecture and
component technology. It addresses architectural requirements for a distributed
computing environment. J2EE architecture is based on 3 tier-models which are:
Clients on the front-end for presentation (browser)
Middle tier where applications and business functions reside (Web application
servers)
Data resources and transaction application on the back-end
The J2EE architecture defines a client tier, a middle tier (consisting of one or more sub
tiers), and a back-end tier(Dr. Max Chi, 2001). The client tier supports a variety of client
types, both outside and inside of corporate firewalls. The middle tier supports client
services through Web containers in the Web tier and supports business logic component
services through Enterprise JavaBeans (EJB) containers in the EJB tier. On the back end,
the enterprise information systems in the EIS tier are accessible by way of standard APIs.
Figure below illustrates the various components and services that make up a typical J2EE
environment:
Page 53 of 252
Figure 12 – J2EE Environment (from Sun Micro-system)
Central to the J2EE component-based development model is the notion of containers.
Containers are standardized runtime environments that provide specific services to
components. Components can expect these services to be available on any J2EE platform
from any vendor. For example, all J2EE Web containers provide runtime support for
responding to client requests, performing request-time processing (such as invoking JSP
pages or servlet behavior), and returning results to the client. In addition, they provide
APIs to support user session management. All EJB containers provide automated support
for transaction and life cycle management of EJB components, as well as bean lookup
and other services. Containers also provide standardized access to enterprise information
systems for example, providing access to relational data through the JDBC API.
In addition, containers provide a mechanism for selecting application behaviors at
assembly or deployment time. With deployment descriptors (XML files that specify
component and container behavior), components can be configured to a specific
Page 54 of 252
container's environment when deployed, rather than in component code. Features that can
be configured at deployment time include security checks, transaction control, and other
management responsibilities.
While the J2EE specification defines the component containers that a platform
implementation must support, it doesn't specify or restrict the containers' configurations.
Thus, both container types can run on a single platform, Web containers can live on one
platform and EJB containers on another or a J2EE platform can be made up of multiple
containers on multiple platforms.
With features designed to expedite the process of developing distributed applications, the
J2EE platform offers several benefits:
•
Simplified architecture and development
•
Freedom of choice in servers, tools, and components
•
Integration with existing information systems
•
Scalability to meet demand variations
•
Flexible security model
Page 55 of 252
2.2.5
J2EE Framework
Frameworks are reusable, “semi-complete'' applications that can be applied to produce
custom applications (Johnson, 1988). Frameworks are tested, proven software designs
and implementations that reduce the cost, accelerate development speed and improve the
quality of software (Objectwave, 2004).
A typical framework will provide developers with modular, reusable and extensible
software components. On top of that, modular frameworks reduce the time, effort and
investment required to understand and maintain existing software. It contributes to the
improvement in productivity, as well as enhancing the quality, performance, reliability
and interoperability of software. Extensibility is essential to ensure timely customization
of new application services and features. Beside that, framework can reduces the cost of
building and maintaining software.
A typical open source J2EE framework is a free framework created for building J2EE
application. For instance, Struts is a JSP/Servlet open source framework created within
the Jakarta project by the Apache Software Foundation for building J2EE applications. It
accelerates application development based on the Model-View-Controller (MVC) design
pattern. MVC is an abstract design pattern for software applications that was first
introduced on the SmallTalk platform. The goal of the MVC design pattern is to separate
the application object (model) from the way it is represented to the user (view) from the
way in which the user controls it (controller).
The model provides a representation of the data to the components comprising the view.
It also knows about all the operations that can be applied to transform the data. It knows
nothing about how it is being viewed by the users. The view provides presentation
services in the application, such as a data entry screen or a screen rendering a query
result. The controller is responsible for linking the view with the model. The controller
can be thought of as the controlling influence on the state of the model. All paths of
navigation in the application are channeled through the controller.
Page 56 of 252
Normally view is represented by jsp. The controller is implemented by an ActionServlet.
Users can extend the controller’s behavior by creating Action classes to trigger the
execution of a user request.
2.2.6
.NET Framework
The .NET platform consists of the following parts:
The .NET framework
Visual Studio.NET, which creates .NET solutions using VB.NET, Managed C++,
and C#
Figure 13 – The Microsoft .NET platform
The .NET Framework is a Microsoft technology that consists of five concepts:
The Common Language Runtime (CLR) – hosts all .NET code and provides core
services. It is a managed environment that executes all .NET programs and
functions as the execution engine. This is similar to the Java Virtual Machine
(VM). Code that runs within a CLR is referred to as ‘managed’ code.
Page 57 of 252
The Common Type System (CTS) and the Common Language Specification
(CLS) – CTS fully defines all possible data types supported by the runtime. CLS
is a subset of CTS that must be supported by all .NET languages.
The Base Class Libraries – a comprehensive, object-oriented collection of
reusable classes. These include ASP.NET, ADO.NET, web applications and Web
Services classes.
Microsoft Intermediate Language (MSIL) – all code written in .NET languages
compiles to a platform-neutral code called MSIL. It is a binary intermediate form
for a .NET program. This is similar to Java byte code.
Assemblies – the fundamental unit of deployment, version control, reuse,
activation and security.
2.2.7
Comparing J2EE and .NET Platform
.NET shines in its tool and language support. J2EE is a winner in industry maturity and
interoperability support (Chad Vawter and Roman June 2001). Both platforms are good
in legacy and standards support. J2EE offers only Java as a language of development, and
consists of many disparate technologies.
J2EE and .NET are both based on the concept of 3-tier architecture. The aim is that the
construction and delivery of the user interface is separate from the construction of the
business logic, which in turn is separate from the back-end data or infrastructure being
accessed.
Page 58 of 252
The conceptual Architectural comparison between the J2EE platform and .NET platform
can be divided into Presentation and Access, Business Logic, Connectivity and Runtime,
as shown in Figure 14 – The Conceptual Java Architecture and Figure 15 – The
Conceptual .NET Architecture.
Figure 14 – The Conceptual Java Architecture
Figure 15 – The Conceptual .NET Architecture
Page 59 of 252
2.2.8
Component Technology
Code reuse began with sharing common functions and subroutines. The problem was that
these codes were not portable. When the object-oriented programming model was
introduced, it brought about the concept of hiding the implementation, while exposing
only the header. However, portability was still a problem. Then component technology
arrived, which uses interface-based programming. COM, DCOM and JavaBeans worked
well in an Intranet environment. However, the problem lies in distributing components
across the Internet.
2.2.9
Application Server and Web Server
An application server is a component-based product that resides in the middle-tier of a
server centric architecture. It provides middleware services for security and state
maintenance, along with data access and persistence.
2.2.9.1
Internet Information Service (IIS)
This is a Microsoft-specific Web server and runs only on Windows platforms. It is an
enterprise-level Web Server that is included with Windows 2000. This is the server of
choice when selecting the .NET platform. In order to use IIS as a Web Server for
development, it is necessary to have Visual Studio Developer rights. Also, to debug
applications, it is necessary to have Debugger rights. It supports the Windows GUI and
provides integration with other Windows mechanisms, such as Active Directory, MS
SQL Server and Windows Security services. IIS also supports the benefits of COM+.
2.2.9.2
Microsoft Personal Web Server (PWS)
PWS is a scaled-down version of IIS for personal computers. It is ideal for educational
institutions, small businesses and individuals who only have access to Windows 98.
Page 60 of 252
2.2.9.3
Apache Web Server
The Apache Software Foundation maintains Apache Web Server. It is currently the most
popular Web server because it is stable, reliable, efficient and portable. It is an open
source product and runs on UNIX, Linux and Windows platforms. The source code for
Apache is freely available. This has spurred the development of Apache functions from
many volunteer programmers (and recently from IBM). Apache is modular in structure,
so users can pick and choose modules to fit their requirements. However, there is no GUI
available yet from Apache to manage this server.
2.2.9.4
Tomcat
This is an open source application server bundle together with apache web server
developed by the Jakarta Project. It is a servlet engine that serves as the official
Reference Implementation of the Java Servlet and Java Server Pages technologies.
Tomcat is developed in an open and participatory environment and released under the
Apache Software License.
2.2.9.5
Other application server and web server encountered in the literature
include
Sun Application Server 7
Oracle 9i Application Server
IBM Websphere Application Server
Weblogic
Silver Stream Market Maker
JRun
JBoss
Page 61 of 252
2.2.10 Operating System
The following Operating Systems were reviewed:
2.2.10.1 Microsoft Windows Family
This is a set of commercial operating systems offered by Microsoft Corporation, and the
latest products include Windows 2003 and Windows XP. Windows is a menu-driven
operating system that uses a graphical user interface (GUI) as its main method of
communication with the user. Its user interface is very user friendly. It is the most
popular operating system.
2.2.10.2 UNIX
UNIX has three major advantages:
It is portable from large systems to small systems
It has powerful utilities
It is device independent
The UNIX operating system is written using the C programming language. However it
has some distinct disadvantages:
There is no single standardized version of the software.
Its commands are so terse that it is not user-friendly to novices
2.2.10.3 Linux
This is a free, open source operating system that is gaining widespread acceptance in the
industry. Its commands are similar to the UNIX operating system. This operating system
is more scalable than the Windows operating system. It consists of a Linux kernel that is
totally different from UNIX. The Linux system includes a multitude of components,
borrowed from other development projects.
Page 62 of 252
2.2.11 Database Server
A "database engine" is the core process that a database management system uses to store
and maintain data. It serves two functions. The first is to store information, and the
second is to process requests for stored information. The following Database Servers
were reviewed:
2.2.11.1 MySQL
We will make use of this database server in IQBAES system. MySQL is a multi-user,
multithreaded RDBMS server that uses SQL to interact with and manipulate data. This is
an open source relational database product.
It can be downloaded for free at
www.mysql.com. It is a high performance and scalable DBMS. It has an in-memory
query results cache that contributes to its performance. Most agree, however, that it
works best when managing content and not executing transactions. Its important features
are:
•
Multithreaded capability enables the database to perform multiple tasks
concurrently.
•
Support for various programming languages: C, C++, Java, Python, Perl, and
PHP.
•
It runs on just about any operating system. Specifically, it runs on Windows,
Linux and UNIX
•
The ability to handle large databases.
•
The ability to access tables from different databases by using a single query.
2.2.11.2 Microsoft SQL Server
SQL Server is a client-server database management system. Unlike file-based databases,
client-server database engines manage read-write operations to the database. Because of
this, client-server databases such as SQL Server can handle many more concurrent users
and vastly greater amounts of data.
Page 63 of 252
SQL Server and the MSDE are server-based database systems. Requests for information
are processed on the server and only the resultant data is sent back to the client
application. This scenario greatly reduces network traffic; it also allows users to access
data and experience acceptable application performance without a high-end client
workstation.
SQL Server runs only on the Windows platform, which severely restricts its portability.
SQL Server 2000 comes in seven editions: Enterprise, Standard, Personal, Developer,
Desktop Engine, and SQL Server CE. The first two editions are the choices if a developer
is building a database or analysis application that accesses SQL Server 2000. They can
only be installed on server operating systems, namely Microsoft Windows 2000 Server,
Windows 2000 Advanced Server, Windows 2000 Datacenter Server, and Windows NT
Server 4.0. Between these two editions, the features are as follows:
SQL Server 2000 Enterprise Edition
It includes the complete set of SQL Server database and analysis features. It
supports the largest Web sites and enterprise online transaction processing
(OLTP) and data warehousing systems. It supports up to 64 gigabytes of memory
and up to 32 processors. It can divide database workload across independent
servers. It supports System Area Networking (SAN) connection technologies
between servers. For availability, this edition includes features for mission critical
applications such as failover clustering to ensure that applications stay up and
running even when disaster strikes. In terms of performance, this edition speed up
an application by taking full advantage of symmetric multiprocessor (SMP)
computers, faster queries and transaction applications.
SQL Server 2000 Standard Edition
This is a more affordable option for small-sized and medium-sized organizations.
Standard Edition can be used on symmetric multiprocessing systems with up to 4
CPUs and 2 GB of RAM. It includes the core functionality needed for nonmission-critical e-commerce, data warehousing, and line-of-business solutions. It
Page 64 of 252
has all the data mining features and the core OLAP functionality. Apart from
these, it also includes Data Transformation Services (DTS), Replication, Full-Text
Search, English Query, Stored procedure development and debugging tools, SQL
Profiling and performance analysis tools.
SQL Server 2000 Personal Edition
SQL Server 2000 Personal Edition is ideal for mobile users who spend some of
their time disconnected from the network but run applications that require SQL
Server data storage, and for stand-alone applications that require local SQL Server
data storage on a client computer.
SQL Server 2000 Developer Edition
This edition allows developers to build any type of application on top of SQL
Server. It includes all of the functionality of Enterprise Edition but with a special
development and test end-user license agreement (EULA) that prohibits
production deployment.
Microsoft SQL Server 2000 Windows CE Edition
Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) is the
compact database for rapidly developing applications that extend enterprise data
management capabilities to devices.
SQL Server 2000 Desktop Engine
SQL Server 2000 Desktop Engine is the successor to Microsoft Data Engine
(MSDE) 1.0, which was based on SQL Server version 7.0. As such, SQL Server
2000 Desktop Engine is often referred to as MSDE 2000. The most significant
characteristic of the Desktop Engine is that it is a redistributable version of the
SQL Server relational database engine. The Desktop Engine has the smallest
Page 65 of 252
footprint of any edition of SQL Server 2000. The SQL Server 2000 Desktop
Engine does not include graphical management tools; the application distributing
the engine is usually coded to perform any needed database administration.
2.2.11.3 IBM DB2
This is a desktop version of IBM’s mainframe database product running on OS/390. It
can be programmed using the Call Language Interface (CLI). In terms of performance,
this is the top DBMS product. There are more administrative products on the market for
DB2 on OS/390 than for the others, making it easier to manage. However, there is little
difference on the desktop versions.
2.2.11.4 Oracle 9i Database
This is a very reliable database product from Oracle Corporation, which is the current
industry leader in database technology. There are more programmers who can program
Oracle DBMS than any other. Oracle 9i Database comes in three editions: Enterprise,
Standard and Personal. Using this database requires a lot of configurations, which are
beyond the scope of this dissertation.
2.2.12 Database Access Technology
Databases could be accessed using the following technologies:
2.2.12.1 JDBC
JDBC is short for Java Database Connectivity, a Java API that enables Java programs to
execute SQL statements. This allows Java programs to interact with any SQL-compliant
database. Since nearly all relational database management systems (DBMSs) support
SQL, and because Java itself runs on most platforms, JDBC makes it possible to write a
single database application that can run on different platforms and interact with different
DBMSs.
Page 66 of 252
JDBC is similar to ODBC, but is designed specifically for Java programs, whereas
ODBC is language-independent. With a JDBC technology-enabled driver, you can
connect all corporate data even in a heterogeneous environment.
2.2.12.2 Hibernate
Hibernate is an open source technology that provides an easy-to-use and powerful objectrelational persistence framework for Java applications. It is an object-relational mapping
technology that is an alternative to JDBC, EJB entity beans, and JDO. It allows
programmer to query and persist data in a relational database through object manipulation
instead of through SQL. Hibernate provides support for collections and object relations,
as well as composite types. In addition to persisting objects, Hibernate provides a rich
query language to retrieve objects from the database, as well as an efficient caching layer
and Java Management Extensions (JMX) support. User-defined data types and composite
primary keys give additional flexibility to support legacy applications. It supports
numerous databases, including Oracle and DB2, as well as popular open source databases
such as PostgreSQL and MySQL. Hibernate uses runtime reflection to determine the
persistent properties of a class. The objects to be persisted are defined in a mapping
document, which serves to describe the persistent fields and associations, as well as any
subclasses or proxies of the persistent object. The mapping documents are compiled at
application startup time and provide the framework with necessary information for a
class. Additionally, they are used in support operations, such as generating the database
schema or creating stub Java source files.
2.2.12.3 Open Database Connectivity (ODBC)
A consortium of companies designed ODBC, including Microsoft, Lotus, Oracle and
IBM. It was one of the first attempts to create a generic way of talking to different
database engines. However, it was built to access relational data from relational
databases. It is accessed via a straight-C API.
Page 67 of 252
2.2.12.4 Microsoft JET and Data Access Objects (DAO)
Jet and DAO were built to support file-based databases, and uses ODBC to access
relational databases such as Access. Thus it tends to be slow. It was built for small
databases used in local deployments and single-system applications.
2.2.12.5 Remote Data Objects (RDO)
RDO was created to allow faster access, via ODBC, to relational database engines, such
as SQL Server and Oracle. It provides the objects, properties, and methods needed to
access stored procedures and complex result sets.
2.2.12.6 OLE DB
OLE DB was designed to access virtually any kind of data, whether it is stored
relationally in tables, directories or free form. As a result, it is very large and
complicated.
2.2.12.7 ActiveX Data Objects (ADO)
ADO is a wrapper to OLE DB, but is focused on relational data. It is fairly fast, simple to
use and supports multi-tier architectures via the use of disconnected Recordsets.
Microsoft ActiveX Data Objects Multidimensional (ADO MD) was an extension to
include objects specific to multidimensional data from languages such as Microsoft
Visual Basic and Microsoft Visual C++. Microsoft ActiveX Data Objects Extensions for
Data Definition Language and Security (ADOX) includes objects for schema creation
and modification, as well as security.
Page 68 of 252
2.2.12.8 Remote Data Service (RDS)
RDS enables data to be moved from a server to a client application or Web page,
manipulate the data on the client, and return updates to the server in a single round trip.
2.2.12.9 Microsoft Data Access Components (MDAC)
MDAC is not an access mechanism; rather it includes a single version of ODBC, OLE
DB, and ADO, together with drivers for SQL Server, Access and Oracle.
2.2.12.10
ADO.NET
ADO.NET is the database access method of the .NET platform. It is multi-tier (code
could be easily moved from tier to tier), disconnected, XML-based, scalable and fast.
There is no Recordset. Instead, data is manipulated using DataSets. There are four classes
that are used to read and write data from data sources:
1. Connection - Connect to data source
2. Command - Execute stored procedures
3. DataAdapter - Connects DataSet to database
4. DataReader - Forward/only, read/only cursor
2.2.13 Open Source Technology
Open source refers to projects that are open to the public and which draw on other
projects that are freely available to the general public. Open source or open-source
software (OSS) is any computer software distributed under a license which allows users
to change and/or share the software freely. Open-source software is required to have its
source code freely available; end-users have the right to modify and redistribute the
software, as well as the right to package and sell the software. Software with source code
in the public domain meets these criteria, as does any software distributed under the
popular GNU General Public License (GPL). Open-source licenses may have additional
Page 69 of 252
restrictions, such as a requirement to preserve the authors' names and copyright statement
in the code.
2.2.13.1 Apache Ant
Apache Ant is a build tool with special supports for the Java programming language but
can be used for just about everything. Ant is platform-independent; it is written purely in
Java. Ant is particularly good at automating complicated repetitive tasks and thus is well
suited for automating standardised build processes. Ant accepts instructions in the form
of XML documents thus are extensible and easy to maintain.
2.2.13.2 Log4j
Log4j is an open source technology that offers a more systematic way of creating debug
statement during program development. Logging within the context of program
development constitutes inserting statements into the program that provide some kind of
output information that is useful to the developer. Examples of logging are trace
statements, dumping of structures and the familiar System.out.println or printf debug
statements. Log4j offers a hierarchical way to insert logging statements within a Java
program. Multiple output formats and multiple levels of logging information are
available.
By using a dedicated logging package, the overhead of maintaining thousands of
System.out.println statements is alleviated as the logging may be controlled at runtime
from configuration scripts. Log4j maintains the log statements in the shipped code.
2.2.13.3 JFreeChart
JFreeChart is a open-source Java class library for generating charts, including pie charts,
line charts and horizontal/vertical bar charts (regular and stacked, with optional 3Deffect), XY plots and scatter plots, time series, high/low/open/close charts and candle
Page 70 of 252
stick charts, combination charts, wind plots, meter charts and symbol charts, JFreeChart
includes many features: tooltips, zooming, printing and saving (PNG/JPEG/SVG), access
data from any source that supports the defined interfaces (a similar mechanism to Swing's
JTable).
2.2.14 Programming Languages
The following languages were reviewed:
2.2.14.1 C#
This is the language of choice for the .NET platform, as it is closely tied to the .NET
CLR. It is an object-oriented language that closely resembles Java and C++. C# was
designed in response to the strengths and weaknesses of other languages, in particular
Java and C++. There are a few new syntax elements in C# that are not available in C++
or Java, namely properties, indexers and attributes. Properties are syntactic support for
get() and set() methods. Indexers are a way to treat an object as an array. Attributes
support declarative programming.
Key features of C# are:
Component orientation. This makes component building easy, with language
constructs such as properties, events and attributes.
Automatic and manual memory management. The programmer does not have to
dispose objects, eliminating memory leaks and circular references.
Page 71 of 252
2.2.14.2 Java
Java is an object-oriented language that is well suited to designing software for use over
the Internet. It was developed at Sun Microsystems in 1991. It is a cross-platform
language that can be used in many platforms, including Windows, Macintosh, Linux and
most versions of UNIX, including Solaris. The language is quite complex and includes
many disparate open source technologies. It is often run as an applet in Internet browsers,
which can also act as a SOAP Client.
2.2.14.3 C++
In the .NET platform, C++ is used to program .NET, which performs better than XML
Web Services. This is the language used in developing high performance ATL Server
Web Services. The ATL Server uses C++ code that is compiled at development time
before being deployed on the server. The ATL Server architecture runs on top of Internet
Information Server (I I S).
Page 72 of 252
3
3.1
METHODOLOGY
System Development Flow
First of all, the target users of the system had to be identified at the beginning phase of
the project. This is because these users will be able to determine what is required to be
developed. The first phase of this development involves the requirements specification,
which is the usual starting phase of all the software process models. These requirements
are described and defined in detail, serving as the system specification.
Since one of the objectives of this research is to build a framework and subsequently
develop a system on top of this framework, the next step is to plan the architecture of the
framework and follow by the architecture of the system. After spending some time in
researching and retrieving feedback from lecturer’s requirement, finally a complete
development flow is developed. Then, I researched some findings about the suitable
programming language, technology and application server that are essential in developing
the Intelligent Question Bank and Examination System. For the techniques, algorithms,
formulas and others reference systems can be founded through famous web portal as well
as journal. After analyzing the theories and algorithms, I try to filter, decompose and
derive it into computerize algorithm. The work is extremely complicated and takes a long
time to be finished. Finally, throughout continuous research and upgrading in computer
adaptive testing and guided problem solving knowledge, I had invented a few strategies
or techniques that can be used to come out with the Intelligent Question Bank and
Examination System. The outcome is encouraging, satisfying and fulfilling some
objectives in the study.
The further procedure is configuring Tomcat, MySQL, Hibernate as well as classpath and
path in environment variables. Then, the framework and system are being developed in
html, jsp, applet and core java.
During the development cycle, the system will be demonstrated to lecturers from time to
time. The reason is to gain feedback and further enhancement from them. Besides that, it
Page 73 of 252
is a mandatory procedure for incremental development model. Debug, enhance, testing
will continue many times until the system become stable.
Preparing some documents is a necessary task to ensure users familiar and understand on
how to use the system. Validations are done in many fields to ensure user key in data
correctly and the system is able to process the data in correct manner. Process of
verifying the accuracy and correctness of calculations, data structure, frond end
displaying and etc have taken time more than a month. In addition, comparison of
algorithm, assessment method, user friendly ability and others aspects had been verified
against the similar systems.
Finally, upon the system is stabilize and fulfill all mandatory functionalities, the system is
transferred for pilot run mainly for testing purposes. This is an important step to boost up
the system’s stability, robustness, user-friendly and discover new hidden bugs.
3.2
Software Methodology
Methodology covers the methods used to discover past, existing and forthcoming new
technologies in research and developing a new project. It is a collection of tools and
techniques used to aid system developers in the development of a new system, including
the proper procedures used to study existing systems with the aim of eliciting
improvements to current technology.
These tools and technology differ from discipline to discipline. There are qualitative and
quantitative approaches to arriving at a solution. Researchers have their own biases,
depending on their training and preferences. A quantitative approach provides a rich
resource for interpretation. Some prefer qualitative over quantitative approaches. An
integrated approach is the best option. This project tries to mix the best of both methods.
Research methodology comes loosely under the following approaches:
Page 74 of 252
Research Ethics
It is not ethical for research to copy wholesale from existing research findings,
although it is proper to base the research upon various research papers. However,
the research should always include new findings discovered by the researcher.
Secondary Data Sources
Conducting Interviews and surveys are time-consuming. Often it is impossible to
conduct such research in a local area. This is where the experience of other
researches can be drawn upon. The results of multiple surveys done by previous
researchers can be utilized effectively.
Qualitative methods
These methods include Action Research, Content Analysis, Ethnography,
Narrative Inquiry and many others. These are generally arts-based methods that
require descriptive explanations of various happenings and events. However, it
could include scientific qualitative explanations of phenomena or concepts in
technology.
Quantitative Methods
These methods refer to the use of statistical analysis of the results of surveys. The
idea is to draw conclusions or inferences about a certain pattern of behavior. Such
methods are useful for testing the functionality and performance of projects.
Textbook Research
Much information can be gathered from textbooks, which cover important
concepts related to an area of research. This provides a valuable source of
information that is reliable and dependable.
Internet research resources
This is a vast resource, and in recent years, the amount of information that can be
gathered has increased exponentially. A huge quantity of information can be
Page 75 of 252
obtained from various search engines, chief among recent ones are Google and
Yahoo.
Building computer software is an iterative learning process, and the outcome is an
embodiment of knowledge collected, distilled, and organized as the process is conducted
(Pressman, 2001). There is much to be learned, and the sum total of the knowledge aids
in the development process.
3.2.1
Techniques Used to Define Requirements
During the methodology stage, various techniques are used to define the requirements of
the system. These techniques helped in formulating the various requirements of the
system, as detailed in the next chapter. These techniques include the following:
•
Analysis of existing systems
•
Feedback from users of existing systems
•
Review of new technologies
•
Library Research
•
Purchase of new books on relevant topics
•
Internet Browsing
3.2.1.1
Analysis of existing systems
It is vital for the success of a new project to learn from the strengths and weaknesses of
existing systems. Studying the existing systems in fact resulted in the definition of the
bulk of the requirements of the system. From examining the code of the existing system,
we can trace how all the functions are designed. By using and testing these systems, it
was possible to determine what the requirements that must be included in the system.
Through this method, many of the bugs in the system were discovered, and from code
analysis, the source of these bugs was determined. However, this project did not attempt
Page 76 of 252
to rectify those bugs and weaknesses, as it was determined that the new system would
replace the old system.
3.2.1.2
Feedback from users of existing systems
From the comments received from users of the system, it was possible to determine the
performance and pitfalls the examination processing system. This is important because
through studying feedback from many types of users, whether people who are skilful in
the use of computers, or whether people who are novices in computers, it was necessary
to modify requirements to meet the usage pattern of a wide variety of people. It was also
possible to build a ‘wish-list’ of requirements based upon feedback from these users.
These would form the user-centred list of requirements.
The demography of the users consists of the following groups of users based upon their
job functions:
•
Education Institution/School Administrator
•
Department Head
•
Examinations Administrator
•
Clerical Staff
•
Course Lecturer
•
Student
Each of the above categories of users views the system in different ways. The education
institution/school administrators are primarily concerned with the final mark sheets and
analysis reports. The department heads view the overall analysis related only to their
respective departments. The examinations administrator is concerned with generating the
analysis reports and the mark sheets. The clerical staffs view only the mark sheets for
preparation of forecast results. The course lecturers are interested only in the performance
of their own courses/subjects.
Page 77 of 252
There are various sources of user feedback, which can form the basis of various system
requirements. These include verbal requirements requests, where lecturers and
administrators convey the types of reports they need, or would like to include into the
system. Minutes of staff meetings that record needs of examination requirements provide
some insight into some of the user requirements. One-to-one meetings with
institution/school administrators often bring out many requirements that help the
administrators view the overall trend of the examination results.
Questionnaires are generally difficult to administer in an education institution/school
environment. Lecturers generally are too busy with their teaching schedules to
conscientious write out their needs on paper. It is generally easier to have informal
interviews with them to extract their views on the system.
The role of questionnaires lies in getting their feedback on the user interface and the
implementation of the system. This was done with a preliminary questionnaire that
allows freely structured comments. This forms the basis of the final questionnaire that is
appended in Appendix B.
The methodology of the analysis of the questionnaire consists of the following steps:
•
Prepare the questionnaire
•
Explain the questionnaire to the users
•
Issue the questionnaire to the users
•
Collect the responses from the users
•
Populate result into Microsoft Excel
•
Insert charts to visualize the data
•
Summarize and analyze the results
Page 78 of 252
3.2.1.3
Review of new technologies
By reviewing and understanding the new features and capabilities of new technology, it
was found that there are requirements that could be included which otherwise would have
been deemed impossible. This is most often done by reading computer books, journals,
magazines and articles. Sources can be obtained from the Internet and book shops.
3.2.1.4
Library Research
The Library at the University of Malaya stocks many books of inestimable value to the
understanding of some of the technology used to develop this project. These books could
either be browsed or borrowed, resulting in a change in some of the requirements of the
system.
However, books in library on new technologies are often outdated, as library does not
generally purchase new books as fast as they are published.
3.2.1.5
Purchase of new books on relevant topics
The library does not stock many important titles that prove vital to kick-start this project.
These books had been purchased. As with all computer texts, many of these books
become outdated very quickly. Often a book would be bought, and it was found, through
the Internet, that a new edition had been published. This happened especially to the books
on the latest technologies, in particular, the J2EE Framework. So it was necessary to
check the latest edition of a particular title from the Internet, before embarking on the
purchase of a new book.
Some bookshops such as MPH have reading corners to browse through their collection of
books. This is the best source of the latest available books on new technologies. Some
books are too expensive to be purchased. With so many new titles being published, it is
not within budget to buy all available books in the market.
Page 79 of 252
3.2.1.6
Internet Browsing
This is a must, as much information in the form of reviews of Technology can be found
in the web sites of the vendors of the software or books. There are many tutorials, and
trial kits that are available for download from the Internet. White papers from various
vendors are valuable information that often can be downloaded for free. Just plain
Internet browsing and use of search engines such as from Yahoo and Google have proven
to result in vital information which could not be found in books. Through the search
engines, it was possible to find methodology for research on topics useful for the
development of this project.
It is also possible to purchase the latest publications on various topics of research through
the Internet. Amazon.com and InformIT.com are two good sources of books. So are the
web sites of various publications such as McGraw Hill and Wrox.com.
3.2.1.7
Subscription to e-magazines
There are many electronic magazines on various topics such as Search Database.com and
etc that deliver valuable information on a regular basis, up to on a daily basis. These
electronic magazines have links to the valuable Web Sites containing tutorials, tips which
have greatly assisted in determining technology features which helped in determining
requirements and the development process itself.
There are even some vendors which send their hardcopy magazines without charge upon
a free registration. These include IBM DeveloperWorks, Oracle and DB2 Magazine. One
such source was a free copy on an issue covering J2EE, which gave useful information
for literature review and the modification of some of the system requirements
(developerWorks Journal, Nov 2002). However, some of these magazines are available
only to residents of the United States of America.
Page 80 of 252
3.2.1.8
e-Books, that is, electronic books.
Many publishers have made some of their books available as e-books that could be
downloaded from the Internet. Some publishers such as Wrox Press even provide free
membership to some of their resource materials on a restricted basis. Many have made
some free chapter downloads, some of which were found to be extremely useful in the
development of this project. They even have paid membership that can access a larger
variety of e-books materials. e-books are also available on CD-ROMs which can be
purchased in many book shops and computer shops. Some of these CD-ROMS were
compiled through downloads from the Internet.
3.2.2
Software Process Model
There are various software process models that serve as an abstract representation of the
software process. The purpose of a software development process is to produce high
quality and timely results without imposing a large overhead on the project. The process
is depicted as a model that determines the order of stages involved in development and
evolution and establishes transition criteria for progressing between stages by specifying
the entrance and exit criteria. A software process is thus a method of developing or
producing software. These include:
The Waterfall Model
This involves projects that have well-defined phases of specification, software
design, development, implementation, validation and evolution. Each of these
phases follows one after another.
The Incremental Model
This model uses the waterfall model in an iteration fashion. It focuses on the
delivery of an operation product with each increment. It works well to address
technical risk management and ramp staffing with the complexity of the work.
Page 81 of 252
Evolutionary development
This approach is based on the idea of developing an initial implementation,
exposing a prototype to the user, obtain feedback, and revising the system until it
meets the requirements of the end-user. This is useful for projects where the enduser requirements are not clear at the beginning of the software process.
Formal systems development
A formal mathematical system specification is first produced, and then
transformed using mathematical methods. Verification of the various components
involves mathematical techniques.
Reuse-based development
The trend in recent software development is component technology, which fosters
the re-use of existing components to build newer and larger components.
Spiral Process Model
The Spiral Model uses a combination of the traditional life cycle models to best
serve a particular software system. The cycle is repeated for each stage with
cumulative cost to complete steps to date represented by radial distance, and
progress made in completing each cycle represented by angular distance. Each
spiral cycle begins by determining the objectives, alternatives, and constraints,
and then evaluates the alternatives to identify sources of risks in the project. Next,
it develops a strategy for resolving these risks using a combination of simulations,
models, benchmarks, prototypes, and user questionnaires. Planning for the next
step depends on the performance of the evaluation and user interface risks and
thereafter a combination of the previous models is applied. The cycle is
completed by a review of the progress made so far and commitments for the next
phase of work. Transition between stages is determined by a hypothesis set for it:
if hypothesis still holds, work progresses to the next stage, otherwise the cycle is
terminated.
Page 82 of 252
Object-oriented Software Process (OOSP) Model
The OOSP model framework provides an algorithm for identifying development
phases and baseline (work) products based on relationships among activities and
products. The model manages development progress using milestones established
at the end of each phase to check the baseline product, and establishes goals for
the next phase. Progress controlled by a number of clearly identifiable milestones
established for completed phases during the course of the project. The baseline
product is a work product checked at milestone and referred to by activities of
subsequent phases. The date on which a work product is completed is termed a
milestone. When a work product has been reviewed and agreed upon, it becomes
a baseline product.
3.2.3
Choice of Incremental Development Model as Methodology
After reviewing some of the popular methodologies, which are currently being
implemented widely, I decide to choose incremental development model as the
methodology for IQBAES. The incremental model is iteratively applying the waterfall
model. In this approach, development is organized into a series of short, fixed-length
mini-projects called iterations; the outcome of each is a tested, integrated, and executable
system. Each iteration includes its own requirements analysis, design, implementation,
and testing activities.
With the incremental development, it will partition a system into subsystems by
functionality. An early releases start with a small, functional subsystem, later releases
will add addition functionality. Each incremental is a partial product, not a prototype. It
will contain more functionality than the previous increment, but build on the previous
increment. Increments progresses with parallel, with the product delivery of one
increment feeding into the design phase of next. This model provides the customer with
early feedback, allowing alterations of project to occur with limited impact. Each
increment is functionally more complete version of the product.
Page 83 of 252
The incremental development model for object-oriented project comprises the following
phase:
Requirements workflow
The first phase of this development involves the Requirements specification, which is
the usual starting phase of all the software process models. We need to determine
what is required to be developed at the beginning phase of the project. Referring to
the users of the system sets out the system’s services, constraints and goals. These
requirements are described and defined in detail, serving as the system specification.
The full details of the requirements specification are described in Chapter 4. These
involve the functional requirements and the non-functional requirements. The
methodology used in gathering these requirements involves several channels of
requirements discovery. These sets of requirements are based upon extensive use and
development of examinations systems over the past decade. Previous development
was conducted in an ad hoc manner, where requirements were met as the need arose.
Some of the requirements were gathered through user feedback and user requests
conducted in an informal manner. Other requirements were the result of past
constraints on the database system capabilities. There are requirements that resulted
in evolving management goals and expectations, some from the education institution
management, while others are requirements imposed by the distant learning
management system. This project collects all these requirements together in a more
formal manner, in effect reusing these past requirements, and adding new
requirements as the system evolved.
The main goal of these requirements is to develop a system that enables lecturer to
author and store a bank of web-based questions. This system should be able to
assemble questions and generate exam based on lecturer’s specifications. The
examination module should allow user to conduct examination over the Internet and
Intranet. Questions from various topics with different level of complexity can be
Page 84 of 252
included and assigned to user as per their level of understanding. Upon examination
completed, the system should able to grade student based on the questions with
varying complexity they have answered.
In this phase, the information about the user’s requirements shall be gathered and
documented. This phase can last from a few days to few weeks and is usually carried
out on-site or through customer communication. Discussions shall be held to
understand the user’s requirements. The software requirements shall be documented.
The documentation shall use the terms familiar to the customer and shall encompass
the entire functionality of the product as foreseen by the customer. A review of the
user requirement document is to be done. User’s requirements will then be converted
to implementation specific statements. The user-interface shall also be detailed. The
user’s software requirements shall be thoroughly understood to convert to system
specifications. The software requirements specifications shall be documented using
Use Case diagrams. The documentation shall use the implementation specific terms
for the ease of understanding for the designers and developers. One user requirement
may be fulfilled by one or more software requirements specifications.
System Analysis and Design Workflow
The next stage involves identifying and prioritized user requirements. User
requirements are prioritized and the highest priority requirements are included in
the early increments. In this phase, the use cases are identified, the deployment
and component diagrams are arrived at and classes and the collaboration among
the classes are defined. The system design document shall be prepared. The class
diagrams, sequence diagrams, state transition diagrams and collaboration diagram
are included.
As we are developing web-base application framework and subsequently build the
IQBAES on top of this framework, thus in this phase we need to identify the
components that can be re-used and need to be developed and combine them into
Page 85 of 252
one single integrated framework. The framework components that need to be
developed are identified as follows:
•
Design of framework architecture
•
Design and develop of base classes, manager classes, utility classes, core
messages, validator, taglib and etc
•
Setting up application server
Once the base (framework) has been developed, we need to identify the
components required for setting up the IQBAES system. The components that
need to be developed are identified as follows:
•
Design and implementation of the new database management system
•
Design of the user client interfaces
•
Design of user manager module
•
Design of question bank module
•
Design of examination module
Implementation Workflow
In this phase, the actual coding shall be done according to the programming
standard. The code shall be unit tested. The programming standards to be used
shall be identified. Coding shall be done according to the programming standards
and class specifications.
This is one of the most critical phases as failure in coding will result in collapse of
the whole project. New training skills are required, which have to be learned or
developed. While system analysis and design workflow identifies the components
that need to be developed, this phase develops and implements all the design
requirements identified in the earlier phase.
Page 86 of 252
The development involves the implementation of IQBAES. This phase involves
the installation of java development kit, the MySQL Server, and the programming
environment, which is the Eclipse IDE etc. In order to implement this phase, new
skills have to be developed. Specifically, this means learning the java core
language, EJB, the J2EE Framework, hibernate and how it implements SQL
functionality.
Testing Workflow
In the system-testing phase, the product shall be tested module-wise and the
interdependencies among the modules shall be validated. The functionality of the
product shall be tested as a whole. The product needed to be tested for
conformance with the system requirements as well as assessed as to its suitability
for the task of processing examination results, that is, the overall goal of the
project. At this phase, user involvement is vital to the design, redesign and
validation of the user interfaces. During the user acceptance-testing phase, the
IQBAES system shall be validated against the user requirements, acceptance
criteria and acceptance data.
Page 87 of 252
Figure below illustrates the incremental development model:
Figure 16 – Incremental Development Model
The iteration and incrementation are used in conjunction with one another. There is no
single requirement phase or design phase. Instead, there are multiple instances of each
phase. The number of incremental will vary and all the workflows are performed over the
entire life cycle.
3.2.4
Advantages of Incremental Development Model
The advantages of incremental development model are as below:
Allow developer to take advantage of what was being learned during the
development of earlier, incremental and deliverable versions of the system.
Page 88 of 252
By keeping end user in the loop will prevent project to be killed or overhauled
before delivery
Provide customer/end user with early feedback, allowing alterations of project to
occur with limited impact
The complexity of project is never overwhelming.
Early feedback is generated, because implementation occurs rapidly for a small
subset of the system.
Page 89 of 252
4
4.1
SYSTEM ANALYSIS
Requirement Analysis
Requirement Analysis is the detailed documentation of the system and constraints. These
requirements should be precise and may serve as a contract between the system end user
and the software developer. It is the purpose of this chapter to develop a model of the
system’s desired behaviour. This is achieved by firstly looking at problem domain and
then forming a set of requirements using use case analysis. The use cases uncovered are
then elaborated upon to describe a ‘flow of events’, which takes place between the user
and the system. The use case analysis found herein is a product of much discussion
regarding system requirements with Mr. Ang Tan Fong (Project Supervisor) as acting
client. These are loosely divided into functional requirements and non-functional
requirements.
4.2
Functional Requirement
The propose project, IQBAES, will be developed following the web-base educational
system designed earlier. Three core functionalities will be incorporated into this system
in order to make it as an intelligent question bank and examination system. These three
functionalities are question difficulty assessment algorithm, automatic question generator
and intelligent questioning system.
Although there has been much development on web-based educational system, the
question difficulty assessment has not been systematically studied. Assessing the
difficulty of question in these systems is still a subjective process and is usually done by
instructors/teachers based on their experience. Thus, a systematic method is needed to
define question difficulty. IQBAES will define an assessment method for the level of
difficulty of exam questions and it will help to better allocate the credits/scores/marks to
exams. This assessment method is built based on intuitive that a question is more difficult
when more concepts are involved and more equations are used in solving a problem since
Page 90 of 252
it takes more time organize thoughts when more items are involved and more steps are
needed in solving a problem.
Over the past several years, considerable effort has been devoted to research in the area
of technology-enhanced education. Despite the effort, most of these systems are still not
judged to be effective. One of the major hurdles in building an effective system is it is
extremely difficult to build a robust student model. It is more possible and convenient to
improve this area by introducing a question model. This question model uses a
hierarchical knowledge map to direct the learning process based on student’s degree of
understanding of concepts. This question model is a formal representation of the question
database. After each question is answered, the question management system will update
the student’s progress through a knowledge map by taking into account the question
characteristics.
The following use cases and actors were found to exist in the problem situation. Each use
case is described in detail in their respective module section. These use case diagrams
model the desired behavior of the system.
Functional requirement of the IQBAES should be categorized into 5 main modules:
User Manager Module
Administrator Module
Lecturer Module
Student Module
Examination Module
Page 91 of 252
4.2.1
User Manager Module
User manager module mainly means for manage multiple user with multiple role for
accessing this system. With this module, one user can be assigned with more than one
role concurrently. Hence, a user with administrator role can also be assigned with a
lecturer role to the system. On top of that, this module also means to control user with
multiple role for accessing the system. With this functionality, user manager modules will
constraint user with specific role to access only certain module that they are given the
access right. In other words, a lecturer can only access the module that they are given the
access right and they will not have the permission to access the administrator module or
student module. The module also provides a means to enter user names and passwords
and the password will be encrypted in the database. Only the top user with the
administrative rights should be allowed to add, modify and delete users.
4.2.2
Administrator Module
Administrator module is the module that enable administrator to configure and maintain
various variable in the system. This module will allow administrator to configure general
information such as ‘Faculty Maintenance’, ‘Department Maintenance’, ‘Intake
Maintenance’, ‘Lecturer Maintenance’, ‘Program Maintenance’, ‘Course Maintenance’
and etc.
System user with administrator role is the user with super user role to the system. This
category of user will have the full administrative access rights to each module in the
system. The administrator is the "gatekeeper" of the IQBAES who creates user profiles
for the system and is responsible for restricting the access of item banks. The
administrator can add as many users as needed and he is the key person who will assign
user to different role of the system. For instance, administrator is responsible to assign a
new user with either lecturer role or student role of IQBAES.
Page 92 of 252
The User Manager Module and Administrator Module requirements analysis can be
transformed into the use case diagram as shown below:
Figure 17 – Administrator Module Use Case Diagram
Page 93 of 252
Table 1 – Administrator Module Actor Description
Actor
Description
Administrator
The system administrator who is super user
of the system and is responsible for
creating new user and assign user to
different group of the system.
Table 2 – Administrator Module Use Case Description
Use Case
Description
Add new user
When there is a new enrolment, new
students’ details are recorded into database.
Update user details
When user details are changed, old user
details is retrieved and updated with new
user details.
Delete user
When staff leaves the institution or student
is graduated, their details will be deleted
from database.
Assign individual user with role
Assign each new user with their respective
role. E.g. lecturer role or student role.
Assign group of user with role
Assign group of users with their respective
role. E.g. lecturer role or student role.
Update user with new role
When there is a change in user role, the
current user role is retrieved and updated
with new role.
Page 94 of 252
4.2.3
Lecturer Module
System user with lecturer role is those users with lecturer role as assigned by system
administrator. As the name given, this group of user will act as lecturer/instructor in the
system. Lecturer can:
•
Compile exams from an existing database of questions, case studies, images,
audio and video;
•
Add original questions, case studies, images, audio or video to the database;
•
Administer exams (create, update or delete an exam which he/she has been given
the access right);
•
View and compare student exam scores using an student exam tracking or student
exam summary reports;
•
Measure student performance in various competencies and/or difficulty levels.
Page 95 of 252
The requirement analysis for lecturer module can be transformed into the following use
case diagram:
Figure 18 – Lecturer Module Use Case Diagram
Table 3 – Lecturer Module Actor Description
Actor
Description
Lecturer
A person who is licensed to teach within
the institution. The lecturer works in faculty
and is mainly responsible for lecturing issue
for students including assign group of
Page 96 of 252
students to their course, create and prepare
examination question and answer, view
student performance history and etc.
Table 4 – Lecturer Module Use Case Description
Use Case
Description
Create Question
When a new question is created, the
question details will be recorded into
database.
Prepare Answer
Whenever a new question is created, a
corresponding answer for that question will
need to be prepared and added into
database.
Update Question
Occasionally a question might need to be
modified. The question is retrieved and
updated with the new details before
recorded into database.
Delete Question
When course content change, a need will
arise where non-related course content
might need to be removed from database.
The questions that tight to the old course
content will need to be removed from the
database.
Create Exam
At
the
end
of
each
semester,
an
examination will be created to evaluate
student understanding on the respective
course.
View student exam scores
When an examination completed, lecturers
Page 97 of 252
will keen to know how well their students
have been performed in the exam. This can
be done by viewing student performance
scores.
Assign student to course
When students enrolled in a course, the
respective
lecturer
register/assign
those
will
students
need
to
to
that
particular course.
Change password
For security purposes, lecturer can selfmaintained their password and constantly
changes their password.
4.2.4
Student Module
System user with student role is those users with student role as assigned by system
administrator. This group of user will act as student in the system. Student can:
•
Use IQBAES as a study tool by reviewing exams from the database of questions;
•
Take exam to test their own capabilities;
•
Keep track of their performance through the exam score log.
•
View own grade book.
The requirements analysis for student module can be reflected in the following use case
diagram:
Page 98 of 252
Figure 19 – Student Module Use Case Diagram
Table 5 – Student Module Actor Description
Actor
Description
Student
A person who is registered to take courses
and is under the supervision of lecturer.
They will sit for exams that assigned to
them by their respective lecturers.
Table 6 – Student Module Use Case Description
Use Case
Description
View own grade book
After an examination, students can view
their own performance by viewing their
own grade book.
Page 99 of 252
Take exam
Student takes exam that is assigned to them
in order to evaluate their understanding on
the particular course.
Change password
For security purposes, student can selfmaintained their password and constantly
changes their password.
4.2.5
Examination Module
Examination module is the module, which will interface with question bank to pick up
the questions and subsequently form a set of examination questions to test student
understanding. This module will perform auto-grading while student answering the
question and auto adjust the level of complexity for each question that assigned to
students. Thus, questions with varying complexity will be included in different exams
from a question bank.
Assessing the difficulty of an exam question is a subjective process and is usually done
by instructor based on experience. An accurate assessment of the difficulty of exam
questions is important and will help to better allocate credits to exams. IQBAES is
defining an approach to accessing questions difficulties. This approach makes use of
functional concept graph. Interested readers are referred to Li and Sambasivam (2003).
This is an extension of the Conceptual Graph Structure. A functional conceptual graph G
also refers to Directed Acyclic Graph (DAG) and it consists of a set of nodes V and a set
of directed edges E. The edges connect the nodes of V.
The functional concept graph is a hierarchical data structure: each node ni of the DAG is
associated with a level li. Node ni may have a set of incoming edges {ei,1, ei,2, . . .ei,k},
connecting lower level nodes. A node without any incoming edge is a source node.
Page 100 of 252
A node is also associated with a value. The value vi of a node ni is computed by a
function vi = ψi(vi,1, vi,2, . . . , vi,k), where vi,j is the value of the input node nj connected by
edge ei,j. The set of input nodes form the set of partners for node ni. Associated with each
node ni is also an interval (li,ui), which is empirically determined by the author of the
examination system. An inverse function φij is defined, when appropriate, for an input
edge ei,j such that vi,j = φij (ei,1, . . . , ei,j-1, ni, ei,j+1, . . . , ei,n). This value can be assigned to
the corresponding partner node nj. The existence of inverse functions may bring an extra
degree of flexibility and allow the system to generate more sophisticated questions.
I find, from the experience of using exercise questions from some textbooks, that students
tend to find a question more difficulty when more concepts are involved and more
equations are used in solving a problem. This is intuitively easy to understand since it
takes more time organize thoughts when more items are involves and more steps are
needed in solving a problem. Hence, we define the degree of difficulty as D = w1N +
w2P + w3M, where N is the number of conditions given in the questions (that is, the
number of terminal nodes), P is the number of downward edges in the paths traversed
during question generation, and M is the number of upward edges traversed during
question generation. Three weight factors w1, w2 and w3 is used to balance between the
path length and the number of conditions. Typically, w1<w2<w3 because upward edges
traversed represent more difficult concept association and downward edges, and the total
number of edges, which corresponds to the number of problem solving steps involved,
carries more information about the effort needed in problem solving. This definition of
degree of difficulty serves only as a rough guidance during automatic question
generation. It is by no means a perfect objective measure. However, it does help in
assessing the student’s understanding of a certain subject. If a student is able to solve a
problem involving most concepts and equations about a subject, he or she should have a
reasonably good understanding of the subject.
Page 101 of 252
Example of how weight is assign to each of the questions in question bank is given as
below:
Example A:
Figure 20 – Conceptual Graph
Weighted CPU time is defined as the sum of the weighted program time of the k
programs. The weighted program time γi of program i is the CPU time of executing the
program times the frequency of execution Fi of the program. The CPU time Ti is defined
as the product of cycle time Tc and (cycle count + stall cycles). We denote cycle count by
Nc and stall cycles by Ns. For programs executed on the same CPU, the cycle time is the
same.
Assume that three programs, P1, P2, and P3, under consideration. The total Weighted
CPU Time Φ is given. For program P1, P2 and P3, the student is given Ns1, Nc1, Ns2, Nc2,
Ns3, and Nc3. In addition, F1 and F2 are also given. The student is asked to find F3. This
Page 102 of 252
question has 9 given values (conditions). To compute F3, one must know γ3 and T3. Since
γ3=F3*T3, F3=γ3/T3. This requires one upward move to the node for γ3. Now, γ3 can be
computed from Φ, γ1 and γ2 as γ3=Φ-γ1- γ2. This requires another upward move to the
node for Φ. A total of two upward moves are needed. To compute each of T1, T2 and T3,
one must traverse three downward edges. To compute each of γ1 and γ2, two downward
edges are traversed. From Φ to γ1 and γ2, two downward edges are also traversed. This
results in a total of (3×3+2×2+2)=15 downward edges. We assign w1=1, w2=5 and
w3=25. The total complexity of the problem is thus 1×9 + 5×15 + 2×25 = 134.
Example B:
A sequence is defined recursively by Tn+1 = Tn + 2n − 3, T1 = 1 for all positive integers n.
Ti is defined as the product of T2 and T3. The student is given T1 and is asked to find T2 x
T3. This question has 1 given value (conditions). To compute T2, one must know T1. To
compute T3, one must know T2. Since T2=T1 + 2n -3, and T1 is given as 1, thus T2 is
having value 1 + 2 -3 = 0. To compute T3, one must traverse one downward edge. We
assign w1=1, w2=5 and w3=25. The total complexity of the problem is thus (1×1) +
(5×1) + (25×0) = 6.
Solution:
T2 = T1 + 2(1) – 3
=1+2–3
=0
T3 = T2 + 2(2) – 3
=0+4–3
=1
T2 x T3 = 0 x 1
=0
Page 103 of 252
Example C:
An analysis of access time to a computer disc system was made during the running of a
particular computer program, which utilized disc file handling facilities. The mode and
Pearson’s measure of skewness (Psk) are 47.5 and -0.388 respectively. The results of the
120 access times were as follows:
Access time in milliseconds
Frequency
32.5
17
37.5
24
42.5
19
47.5
28
52.5
19
57.5
13
Compute the standard deviation for this program.
Pearson’s measure of skewness (Psk) for computer program is defined as means minus
mode dived by standard deviation. The Psk, mode and total access times are given. In
addition, the access time x and frequency f are also given. The student is asked to find
standard deviation. This question has 16 given values (conditions). To compute standard
deviation (SD), one must know mean (ME), mode (MO) and Psk. Since Psk = (ME –
MO) / SD, SD = (ME - MO) / Psk. This required one upward move to the node for Psk.
To compute ME, one must traverse two downward edges. Hence, the total complexity of
the problem is thus (1x16) + (5x 2) + (25x1) = 51.
Solution:
Mean =
=
∑ fx
∑f
32.5(17) + 37.5(24) + 42.5(19) + 47.5(28) + 52.5(19) + 57.5(13)
120
Page 104 of 252
5335
120
= 44.46
=
Mode = 47.5
Psk =
mean − mod e
s tan dard deviation
mean − mod e
Psk
44.46 − 47.5
=
− 0.388
= - 7.835
s tan dard deviation =
Example D:
What attributes do all real world objects have?
Solution:
The question is to test students’ understanding of the definition of object. This question
will become the source node in Directed Acyclic Graph (DAG) because it does not
involve any concept but a basic understanding of the definition of object. Hence, it is a
source node without any incoming edge in the graph. It only involves 1 condition (N=1)
which is the definition of the object. No downward edges because no underlying
knowledge are required and thus P is 0. No upward edges involves because it does not
require more difficult concept association to solve this problem and hence M is 0. We
assign w1=1, w2=5 and w3=25. The total complexity of the problem is thus w1N + w2P
+
w3M=
(1×1)
+
(5×0)
+
(25×0)
=
1.
Page 105 of 252
Example E:
How to create an object?
Solution:
A class is a description of a kind of object. A programmer may define a class using Java,
or may use predefined classes that come in class libraries. A class does not by itself
create any objects. When a programmer wants to create an object the new operator is
used with the name of the class.
When it is executed (as the program is running), the line
str1 = new String("Random");
creates an object by following the description in class String. The class String is defined
in the class library java.lang that comes with the Java system. The computer system finds
a chunk of memory for the object and puts data and methods into it. The data in this
String object will be the characters "Random"
Before a student able to create an object, the student must know what is an object, how it
is related to a class and know the correct way of creating an object. This is the 3
prerequisites understanding/knowledge before a student can answer this question. Hence,
three downward edges are traversed (P=3) and no upward edge is required because it
does not require more difficult concept association and hence M is 0. It only involves 1
terminal node which makes N become 1. We assign w1=1, w2=5 and w3=25. The total
complexity of the problem is thus w1N + w2P + w3M = (1×1) + (5×3) + (25×0) = 16.
Page 106 of 252
Example F:
An example of java program given as below:
class ExampleF
{
public static void main ( String[] args )
{
String str;
str = new String("PUTRAJAYA");
System.out.println(str);
str = new String("CYBERJAYA");
System.out.println(str);
}
}
a) How many objects were created by the progam?
b) How many reference variables does the problem contain?
Solution:
a) How many objects were created by the progam?
Two objects were created. One for PUTRAJAYA and one for CYBERJAYA
b) How many reference variables does the problem contain?
One, which first refers to the PUTRAJAYA and then refers to CYBERJAYA.
The variable can refer to only one object at a time. It first refers to the PUTRAJAYA, and
then to the CYBERJAYA. Here are some details about how the reference variable and
the two objects relate:
Statement
Action
str = new String("PUTRAJAYA");
Create the first object.
Page 107 of 252
Put a reference to this object into str.
System.out.println(str);
Follow the reference in str to the first
object.
Get the data in it and print it.
str = new String("CYBERJAYA");
Create a second object.
Put a reference to the second object into str.
At this point, there is no reference to the
first object. It is now “garbage”
System.out.println(str);
Follow the reference in str to the second
object.
Get the data in it and print it.
Similar to the previous example, before student able to answers the questions, he/she
needs to know what an object is, how it is related to a class, the correct way of creating
an object and subsequently how to assign reference to the second object. These are the 4
basic concepts required in order to answer this question correctly. Thus, four downward
edges are traversed (P=4). These are the 4 basic straight forward concepts which do not
associate with any other more difficult concept and hence no upward edge is required
(M=0). It only involves 1 condition (N=1) which is how to assign reference to the second
object and hence N=1. We assign w1=1, w2=5 and w3=25. The total complexity of the
problem is thus w1N + w2P + w3M = (1×1) + (5×4) + (25×0) = 21.
Three weight factors w1, w2 and w3 is used to balance between the path length and the
number of conditions. Typically, w1<w2<w3 because upward edges traversed represent
more difficult concept association than the downward edges, and the total number of
edges, which corresponds to the number of problem solving steps involved, carries more
information about the effort needed in problem solving.
Page 108 of 252
In the example given above, the value given for w1, w2 and w3 only serve as a reference.
It can be varied and it can be changed while setting up a particular exam. The lectures
who set up the exam will need to aware that w1<w2<w3. The value is configurable based
on the respective exam. The reason being I choose w1=1, w2=5 and w3=25 is because
the degree of difficulty is defined as D = w1N + w2P + w3M, where P is the number of
downward edges in the paths and M is the number of upward edges. With the w2 as 5 and
w3 as 25, we can make the differences of the value for D become more obvious which
significantly indicating the difficulty level. In short, the higher the value for D, the more
difficult the question is as compare to the question with lower value of D.
Page 109 of 252
IQBAES system contains an automatic question generator, which is able to generate
questions based on the augmented concept graph. The questions to be generated typically
are the types of direct evaluation of a result from given conditions. The result can be
compared against a value or a range. This requires the construction of one concept
structure and the evaluation of a single result.
The algorithm is presented as below:
An integer named credit is what we use to represent complexity. The larger is this
number, the more complex the question is. We use a queue OPEN to store those nodes
that are not yet expanded. A node is expanded if its descendants are generated. We
assume that each node Ni stores an estimated maximum difficulty Di that is obtained by
downward expanding the concept graph rooted at this node to the maximum. In addition,
we assume that we have two basic types of nodes in a concept graph: the array nodes and
the regular nodes. An array node may have several descendants of the same class and a
result is computed from the descendent values. A regular node has descendants of
different classes.
4. Define a queue: Queue OPEN = new QueueList();
5. Select a node Nr from the entire concept graph and mark it as “closed”.
6. If Dr < credit, then
Traverse upward;
credit = credit–w3;
Push the parent of Nr to OPEN: OPEN.enqueue(parent of Nr);
else
Randomly decide traverse up or down to node N;
Push the descendants of N to OPEN: OPEN.enqueue(descendants of N);
credit = credit–w2* num_descendants;
5. Dequeue a node N from OPEN and mark it as closed: OPEN.dequeue();
6. If D >= credit, then
Page 110 of 252
Select a random value in the interval specified in the node for each node in
OPEN queue;
Finish question generation;
else
Randomly decide traverse up or down to node Nd;
Push the descendants of Nd to OPEN: OPEN.enqueue(descendants of Nd);
credit = credit-w2*num_descendants;
6. Go to step 3.
Remark: the credit value in fact denotes the desired question difficulty. The difficulty of
the automatically generated question may exceed the desired difficulty by a small
percentage.
Page 111 of 252
The requirements analysis for examination module can be reflected in the following use
case diagram:
Figure 21 – Examination Module Use Case Diagram
Table 7 – Examination Module Use Case Description
Use Case
Description
Adjust question complexity level
Auto adjusts question complexity level
while student answer the question.
Generate exam summary report
Generate an exam summary report upon
examination complete based on students’
level.
Page 112 of 252
4.2.6
Question Module
Question model will be a core component in the overall questioning system. Key aspects
of the question model include an intelligent questioning engine, a question/answer
interface tool, and connections to a knowledge database to monitor student progress. The
question model is a representation of the question database that is developed for each
module in a course for a program of study. Each question is characterized by type (true
false, multiple choice, numerical answers), weight, as determined by the difficulty level,
and a knowledge key that defines the scope of the question and its coverage of the
knowledge map. After each question is answered, the question management system then
updates the student’s progress through a knowledge map, again taking in account the
question characteristics.
The Intelligent Questioning System is comprised of three basic components: the User, the
Knowledge System and the Question System as shown in Figure 22 – Intelligent
Questioning System Concept. The Knowledge System presents the user with his or her
current level in the system. The Questioning System then identifies an appropriate set of
questions within the level. A question is then randomly selected and presented to the user.
When the user completes exam, the Questioning System provides an assessment measure
to the Knowledge System. The Knowledge System then updates the user’s status in the
system. Figure 23 – Questioning System Architecture below gives an overview of the
overall architecture.
Page 113 of 252
Figure 22 – Intelligent Questioning System Concept
Figure 23 – Questioning System Architecture
Page 114 of 252
To implement this system, several databases are required. The question database contains
the complete set of questions. The student system database encapsulates a model of the
student’s progress, maintaining information about which questions the student has
attempted and the assessment measure for each question. The knowledge system database
maintains the structure of knowledge flow.
The assessment system uses the weight of the question to provide the incremental score
contributed by the answer to this question. The “knowledge key” information about each
question is used by the adaptive questioning system, together with student input and the
current state of knowledge, to determine which question to pose next. After each question
is answered, the question management system updates the knowledge map.
Questions are grouped into a Question Set based on level of difficulty. The questioning
process involves: randomly selecting a question from the set, completing the question,
gathering assessment information, and providing a measure of the degree of
understanding back to the knowledge model for use in knowledge assessment. Besides
selecting and asking a question, the Question Set also provides a mechanism to quantify
degree of understanding. This is used to assist in assessing the student’s level of
competence in each topic.
Page 115 of 252
4.2.7
Flows of Events
The below ‘flow of events’ serves to elaborate on the use case descriptions given above
to describe the interaction that will need to take place between ‘the user’ and ‘the system’
in order to realize the use cases.
Add new user
This use case begins when administrator identifies the users they wish to add to
their list. The administrator then adds the users to the system and the system will
add the users to system’s database.
Update user details
The administrator identifies and selects from the list of users in the system they
wish to update their details. Then they proceed to update the user details and
system will capture the new details into database.
Delete user
The administrator identifies the users they wish to remove from their list. The
administrator selects the users they wish to remove from the list of users in the
system. The system then removes the given users and updates the database.
Assign individual user with role
The administrator identifies user with their respective role. They will then assign
the particular user with their respective role. System will record the user’s role
assignment into database.
Assign group of user with role
This use case begins when administrator wants to assign more than one user with
a role. Administrator will select the list of users and consequently their respective
role on which they will be assigned with.
Update user with new role
This use case happens only when there is a change to current user role
assignment. For instance, lecturers who undergo a higher course in the institution.
In such a case, this lecturer will also act as student on the course he/she registers
Page 116 of 252
with. Thus, administrator will update the user with their new role and this new
role should not conflict with their current role.
Create Question
This use case is initiated whenever there is a need arise from lecturer to add more
questions into question bank. Lecturer will need to prepare their questions.
System will capture the questions detail into question bank database.
Prepare Answer
This use case is tightly couple with create question use case. For every single
question that lecturers raise, there should come along with a set of answers. For
question of type multiple choice, more than one correct answer should be allowed.
Update Question
This use case is initiated when there is a need arise from lecturer to update the
questions in the question bank. The update might include adding more choice of
answer, make correction on existing question, upgrade level of difficulty etc.
Delete Question
This use case begins when there is a need to perform housekeeping of the current
questions in question bank. Those questions which are out-dated or out of scope
will be removed from question bank.
Create Exam
This use case begins when lecturers try to create exam to evaluate students’
performance.
View student exam scores
This use case begins only after students have been taken an exam. Their
competencies and performances will be analyzed and capture into system
database. With this, lecturer can view and evaluate their student performance.
Assign student to course
This use case normally begin at the beginning of a semester and after students
Page 117 of 252
have enrolled in a course. Lecturer will obtain their respective student course
enrolment list and proceed to assign those student into their course in the system.
Change password
This use case happens when there is a need arise from system user for instance,
administrator, lecturer or student who wish to change their password.
View own grade book
This use case begins only after students have been taken an exam. With this,
student can view their exam scores.
Take exam
This use case begins only after the respective exam has been created by lecturer in
the system and students are instructed to sit for the exam. Students will need to
login into the system and answer all the questions in the exam. If he/she manages
to answer the question correctly, the level of difficulty for the next question will
be increased. Else if the student fails to answer the question correctly, the level of
difficulty for the next question will be decreased. At the end of the exam, the
weight or difficulty level for all the questions that the student has been answered
either correctly or incorrectly will be summed up and percentage will be
calculated base number of question answered correctly against the total questions
answered. The student’s performance will be graded based on the value.
Page 118 of 252
4.3
Non-functional Requirement
Non-functional requirements do not directly govern the specific functions to be delivered
by the system. They relate to certain performance and reliability issues, as well as the
constraints under which the system must operate.
4.3.1
Product requirements
Platform
The system shall execute on the Microsoft Windows or Red Hat Linux
platform. This should be necessary for consistency of user interface in the
initial implementation of the system.
Reliability of database
The system should use a reliable database management system. All database
updates must be dependable. As such the database should be relational and
use the current form of database access methods.
Robustness
The system shall be built with robust error recovery routines to handle
system failures. The system should be able to guide the user out of a
situation where an error occurs. This is important to avoid human help
support, which is costly.
Recoverability
Should there be errors in accessing various parts of the routines, such as
database access, the system must provide a recovery routine. This routine
should guide the user through the recovery process.
Page 119 of 252
4.3.2
User Interface Requirements
The system must provide a user interface that is intuitive and does not cause confusion or
ambiguity to the user. It is also preferable that the users can expect what the system
should be able to provide, and provide those expectations. The users have used similar
systems before. Therefore, the users should be able to easily find the same features
without difficulty. In addition, the user interface should meet the following requirements:
Consistency of interface between various modules. Each module should be
designed with a similar look-and-feel, with similar type of buttons and
icons.
User Familiarity based upon previous software systems. The user should
know the capabilities of the system as a result of using previous systems,
and expect at least those features which were previously present. The system
can then provide newer features.
4.3.3
Organizational requirements
Reliability of access
The system should be reliably accessed over the institution intranet system or
World Wide Web. It can be assumed that the hardware linking the computers is
dependable.
Conformance
The database to be used shall closely conform to or can be easily integrated to
the current database system used by the institution.
Page 120 of 252
Scalability
The system shall use a database that is scalable. It is expected that MySQL will
be used in the future because it is open source and no budget concern is
required.
4.3.4
External requirements
Interoperability
There are many systems already in use in the institution. The system should
provide features to enable data to be transferable between these systems.
Satisfaction
The system should make the students, lecturers and administrators of the school
satisfied, which leads to increased productivity.
Modularity
The system should be able to operate on its own. It is independent of all other
software systems except the underlying operating system.
Affordability
The system should use technology that is fully open source. There is no need to
use high-end technology, as long as it performs the tasks well.
Page 121 of 252
4.4
System Tools Requirement
4.4.1
Hardware Requirements
The hardware requirement for the IQBAES system can be categorised into two
categories, which are:
Development Machine
The development of IQBAES is done on a machine with Intel® Pentium®
M processor 1400MHz 1.4GHz 512 MB of RAM. This is the propose
requirement for development pertaining to the various tools that will be used
during the development phase.
Web Hosting Machine
This machine will eventually be used to host the entire IQBAES system
with application server and database server installed on the same machine.
However, it is also feasible to install application server and database server
on two difference machines in order to increase the performance load on
each machine or to ease the task of load balancing or clustering in future.
The propose hardware requirement for IQBAES as follow:
Red Hat Linux Server with specification:
250GB of Server Space
Red Hat Linux Operating System Version 9.0
1 Dedicated IP Address
Support one Domain Name
Anti Virus for protection
Unlimited Bandwidth Usage
Page 122 of 252
FTP Access 24/7
MySQL Databases
Support TOMCAT / JBoss
Daily Backup
OR
Windows 2000 Advance Server with specification:
250GB of Server Space
Windows 2000 Advance Server
1 Dedicated IP Address
Support one Domain Name
Anti Virus Protection
Unlimited Bandwidth Usage
FTP Access 24/7
MySQL Databases
Support TOMCAT / JBoss
Daily Backup
Page 123 of 252
4.4.2
Software Requirements
The software requirement for the IQBAES system can also be categorised into
two categories, which are:
Development Machine
The development of IQBAES is done on this machine. Hence, the following
tools will be required during the development of IQBAES:
Java 2 SDK, SE v1.4.2_06
Java 2 Runtime Environment, SE v1.4.2_06
Internet Explorer
MySQL Servers and Clients 4.0.18
MySQL-Front 2.5
Tomcat Catalina 4.1
Log4j
Ant 1.5
JDBC Driver
JFreeChart
Eclipse 3.0
Page 124 of 252
Web Hosting Machine
This machine will be used to host the entire IQBAES system. Hence, the
following tools will be required for hosting IQBAES:
Java 2 SDK, SE v1.4.2_06
Java 2 Runtime Environment, SE v1.4.2_06
Internet Explorer
MySQL Servers and Clients 4.0.18
Tomcat Catalina 4.1
Log4j
JDBC Driver
JFreeChart
Page 125 of 252
4.4.3
Development Tools
The following tools will be used to develop the IQBAES:
Java 2 SDK, SE v1.4.2_06
Java 2 Runtime Environment, SE v1.4.2_06
Internet Explorer
MySQL Servers and Clients 4.0.18
MySQL-Front 2.5
Tomcat Catalina 4.1
Log4j
Ant 1.5
JDBC Driver
JFreeChart
Eclipse 3.0
Page 126 of 252
5
SYSTEM DESIGN AND DETAILED DESIGN
System design is a phase of transforming the system requirements to solutions or system
characteristic. Design of system takes place at two levels: system design and detailed
design. System design is concerned with the overall architecture of the system. Detailed
design is concerned with designing individual components to fit this architecture. In an
object-oriented system, the detailed design is mainly concerned with the design of objects
(class design). These two levels of design are described briefly in the following section.
5.1
System Architecture
IQBAES will be using a three-tier system architecture design. The conceptual
architecture of the three-tier application applies when we split an application across three
tiers. The system is split into three logical components: user interface, computational
logic and data storage. In reality, the three-tier web applications generally consist of a
web browser for the user interface, a web server connected to a middle tier application
and a persistent store that is frequently a relational database. The main purpose of having
three-tier architecture is to assign main functionality to each tier to ensure no function
overlapped. Different people could handle each tier using different languages. Therefore,
whenever there is error or system fault occurs, the problems can be detected and fixed
easily without interfering with other tier.
5.2
System Design
System design reflects the overall architecture of the system. Design of IQBAES system
takes place at two levels: IQBAES Framework Design and IQBAES System Design.
These levels are described as below. As IQBAES framework is designed based on Struts
framework, a brief explanation of Struts Framework is also described as below.
Page 127 of 252
5.2.1
Struts Framework
The Struts Framework is a standard for developing web applications. It is designed based
on the Model-View-Controller (MVC) design paradigm, distinctly separating all three
levels:
Model: application state
View: presentation of data (JSP, HTML)
Controller: routing of the application flow
It implements the JSP Model 2 Architecture and stores application routing information
and request mapping in a single core file, struts-config.xml. The Struts Framework itself
only fills in the View and Controller layers. The Model layer is left to the developer.
Figure 24 – Struts Framework Architecture
The Struts servlet controller will intercept all incoming requests. The Struts configuration
file struts-config.xml is used by the controller to determine the routing of the flow. This
flow consists of an alternation between two transitions:
From View to Action - A user clicks on a link or submits a form on an HTML or JSP
page. The controller receives the request, looks up the mapping for this request, and
forwards it to an action. The action in turn calls a Model layer (Business layer) service or
function.
Page 128 of 252
From Action to View - After the call to an underlying function or service returns to the
action class, the action forwards to a resource in the View layer and a page is displayed in
a web browser.
The diagram below describes the flow in more detail:
Figure 25 – Struts Sequence Diagram
1. User clicks on a link in an HTML page.
2. Servlet controller receives the request, looks up mapping information in strutsconfig.xml, and route to an action
3. Action makes a call to a Model layer service
4. Service makes a call to Data layer (database) and the requested data is returned.
5. Service returns to an action
6. Action forwards to a View resource (JSP page)
Page 129 of 252
7. Servlet looks up the mapping for the requested resource and forwards to an
appropriate JSP page.
8. JSP file is invoked and sent to the browser as HTML
9. User is presented with a new HTML page in a web browser.
5.2.2
IQBAES Framework Design
IQBAES framework is a web application framework builds from open source technology
which based on the Model-View-Controller Model 2 standard and design patterns. This
framework is a set of cooperating classes, servlets and JSP tags that make up a reusable
MVC Model 2 design. This implies that IQBAES framework is framework rather than a
library. It also contains an extensive tag library and utility classes that work
independently of the framework. It is developed mainly for building J2EE application.
This framework consists of a group of generic components which can either be self
sustain or plug-in together to become functional. With the self-sustainability of the
generic components, the IQBAES framework can evolve with on going advancing of
technology where the obsolete component can be replaced with new components. This
framework has been developed with the similar idea of Struts Framework.
The Model-View-Controller (MVC) design pattern is used to design IQBAES framework
because it helps to resolve some of the issues with the single module approach by
dividing the problem into 3 categories:
Model
The model contains the core of the application's functionality. The model
encapsulates the state of the application. It knows nothing about the view or
controller.
View
The view provides the presentation of the model. In addition, it knows nothing about
the controller. The view should be notified when changes to the model occur.
Page 130 of 252
Controller
The controller reacts to the user input. It creates and sets the model
Figure below illustrates the Model-View-Controller (MVC) design pattern:
Figure 26 – MVC design pattern
The MVC model 2 is used to design IQBAES framework instead of model 1. This is
because Model 1 and Model 2 differ essentially in the location at which the bulk of the
request processing is performed. In the Model 1 architecture, the java server page alone
is responsible for processing the incoming request and replying back to the client. There
is still separation of presentation from content, because all data access is performed using
beans. Model 1 architecture is more suitable for simple applications but it may not be
desirable for complex implementations. Improper use of this architecture usually leads to
a significant amount of scriptlets or Java code embedded within the JSP page.
Page 131 of 252
Figure below describe how the Model 1 works:
Figure 27 – Model 1 design pattern (from Sun Micro-system)
Model 2 is used in IQBAES framework development because model 2 is actually a
hybrid approach for serving dynamic content. It combines the use of both servlet and JSP.
Page 132 of 252
Figure below shows how the model 2 works:
Figure 28 – Model 2 design pattern(from Sun Micro-system)
The servlet will perform process-intensive tasks. It acts as the controller. It is in charge of
the request processing. It creates any beans or objects used by the JSP. It will decide
which JSP page to forward the request to depending on the user's actions. The JSP in turn
generates the presentation layer. It has no processing logic. It is mainly responsible for
retrieving any objects or beans that may have been previously created by the servlet. It
will extract the dynamic content from the servlet for insertion within static templates.
With this model 2 design pattern, it typically results in the cleanest separation of
presentation from content. It leads to clear delineation of the roles and responsibilities of
the developers and page designers.
Page 133 of 252
Figure 29 – IQBAES Framework Overview
The client browser will trigger a HTTP request. The Web container will respond with an
HTTP response. The controller will receive the request from the browser, and makes the
decision where to send the request. With IQBAES framework, the controller is
implemented as a servlet. The IQBAES.config.xml file will configure the controller. The
business logic updates the state of the model and helps control the flow of the application.
In IQBAES framework, this is done with an Action class as a thin wrapper to the actual
business logic. The actual business logic is encapsulated inside the IQBAESManager
class. The model represents the state of the application. The business objects update the
application state. The Action classes represent the Model state at a session or request
level. The hibernate classes represent the model state at the persistent level. The JSP file
reads information from the Action classes using JSP tags. The view is simply a JSP file
with no flow logic, no business logic, and no model information. The diagram below
describes the flow in sequence diagram format.
Page 134 of 252
Figure 30 – IQBAES Framework Flow
IQBAES framework was developed with the reuse and plug-in concept in mind. A few
reusable generic components were identified and these components have been built into
the kernel layer of this framework so that any vertical component build on top of
IQBAES’s base layer can utilize the component by calling its API. This framework will
serve as the baseline for any application development to avoid reinventing the wheel of
development for every new development work. Figure below illustrates the IQBAES
framework in graphical view.
Page 135 of 252
Figure 31 – IQBAES Framework
As depict from Figure 31 above, base classes and kernel classes serve as the base for this
framework. These two components will make up the core functionality of the framework.
For instance, database connection holder, session handler, property holder, message
template and message holder are java classes that reside in this layer, which are reusable
across the platform. Any application that builds on top of this framework can make use of
these classes for database connection, session management, message management and
etc.
User Management Class library is a module or layer that builds on top of this core
classes. By utilizing these user management classes as a reusable component, a system,
Page 136 of 252
which requires user management and / or user role management functionality, can call the
respective API to invoke and implement the user management module.
Other vertical components like Utility, CoreMsg, Validator and Menu can be customized
in accordance to the needs of the developed system. For instance, the validator classes
can be customized to provide the desire messages for fields’ validation on screen. Menu
can be customized to include only the necessary menu items. Utility classes can be
utilized by developer to customize the date format, the content of a message in plain text,
Html format and etc. All these reusable components can be reused for creating other web
application.
5.2.3
IQBAES System Design
Intelligent Question Bank and Examination System is developed on top of IQBAES
framework that we discussed in section 5.2.2. Hence, this system will make use the
client-server architecture in which the work of the system is divided between clients and
server. The IQBAES design is divided into multiple tiers: the client tier, the middle tier
and the backend tier. Partitioning the design into tiers allows IQBAES to choose the
appropriate technology for a given situation. Each of the three tiers plays a specific role
in the design.
With this, IQBAES make use of html and JSP pages in the clients tier as the view
component. The client tier is responsible for representing the data to the user, interacting
with the user, and communicating with the other tiers of the system. In this case, the
client tier is the only part of the system visible to the user. The user will be able to access
IQBAES’s client’s tier through their web browser.
The middle tier is responsible for processing. IQBAES’s controller servlet in this case
serves as the controller to control the traffic flow within the system. For every
HttpRequest and HttpResponse that controller servlet received, it will refer to the
config.xml to determine the action classes and manager classes that the request or
Page 137 of 252
response should be routed to. Action classes will then interact with the backend objects or
classes (hibernate generated classes) to access the MySQL database. Hibernate is an
object-relational mapping solution. It serves as a bridge between object and relational
database (acts as the interface between the middle tier and backend tier). With hibernate,
it allows this system to express queries using native SQL or java-based criteria queries.
Every relational table in database is mapped to a specific hibernate class or hibernate
object. Hence, every hibernate object will behave just like the table in the database.
IQBAES can query the object instead of query the database’s table with native SQL.
With this technology, it can reduce the connectivity to database and consequently reduce
the connection pooling related issue and tremendously reduce database deadlock problem
when too many connection was established to the database especially during student
sitting for the examination. This technology will give more advantages to the system that
have heavy loaded concurrent access.
The backend tier is the system information infrastructure. This tier includes relational
database management system. In such a case, IQBAES make use of MySQL as the
DBMS. This backend tier provides a layer of software that maps existing data and
application resources into the design of IQBAES. Graphical view of IQBAES system
architecture is shown in the Figure 32 – IQBAES System Architecture and the
implementation of IQBAES system is shown in Figure 33 – Implementation of IQBAES
system.
Page 138 of 252
Figure 32 – IQBAES System Architecture
Page 139 of 252
Figure 33 – Implementation of IQBAES system
5.3
IQBAES Security Design
On the whole lecturers are still wary of setting examinations online. When the students
are off-site the main concern is with student authentication. It is important to know that
who is exactly ‘pushing the buttons’ in the examination. Even though there is no way to
ensure the identity of a student at the remote assessment site the greater the concern to
many lecturer is how to ensure that students did not receive outside assistance to improve
their test score. Where examinations are conducted in a laboratory environment it needs
to be recognized that computer labs are rarely set up for testing. Wintington (1999)
argues that all computers to be used under exam conditions need to be audited. Computer
connected to the Internet are difficult to make secure and safety issues are particularly
important in longer exams.
Page 140 of 252
With the only use of password as a security protection is inadequate in examination
environment. Standard password protection schemes are used for access prevention but
not for authentication (no password - no access, but if you have one, you can be
anybody). It will rely on the password owner keeping it secret.
Hence, I would like to propose the following examination procedure as a security
measurement in IQBAES.
Before Examination Session Start:
Invigilator logs in to server, obtains session code
Invigilator enters session code to his/her workstation
Candidate list with authentication codes is produced
Invigilator logs into each workstation.
Log-in script starts browser with overlay windows (Figure 34 – Overlay Browser)
Short-cuts and external access is disabled. Browser displays initial dialog screen.
After Examination Session Start:
Candidates enter the room in any order when a workstation is free
Each candidate presents an ID and gets the authentication code.
He or she proceeds to a free workstation
Enters name and authentication code
Initial dialog screen communicates login data to server
Server checks and then invalidates authentication code
Server display the examination questions
Candidate enters his or her answers
Session terminates, candidate leaves browser displays initial dialog.
Page 141 of 252
Figure 34 – Overlay Browser
5.4
Detailed Design
Having investigated the behavior of our domain, it is now necessary to discover a mean
to give detail to IQBAES domain classes. After consultation with Mr. Ang Tan Fong
regarding the details of the class diagrams that should be covered in this report, it was
decided that this report would endeavour to give more emphasis on the detail design on
the aspect of user role management, question bank and examination system. The
following diagrams show the detail class design of user role management, question bank
and examination system in IQBAES.
Page 142 of 252
5.4.1
User Role Management Class Diagram
Having gathered some objects involved in different scenarios, classes are abstracted from
the objects that we have discovered. Classes are represented with a square box containing
three segments. All classes that are related in purpose are grouped and arranged into
packages. Figure 35 – Hierarchy diagram of BaseRole depicts the hierarchy of multiple
roles in IQBAES. Student, Lecturer, Admin and User roles in the system are extending
the base role from IQBAES framework.
Figure 35 – Hierarchy diagram of BaseRole
In Figure 36 – User Role Management Classes and Figure 37 – User Role Listing
Classes, it describes the user role management classes and user role listing classes
respectively in IQBAES. Figure 36 – User Role Management Classes illustrate the group
of classes that interact together to serve the purpose of role management in the system.
Whereas Figure 37 – User Role Listing Classes describe the classes that work together
for listing the entire roles in the system. These classes will list the entire roles available in
the system and subsequently enable System Administrator to maintain system users with
their respective roles.
Page 143 of 252
Figure 36 – User Role Management Classes
Page 144 of 252
Figure 37 – User Role Listing Classes
Page 145 of 252
5.4.2
Examination System Collaboration Diagram
Figure 38 – Collaboration diagram of Examination System
The collaboration diagram shown in Figure 38 – Collaboration diagram of Examination
System shows the situation where student sits for the examination and how IQBAES
picks up questions with varying complexity and includes those questions in the
examination and assigns to user as per level.
Page 146 of 252
5.4.3
Examination System Sequence Diagram
Figure 39 – Sequence diagram of Examination System
Sequence diagram are used to show scenarios from the use cases discovered during use
case modelling. A scenario represents an instance of a use case that user might navigate
along when performing a use case. It represents the duration in time that an activity takes
place and also the control relationship between the caller and the activation.
Page 147 of 252
5.4.4
Examination System Class Diagram
Figure 40 – Class diagram of Examination System
Figure above illustrates the association and dependency between classes that take place in
the examination system.
Page 148 of 252
5.4.5
Package Dependency Diagram
Figure 41 – Package Dependency of IQBAES
Figure above illustrates the packages dependency in IQBAES system.
Page 149 of 252
5.5
Entity Relationship Diagram
This section is an entity-relationship diagram, or “ERD,” for IQBAES. An ERD is a
model that identifies the concepts or entities that exist in a system and the relationships
between those entities. An ERD is often used as a way to visualize a relational database:
each entity represents a database table, and the relationship lines represent the keys in one
table that point to specific records in related tables. ERDs may also be more abstract, not
necessarily capturing every table needed within a database, but serving to diagram the
major concepts and relationships. This ERD is of the latter type, intended to present an
abstract, theoretical view of the major entities and relationships needed for IQBAES. The
Entity Relationship Diagram shows the data stores that have been identified during data
analysis of the system. These data stores constitute the main repository of data for the
system. They clearly reflect the functionality described above. Section 5.6 gives the
details for each table, regarding fields and keys. There are several different modelling
systems for entity relationship diagramming. This ERD is presented in the common ERD
notation.
5.5.1
Entities
Entities are concepts within the data model. Each entity is represented by a box within
the ERD. Entities are abstract concepts, each representing one or more instances of the
concept in question. An entity might be considered a container that holds all of the
instances of a particular thing in a system. Entities are equivalent to database tables in a
relational database, with each row of the table representing an instance of that entity.
5.5.2
Relationships
Relationships are represented by lines between entities. Relationship lines indicate that
each instance of an entity may have a relationship with instances of the connected entity,
and vice versa. If necessary, a relationship line may be labelled to define the relationship.
Page 150 of 252
5.5.3
Optionally and Cardinality
Symbols at the ends of the relationship lines indicate the optionally and the cardinality of
each relationship.
“Optionally” expresses whether the relationship is optional or
mandatory. “Cardinality” expresses the maximum number of relationships.
As a relationship line is followed from an entity to another, near the related entity two
symbols will appear. The first of those is the optionally indicator. A circle ( )
indicates that the relationship is optional—the minimum number of relationships between
each instance of the first entity and instances of the related entity is zero. One can think
of the circle as a zero, or a letter O for “optional.” A stroke ( | ) indicates that the
relationship is mandatory—the minimum number of relationships between each instance
of the first entity and instances of the related entity is one.
The second symbol indicates cardinality. A stroke ( | ) indicates that the maximum
number of relationships is one.
A “crows-foot”
(
) indicates that many such
relationships between instances of the related entities might exist.
The following diagram indicates all of the possible combinations:
A
B
Each instance of A is related to a minimum of
zero and a maximum of one instance of B
A
B
Each instance of B is related to a minimum of
one and a maximum of one instance of A
A
B
Each instance of A is related to a minimum of
one and a maximum of many instances of B
A
B
Each instance of B is related to a minimum of
zero and a maximum of many instances of A
Figure 42 - Crows-foot Notation
Page 151 of 252
5.5.4
Bridge Entities
When an instance of an entity may be related to multiple instances of another entity and
vice versa, that is called a “many-to-many relationship”. While this relationship model is
perfectly valid, it cannot be translated directly into a relational database design. In a
relational database, relationships are expressed by keys in a table column that point to the
correct instance in the related table. A many-to-many relationship does not allow this
relationship expression, because each record in each table might have to point to multiple
records in the other table.
In order to build a relational database that captures this relationship, it is necessary to
build a bridge between the two entities that uniquely expresses each relationship instance.
This can be modelled in an ERD with a “bridge entity,” an entity box containing a
diamond, which may replace the many-to-many relationship. (The diamond is used in
other ER modelling systems to indicate relationships, or may be viewed as the joining—
the bridge—of the many-to-many “crows-feet”).
In addition to explicitly depicting a relational database structure that can capture a manyto-many relationship, the bridge entity has an additional function in abstract entityrelationship modelling: A bridge entity may capture attributes that are specific to the
relationship between instances of the bridged entities. Any attributes that are dependent
on the relationship would be associated with the relationship’s bridge entity.
Page 152 of 252
5.5.5
Recursive Relationships
Instances of entities may have relationships with other instances of the same entity.
These relationships may be drawn with relationship lines that begin and end connected to
the same entity.
Common occurrences of these recursive relationships include
parent/child relationships.
5.5.6
Multiple Relationships Between Entities
An entity may have multiple relationships with another entity. These are depicted in the
ERD with multiple relationship lines connecting the two entities
5.5.7
Entity Subtypes
There are times when it is convenient to depict relationships that apply to an entire class
of things, as well as depict relationships that apply only to certain types of the larger
class. Entity subtypes accommodate these relationship depictions. In the ERD, entity
subtypes may be depicted by entity boxes shown within larger entity boxes. The large
entity represents the class, and the smaller boxes depict the subtypes.
5.5.8
Exclusive-Or Relationship
If an entity instance may have either one relationship or another, but not both, the
constraint may be modelled with an exclusive-or relationship, represented as a tree with a
solid dot where the tree branches.
5.5.9
User Role Management E-R Diagram
The following diagram is the complete Entity Relationship Diagram for Intelligent
Question Bank And Examination System. It presents an abstract, theoretical view of the
major entities and relationships needed for IQBAES. This entity-relationship diagram
depicts the major concepts and relationships needed for IQBAES. It is neither a complete
data model depicting every necessary relational database table, nor is it meant to be a
Page 153 of 252
proscriptive design for implementations of IQBAES. Figure 43 – User Role Management
E-R Diagram shows the E-R Diagram for user role management in IQBAES.
Figure 43 – User Role Management E-R Diagram
Page 154 of 252
5.5.10 Examination Management E-R Diagram
Figure 44 – Examination Management E-R Diagram shows the E-R Diagram for
examination management in IQBAES.
Figure 44 – Examination Management E-R Diagram
Page 155 of 252
5.5.11 Question Bank E-R Diagram
Figure 45 – Question Bank Management E-R Diagram shows the E-R Diagram for
question bank management in IQBAES
Figure 45 – Question Bank Management E-R Diagram
Page 156 of 252
5.5.12 Question System E-R Diagram
Figure 46 – Question System E-R Diagram shows the E-R Diagram for question
system in IQBAES.
Figure 46 – Question System E-R Diagram
Page 157 of 252
5.6
Data Dictionary
The data dictionary is the repository of all elements in the system. The following list
shows all the tables in the IQBAES database (database schema). This database schema
gives the details for each table, regarding fields and keys. Some table might not be used
now but exist in the current IQBAES database for future expansion.
Table 8 – chapter
Field
Id
Name
CourseId
CreatedDate
CreatedBy
ModifiedDate
ModifiedBy
Type
String
String
String
Date
String
Date
String
Comment
System generated unique id
Chapter name
Course unique id
Table 9 – classschedule
Field
Id
ClassId
StartDateTime
EndDateTime
CreatedDate
CreatedBy
ModifiedDate
ModifiedBy
Type
String
String
Date
Date
Date
String
Date
String
Comment
System generated unique id
Classroom unique id
Page 158 of 252
Table 10 – country
Field
Id
Name
CreatedDate
CreatedBy
ModifiedDate
ModifiedBy
Type
String
String
Date
String
Date
String
Comment
System generated unique id
Country name
Table 11 – course
Field
Id
Code
Name
ProgramId
SemesterId
GradeId
LecturerId
CreditHours
CreatedBy
ModifiedDate
ModifiedBy
Type
String
String
String
String
String
String
Date
String
String
Date
String
Comment
System generated unique id
Course code
Course name
Program unique id
Semester unique id
Grade unique id
Lecturer unique id
Course credit hours
Table 12 – courseenrolment
Field
Id
StudentId
CourseId
semesterDateId
CreatedDate
CreatedBy
ModifiedDate
ModifiedBy
Type
String
String
String
String
Date
String
Date
String
Comment
System generated unique id
Student unique id
Course unique id
Semester date unique id
Page 159 of 252
Table 13 – coursetype
Field
Id
name
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
String
Date
String
Comment
System generated unique id
Course type name
Table 14 – department
Field
Id
name
facultyId
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
Date
String
Date
String
Comment
System generated unique id
Department name
Faculty unique id
Table 15 – exam
Field
examId
semesterDateId
programId
courseId
gradeId
description
noOfQuestion
duration
startDate
startTime
endTime
status
Type
String
String
String
String
String
String
Integer
String
Date
String
String
String
Comment
System generated unique id
Semester date unique id
Program unique id
Course unique id
Grade unique id
Page 160 of 252
createdDate
createdBy
modifiedDate
modifiedBy
Date
String
Date
String
Table 16 – exammanager
Field
id
examId
studentId
questionPass
questionFail
grade
questionId
level
isAnswer1
isAnswer2
isAnswer3
isAnswer4
isAnswer5
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
Integer
Integer
String
String
String
Integer
Integer
Integer
Integer
Integer
Date
String
Date
String
Comment
System generated unique id
Exam unique id
Student unique id
Question correct/wrong flag
Question correct/wrong flag
Question unique id
Table 17 – examsummary
Field
id
examId
studentId
level
status
QCounter
createdDate
Type
String
String
String
String
String
Integer
Date
Comment
System generated unique id
Exam unique id
Student unique id
Question Counter for each student exam
Page 161 of 252
createdBy
modifiedDate
modifiedBy
String
Date
String
Table 18 – faculty
Field
id
name
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
String
Date
String
Comment
System generated unique id
Faculty name
Table 19 – gender
Field
id
name
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
String
Date
String
Comment
System generated unique id
Gender name (E.g. Male/Female)
Table 20 – gradedetail
Field
id
masterId
fromMark
toMark
grade
cgpa
description
status
createdDate
createdBy
Type
String
String
Integer
Integer
String
String
String
String
Date
String
Comment
System generated unique id
Office address of the provider
Mark range from
Mark range to
Pass/Fail
Page 162 of 252
modifiedDate
modifiedBy
Date
String
Table 21 – grademaster
Field
id
code
name
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
Date
String
Date
String
Comment
System generated unique id
Grade code
Grade Name
Table 22 – intake
Field
id
intakeNo
startDate
endDate
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
Date
Date
String
Date
String
Comment
System generated unique id
Intake No
Intake start date
Intake end date
Table 23 – lecturer
Field
id
code
name
qualification
address
email
telNo
Type
String
String
String
String
String
String
String
Comment
System generated unique id
Lecturer code
Lecturer name
Page 163 of 252
faxNo
createdDate
createdBy
modifiedDate
modifiedBy
String
Date
String
Date
String
Table 24 – levelofdifficulty
Field
id
questionId
weightFactor1
weightFactor2
weightFactor3
noOfCondition
noOfDownwardEdges
noOfUpwardEdges
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Integer
Integer
Integer
Integer
Integer
Integer
Date
String
Date
String
Comment
System generated unique id
Table 25 – majordetail
Field
id
masterId
courseId
minMark
minGrade
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
String
String
Date
String
Date
String
Comment
System generated unique id
Major master table unique id
Course unique id
Page 164 of 252
Table 26 – majormaster
Field
id
name
code
programId
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
String
Date
String
Date
String
Comment
System generated unique id
Major name
Major code
Table 27 – maritalstatus
Field
id
name
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
String
Date
String
Comment
System generated unique id
Single/Marriage
Table 28 – nationality
Field
id
name
countryId
createdDate
createdBy
modifiedDate
modified By
Type
String
String
String
Date
String
Date
String
Comment
System generated unique id
Nationality name
Country unique id
Page 165 of 252
Table 29 – placeofbirth
Field
id
name
stateId
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
Date
String
Date
String
Comment
System generated unique id
Place of birth name
State unique id
Table 30 – program
Field
id
name
code
facultyId
departmentId
programTypeId
creditHours
coordinatorId
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
String
String
String
String
String
Date
String
Date
String
Comment
System generated unique id
Program name
Program code
Faculty unique id
Department unique id
Program type unique id
Credit Hours
Lecturer unique id
Table 31 – programtype
Field
id
name
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
String
Date
String
Comment
System generated unique id
Program type name
Page 166 of 252
Table 32 – questionbank
Field
id
programId
courseId
chapterId
topicId
problemType
parameter
answers
difficultyId
subQuestionListID
subQuestionParameters
isMultiple
question
option1
option2
option3
option4
option5
fileName
mark
isOption1
isOption2
isOption3
isOption4
isOption5
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
String
String
String
String
String
String
String
String
Integer
String
String
String
String
String
String
String
String
Integer
Integer
Integer
Integer
Integer
Date
String
Date
String
Comment
System generated unique id
Program unique id
Course unique id
Chapter unique id
Topic unique id in knowledge map
Question difficulty unique id
Question is of type multiple choice
Answer option 1
Answer option 2
Answer option 3
Answer option 4
Answer option 5
Page 167 of 252
Table 33 – race
Field
id
name
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
String
Date
String
Comment
System generated unique id
Race name
Table 34 – religion
Field
id
name
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
String
Date
String
Comment
System generated unique id
Religion name
Table 35 – resoccupancy
Field
id
resourceId
occupancyId
occupancyType
startDateTime
endDateTime
description
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
String
Date
Date
String
Date
String
Date
String
Comment
System generated unique id
Resource unique id
Occupancy unique id
Page 168 of 252
Table 36 – resource
Field
resourceId
name
resourceTypeId
location
remark
maxSeatNo
computerNo
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
String
String
Integer
Integer
Date
String
Date
String
Comment
System generated unique id
Lecturer name
Table 37 – resourcetype
Field
id
name
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
String
Date
String
Comment
System generated unique id
Resource type name
Table 38 – salutation
Field
id
name
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
String
Date
String
Comment
System generated unique id
Salutation name
Page 169 of 252
Table 39 – semester
Field
id
intakeId
semesterNo
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Integer
Date
String
Date
String
Comment
System generated unique id
Inteke unique id
Semester no
Table 40 – semesterdate
Field
id
name
semesterNo
startDate
endDate
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Integer
Date
Date
Date
String
Date
String
Comment
System generated unique id
Semester Date name
Table 41 – state
Field
id
name
countryId
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
Date
String
Date
String
Comment
System generated unique id
State name
Country unique id
Page 170 of 252
Table 42 – student
Field
studentId
status
dateEnrolled
name
salutationId
studentNo
isLocal
ICPassport
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
Date
String
String
String
Integer
String
Date
String
Date
String
Comment
System generated unique id
Enrolment date
Salutation unique id
Table 43 – studentcourse
Field
id
studentId
courseId
semesterId
status
semesterDateId
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
String
String
String
Date
String
Date
String
Comment
System generated unique id
Student unique id
Course unique id
Semester unique id
Semester date unique id
Table 44 – studentcoursehistory
Field
id
studentCourceId
status
description
Type
String
String
String
String
Comment
System generated unique id
Student course unique id
Page 171 of 252
actedBy
actedDate
String
Date
Table 45 – studentdetail
Field
studentId
age
maritalStatusId
genderCode
dateOfBirth
placeOfBirthId
religionId
raceId
nationalityId
contactAddress
contactPostcode
contactTown
contactState
contactCountry
contactTelNo
homeAddress
homePostCode
homeTown
homeState
homeCountry
homeTelNo
hpNo
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
Integer
String
String
Date
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
Date
String
Date
String
Comment
Studeny unique id
Marital status unique id
Place of birth unique id
Religion unique id
Race unique id
Nationality unique id
Page 172 of 252
Table 46 – studentprogram
Field
id
studentId
programId
intakeId
status
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
String
String
Date
String
Date
String
Comment
System generated unique id
Student unique id
Program unique id
Intake unique id
Table 47 – studentprogramhistory
Field
id
studentProgramId
status
description
actedBy
actedDate
Type
String
String
String
String
String
Date
Comment
System generated unique id
Student program unique id
Table 48 – studentsemester
Field
id
studentId
intakeid
semesterId
semesterDateId
semesterStatus
programId
examStatus
description
createdDate
createdBy
Type
String
String
String
String
String
String
String
String
String
Date
String
Comment
System generated unique id
Student unique id
Intake unique
Semester unique id
Semester date unique id
Semester status
Program unique id
Page 173 of 252
modifiedDate
modifiedBy
Date
String
Table 49 – t_grp_reg
Field
id
group_id
user_id
createdDate
createdBy
Type
String
String
String
Date
String
Comment
System generated unique id
Table 50 – t_property_holder
Field
id
code
value
Type
String
String
String
Comment
System generated unique id
Table 51 – t_role_reg
Field
id
role_id
entity_id
entity_type
created_date
created_by
Type
String
String
String
String
Date
String
Comment
System generated unique id
Table 52 – t_user
Field
id
user_id
first_name
last_name
Type
String
String
String
String
Comment
System generated unique id
Page 174 of 252
email
password
created_date
created_by
Modified_date
Modified_by
String
String
Date
String
Date
String
Table 53 – t_user_group
Field
group_id
name
description
created_date
created_by
modified_date
modified_by
Type
Comment
String
String
String
Date
String
Date
String
Table 54 – t_user_group_child
Field
group_id
child_id
Type
Comment
String
String
Table 55 – town
Field
id
name
stateId
createdDate
createdBy
modifiedDate
modifiedBy
Type
String
String
String
Date
String
Date
String
Comment
System generated unique id
Page 175 of 252
6
6.1
SYSTEM IMPLEMENTATION AND TESTING
Introduction
In the process of system implementation, the system requirements are converted to
program codes. This is the software development phase that is concerned with the
development environment.
6.2
Development Environment
During the early stages of development, various tools were tested to ensure the suitability
of the tools to the task. This is rather and important phase that precedes the actual
development itself. There is a need to discover what tools are available, and to test out
those tools that operate in the hardware and software development platform.
Admittedly, this phase took up a great deal of time in the search for the right
development tools. Tools and development environments need to fit into the available
resources. On the other hand, it may be necessary to acquire new equipment to properly
execute new tools.
The development and implementation were conducted in two locations:
•
Development Environment
The development activities were conducted at home and in this case home serves
as the main development environment.
•
Field Trial Environment
The developed system was then transported over to the actual environment
(university environment) for testing and implementation. Obviously, there were
problems that were encountered in transporting between the two environments.
Page 176 of 252
6.2.1
Hardware Environment
The following hardware specifications have been used to develop the IQBAES system.
There are two sets of development machines at home - 1 physical pc and 1 virtual pc.
Virtual pc was installed with Red Hat Linux 9.0 Operating System for testing IQBAES’s
compatibility on Linux platform. Each of which has the following configurations:
a. Intel Pentium III Processors running at 900 MHz
b. 512 MB RAM
c. 40GB Hard Disk
d. Standard hardware for IBM PC compatible machine
These two sets of machine also act as the client and server machine. Initially, the
physical machine, which was installed with Windows 2000 OS, was used as the server
whereas the Linux machine served as the client. This arrangement was then being
swapped, where Windows machine was interchanged with Linux machine to act as the
client and Linux machine served as the server. Again, the main purpose of swapping the
machine with different operating system was to make sure that IQBAES was fully
compatible with both of the platform.
6.2.2
Software Environment
A wide variety of software tools was used in the development of IQBAES. Many of these
tools could be obtained free from the Internet open source domain. Those tools used to
build this system were fully open source except the Windows operating system on which
the system running on was commercially available.
Page 177 of 252
The list of tools use in IQBAES is listed as below:
Table 56 – Software Technology Listing
Software Category
Operating System
Software Name
Microsoft
Features
Platform for IBAES system
Windows 2000,
Microsoft
Windows XP
Professional, Red
Hat Linux 9.0
Application Server
Web Server
Tomcat Catalina
Application server that host the IQBAES
4.1
system
Apache Web
Web server that used to host IQBAES web
Server
pages
Software Development Eclipse 3.0.1 IDE
Tool used for coding
Tools
Database Server
MySQL 4.0.14
IQBAES was hosted on this database
server
Database Client
MySQL-Front 2.5 Tools use to connect to MySQL database
server and browse the database schema
Web Browser
Internet Explorer
Client browser used to access the IQBAES
6.0, Netscape
web-site
UML
MagicDraw
For drawing UML diagram
Deployment Tools
Apache Ant
Build tools for compilation and deployment
to application server
Logging Tools
Log4j
Library for keep track of the system log file
Database Access
Hibernate
Object-relational persistence database layer
Layer
Page 178 of 252
6.2.3
Development with Provision for Disaster Recovery and Mirroring
It is to be noted that the development process has made provision for disaster recovery.
The impetus for this pattern of disaster recovery was driven by several disasters that had
happened before in the development process. The Reasons for the disaster recovery
Development Plan is to support continuous development so that development will
proceed with minimal down time in the case of a disaster. Development can be mirrored
in two locations. Sometimes it is necessary to port development from one location to
another, such as from home to office and back. The hardware and software configurations
in section 6.2.1 and 6.2.2 must be set up in both locations. The mirroring of the
development platform in this case need not be simultaneous or synchronous, as long as
the full development platform is available at two sites at different times. This is
asynchronous mirroring of the development platform.
Disasters in the development process can hinder the continuity of the project and can
arise as a result of many factors, including the following situations:
Virus attack. Since this development involves using the Internet, new viruses could
destroy all data and development in a network. There was a situation that happened
before where both the development servers and workstation was infected with viruses
requiring a reformat of all the affected hard disks.
Hard Disk Failure. A failure in the development hard disk can terminate
development, resulting in partial or total loss of the development software.
Theft. Burglary could cripple a development environment, with the loss of vital
equipment and software at the affected site.
These are real life development concerns that we have encountered, and provisions have
been made to recover from these situations with a minimal down time. The mirrored site
was able to support continued development while the damaged site was being restored.
Page 179 of 252
6.2.4
Implementation Environment
The system has been implemented in one of the computer laboratory of Inti College
Malaysia, Negeri Sembilan. The Layout of the computers is shown in Figure 47 – ICM
Computer Laboratory Layout below. There is an application server and a variety of
clients using only a Web Browser (IE6.0 for Windows client and Netscape for Linux
client) each.
Figure 47 – ICM Computer Laboratory Layout
Page 180 of 252
6.2.5
System Development
The development strategy is a top-down approach, where the most important components
were first developed. Specifically, the IQBAES framework was developed at an early
stage of the development. Then the IQBAES system (IQBAES system sub-modules) was
developed later. Overall, the development plan is built in layers from the top, as mapped
out in the development strategy shown in Figure 48 – Top-Down Development Strategy.
Figure 48 – Top-Down Development Strategy
6.2.6
Classes and Components
This section will discuss the different classes and components used in the development
and implementation of IQBAES. Since this research involves the development of a
framework and subsequently the development of IQBAES on top of this framework, we
will discuss the core component (base classes and kernel classes) in the framework and
how IQBAES making use of these classes/components from the base layer of this
framework.
Page 181 of 252
6.2.6.1
IQBAES Framework
As discussed in the earlier chapter, base classes and kernel classes serve as the base for
this framework. These two components will make up the core functionality of the
framework. For instance, database connection holder, session handler, property holder,
message template and message holder are java classes that reside in this layer, which are
reusable across the platform. Any application that builds on top of this framework can
make use of these classes for database connection, session management, message
management and etc. There are many more classes that build into this layer but only a
few important classes will be discussed in the following section.
User Management Class library is a module or layer that builds on top of this core
classes. By utilizing these user management classes as a reusable component, a system,
which requires user management and / or user role management functionality, can call the
respective API to invoke and implement the user management module.
Other vertical components like Utility, CoreMsg, Validator and Menu can be customized
in accordance to the needs of the developed system. For instance, the validator classes
can be customized to provide the desire messages for fields’ validation on screen. Menu
can be customized to include only the necessary menu items. Utility classes can be
utilized by developer to customize the date format, the content of a message in plain text,
Html format and etc. All these reusable components can be reused for creating other web
application.
6.2.6.1.1 Com.um.kernel.base.DBConnectionHolder
This is one of the kernel classes that extend java.lang.Object. This class contains the
hibernate database information.
Page 182 of 252
6.2.6.1.2 Com.um.kernel.base.SesionHandler
This class extends java.lang.Object and handles all the session related processing.
Currently, it handles only the HTTP session.
6.2.6.1.3 Com.um.kernel.base.PropertyHolder
This class extends java.lang.Object and java.io.Serializable. It is designed to hold the
code and value of the property. This object is updatable to database.
6.2.6.1.4 Com.um.kernel.base.MessageTemplate
This class extends java.lang.Object and it stores all the message template information
from the xml configuration file.
6.2.6.1.5 Com.um.kernel.base.MessageHolder
This class extends java.lang.Object and it is a container class for the message. It stores
the message code and the place holder parameter. The message code must be in this
format "Property Message Identifier":"Message Id". The Property Message Identifier is
defined in the XML configuration file. The Message Id is defined in the message
properties file. This class can then be used by the MessageManager to get the localised
message.
6.2.6.1.6 Com.um.kernel.base.ActionContext
This class extends java.lang.Object. The class contains all the information about the
action. The class allows developer to get the parameters from the HTTP request as well
as to handle the session information. In addition to that, developer gets the UserContext
object. If the current action does not use the default view, then developer can specify the
required view by using the setViewId().
Page 183 of 252
6.2.6.1.7 Com.um.kernel.base.BaseAction
This class extends java.lang.Object and java.io.Serializable. The BaseAction abstract
must be implemented by the action object.
6.2.6.1.8 Com.um.kernel.base.DefaultAction
This class extends BaseAction. The default action is used to redirect or dispatch a view
only. It does not do any business processing. Whenever a web resource requires default
security check by the system, it can define the web resource as an action in the
configuration file and then assign a appropriate role to the resource
6.2.6.1.9 Com.um.kernel.base.SystemException
This class extends com.um.kernel.base.BaseException. All the System Exception should
extends from this class.
6.2.6.2
IQBAES System
Intelligent Question Bank and Examination System is developed on top of IQBAES
framework that we discussed earlier. With this, IQBAES make use of html and JSP pages
in the clients tier as the view component. The client tier is responsible for representing
the data to the user, interacting with the user, and communicating with the other tiers of
the system.
The middle tier is responsible for processing. IQBAES’s controller servlet in this case
serves as the controller to control the traffic flow within the system. For every
HttpRequest and HttpResponse that controller servlet received, it will refer to the
config.xml to determine the action classes and manager classes that the request or
response should be routed to. Action classes will then interact with the backend objects or
classes (hibernate generated classes) to access the MySQL database.
Page 184 of 252
6.2.6.2.1 Com.um.kernel.servlet.ControllerServlet
This class extends javax.servlet.http.HttpServlet. It is designed to delegate the request to
the appropriate action and performs system wide validation. The delegation of the request
will be based on the configuration in the xml file.
The system wide validations are down in the following manner:
Check whether the action is defined in the xml file
Check whether the user can access to this action
The class also handles the exception.
6.2.6.2.2 Com.um.kernel.base.JSPView
JSP view handler is responsible for processing and invoking the appropriate jsp.
The class will encode whatever parameters that are added in the ActionContext class.
Page 185 of 252
6.2.7
Question Difficulty Assessment Implementation
Code snippet above shows how degree of difficulty for each question being defined in
IQBAES. Various weight factors which defined by lecturer were obtained in this action
class via jsp. Once the pre-defined values are obtained, these level of difficulty values are
computed in this class by calling the action class’s process() method. Once the level of
difficulty value for each question has been computed, it is then associated to the
respective question and subsequently stored in the question bank.
Page 186 of 252
6.2.8
Automatic Question Generator
Page 187 of 252
The code snippet above typically shows how it collects the conditions and how system
makes use of the node to associate with question. The credit value denotes the question
difficulty. The larger is this number, the more complex the question is. System makes use
of queue to store the node. After a question is generated, the system keeps the question
and its node in the OPEN queue. When the system initializes the question to student, the
node in the OPEN queue will be set to visible. If the student answers the question
correctly, the node is then eliminated from the OPEN queue. It will then set to invisible.
6.2.9
Intelligent Questioning System
Code snippet above shows how student’s current level being retrieved from database.
This method resides in IQBAESManager class and its main feature is used to retrieve
students’ current level based on their examination history.
Page 188 of 252
Page 189 of 252
Code snippet above shows how questions are being selected from the question bank
based on programId, courseId, chapterId and its level. Once the questions being selected,
the questions will be dumped into the list object or so call as question set. Subsequently, a
shuffle method will be called to shuffle the question in the collection. This operation is to
ensure that the student will get different set of question randomly.
When the user completes the exam, the questioning system will provide an assessment
measure. The system then updates the user’s status in the system via the code snippet as
shown above.
Page 190 of 252
6.2.10 Coding
While writing the programming codes for IQBAES, the developer has followed strict
coding standards to make it easier to trace requirements from analysis through design and
implementation. Other than that, coding and naming standards make a piece of coding
more readable and eases the process of debugging. Naming standards are for variables,
objects, classes and controls.
6.2.10.1 Comments
Besides this, comments are inserted into the coding to help other developers understand
and maintain the code. Comments begin with “//” or “/** …*/” sign. An example would
be as below:
(a)
/**
* <p> To initialize the ActionManager</p>
*
* @param HashMap - contains name of the action as key and the action object as value
* @return None
* @exception None
*
*/
public static void init(HashMap acHash) {
actionHash=acHash;
}
(b)
/**
* <p> To get the OutputStream of the uploaded file </p>
*
* @param
None
* @return OutputStream - the outputStream
* @exception ApplicationException
*
*/
Page 191 of 252
public OutputStream getOutputStream() throws ApplicationException{
try
{
return this.fileItem.getOutputStream();
}
catch (Exception e)
{
throw new ApplicationException("Base:error.upload.file.get.outputstream",e);
}
}
(c)
// default constructor
public UserGroup()
{
}
Page 192 of 252
6.2.10.2 Error Handling
The coding in IQBAES is supported by error-handling codes or segments. These
segments are inserted into IQBAES to intercept and handle all unexpected errors that will
happen. Other than that, all error handling segments can be self-programmed and written,
providing much flexibility to handle the errors according to the developer’s choice. With
all these error handling segments, IQBAES is much reliable and stable, because every
time when error happens, the error handling code segment will be executed to avoid
system crashes or unnecessary restarts. An example of error handling is shown in the
figure below:
try
{
String pattern = (String)properties.get("pattern");
String filename = (String)properties.get("filename");
// if the file name is not available, then it does not require auditing.
if (filename != null) {
requireAudit = true;
appAuditor.addAppender
(
new RollingFileAppender
(new PatternLayout(pattern),filename,true));
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("Error initialising AuditManager ");
}
Error in this
code segment
would be
handled by the
error handler
Error
handling
codes
Figure 49 – Error Handling if IQBAES
Page 193 of 252
6.2.10.3 Object-oriented programming style
IQBAES was developed using java programming language and with the architecture of
J2EE. Hence, needless to say, its coding style is object-oriented as well. Compared to
structural programming, object-oriented programming enables the developer to reuse the
codes written, saving precious time and promotes efficient usage of the objects and
classes. In IQBAES, all reusable functions are written in standard modules and can be
invoked anywhere in the program. All the same classes are reused again and again in
different modules.
6.2.10.4 Complexity of programming IQBAES
In order to make IQBAES efficient and accurate, some complex programming techniques
were applied while developing the code for IQBAES. For instance, Queue and
Collections were used to enable the developer to control and manage the classes
efficiently and easily. Collections are used in Java to store zero or more classes into
single class. This enables the developer to access every single class in the collection by
just referring to one single collection class, providing the ease and flexibility in
programming. This advantage comes with a price, which is the coding gets more
complicated, because an object is used to refer to many other objects.
Page 194 of 252
6.3
Testing Approach
The goals of software testing are to establish the functionality of a system as well as to
detect the presence of errors or inaccuracies in the system. In software production
company, the testing activity is mean to minimize cost of quality and defects in software
production. However, the main objective of testing is to find defects, verify capability
and predict reliability. There are various approaches to testing; each type of testing
validates different aspects of the software. The selection of the type of testing depends on
the nature of the software system. The initial stages of testing should be the responsibility
of the developers to test the codes they have developed and coded. When this stage is
completed, the project is handed over to an independent team to perform integration
testing.
During the process of testing, the software requirements must be made available, and
tests are then designed based upon these requirements. However, testing should not rely
totally on the software specifications, as the development of software is never a static
process. There are various reasons for this phenomenon to happen:
•
Requirements may be modified without updating the specification.
•
As the development project progresses, new and better ways may have been found
since the initiation of the software process, that can solve the problem, usually is a
better way.
•
Time constraints in the release of the software could result in the use of ‘shortcuts’
that bypasses some routines, which were deemed superfluous or unnecessary.
•
Certain unforeseen constraints in the hardware or software may prevent the exact
implementation of the software specification. For example, certain functionality may
perform in a manner that may be too unresponsive owing to the hardware available.
Certain functionality may not be possible to be programmed in the selected
programming language.
Page 195 of 252
•
Differences in implementation environment may demand alterations in the software
functionality. A system may perform perfectly well in the development hardware and
software environment. However, when the system is implemented in the customer’s
site, severe errors may arise owing to certain factors that are not present in the
development environment. This could arise from myriad causes:
•
The customer site uses a different processor, that is, there is a hardware conflict.
•
At the customer site, they may have installed other types of software, which conflict
with the system being implemented.
•
The usage load could vary. Other systems running at the customer site may already
have a certain degree of usage pattern or usage load that cause performance problems
with the system that is implemented.
•
Switch in Build Configuration. During testing, the systems may have been built using
the Debug Configuration. Once the testing has been completed, it is changed to
Release Configuration. Certain routines perform well in the Debug Configuration, but
the performance deteriorates, or even fails when switched to the Release
Configuration. This switch could result in a deviation from the specification in order
to get the system functioning again.
All these factors have to be considered in the planning of the testing stages, failing which
the testing would be incomplete.
Page 196 of 252
6.4
Type of Testing
The types of testing that are to be executed depends on the stage in the development and
testing. The testing process of IQBAES follows a pattern that can be shown in the Figure
50 – Testing Process. The first stage in the testing process involve unit testing. There
could be multiple units to test. Hence the multiple boxes in the diagram. After this, there
is the module testing stage, which can involve multiple modules to be tested. If any of
these modules are defective, it is necessary to return to unit testing. However, this return
path is optional, and is performed only if the module testing failed. The dotted arrow
indicates this optional path. This is followed by Interface testing, to test the
communication between the various modules. When all these are done, the integration
phase begins, combining all the individual modules together. Finally the whole system is
tested.
Figure 50 – Testing Process
Page 197 of 252
6.4.1
Unit Testing
This stage aims at testing the smallest components of the code. The initial units in this
project are the individual modules, each of which may consist of several units. The tests
are done by using the JUnit. There are several approaches to unit testing, each of which
has their own strengths and weaknesses.
6.4.1.1
Black Box Testing
This is a functional testing procedure to establish whether the unit meets its
specifications. For example, in the screen that allows the entry of two inputs. The output
is then studied. The result is studied whether it produces a successful output which
indicating a successful test. In Black Box testing, we are only concerned about what the
inputs are and what outputs are generated as a result of the test. Black box testing is only
concerned about functionality. If the output is incorrect, or there is no data output, the test
has failed.
6.4.1.2
White Box Testing
If the result of a black box testing indicates a failure, there are other approaches to rectify
the problem. Here the structural testing approach is needed, where the code is analyzed.
Knowledge of the structure of the component is vital in white box testing.
6.4.1.3
Code Flow
It is very often that it is necessary to examine the flow, or path of a code segment. This
could lead to a deeper and deeper examination of the flow of the logic of the code. Path
testing is also a part of examining code flow, which traces the flow of the program from
one point to another.
Page 198 of 252
6.5
Module Testing
When each of the units have been tested, it is necessary to ensure that the modules work
together. Such is the case of the examination module as one unit. Then there is the
student module to initiate call to the examination module and consequently obtain the
results from the module. The examination module consists of several units that are
combined together (such as internal scheduler, stopwatch, grading and etc). Each of these
units must have been tested earlier, and combined together to form the examination
module. Each unit does not work alone, as each unit depends on another unit. For
example, an internal scheduler will activate an examination. Once the exam is activated,
the stopwatch unit will have the control over examination process. It will control over the
time and does not allow user to answer questions after the define time limit. The testing
must ensure that these sub-units work correctly in a module.
6.6
Interface Testing
Interface testing in this project is very important. Data is passed between Client and Web
Server. These data must conform to the same standards and must reach their destination
in the form that is expected. In Interface testing, we need to know whether these
messages actually are in the format that is expected by both ends.
6.7
Integration Testing
There are two types of integration testing which is incremental testing and nonincremental testing. Non-incremental testing will combine all the modules and test the
program. With incremental testing, it systematically combines and tests each module.
IQBAES integration testing makes use of the thread testing approach (one of the testing
approach in incremental testing) to carry out the integration test. The integration test
starts by integrating groups of module that implement function together. It then continues
integrating and testing by adding one function at a time. This approach provides better
visibility and tracking of integration testing activities. This testing will expose any
inconsistencies in each module, as well as inconsistencies in the integration itself. Since
IQBAES was developed on its own framework, there is also a need to test the consistency
Page 199 of 252
between IQBAES framework base module and IQBAES system module. Figure below
depicts the thread testing approach:
Figure 51 – Integration Thread Testing
6.8
System Testing
The final step in the test is system testing, where a series of tests are conducted in order
to exercise the whole system. The whole system includes both the interaction between the
modules, as well as the interaction with the hardware. It aims at finding discrepancies
between the system and its requirements. It concerns validating system’s functional
requirements. In this project, there is also the network factor, and the interaction between
different computers in the network.
If the system works on one machine, can it work on other machines with different sets of
hardware and software? Here it was necessary to test by hosting IQBAES on one
machine, and performing a test on how clients from other machines access the IQBAES
web pages.
There is also the need to test for system performance, stress test, security access rights,
usability, data integrity, error handling and recovery.
Page 200 of 252
7
EVALUATION AND RESULTS
7.1
Evaluation methods
IQBAES has been tested and evaluated by lecturers and students of Inti College
Malaysia, and it has been used fully to process the examination results. The evaluation
process was carried out upon the development and testing of IQBAES completed. A
Questionnaire was given to those users directly involved with using the system. The
evaluation was performed using an examination for a course with large number of
students. The students filled in the questionnaires directly after the grading was done for
the exam. The students had already received their grades when filled in the
questionnaires. It is believed that this approach provides a measure of objectivity on the
student side.
The evaluation process will be divided into three parts. The first part will involve the
evaluation of the proposed IQBAES system in term of its user interface. 60
questionnaires were sent out to users of the system in ICM, and 55 responses were
received as of the date of concluding this report. The second part will evaluate in term of
its implementation and the evaluation was done based on 52 subjects/courses. The actual
questionnaire is appended in Appendix B. The third part will evaluate in term of its
reliability based on the data captured in the database.
7.1.1
Evaluation in Term of User Interface
Table 57 – Results of tallying the Questionnaire responses
Questionnaire
Results
Section A
Job title
Sex
Age Group
A
B
C
D
E
F
G
A
Job Title Legend
Faculty Administrator
3
3
2
0
20
17
10
B
Department Head
M
F
C
Examinations Administrator
18
37
D
Head of Program
15
30
E
Senior Lecturer
40
50
Page 201 of 252
10
9
24
11
F
Lecturer
G
Student
Section B
Response
1
2
3
4
5
Question
1
0
0
0
8
47
2
0
0
0
6
49
1. The traditional manual system of conducting
examination is the most convenient.
2. The traditional manual system of conducting
examination is faster.
3
0
0
0
2
52
3. We should stick to the old traditional manual
system.
4
0
0
0
9
47
4. The old online examination system works
efficient enough.
5
0
0
0
9
47
6
0
0
0
5
51
5. The old online examination system looks more
familiar to the usual way of conducting
examination.
6. The old online examination system is good
enough.
7
49
6
0
0
0
8
49
6
0
0
0
7. The new online examination system is more
convenient to use.
8. The new online examination system saves more
time.
9. The new online examination system is more
user friendly.
9
48
7
0
0
0
10
46
9
0
0
0
11
48
7
0
0
0
12
50
5
0
0
0
13
47
7
0
0
0
14
50
3
0
0
0
15
51
3
0
0
0
16
52
2
0
0
0
17
48
5
1
0
0
1
2
3
0
0
0
0
0
0
0
0
0
11
8
2
42
45
52
4
0
0
0
5
49
Section C
10. It takes a shorter period of time to conduct
exams in the new online examination system.
11. The new online examination system is more
familiar to the Web surfing applications.
12. The new online examination system should be
implemented to replace the older system.
13. The new online examination system is fair and
efficient to use.
14. The new online examination system is more
colorful and pleasing to the eyes.
15. We must use the new online examination
system and implemented as soon as possible.
16. The new online examination system has more
useful features than the old system.
17. The new system should be used in all higher
education institutions.
(refer to questionnaire, Appendix B)
1. Colour scheme of the various pages
2. Layout of the entry boxes
3. Look and design of buttons
4. Design of the arrangement of menu of choices
of the main side box such as
Page 202 of 252
Enter Teacher Details, Class Info, Class-Subjects,
Student Info, Enter Marks
Section D
1
A
0
B
0
C
53
2
3
1
0
0
6
52
47
Implementation
(refer to questionnaire)
60 questionnaires were sent out to users of the system in ICM, and 55 responses were
received as of the date of concluding this report. The demography of the responses is
shown
in
the
Table
58
–
Job
Titles
to
Page 203 of 252
Table 60 – Age Groups of respondents. There appear to be discrepancies in the total
numbers in the tables because some chose not to reveal their gender and ages.
Table 58 – Job Titles
Job Title
Frequency
Faculty Administrator
Department Head
%
3
3
5.8%
5.8%
Examinations Administrator
Head of Program
Senior Lecturer
Lecturer
2
0
20
17
3.8%
0.0%
38.5%
32.7%
Student
10
19.2%
Total
55
Table 59 – Gender
Gender
Male
Female
Total
Frequency
18
37
%
32.7%
67.3%
55
Page 204 of 252
Table 60 – Age Groups of respondents
Age Group
15-29
30-39
40-49
50-59
Frequency
10
9
24
11
Total
%
18.5%
16.7%
44.4%
20.4%
54
Table 61 – Summary of Section B, questions 1 –3
Summary of responses to the manual
system1
response
strongly agree
agree
undecided
disagree
strongly disagree
total
freq.
0
0
0
16
148
percentage
0.0
0.0
0.0
9.8
90.2
164
Page 205 of 252
Table 62 – Summary of Section B, questions 4-6
Summary of responses to Old DOS
system2
response
strongly agree
Freq.
0
percentage
0.0
0
0
0.0
0.0
disagree
strongly disagree
23
145
13.7
86.3
total
168
agree
undecided
Table 63 – Summary of Section B, questions 7-17
Summary of responses to new Web
Services system
response
strongly agree
agree
undecided
disagree
strongly disagree
total
Freq.
percentage
555
55
4
0
90.4
8.9
0.7
0.0
0
0.0
614
Page 206 of 252
Table 64 – Section C, User Interface Colour Scheme
Section C
User Interface
This section deals with the design of the user interface as used in the new Web-based
computerized examinations system.
Question 1
response
1. Very bad,
2. Not
satisfactory
3. Satisfactory
Colour scheme of the various pages
freq
%
0
0.0%
0
0.0%
1
1.9%
4. Good
11
20.4%
5. Excellent
42
77.7%
Total
54
Page 207 of 252
Table 65 – Section C, User Interface Layout
Section C
User Interface
Question 2
response
Layout of the entry boxes
freq
%
1. Very bad,
0
0.0%
2. Not
satisfactory
0
0.0%
3. Satisfactory
0
0.0%
4. Good
8
15.1%
5. Excellent
45
84.9%
Total
53
Page 208 of 252
Table 66 – Section C, User Interface Buttons
Section C
User Interface
Question 3
Look and design of buttons
response
1. Very bad,
freq
%
0
0.0%
2. Not
satisfactory
0
0.0%
3. Satisfactory
0
0.0%
4. Good
2
3.7%
5. Excellent
52
96.3%
Total
54
Page 209 of 252
Table 67 – Section C, User Interface Menus
Section C
User Interface
Question 4
Design of the arrangement of menu
response
1. Very bad,
freq
%
0
0.0%
2. Not
satisfactory
0
0.0%
3. Satisfactory
0
0.0%
4. Good
5
9.3%
5. Excellent
49
90.7%
Total
54
Table 68 – Section D, Question 1
Section D
Implementation
Which of the following step is the most appropriate action to be taken by the
school administration concerning the new computerized system
1
A
Response
Wait for more testing to be done before making a decision
B
Wait until next year to implement the system
C
freq
%
0
0.0%
0
0.0%
The new system should be implemented immediately
53
100.0%
Total
53
Page 210 of 252
Table 69 – Section D, Question 2
Section D
Implementation
What is the most important change to be made before the new system should be
implemented
2
A
Response
Improve the colour scheme
B
The system needs a total overhaul
C
freq
%
1
1.9%
0
0.00%
No further change need to be made before implementing
52
98.1%
Total
53
Table 70 – Section D, Question3
Section D
Implementation
Do you need more training to use the new computerized
system
3
A
Response
Still cannot understand the new system
B
Need more explanation of the procedures
C
freq
%
1
1.2%
3
3.5%
The system is easy enough to understand, no further
training is needed
81
95.3%
Total
85
Page 211 of 252
7.1.2
Evaluation in Term of Implementation
We are interested in investigating the following questions:
Q1. Did students enjoy the IQBAES exam process?
Q2. Did students think they learned through the exam process?
Q3. Did students think the grading system was fair?
Q4. Would students rather take the traditional exam than the IQBAES exam?
Q5. Would students recommend using the IQBAES online exam in the future?
Q6. Do exam grades affect students’ perception of the exam process?
Q7. Does enjoyability of the exam process affect students’ perception of learning,
grading fairness and satisfaction?
Q8. Do students’ perception of learning, fairness in grading, and satisfaction affect their
recommendation of the process being used in the future?
Q9. Are there differences in students’ perception of exam enjoyability, learning,
satisfaction, and grading fairness between those taking the traditional in-class exam and
those taking the IQBAES exam?
Our hypotheses bases on the above questions are as below if this research fully meets its
objectives:
Students who participate in the IQBAES exam will report higher enjoyability of the
process than students who participate in the traditional in-class exam.
Students who participate in the IQBAES exam will report higher perceived learning
than students who participate in the traditional in-class exam.
Students who participate in the IQBAES exam will report higher satisfaction than
students who participate in the traditional in-class exam.
Students who participate in the IQBAES exam will report lower perceived fairness in
grading than students who participate in the traditional in-class exam.
Page 212 of 252
Students’ exam grade will positively correlate with students’ perceived enjoyability
of the exam process.
Students who perceive higher enjoyability will report higher perception of learning
through the exam process.
Students who perceive higher enjoyability will report higher satisfaction with the
exam process.
Students who perceive higher enjoyability will report higher perception of fairness in
grading.
Students who receive higher grades will report higher perception of learning through
the exam process.
Students who receive higher grades will report higher satisfaction with the exam
process.
Students who receive higher grades will report higher perception of fairness in
grading.
Students who report higher perceived learning will recommend the IQBAES exam
process more.
Students who are more satisfied will recommend the IQBAES exam process more.
Students who report higher perceived fairness in grading will recommend the
IQBAES exam process more.
7.1.3
Finding
In this section, we first present the evaluation results of the IQBAES exam process,
addressing questions 1-5. Next, we use factor analysis and correlation analysis to find the
underlying factors and the relationship among them, addressing questions 6 -8. Finally
we compare results between the IQBAES exam and the traditional in-class exam,
addressing question 9.
5-point scales were used throughout the survey and the results are scored on a basis of 15, where:
Page 213 of 252
SA: Strongly Agree = 5; A: Agree = 4; N: Neutral = 3; D: Disagree = 2; SD: Strongly
Disagree = 1
The total number of subjects/courses in the following tables is 52 unless noted otherwise.
7.1.3.1
Enjoyability of IQBAES Exam Process
Table below answers our first question: did students enjoy the collaborative online exam?
Results show that students found the IQBAES exam provides flexibility in having
multiple resources and a comfortable timeframe, is less stressful, and allows students to
demonstrate what they learned in class.
Table 71 – Enjoyability of IQBAES Exam Process
Item
SD
D
N
I enjoyed the flexibility
5.8%
7.7%
11.5%
11.5%
36.5%
25%
0%
13.5%
1.9%
7.7%
of
having
A
SA
Mean
S.D
3.90
1.14
1.9%
3.31
1.04
30.8%
40.4% 15.3%
3.58
0.91
5.8%
15.4%
53.8% 23.1%
3.90
0.89
13.5%
17.3%
46.2% 15.4%
3.48
1.15
40.4% 34.6%
multiple
reference available
I
felt
under
much
25%
pressure taking the exam
this way
The exam enabled me to
demonstrate
what
I
learned in class
The exam provided a
comfortable timeframe
I
enjoyed
the
exam
process
Page 214 of 252
7.1.3.2
Learning Effects
Table below addresses our second question: did students think they learned through the
exam process? The majority of students agreed that all phases of the exam process were
part of the learning process. In addition, students report that the IQBAES exam increased
critical thinking skills. Furthermore, students report higher motivation to learn, including
doing additional reading.
Table 72 – Perceived Learning in IQBAES Exam
Item
My
skill
in
critical
SD
D
N
1.9%
0%
42.3%
0%
1.9%
0%
A
SA
Mean
S.D
34.6% 21.2%
3.73
0.866
36.5%
40.4% 21.2%
3.81
0.793
11.5%
30.8%
34.6% 23.1%
3.69
0.961
5.8%
15.4%
36.5%
28.8% 13.5%
3.29
1.07
5.8%
7.7%
42.3%
38.5%
3.31
0.92
thinking was increased
My ability to integrate
facts improved
I was stimulated to do
additional reading
I learned from questions
in IQBAES
I mastered the course
5.8%
materials
7.1.3.3
Perceived Fairness in Grading
Table below addresses our third question: Did students think the grading system was fair?
Students’ responses fluctuated around neutral on these questions.
Table 73 – Perceived Fairness in Grading in IQBAES Exam
Item
SD
D
N
A
SA
Mean
S.D
I felt the grading process
11.5%
25%
19.2%
40.4%
3.8%
3.00
1.14
was fair
Page 215 of 252
7.1.3.4
Overall Satisfaction and Recommendation
Tables below address next two questions: would students prefer to take the traditional
exam than the IQBAES exam? Would students recommend using the IQBAES exam in
the future? Results indicate that students report subjective satisfaction with the IQBAES
in general, and are willing to recommend using this process in the future.
Table 74 – Overall Satisfaction with the IQBAES Exam Process
Item
SD
D
N
A
SA
Mean
S.D
I would rather take the
23.1%
21.2%
30.8%
15.4%
9.6%
3.33
1.26
traditional exam
Table 75 – Overall Recommendation of Using the IQBAES Exam Process
Item
Strongly Oppose Neutral Recommend
Oppose
I
would
3.8%
Strongly
Mean
S.D
3.67
1.06
Recommend
7.7%
30.8%
32.7%
25%
recommend
using
this
process in the
future
7.1.3.5
Factor Analysis and Correlation Analysis
Factor analysis was conducted to find the underlying factors. Three factors were found
through principle component factor analysis, each corresponding to one aspect of the
students’ responses. Reliability analysis shows all three factors are highly reliable.
Enjoyability of the Exam Process
Perceived Learning
Perceived Fairness in Grading
Page 216 of 252
Next we conducted correlation analysis to find the relationship between these factors.
First we are interested in the question (Q6): Do exam grades affect students’ perception
of the exam process? It is necessary to point out that students received their grades before
they answered the survey, and we hypothesize that students’ exam grade is positively
correlated with students’ perceived enjoyability of the exam process. In addition, we
hypothesize that students who receive higher grades would report higher perception of
learning through the exam process, higher satisfaction with the exam process, and higher
perception of fairness in grading.
Second in our correlation analysis, we are interested in the question (Q7): Does
enjoyability of the exam process affects students’ perception of learning, grading fairness
and satisfaction? We hypothesize those students who perceive higher enjoyability report
higher perception of learning through the exam process, higher satisfaction with the exam
process, and higher perception of fairness in grading. Given that all factors in this
analysis are normally distributed, we used parametric correlation analysis and find that
the enjoyability factor is significantly correlated with perceived learning (Pearson’s r =
0.486, p<0.01), satisfaction (Pearson’s r = 0.597, p<0.01), and perceived fairness in
grading (Pearson’s r = 0.376, p<0.01).
Third, we investigate in the question (Q8): Do students’ perception of learning, fairness
in grading, and satisfaction affect their recommendation of the process being used in the
future? We hypothesize that recommendation of the process is positively associated with
perceived learning, satisfaction, and perceived fairness in grading. Given all factors in
this analysis are normally distributed, we used parametric analysis, and find that
recommendation is significantly correlated with perceived learning (Pearson’s r = 0.431,
p<0.01), satisfaction (Pearson’s r= 0.71, p<0.01), and perceived fairness in grading
(Pearson’s r= 0.424, p<0.01).
Page 217 of 252
7.1.3.6
Comparing IQBAES Exam and Traditional Exam
Table below shows that students in the IQBAES exam as compares with the traditional
exam significantly enjoyed the exam process (mean at 3.11 and 3.46, p<0.05), and are
significantly more satisfied with the exam process (mean at 2.78 and 3.33, p<0.05).
Table 76 – Comparison between Traditional Exam and IQBAES Exam
Factor
Mean
S.D
41
3.11
0.70
IQBAES
52
3.46
0.81
Traditional
41
3.81
0.71
IQBAES
52
3.65
0.68
Traditional
41
3.62
0.79
IQBAES
52
3.40
0.97
Traditional
41
2.78
1.37
IQBAES
52
3.33
1.26
Exam
No Of
Type
student
Traditional
Enjoyability of the Exam Process
Perceived Learning
Perceived Fairness in Grading
Overall Satisfaction
7.1.4
Reliability Assessment
With the use of the students’ examination data which were captured in the IQBAES’s
database, we can evaluate the reliability of IQBAES examination against the traditional
in-class examination.
7.1.4.1
Testing Reliability
By definition, someone takes an exam or test measure achieves the “observed score.” The
observed score is thought to be composed of two different components: The true score –
an exact measure of the amount of skill assessed, offset by a random error score (Novak
Page 218 of 252
et al., 1999). The error may result from individual student responses to particular
questions (Manson & Branle, 1997) or external conditions such as fatigue and noise.
Thus,
Observed score = True score + Error score
The variance of the observed score is composed of the variance of true scores and the
variance of error.
Then,
σ 2o = σ 2t + σ 2e
where, σ 2 o = variance in observed scores, σ 2 t = variance in true scores, and σ 2 e =
variance of error.
The reliability of an exam/assessment measures its repeatability from random testing
errors. An assessment is considered reliable if it would give us the same result over and
over again. By definition, the reliability is the ratio of variance of the true skill divided by
the observed variance.
Reliability = [σ 2 t ] /[σ 2 o ] ] = [ σ 2 t ] / [ σ 2 t + σ 2 e ], so
Reliability = 1 - σ 2 e / σ 2 o
The reliability provides a direct guide to the reproducibility of the grade between two
similarly prepared tests. The second line shows that as the reliability => 1, the error => 0.
A standard method of determining the reliability of an assessment is to divide the test
questions into two subtests, for example the odd and even questions assuming they were
equal in coverage of topics and difficulty. If the resulting subtests determine skill with
perfect reliability, each student would receive the same score on both subtests
Page 219 of 252
Reliability = 1 - (1 + β ) 2 / 4 β * σ 2 ( a −b) / σ 2 o + (1 − β ) 2 / 4 β = 0.85
Where β = µ a / µ b and σ 2 o = σ 2 ( a +b ) . In this formula, the key determiner of the
reliability is the mean variation of the difference between the scores on the even and odd
collections of questions. Even if the mean on the “a” questions is 20% higher than that on
the “b” questions, the error σ 2 e equals σ 2 ( a −b) to within 1%.
Theoretically, if someone is highly skilful, they generally make fewer errors and take less
time to complete a task successfully than a less skilful person. Moreover, any individual
has the option to work more quickly at the expense of making more errors. Thus if we
include the number of wrong responses and the time taken by students, we get much
more insight into their skill level. With these considerations in mind, we use an
assessment method which mimics the lost point grade but depends on the time taken to
solve a question and student’s wrong answers. We make use of the data to plot a graph
from the even question and odd question for each student.
The curvature indicates a small excess of easier problems in the even group. The uneven
split reliability of the combined assessment is 0.9976. This is an improvement over the
traditional in-class examination. That means that 99.8 percent of the observed variance in
scores is due to true score variance. The IQBAES has 4 times less error per unit time than
the traditional in-class examination. Overall, it has 62 times less error than the traditional
in-class exam.
Table below shows the differences among traditional in-class exam versus IQBAES.
IQBAES gives 62 times less error than the traditional in-class examination.
Table 77 – Reliabilities’ Summary
Traditional
r2
Reliability
σ 2 e / σ 2t
σ e /σ t
0.41
0.85
0.17
0.42
Page 220 of 252
Exam
IQBAES
7.1.5
0.986
0.9776
0.0024
0.05
Fairness
The traditional exam contains error that 1/4 of the students assigned failing grades have a
passing skill and an equal number of students who should have failed are assigned a
passing grade. Thus, for each two students failed, one student was misdiagnosed. To see
how this arises, look at Figure 52 – Comparison of IQBAES and Traditional
Examination, which was captured from SPSS tool, where failure is set at one standard
deviation below average, which fails 16 percent of the students. The dashed line shows
the true skill distribution inferred from the measured error and the observed skill
distribution (heavy line), which is slightly broader. The number of students failed is
indicated by the small curve centred on skill = 40. (The width of this curve is very near to
the width of the error, that is 38% of σ true ). Below skill = 35 the curve of students failed
lies on top of the true skill distribution, indicating that all students whose skill is this low
fail. Between 30 and 46 (the selected true skill for passing) it drops well below the true
skill distribution, indicating that some students (lighter shaded area) whose ability is
below passing will pass. The distribution of failed students does not drop immediately to
zero above true skill = 46, indicating that some students (darker shaded area) whose true
ability is passing will fail the test.
Page 221 of 252
Figure 52 – Comparison of IQBAES and Traditional Examination
In both plots, the dashed curve is the distribution of true skill and the thick curve is the
distribution of observed skill (i.e. grade). The shaded area shows students who fail/pass
although their true skill level is passing/failing. a) In the case of the traditional exam, 1 in
4 students who fail actually deserve to pass b) If IQBAES were used instead of the
traditional exam, only 3 percent of the students failed would be misdiagnosed.
Page 222 of 252
8
8.1
CONCLUSION AND FUTURE WORK
Summary of Project
This thesis describes a research focusing on web-based examination system and question
bank. The work encompasses detailed investigation of the subject matter, development of
a question bank and examination system, proposal of an enhanced question bank
examination system, evaluation of both existing and the proposed intelligent question
bank and examination system through the developed system, and analysis of the results
from the system.
The thesis began by investigating the manual examination system and web-based
examination system, with emphasis on the examination process and the question bank
feature. This was to provide the foundation on which an intelligent question bank and
examination system is proposed. Next, the different approaches used in existing web-base
examination systems were presented, focusing on the examination and question bank
modules/features. Apart from this, the mechanisms, assessment approaches/procedures
that were used in these systems were also discussed.
Subsequently, by integrating the mechanisms and assessment approaches from the
discussed system, an enhancement approach for question bank and examination system is
suggested. Here, the functional concept graph/directed acyclic graph and the intelligence
questioning system approach method were discussed in detail.
In Chapter 3, the methodology used to develop the intelligent question bank and
examination system was presented. The benefits and justification of using the
Incremental Development Model to develop IQBAES was discussed.
In Chapter 4 and Chapter 5, the system analysis and design of IQBAES, a J2EE based
system was discussed. The flexibility of object-oriented design and the advantages of the
java programming language largely motivated the development of IQBAES. The
Page 223 of 252
IQBAES is an elegant, well-structured web-based framework and system that exploits
modern programming paradigm and GUI application design. The analysis and design
phase was modelled by Unified Modelling Language (UML) by using use cases, class
diagrams and packages to model the architecture of IQBAES.
The implementation and development of the IQBAES system was detailed in Chapter 6.
The framework serves as a platform for IQBAES to be developed on top of it. The
IQBAES provides a mechanism for evaluating the question difficulty, an automatic
question generator which automates the question generation process and intelligent
questioning system to direct the learning process based on student’s degree of
understanding of individual concept. The entire development process provided insight to
the detail working of the various open-source technologies and component of the java
programming language.
Chapter 7 described the evaluation methods used to obtain results regarding the proposed
system. Using the developed IQBAES system, the perceived learning, perceived fairness,
satisfaction, recommendation of the proposed system over existing system was
demonstrated through the obtained results, where improvements in precision were
observed.
8.2
Research Goals and Contributions
As mentioned above, the research goal of this thesis is to develop a framework and
subsequently to develop the question bank and examination system, IQBAES, on top of
this framework. The IQBAES system should be able to determine question’s difficulty
level, supports dynamic question creation from question bank and identify student’s level
of understanding with the assessment via the system. To achieve this research goal, four
main objectives were identified.
i.
To define a framework for web-based application development and develop a
question bank and examination system on top of the framework.
Page 224 of 252
This was addressed by developing a framework for web-based application. The
IQBAES system is then built with the architecture of this framework and with the
reusable components from the base class libraries. The same set of libraries
classes can be reused for other web-based application.
ii.
To develop a system that will define questions’ level of difficulty based on
functional concept graph (Conceptual Graph Structure).
This was addressed by developing the question difficulty assessment algorithm
with the use of functional concept graph. The assessment algorithm can
dynamically determine question’s difficulty level based on the input
parameters/conditions specified by lecturer.
iii.
To develop a system that serve as question bank for storing and creation of
examination questions dynamically.
This was addressed by creating databases for storing the examination questions. A
question generator was also developed. Primarily, the question generator will pull
the question from question management system and subsequently based on the
push and pull mechanism of queue concept to fetch and distribute the respective
question to student.
iv.
To develop a system which will provide fair assessment method for online
examination system.
This was addressed by developing the assessment module. The assessment
module uses the weight of the question to provide the incremental score
contributed by the answer to this question. The “knowledge key” information
about each question is used by the system to determine which question to pose
next. The fairness of the assessment was validated with the empirical studies as
discussed in the section 7.1.5.
Page 225 of 252
In achieving the research goal, the main contributions of this research can be summarized
as:
The development of a framework for web-base application and the development
of an educational assessment system on top of this framework.
Define a relatively objective approach to assessing question difficulties in an
online examination environment. This approach can be automated with other
computer software.
Improve traditional educational process by changing passive browsing homepage
situation or static module which could not be adjusted to the learner abilities into
active searching for selecting adequate question/content. With this, it can identify
the level of the learner ability and increase the depth and breadth of learning.
Monitor/measure student’s understanding on the web to assure the learning
effectiveness.
8.3
Problems Encountered and its Solutions
Many problems were encountered in the development of IQBAES. Some are technical
problems of hardware and software. There are also human relationship problems in
implementing a project of this magnitude.
8.3.1
Difficulties in configuring Jcrontab
Jcrontab was identified as one of the plug-in component to update the examination status
(Jcrontab acts as a cronjob to activate an examination with the ‘New’ status to ‘Active’
status or update an examination with ‘Active’ status to ‘End’ status). However, I
encountered the problem of configuring the Jcrontab in IQBAES system and integrating
Jcrontab into tomcat Catalina application server. After an extensive try with the Jcrontab
configuration and yet still fail to get the Jcrontab configured properly, I decided to switch
from using Jcrontab to Java scheduler. However, there is a drawback of using Java
scheduler, as this scheduler will lose its state once the application rebound. Hence, I will
take this as one of the future enhancement point.
Page 226 of 252
8.3.2
Problem with user access rights
Windows has some user access rights strategies, which is distinct from other components,
such as the database servers. There were some difficulties in finding compatibility
between these access privilege requirements.
8.3.3
Insufficient documentation for open-source plug-in component
Although there is vast amount of open source plug-in components available on the
Internet, most of them have limited documentation. Lacks of documentation on the
features, usage and configuration for these plug-in components have narrowed down the
scope of using these freely available features. On top of that, lot of effort was spending
on R&D for the proper usage of these plug-in components.
8.3.4
Problem in mirroring development environment
There were many problems related to porting the development platform from home to
office. Mirroring a development platform involves attempting to create the same
development environment in two places, in this case because of the need to develop
sequentially between home and office. Some work has been done at home. This work had
to be saved and ported back to the office environment in such a way that the development
work continues from where it was stopped at home. When the work was again stopped in
the office, it has to be saved, and transferred back to the home. This carries on in a
sequential cycle in order to speed development. Many difficulties were encountered when
this process was first carried out. These problems included the different structure of the
development platform between the home development machine and office development
machine. In such a case, the office development machine normally will have user access
right control. This privileges control has restricted me from configuring the database
server when setting up the development environment in office.
8.4
Evaluation by End Users
IQBAES has been tested and evaluated by lecturers and students of Inti College
Malaysia, and it has been used fully to process the examination results. A Questionnaire
Page 227 of 252
was given to those users directly involved with using the system to enter the examination
marks. The questionnaire was directed at just the user interface and implementation, as
they are not technically competent to comment on the architecture and design of the
system. The actual questionnaire is appended in Appendix B, together with the detailed
charts on each questionnaire item.
8.5
System Constraints and Future Enhancement
8.5.1
System constraints
The system was being implemented on the ICM Intranet. As there is no domain register
for IQBAES currently and there is no production server hosting the IQBAES system, it is
not possible for the information to be published over the Internet as a whole. However,
theoretically, the same system can work over the Internet once a domain is registered and
permanent ISP link can be established, and the application server configured for this
purpose is set up.
8.5.2
Future Enhancement
8.5.2.1
Integration with other existing system
Apart from Question Bank and Examination System, the system could be broadened to
include student registration module, student enrolment module, financial module,
timetabling module and etc. On top of that, if there is any knowledge base system
available in future, it can also be integrated into IQBAES to enhance its features.
8.5.2.2
Support multiple application server
Currently, IQBAES only integrated and tested with Tomcat Catalina application server.
This framework can be enhanced to support other application server like Jboss, JRunner,
Weblogic, Websphere and other application server. These can ultimately enhancement
the robustness of this framework.
Page 228 of 252
8.5.2.3
Support multiple databases
Apart from supporting MySQL database, IQBAES can be enhanced to support multiple
databases like Oracle, Informix, Microsoft SQL Server, Sybase, DB2 and etc.
8.5.2.4
Support multiple web browser
IQBAES can be improved to support multiple web browsers on top of Internet Explorer
and Netscape, which have been tested with. These browsers include Opera, Morziall
FireFox and miscellaneous web browser.
8.5.2.5
Support multiple device
IQBAES framework can be enhanced to support multiple devices like PDA, Handheld
terminal and Smart Phone.
8.6
Knowledge and Experience Gained
Working on this project has been a very rewarding experience. Even writing this report is
a joy, as it is wished that there were more time to write this report. Much of the
knowledge gain is in the area of the use of new technology. These technologies include:
8.6.1
Hibernate
Hibernate is a new database access technology that has improved very much over the
traditional database access technology. In software development, major portion of the
development of an application involves the creation and maintenance of the persistence
layer used to store and retrieve objects from the database. If changes are made to the
underlying database schema, it can be expensive to propagate those changes to the rest of
the application. Hibernate technology was invented to fill this gap by providing a
powerful object-relational persistence framework for Java applications. Hibernate
provides support for collections and object relations, as well as composite types. In
addition to persisting objects, Hibernate provides a rich query language to retrieve objects
Page 229 of 252
from the database, provides efficient caching layer and Java Management Extensions
(JMX) support.
8.6.2
Apache Ant
Apache Ant was invented to help developers in compiling and deploying their application
to the application server. In short, it is a tool for building java projects. It is similar to the
make command, but is Java-centric and has more modern features. Ant has become the
standard build tool for Java, and many commercial integrated development environments
provide some support for using ant build files.
8.6.3
JfreeChart
JFreeChart is a free Java chart library that supports pie charts (2D and 3D), bar charts
(horizontal and vertical, regular and stacked), line charts, scatter plots, time series charts,
high-low-open-close
charts,
candlestick
plots,
Gantt
charts,
combined
plots,
thermometers, dials and more. JFreeChart can be used in applications, applets, servlets
and JSP. In IQBAES, JFreeChart was used to generate the bar chart for examination
summary report.
8.6.4
Log4j
Log4j is technology that enables logging at runtime without modifying the application
binary. Logging behaviour can be controlled by editing a configuration file, without
touching the application binary. One of the features of log4j is the notion of inheritance in
loggers. With logger, it is possible to control which log statements are output at certain
granularity. This helps to reduce the volume of logged output and minimize the cost of
logging. The target of the log output can be a file, an OutputStream, a java.io.Writer, a
remote log4j server, a remote Unix Syslog daemon, or even a NT Event logger.
Page 230 of 252
8.7
Conclusion
This project is a real implementation in a campus environment. The project has lightened
the load of all lecturers. It has provided excellent, timely and useful functionality for its
users. The project has benefited from the vast experience gained in writing software to
handle these functionalities to solve one major assessment task in the university, that is,
the process of examination. Developing this system has increased my knowledge of J2EE
framework, open source technology and many aspects of programming in Java.
Page 231 of 252
9
APPENDIX A – LIST OF REFERENCES
Budi Kurniawan. 2002, Java for the Web with Servlets, JSP and EJB, New Riders,
Indianapolis.
Coad, R, and Yourdon, E 1991, Object-oriented Design, 2nd edn, Yourdon Press,
Englewood Cliffs, NJ.
Hoffer, Jeffrey A, George, Joey F, Valacich & Joseph S 2002, Modern Systems Analysis
& Design, 3rd edn, Prentice Hall, Upper Saddle River, N.J.
Marty Hall 2000, Core Servlets And Java Server Pages, Prentice Hall, United States of
America.
Patrick Naughton & Herbert Schildt 1999, Java 2: The Complete Reference, 3rd edn,
McGraw-Hill, United States of America.
Paul Tremblett 2000, Instant JavaServer Pages, McGraw-Hill, New York.
Simon Bennett, Steve McRobb & Ray Farmer 2002, Object-Oriented Systems Analysis
And Design Using UML, McGraw-Hill, British.
Cackowski, David Sep 2000, ‘Object analysis in organizational design: A solution for
matrix organizations’, Project Management Journal, Sylva, Vol. 31, Iss. 3; pg. 44, 8 pgs
Government of Malaysia. 1997, The Malaysian Smart School: A Conceptual Blueprint,
Kuala Lumpur: Ministry of Education.
Government of Malaysia. 1997, Concept Request for Proposal for Smart School
Management System, Kuala Lumpur: Ministry of Education.
MIND 2001 – 2002, MothersonSumi INfotech and Designs Ltd, Nioda - 201 301, India,
viewed 15 October 2004, <http://www.mind-infotech.com/case_studies/oes.htm>.
Page 232 of 252
Assessment Systems Corporation 2005, University Ave, MN, USA, viewed 16 October
2004, <http://www.assess.com/Software/Exam_Manager.htm>.
Inderjeet Singh, Beth Stearns, Mark Johnson, and the Enterprise Team 2002, Designing
Enterprise Applications with the J2EETM Platform, Second Edition, Sun Microsystems Inc,
California, United States, viewed 20 Oct 2004,
<http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/introduct
ion/introduction3.html#1041147>.
The Apache Software Foundation 2000 - 2005, The Apache Software Foundation, Munsey
Drive, Forest Hill, United States, viewed 23 Nov 2004,
<http://jakarta.apache.org/struts/>.
Fort Worth Java User's Group, Introduction to the Jakarta Struts Framework, IBM New
York, United States, viewed 15 Jan 2005,
<http://www.fwjug.org/fwjug/resources/topics/p200210.ppt>.
Page 233 of 252
10
APPENDIX B - QUESTIONAIRE
Questionnaires
Please answer the following questions according to the given scales.
Scales:
1 – Strongly Agree, 2 – Agree, 3 – Undecided, 4 – Disagree, 5 – Strongly Disagree
1. The traditional manual system of conducting
examination is the most convenient.
1
2
3
4
5
2. The traditional manual system of conducting
examination is faster.
1
2
3
4
5
3. We should stick to the old traditional manual
system.
1
2
3
4
5
4. The old online examination system works efficient
enough.
1
2
3
4
5
5. The old online examination system looks more
familiar to the usual way of conducting
examination.
1
2
3
4
5
6. The old online examination system is good enough.
1
2
3
4
5
7. The new online examination system is more
convenient to use.
1
2
3
4
5
8. The new online examination system saves more
time.
1
2
3
4
5
9. The new online examination system is more user
friendly.
1
2
3
4
5
10. It takes a shorter period of time to conduct exams
in the new online examination system.
1
2
3
4
5
Page 234 of 252
11. The new online examination system is more
familiar to the Web surfing applications.
1
2
3
4
5
12. The new online examination system should be
implemented to replace the older system.
1
2
3
4
5
13. The new online examination system is fair and
efficient to use.
14. The new online examination system is more
colorful and pleasing to the eyes.
1
2
3
4
5
1
2
3
4
5
15. We must use the new online examination system
and implemented as soon as possible.
1
2
3
4
5
16. The new online examination system has more
useful features than the old system.
1
2
3
4
5
17. The new system should be used in all higher
education institutions.
1
2
3
4
5
Page 235 of 252
11
APPENDIX C – IQBAES SCREEN SHOT
Figure 53 – IQBAES Login Page
Figure above illustrates common login page for System Administrator, Lecturer and
Student into IQBAES.
Figure 54 – System Administrator Main Page
Figure above illustrates the System Administrator main page after login to IQBAES.
Page 236 of 252
Figure 55 – User Role Listing Page
Figure above describes the list of users with their respective role in IQBAES.
Figure 56 – User Role Maintenance Page
Figure above describes the page that is used to maintain user role in IQBAES.
Page 237 of 252
Figure 57 – User Profile Listing Page
Figure above describes the list of users created in IQBAES.
Figure 58 – General Maintenance Page
Figure above describes the menu for accessing general maintenance pages in IQBAES.
Page 238 of 252
Figure 59 – Chapter Maintenance Page
Figure above illustrates the chapter maintenance page for courses registed in IQBAES.
Figure 60 – Examination Listing Page
Figure above illustrates the list of examination created by lecturer in IQBAES.
Page 239 of 252
Figure 61 – Examination Maintenance Page
Figure above describes the examination maintenance screen in IQBAES.
Figure 62 – Question Bank Listing By Chapter Page
Figure above describes the number of questions group by chapter for a particular course
currently available in question bank.
Page 240 of 252
Figure 63 – List of Examination Questions in Question Bank
Figure above describes the list of examination questions in IQBAES question bank.
Figure 64 – Examination Question Detail Page
Figure above illustrates the question detail for the selected examination question.
Page 241 of 252
Figure 65 – Examination Question Update Page
Figure above describes the update screen for the selected examination question.
Figure 66 – Student Course Enrolment Page
Figure above illustrates the list of students that enroll in particular course.
Page 242 of 252
Figure 67 – Student Action Bulletin Page
Figure above describes the active examination listing in student’s action bulletin.
Figure 68 – Examination Main Page
Figure above illustrates the examination main page.
Page 243 of 252
Figure 69 – Examination Page
Figure above describes the examination question page.
Figure 70 – Student Exam Summary Page
Figure above describes the examination summary page at the end of an examination.
Page 244 of 252
Figure 71 – Student Exam Summary Bar Chart
Figure above describes the number of questions answered correctly versus wrongly group
by level of difficulty at the end of student examination.
Figure 72 – Student Grade Book Page
Figure above describes the total attempts for questions in respective chapters that students
have answered during the examination.
Page 245 of 252
Figure 73 – Student Detail Grade Book Page
Figure above shows the number of students pass / fail in a particular question.
Figure 74 – Student’s Examination History Page
Figure above shows the student’s examination history page for the list of examinations
that they have taken.
Page 246 of 252
Figure 75 – Student’s Exam Question History Listing Page
Figure above shows the list of questions that student had answered in a particular
examination.
Figure 76 – Question Analysis Report Page
Figure above shows the percentage of student responses to each choice.
Page 247 of 252
Figure 77 – Student’s Exam Question History Detail Page
Figure above shows the student’s answer for a particular question in the examination.
Figure 78 – Examination Summary Report Page
Figure above shows the student’s performance for a particular course in the examination
Page 248 of 252
12
APPENDIX D – USER REGISTRATION FLOW
System
Administrator
Lecturer
IQBAES
Student
IQBAES user
Registration
Process
Receipt list of
IQBAES user
(lecturer and student)
Registration of User
System captures the
user details
System generate a
userId and password
base on criteria
provides by
administrator
Receive List of users
to be added to
IQBAES
Verify list of users
with their staff ID and
student ID
Accept users
conforming to term &
condition
Is Registration
complete?
Create User
(Lecturer/ Student)
No
Enter user details in
the system based on
the copy of user
details received
Notification Processing
System routes
incomplete
registration to
administrator
Create User Group / Role
(Lecturer / Student)
Yes
User Role Creation
Assign user to
respective user role
System captures the
user details
System generate a
user role
Is role creation
complete?
No
Yes
Send Notification
Send notification to
lecturer/student on
successful
registration
Page 249 of 252
13
APPENDIX E – QUESTION BANK FLOW
System
Administrator
Lecturer
IQBAES
Student
Question Bank
Creation
Process
Prepare list of
exam question
Prepare list of exam
questions to be
added to IQBAES
Prepare
miscellaneous
material if any
(graphic, chart,
graph, audio, video
and etc)
Chapter selection
Is chapter
exists?
No
select relevant
chapter on which
question will be
created
No
Chapter Creation
Create Chapter
System captures the
chapter details
System generate a
chapter base of
selected course
Enter chapter details
in the system based
on the program and
course details
No
Create Question
Enter question details
in the system based
on the copy of
questions details
prepared earlier
Is chapter creation
success?
Yes
Yes
Chapter Creation
System captures &
generate the question
System keeps
question into question
bank
Page 250 of 252
14
APPENDIX F – EXAMINATION CREATION FLOW
System
Administrator
Lecturer
IQBAES
Student
Exam Creation
Process
Exam Creation
System captures the
exam details
System generates
exam with status new
in IQBAES
Prepare exam
Prepare list of exam
to be created to
IQBAES
Is exam creation
success?
Create exam
Enter exam details in
the system based on
program, course and
semester.
Provide exam date
and time and no of
questions for the
exam
Update exam status
as new
Yes
Scheduler creation
No
System scheduler will
be created in order to
activate the exam
according to the time
and date captured in
system
Receive Notification
Student will receive
notification about
current active exam
on their action
bulletin board
Student can click on
the exam link and
proceed to take the
exam.
Is exam date reach?
No
Scheduler standby
Yes
System scheduler will
be running in
background
System scheduler will
update exam status
to active when date/
time reached.
Facilitate Update &
Acknowledgement
System scheduler will
facilitate exam status
update
System will
acknowledge student
about active exam on
their action bulletin
Page 251 of 252
15
APPENDIX G – EXAMINATION FLOW
System
Administrator
Lecturer
IQBAES
Student
Provide list of questions
System provides list
of random questions
base on initial level of
difficulty
Route the question to
student
Exam
Process
Receive Notification
Student receive
notification about
current active exam
on their action
bulletin board
Select exam and
proceed with
examination.
Grading
System performs
grading on the
questions
Receive question
Is answer correct?
Student receives
question
Student select
answer for the
question and submit
Yes
Increase Level Of
Difficulty
No
System will increase
level of difficulty
Level Of Difficulty
Adjustment
System will decrease
level of difficulty base
on current question
difficulty level
Is last question?
No
Provide new question
System provides new
question base on
new level of difficulty
Route question to
student
Last question grading
System performs
grading on last
question
System route exam
summary result to
student
Yes
Receive exam summary
Student receives
exam result
Student can view
their summary result
in bar chart
Page 252 of 252
Download