Académique Documents
Professionnel Documents
Culture Documents
PORTAL
BY
PG/MSC/13/66219
MAY, 2016
Development of Courses Offer Portal
By
May, 2016
i
Certification
I hereby declare that the work presented herein was done by me, and not by a third party.
Should I be convicted of having cheated in this work, I shall accept the verdict of the university.
ii
Approval
iii
Dedication
iv
Acknowledgement
I am grateful to Almighty God - the God of my breakthrough, for His favour upon me
throughout the duration of the program.
My profound gratitude also goes to my wonderful and erudite supervisor, Dr. (Mrs.) M.N. Agu,
for taking time to repeatedly go through this work.
I remain grateful to Mr. John Oguebutelu, Mr. Ebuka Onyeagba, Mr. Ephraim Williams and Mr.
Donald Onyeagba for their financial and moral support.
I am also grateful to my fiancée, Princess, Ogbonna Chiazo and my special friend Mr. Omeje
Kingsley; I pray for God’s favour in all your endeavours.
v
Abstract
The impact of information and communication technology revolution in today's
world is inexplicably exhilarating and more so with the due sustenance owing to
ever increasing emergence of advanced technologies which are as the sand of the
shore innumerable. This research work developed a courses offer portal(Trinity).
The purpose is to provide an upgrade to the already existing partially
computerized educational systems currently running in most Nigerian educational
institutions. Trinity will improve interaction between students and lectures online
during a real-time lecture; this ensures that a student can participate in classes
irrespective of their location. With this system, time and cost is saved such as in
the area of organizing and conducting examinations. The system(Trinity) is web
based application which can be access by users from any part of the world at the
same time. This application was designed using Object Oriented Analysis and
Design Methodology(OOADM) and implemented using Hypertext Pre-
Processor(PHP),Hypertext Markup Language (HTML),Asynchronous JavaScript
and Extensible Markup Language (AJAX), Java Script and Cascading Style
Sheet(CSS) as front-end and My-SQL database as back-end. The system runs
smoothly and the set objectives were dully achieved.
vi
Table of contents
Title page i
Certification page ii
Approval page iii
Dedication page iv
Acknowledgement v
Abstract vi
Table of contents vii
List of figures ix
List of tables x
Chapter 1: Introduction
1.0 Introduction 1
1.1 Statement of problem 2
1.2 Aims and Objectives of the study 2
1.3 Significance of the study 3
3.0 Introduction 10
3.1 Analysis of the existing system 10
3.2 Analysis of the proposed system 11
3.3 Design of the proposed system 17
4.0 Introduction 25
4.1 Choice of development Environment 25
4.2 Implementation Architecture 27
4.3 Software Testing 29
4.4 Documentation 35
5.0 Summary 39
5.1 Conclusion 39
5.2 Suggestions for further work 40
vii
References 42
Appendix 44
viii
List of figures
ix
List of tables
Table 3.1 Users 18
x
Chapter 1: Introduction
1.0 Introduction
With the vast development of various technologies; learning today is no longer confined to the
classrooms with lecture deliveries as the only method of conveying knowledge, rather, an
electronic means of learning has continued to evolve. New and emerging technologies challenge
the traditional process of teaching and learning, and the way education is managed [1].
Information technology while an important area of study in its own right is having a major
impact across all curriculum areas. The most significant development of recent years has been
the growth of new kinds of university and the increasing popularity of the so called 'borderless
education'.
As we move towards knowledge age, we are seeing the term electronic learning (e-learning)
being used to describe learning interventions such as knowledge management, online
instructions and electronic performance support.
What makes e-learning powerful is more than technology - it is the social dynamics of
networking. It is the combinational power of a worldwide network of such computers - that
connect authors, instructors and learners globally; with the immediacy of texts, graphics, radio
and video interactivity and collaboration sharing.
The two – way connectivity power of the internet has changed the traditional perception of e –
learning as ‘e - training’.
Online courses offer portal is a subset of the electronic learning system which employs the
powerful nature of the internet to set up a virtual campus, where students, faculties and
administrator(s) can interact irrespective of their current locations.
1
Historically, the famous quote of [2] that the illiterate of the 21st century will not be those who
cannot read or write, but those who cannot learn, unlearn and relearn holds true in this age;
because the world as we know it is now a global village.
There are many educational and training ideas that are encompassed in the e-learning concept:
Expert support system, video telecommunication and conferencing, CD - ROMs and a host of
others. In an academic system, timely dissemination of information, delivery of lectures,
computation and publishing of results are essential for appropriate or smooth running of
programmes and sustainability of outputs in the long term. However, the overreliance on the use
of the manual systems is still not enough to deliver quality education in this 21st century.
The following are the limitations of the current e-learning systems includes Lack of proper
interaction between the students and instructors as students tend to miss classes due to one
reason or the other.
It provides less transparency to the student from the evaluation process. Automated processes
are less prone to errors and they are more reliable due to less human intervention.
The existing systems require lots of manpower for conducting examinations and high costs of
printing educational and instructional materials are involved.
The objective of this work is to develop a courses offer portal that will do the following:
2
1.3 Significance of Study
Most universities and colleges offering distant learning programs are still running the
manual means of student admission, course registration as well as lectures. Although some
are trying to computerize the processes, but there are still room for improvements.
Building a system that handles the distant educational processes from student admission to
result computation will go a long way in improving the global reach of the institution as
well as improve their financial revenue base. Real-time interaction between the students
and their lecturers improves the educational processes of teaching and learning.
The end product of this study is set to give a more efficient, effective and reliable means of
delivering education in this 21st century to the teeming population who are constrained by
factors of finance, distance and tight economic schedules. It will also serve as an upgrade
to the existing half-computerized systems currently running in some educational
institutions. In view of these, this project is therefore aimed at designing a courses offer
portal(Trinity) that is user friendly and will deliver distant education in efficient ways.
3
Chapter 2: Literature Review
2.0 Introduction
Due to poor infrastructure and lack of technological know-how, it is believed that distance
learning in Nigeria is still in its infancy stage [3]. A courses offer portal will go a long way in in
providing an easy, effective and efficient way of managing education in Nigeria. Developing an
Online course portal requires a deeper knowledge and understanding of the existing system to
know the areas that needs to be improved on. This chapter reviews related literatures written by
different authors on online - course offer portal. The concepts and technologies that will be used
are also reviewed.
The major technologies used for developing this project are web technologies; Hypertext
markup language (HTML), Cascading Style Sheet (CSS), Hypertext pre-processor (PHP) and
MYSQL relational Database server technology. The portal was designed using a collection of
files written in HTML which are rendered visible to users’ software called web browser (e.g.
designing the user graphical interface. Elements are the building blocks of HTML used to
describe every piece of the text on the page [4]. They are made up of tags and content within
those tags. Most elements have an opening element (tag) and a closing element (tag)
Below is an example of an HTML document in our Web document which presents the title of
the home page of the site:
<html>
<head>
4
<meta charset="utf-8">
</head>
</html>
PHP programming language is the scripting language. It was used to connect the other
technologies used in this application to produce the required output. It can accept and validate
the information that users type into the web form and can also move the information into a
database[6].
Below is the PHP code that handles login:
5
<?php
require_once("includes/initialize.php");
$student = null;
$student_id = -1;
$error = false;
$disable_button = "";
if(isset($_POST['user-login'])) {
$email = $_POST['email'];
if($found_user) {
$session->login($found_user);
/*$session->set_student_id($_POST['student-id']);
echo $session->get_student_id();*/
redirect_to('user/student-details.php?student-detail=' . $_POST['student_id']);
} else {
$error = true;
JavaScript
JavaScript is used to improve the design of the WebPages(for example, to highlight a navigation
button when the user moves the mouse pointer over it) or accepting and validating information
that users type into a form, detecting browsers creating cookies and much more. JavaScript code
is also embedded into this work which maintains timer, and redirects to the result page as soon
as the time gets expired.
AJAX makes it possible to load any part of the page without reloading the whole page. One of
the ways AJAX was used in this work is to retrieve the exam questions without reloading the
whole pages.
6
MYSQL Relational Database Server Technology
MYSQL relational database was used for storing application information and other records
filled from HTML forms. See section 3.31 for more database details.
A large amount of work has been published on online courses offer portal though their
technologies and architectures are different.
The authors in [7] described the characteristics of a synchronous classroom. They were of the
opinion that the best advantage of synchronous online instruction is that instructor and students
can communicate using texts, audio and video and express emotions using emoticons.
Synchronous virtual classroom provides the instructor with the ability to poll students instantly
and afford the students the chance to participate in the breakout rooms, while having the feeling
that they can interact as if they were face-to-face. They noted that it requires vision, planning,
expertise and resources to run a synchronous virtual classroom successfully.
The author in [8] discussed the issue of whether distance education can fulfill the needs of
learners. He pointed out two key facts to an educational context which are vital to the process of
education, the first being the building of a community within a group and the second being the
deep understanding of the ideas and issues that are presented as point of a course. He also
opined that synchronous tools are more effective for the “social” side of education and that
asynchronous tools are better at dealing with the ‘academic’ aspects of the course.
The author in [9] stated that interaction plays an important role to the success of distance
learning. He was of the opinion that since most distances learning environments utilizes mainly
asynchronous Computer Mediated Communication (CMC) systems; interaction research that
focuses on synchronous CMC is largely ignored. Results of his research suggest that
constructivist-based instructional activities, such as student-moderated discussion and small
group cooperative learning are conducive to interactions. He also recommended the design of
instructional activities and interactive interfaces for the improvement of distance-learning
environments.
7
The opinion of the author in [9] above was also soundly supported by the authors in [10], they
concluded that interaction was crucial to student satisfaction in online courses. They suggested
that adding synchronous components (virtual classroom technologies) to online courses can
facilitate interaction. They practically conducted a survey on 21 graduate students in an
instructional technology programme in the southern United States. The result suggests that
student interaction, and hence, learning was aided by the live communication that occurred
through the virtual classroom (using the Winba interface).
The authors in [11] researched the use of Elluminate Live! by a group of nursing students.
According to the results of the research; the students reported high level of satisfaction due to
the interactive nature of the program.
[12] Focused on the impact of internet facilitated Distance Learning (DL) on traditional colleges
and universities. He stated that DL can provide students with increased options with respect to
flexibility of time and finance. He pointed out that it can challenge the faculty-centric vertical
integration of teaching by focusing more on maximizing profits rather than teaching and
learning.
He also pointed out that disruptive dislocation of students' pool could lead to severe financial
dislocations.
In [13], the authors analyzed student’s data from six undergraduate and graduate courses related
to the use of a virtual classroom space. They sort to know why students gave positive response
to the use of Elluminate Live! over other virtual classroom software such as HorizonLive,
Centra and Interwise. The result of their analysis reaffirmed the findings of [13] that due to the
interactive nature of Elluminate Live!, students and instructors preferred it.
In [14], the authors studied the adoption and use of Horizon Wimba Virtual Classroom(HWVC)
in online courses at a Southeastern University in the United States. Amongst other things, they
sort to know what factors and features influenced faculty adoption of the Wimba Virtual
Classroom(WVC) and how do faculties use the Wimba virtual classroom in their teaching?
They found that some of the characteristics of innovation attached the WVC includes:
compatibility, complexity, availability and observabililty. They concluded that administrators
can promote the factors and features that influence decision making to adopt the tool and open
doors for the adoption of Synchronous virtual classroom.
8
Authors in [15] sort to know which is the better choice for student-faculty interaction;
Synchronous or Asynchronous communication. They explored the utility and value of
communicating with students outside the traditional classroom environment by comparing
students’ preferences, satisfaction, and utilization of two common types of Computer-Mediated
Communication(CMC). The findings of [15] shows that participants offered with email-
turnaround-time guarantee reported a significantly higher level of satisfaction on getting help
outside of classroom than the students who weren’t offered such a guarantee.
Authors in [16] stated that since faculties are pivotal to the success of online instructions, there
is a need to explore their backgrounds, concens, and their online teaching practices. This stems
from the fact that it is the faculty who play the key role in the successful implementation of
online instructional courses.
The findings of [18] shows that participants offered with email-turnaround-time guarantee
reported a significantly higher level of satisfaction on getting help outside of classroom than the
students who weren’t offered such a guarantee.
Today students communicate more online than they do in face-to-face. This was reaffirm by
[19] that university administrators should be alert of this phenomenon and learn to use the
variety of electronic media available in positive ways to stay connected to faculty social
networks or to promote relevant events on campus. The trend in Information Technology (IT)
presence has shown that the world is becoming increasingly digital with all its operations being
converted from manual to computerized systems. Every organization ought to follow the trend
or miss out due to inability to cope with effective and efficient the use of computerized systems.
Authors in [20] stated that since faculty is pivotal to the success of online instructions, there is a
need to explore their backgrounds, concerns, and their online teaching practices. This stems
9
from the fact that it is the faculty who play the key role in the successful implementation of
online instructional courses as opined by [21]. Among other things, they sort to identify: (a) the
factors that influence faculty participation in distance education, (b) the number of hours spent
in preparation each week for on-line coursework (c) the tools used in the online class.
The result of the research shows from the table below that 58% of instructors wanted to use
technology as a means of reaching students for a greater good.
Table 2.2 Ranking of Reasons Faculty Choose to Teach On-Line Courses (rank 1 being the
most important). [19]
Rank % Reason
The result also showed that the amount of time faculty spent interacting with students in on-line
courses each week ranged from 1-3 to 13-15 hours. 52% of the faculty indicated that they
interacted 1-3 hours each week with students on-line in WebCT.
The types of WebCT tools most frequently used by instructors were: (1) the course materials
(94-87%), (2) the bulletin board (87-81%), (3) private e-mail (74-77%), (4) the class calendar
(65%), and (5) chat rooms (39-32%).
10
From the foregoing, researchers strongly agree that to communicate effectively and efficiently,
Synchronous classrooms are the best for online teaching and learning.
[22] Asserts that the problems faced by convectional manual systems could be resolved by the
implementation of computerized applications on which the time wasted in travelling for lectures
and the associated risks will be saved. Students then have privilege to view lectures and
download update irrespective of their locations. Unified Modeling Language (UML) was used
in the application.
Extensive research has been done on how to support informal communication using IT.
However, in most cases the aim has been to support distributed rather than co-located groups
[23, 25, 24, 18]. The rationale for this is that many incitements for occasional communication
are lost when people are not co-located. Thus, support for awareness about peoples’
whereabouts that could compensate for not having corridors, lunchrooms etc. as sources of such
information have been developed. The notion of proximity has also been used as a metaphor in
virtual environments designed for social interaction, for instance Chat Circles and FreeWalk
[19, 18]. One of the main differences between these projects and the work presented here is that
in the partially computerized setting, the technology does not mediate the information.
Therefore, our focus has been on how to support information distribution, for instance by means
of providing or getting instant update and relevant information [ 26, 27].
In the end, it does not really matter whether an institution is running on a manual or partially
computerized system; the essence of education in the 21st century is geared towards providing
quality knowledge irrespective of location while also trying to cut down on the cost associated
with acquiring such knowledge. What matters the most is for the information to reach the
students irrespective of the location. However to cater for the needs and constraints of many
parties, be it the staff itself or the students, the online courses offer portal is seen as the best
option we have right now.
11
Chapter 3: System Analysis and Design
3.0 Introduction
This chapter deals with the analysis of the existing system. It gives the description of system
analysis and design together with the methodology used; then the analysis of the proposed
system, where the requirement analysis and Unified Modeling Languages (UML) were
explicated. It concludes with the description of the design of the proposed system which
includes the system architecture, database design, input and output design.
System Analysis is the process of gathering information about the current system, identifying its
strengths and weaknesses, and analyzing them to produce a concept for the new system. It is a
management exercise, which help in designing a new system or improving the existing system.
The goal of this analysis stage is to truly understand the requirement for the new system in other
to develop an upgrade system.
This project uses the object-oriented approach. The methodology employed is object-oriented
analysis and design methodology (OOADM). OOAD is a software engineering approach that
models a system as a group of interacting objects. Each object represents some entity of interest
in the system being modeled and is characterized by its' class, state (data element), and
behaviour. A concept in the object-oriented approach enables analysis to break a complex
system into smaller manageable modules, work on the modules individually and easily place the
modules back together to form an information system. A set of diagrams or models is used to
represent various views and functionality of the system and is commonly known as Unified
Modeling Language (UML).
In the existing systems, the process of applying for admission, distribution of course materials,
lectures(if available), examination etc are totally done manually or are semi-automated.
12
1. Intending students need to physically travel to the location of the school before they can
apply for admission.
2. Collection/distribution of courses material can only be done manually.
3. Classes (if available) are conducted manually. This requires the student and lectures to
be physically present at designated centers, thus limiting the flexibility of the program
and increasing cost. When lecturers are not available for classes without prior notice, the
students might have wasted time and money coming for the lecture.
4. Examinations are conducted manually at a designated centre.
After a detailed study of the existing system at the National Open University Of Nigeria
(NOUN), the following problems were identified:
1. The whole process of admission is partially automated. The processes of applying for
admission and distribution of courses material are manually configured.
2. There are no lectures available to students.
3. Examinations are conducted manually at designated centers at a particular time.
4. The existing system at NOUN is effective, but not totally efficient because it does not
encourage the hiring of lecturers who are not physically present in a particular
geographical domain.
5. Students and staffs who live outside of the country cannot actively participate in the
scheme.
6. The cost of printing course materials, files, folders and other paper works are enormous.
The Courses offer portal is a web-based system(Trinity) which is carefully designed to give
students and lecturers a twenty-first century university experience; without having to be
physically present at the location of the university.
Trinity will take care of the problems identified in the existing system. All the sub-processes
such as admission application, allocation of courses to lecturers, distribution of courses
materials, registration of courses, lectures, tests, assignments, examinations etc will be fully
automated.
13
We intend to run trinity as a program that can be used anywhere and anytime irrespective of
time or location constraints. Hence, Trinity can run on personal computers as well as mobile
devices with internet capabilities.
Users :
i. Administrator(s)
ii. Lecturers
iii. Students
14
The registered users can login to Trinity. After logon, the students can access all details of the
information on the news notice, courses time-table and academic announcements on the notice
board. The students can always logout when necessary.
The lectures can register to take certain number of courses. when registered, Trinity
automatically generates a username and password for the staff. The lecturers can login, schedule
classes, deliver classes, upload courses materials, schedule tests and examinations etc.
The administrator is the user who is responsible to maintain the flow of information on Trinity.
He performs updates to the databases, assign courses to the lecturers and maintains the system.
The administrator is the only person allowed to edit and update trinity. He can logout after
performing the necessary operations.
15
Login
Assign Course to
Instructor
Edit/Delete Test,
Exam or
Assignments
Register Courses
Download Course
Materials
Submit Assignments
Student
Take Exam
Logout
Verify
Registration
and
16
Activity Diagrams
The Activity diagram below shows graphical representations of workflow of stepwise activities
and actions with the available of input in the Trinity. The activity diagram for the user
registration is showing in the figure 3.2 below.
start
No No
click register is
user
vali
d?
no display dashboard
is info
correct ?
yes
system displays
username and password
stop
17
Activity Flow Diagram is the logical representation of the data flow of the project. Figure 3.2
shows the AFD’s of the proposed system, where by the flow of data from external entities into
the system and how data moved from one process to another is well elaborated.
This information system adheres to all crucial non-functions like, accessibility, reliability,
portability, interface and security. As it works, it has been designed to be accessed by large
number of people at the same time. Trinity is capable of storing the posted data and allow free
download of academic materials to users. The application is developed by using PHP.
Developed in PHP and MYSQL as its database, makes it to run on Windows and other
operating system provided. Its interface can be easily accessed through internet explorer,
Mozilla Firefox and any other windows and Linux browser that is compatible with the scripting
language used in developing the system. For security, all registered users will login to the
system using their registered username and password.
Class Diagrams
The purpose of a class diagram is to depict the classes within a model. In an object oriented
application, classes have attributes, operations and relationships with other classes. The class
diagram is used to describe and show the necessary relationships among the tables, which are
selected to store the data persistently in the system.
18
3.3 Design of the proposed system
System design is the process of developing systems to meet specific requirements. It involves the
process of planning a new system or to replace or supplement an existing one. It describe a
system and the process by which it is developed. The key question is: How would the system be
developed? It includes defining architectural, logical, and database design. Figure 3.4 below
shows the system architecture.
Presentation Tier Server
Middle Tier Data Tier
The system is designed using a three layer architecture. The first layer is the user (Presentation)
layer consists of HTML, Bootstrap, CSS and JavaScript. This layer contains all of the pages that
the user sees, and they know nothing about any existence of the database beyond this layer. All
views are generated by applications that reside in the middle layer. The second layer is the
Application (Middle) Layer: At this layer reside the application server and the programs that
access the database. For a user, this application layer presents an abstracted view of the database.
End-users are unaware of any existence of the database beyond the application. At the other end,
the database tier is not aware of any other user beyond the application layer. Hence, the
application layer sits in the middle and acts as a mediator between the end-user and the database.
The third layer is the Data Layer; this layer consists of the database for storing data. The
database system used is MYSQL relational database system.
19
3.3.1 Database Design
The database management system used is MYSQL. The tables includes: Students, Users,
Schedules, Result, Lecturers, Lecturer-courses, exam-test, course_materials, course Registered,
assignments, courses etc.
updated_at Timestamp No
remember_toke n varchar No
20
Table 3.3 Student
Id int11 No 11 auto_increment
Username varchar No 25
Surname varchar No 25
firstName varchar No 25
middleName varchar No 25
Gender varchar No 5
dateOfBirth varchar No 10
Marital varchar No 10
Lga varchar No 30
Religion varchar No 15
Phone varchar No 15
Email varchar No 30
Address varchar No 100
matricNo varchar No 10
jambRegNo varchar No 10
Programme varchar No 10
Faculty varchar No 40
Department varchar No 50
Course varchar No 50
created_at timestamp No
updated_at timestamp No
21
Table 3.4 Result
updated_at timestamp No
22
Table 3.7 Lecturers
Surname varchar No 25
firstName varchar No 25
middleName varchar No 25
Gender varchar No 7
Position varchar No 20
Phone varchar No 15
Department varchar No 50
Faculty varchar No 50
created_at varchar No
updated_at varchar No
23
Table 3.9 courses registered
Field Data Type Null Size Description Action Extra
24
3.3.2Input Form Design
Username
Username
Password
Password
Login
Surname surname
First Name First Name
Position Position
Address
Select category
Faculty
Department Select Dept
Submit
25
3.3.3 Output Design
The figure 3.7 below shows the output of update after a student or lecturer has successfully
registered on Trinity. The system automatically generates a username and password for the
registered user. Subsequent login to the system can only be allowed if the user correctly enters
his/her username and password correctly.
Username
Chidi@gmail.com
Password
54vbF8GHJ
Login
26
Chapter 4: System Implementation
4.0 Introduction
This chapter describes the system implementation. It presents the platform summary, integrated
development environment (IDE) and choice of programming language used. The implementation
architecture and their linkage followed by software testing with a few screenshots showing how
the system works and some necessary documentation are well explicated. This system is a menu
driven web application, such that the user requires logging in order to have access to their
various privileges and to move from one page to another to get their required information.
Implementation refers to the activities that occur after the software has been developed and
tested in the development environment. These activities usually comprise data conversion,
system testing, user manual/training, performance evaluation and change over procedure.
27
registered users. (4)Enable the registered users to login to the system. (5) Response when
database is not found or when either username or password do not match to those stored on the
database.(6) Enables data to be posted to the database.(7)Enable users to read information from
the system. (8)Enable the archiving of tests, assignments and exams. (9)Enable user to logout.
Input/output devices: When user wants to register to the system then s/he can type it direct
on the text box provided by the post menu or s/he can upload it from his/her USB flash, external
HDD or directly from s/he PC.
Hardware: For the system to perform well, networked computers, connected to the well-
equipped server is required.
Software: In order for the system to perform optimally also there are series of software which
will be required to support the roles of hardware mentioned above for the successful functioning
of the system. This software includes: Windows Operating system which may be Windows 7 or
Linux, A Web server, which may be Wampp or Xampp .
28
server, Database, PHP Parser. These three components are contained in an application known as
WAMP server which can be downloaded and installed. WAMP is a cross platform web server
solution stack package. It consists of Apache HTTP Server, MySQL database and interpreters for
codes written in PHP and Perl programming languages. PHP execution is facilitated when the
WAMP server is on.
Other programming languages used for developing this faculty Trinity are; Hypertext Markup
Language (HTML), Laravel, Cascading Style Sheet (CSS), Bootstrap, JavaScript (JS) and
Structured Query Language – used for manipulating MYSQL relational database server.
http
Web Service
MySql
Database
29
4.2.1 System Modules
Modularity is an important concept of Object Oriented Programming (OOP). A module is a
functional component of a system developed separately. Modules of a system are independent of
one another but communicate with one another and can be composed into a larger system.
The use of user accounts
Every user of the system shall have his/her own account where all operations and services of the
system entitled to him/her will be performed. Though there is no definite level of clearance
among users, but still there is difference between the created accounts for administrators, staffs,
and students. So there are three modules in the system:
30
Figure 4.2: User Login Module
Trinity Module
The Trinity module allows the user to access different category of system and directs the user of the
system to the appropriate part of the system (lectures, test, examinations registrations etc).
31
4.3.1.1 Test Plan
To ensure that each individual program meets its specification, we carried out suitable test on
the new system by testing different modules of the system and then finally testing the fully
integrated system. Software testing can be approached in a number of ways e.g. One may decide
to proceed in a top-down fashion, or in a bottom –up test plan. We decided to follow in the top-
down fashion in which case:
i. The main system driver is tested first using dummies to replace subsystems. Note that the
main system driver enables one to select a subsystem of interest.
ii. Next, we test the subsystem driver for each of the subsystems comprising the software
package. A subsystems driver enables one to select a program module under that sub-
system.
iii. Finally, for each subsystem the modules are tested one after the other to complete the top-
down test plan.
There are various type of test applied in the system. Each test type addresses a specific testing
requirement.
Types of tests
i. Unit Testing:- This was done during development stage to detect and correct error. It
involves testing each class or unit of the software interface. A unit test is also known as a
module test because it tests the individual units of code that comprise the application. Each
test examines a newly modified individual component by removing bugs during the
development phases.
ii. White Box Testing :- This technique focuses on the program control structure which
involves close examination of procedure details. White box testing helps us to test the quality
of construction of the software. Program statements, internal data structure, loop, logical
paths and logical statements were also tested.
32
iii. Black Box Testing :- is testing the software without knowing the inner workings, language
or structure of the module being tested. Black box tests like other kind of tests, must be
written from a definitive source document, such as requirements or specification documents.
it is a testing in which the software under test is treated, as a black box.
iv. System Testing:- This is the testing of a complete and fully integrated software product.
This also involves the external working of the system from the user's perspective and it
involves the following:
Testing the fully integrated applications including external peripherals in order to check
how components interact with one another and with the system as a whole. This is also
called end to end scenario testing.
Verifying thorough testing of every input in the application to check for desired outputs
and
Testing of the user's experience with the application.
v. Integration Testing:- These are testings in which modules are combined and tested as a
group. Modules are typically code modules, individual applications, client and server
applications on a network, etc. Integration testing follows unit testing and precedes system
testing.
vi. Acceptance Testing:- The acceptance test suite is run using predefined acceptance test
procedures to direct the users which data to use, the step-by-step processes to follow and the
expected result following execution. The actual results are retained for comparison with the
expected results. But if the actual results match the expected results for each test case, the test
case is said to pass.
Normally this type of test is done to verify if system meets the user specifications. User
do this test to determine whether to accept the application.
vii API Testing:- API testing involves testing APIs directly (in isolated) and as part of the end-
to-end transactions exercised during integration testing. An API (Application Programming
interface) is a collection of software functions and procedures, called API that can be
33
executed by other software application. This is used to know whether APIs return the correct
response (in the expected format) for a broad range of feasible requests, react properly to
edge cases such as failures and unexpected/ extreme inputs, deliver responses in an
acceptable amount of time, and respond securely to potential security attacks.
34
Figure 4.4 Lecturer Dashboard
35
Figure 4.6 Dashboard showing upload links for assignment, test and exams
36
The following methods are used to achieve change over process
(A) Parallel Change Over: This is a method in which both systems that is computerized and
manual systems are executed at the same time (that is simultaneously).
This strategy is helpful because of the following:
Manual results can be compared with the results of the computerized system
Failure of the computerized system at the early stage, does not affect the working
of the system, because the manual system continues to work as it used to do
It builds the user confidence especially during the parallel run.
(B) Pilot Changeover: In this type of run, the new system is installed in parts. Some parts of
the new system is installed first and executed successfully for considerable trial period.
When the results are found satisfactory, then another part is implemented. This strategy
builds the confidence and the errors are traced easily.
(C) Direct Changeover: This is where the old system is discarded immediately while the
new procedure is made the old system has nothing in common with the new system and
the new system is the only alternative.
(D) Phased Changeover: Here, the conversion is carried out gradually in phases until the
entire conversion has been completed. This method assumes that the old and new systems
are alike. Among the four methods of changeover discussed above, parallel changeover
and pilot changeover were recommended in that they will ensure that the new system will
be put in place.
4.4 Documentation
This aspect of this project provides the user with manual help on the software in case the system
developer is absent.
This manual provides instructions for setting up and use of the system. Users of the system must
be quite familiar with it to avoid unnecessary problems.
37
Information Security and Confidentiality
Data and information within the system must be highly protected so as to maintain the quality of
the system. To make this, some measures must be taken into account. Some of these measures
are:
i. The use of password
It is very common means of authentication where in order to protect the system, password is
needed to prevent the system from unauthorized users. Every user registered to the system
is given a username and password.
ii. The use of firewall and antivirus software
Firewall within the server and the installed antivirus can be used by database and system
server to protect the server from intruders and viruses. Only specific request and specific port
can be opened to receive the requests.
iii. The use of Uninterruptible Power Supply (UPS)
Provided to prevent the computer and network from blackout and electricity problems. Also
it can protect data and network equipment from any damage which is caused by frequent
electricity cut.
For this system to be used effectively, the user has to do the following;
ii
Open the browser of the device used (e.g. Google Chrome, Internet Explorer, Mozilla
Firefox, UC browser etc).
iii
Enter the URL, http://trinity.com/ to display the home page of the application showing in
the figure below.
38
Registration: click on "register as a Student" or "register as a lecturer" to display the respective
input registration forms as shown below, fill in the form and submit. This will enable user to
obtain a username and password to access the system.
39
Figure 4.4 Lecturer Registration form
1. Login: the user fill-in the username and password and submit for authentication before they
are allowed to access the system.(see Figure 4.2).
2. Log out: This allows the user to be exit the system.
3. Main menu: figure below shows the main menu of the system, via which user can access
40
Chapter 5: Summary and Conclusion
5.0 Summary
This research was about developing a university courses offer portal. A case study of faculty of
the National Open University of Nigeria(NOUN) was considered. The statement of problem was
stated. Aim and objective, scope and Significance of the study to humanity was also stated. The
theoretical background where concepts and technology used in the work and how they were used
was explicated followed by a comprehensive literature review of related works. System analysis
and design where details of the existing system was analyzed, followed by its description and the
problems associated with it. The notion gathered about different concept of e-learning were used
to analyze, design and implement the system. The system (Trinity) is user-friendly web-based
university courses offer portal. It allows users to register and login to access the system based on
user category, students can register for courses, download course materials, take lectures online,
write tests and exams etc. Lecturers can upload course materials, schedule lectures, tests, exams
etc. The administrator is the only person allowed to effect major changes to the system. He is
responsible for assigning courses to lecturers, he releases students results and manages the
database. Trinity was designed using an object-oriented approach. It employed the Object
Oriented Analysis and Design Methodology (OOAND), and was implemented using
Dreamweaver on window 8 system using Hypertext Markup Language (HTML), Bootstrap,
Cascading Style Sheet (CSS), JavaScript, Laravel, Hypertext Pre-Processor (PHP) and MYSQL
Relational Database Server technology.
5.1 Conclusion
In the National Open University of Nigeria(NOUN), upon successfully utilizing this system there
will be no need for students and lecturers to be physically present in Nigeria before they can
apply for admission into NOUN. The online chat function of Trinity makes it possible for the
lectures to be conducted between students and lecturers irrespective of geographical location,
with Trinity, all that is required is an internet enabled device. On monitoring the activities on the
system, the administrator can delete, disable or suspend a user from using the system. The
41
system has reached the steady state where all bugs have been eliminated. The system operates at
a high level of efficiency, all the students and lecturers associated with the system can
understand its advantages because it is easy to use, also the system solves the problem it was
intended to solve as requirements specification. Finally the uses of papers and manual
submission of assignments and test has been reduced by 90% through the use of Trinity and we
realized that this project saves time, energy and cost of printing and distributing courses
materials.
On contrary for the developing country not all students can have computers and reliable internet
connection so the system will be effetely or cannot be utilized effectively. Also since it is a web
based system, there can be some delay of information when the server hosting the system is
down.
There should be awareness about courses offer portal systems as they are being underutilized
since not enough people are aware of them. This can be done via website blogs, research papers,
etc.
43
Reference
http://members.optusnet.com.au/nasturtium/emod1.html
[10] Phan, K., & Daim, T. (2011). Exploring technology acceptance for mobile services.
Journal of Industrial Engineering and Management, vol. 4 no. 2, 339-360.
doi:10.3926/jiem.2011.v4n2.p339-360
[11] Yen, D. C., Wu, C.-S., Cheng, F.-F., & Huang, Y.-W. (2010). Determinants of users'
intention to adopt wireless technology: An empirical study by integrating TTF with
TAM. Computers in Human Behavior, 26(5), 906-915. doi:10.1016/j.chb.2010.02.005
44
[13] ISSN 1479-4403 124 ©ACPIL Reference this paper as: Martin, F, Parker , M and Allred,
B. “A Case Study on the Adoption and use of Synchronous Virtual Classrooms” The
Electronic Journal of e-Learning Volume 11 Issue 2 2013, (pp124-138), available online
at www.ejel.org
[15] Li, L., Pitts, J. (2009). “Does It Really Matter? Using Virtual Office Hours to Enhance
StudentFaculty Interaction”, Journal of Information Systems Education, 20 (2).
[16] http://www.westga.edu/~distance/ojdla/fall33/mckenzie33.html
[18] Li, L., Pitts, J. (2009). “Does It Really Matter? Using Virtual Office Hours to Enhance
StudentFaculty Interaction”, Journal of Information Systems Education, 20 (2).
[19] G. Heiberger, and R. Harper, "Have You Face booked Astin Lately? Using Technology
to Increase Student Involvement", New Directions For Student Services, No. 124, Winter 2008.
[E-book]. Available: Wiley Interscience.
http://cyber.law.harvard.edu/sites/cyber.law.harvard.edu/files/Chapter%202%20-
%20Facebook%20and%20Student%20Engagement.pdf. [Accessed March 10, 2015].
[20] http://www.westga.edu/~distance/ojdla/fall33/mckenzie33.html
[23] P. Dourish, and S. Bly, "Portholes: Supporting Awareness in a Distributed Work Group,"
ACM 1992 Conference on Human Factors in Computing Systems, Monterey, CA, ACM
Press. https://pages.cpsc.ucalgary.ca/~saul/601.13/readings/portholes.pdf
45
[24] R. Fish, R. Kraut, R. Root, & R. Rice, "Video as a technology for informal
communication," In: Communications of the ACM 36(1), pp. 48-61. ACM Press 1999.
http://www.comm.ucsb.edu/faculty/rrice/A42FishKrautRootRice1993.pdf
[25] G. Fitzpatrick, S. Kaplan, & S. Parsowith, "Experience in Building a Cooperative
Distributed Organization," Lessons for Cooperative Buildings. In: Proceedings of First
International Workshop on Cooperative Buildings (CoBuild’98), pp. 66-79. Springer-
Verlag.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.25.2901&rep=rep1&type=pdf.
46
Appendix
Source Code
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>User Register | Course offer Portal </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="../css/bootstrap.css" rel="stylesheet">
</head>
<body>
<div class="container">
<header class="row">
<div class="col-md-12">
<h2 class="text-center"><img src="../img/flag.gif" width="50" height="50"><strong>
Recruitment Portal for Ministries, Departments and Agencies </strong><img
src="../img/flag.gif" width="50" height="50"></h2>
</div>
</header>
47
<div class="col-sm-9">
<input type="password" required class="form-control" name="password"
id="password" placeholder="Enter Password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<button type="submit" name="admin-login" id="admin-login" class="btn
btn-danger">Log in</button>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="../index.php">Home <span class="sr-only">(current)</span></a></li>
<li class="active"><a href="#">User Register</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
48
<div class="row">
<div class="col-lg-12">
<ol class="breadcrumb">
<li><a href="../index.php">Home</a></li>
<li class="active">User Register</li>
</ol>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="page-header text-center text-danger">
<h1>User Registration</h1>
</div>
<p class="text-danger">* all required</p>
<p>
<?php if($error) { echo output_message_error($message); } else { echo
output_message_success($message); }?>
<?php if(!$found_user_with_email) { echo form_errors($errors); } ?>
</p>
</div>
</div>
<div class="row">
<div class="col-lg-offset-3 col-lg-9">
<form role="form" method="post" enctype="multipart/form-data" action="<?php echo
htmlspecialchars($_SERVER['PHP_SELF']); ?>">
<div class="row">
<div class="col-lg-9">
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<label for="first-name">First Name*</label>
<input type="text" class="form-control" id="first-name" required
name="first-name" placeholder="First name">
</div>
<div class="form-group">
<label for="email">Email Address*</label>
<input type="email" class="form-control" id="email" required
name="email" placeholder="Email">
</div>
<div class="form-group">
<label for="password1">Password*</label>
<input type="password" class="form-control" required id="password1"
name="password1">
</div>
<div class="form-group">
<label for="current-location">Current Location*</label>
49
<select name="current-location" required class="form-control"
id="current-location">
<option value="" selected="selected">- Select -</option>
<option value="Abuja FCT">Abuja FCT</option>
<option value="Abia">Abia</option>
<option value="Adamawa">Adamawa</option>
<option value="Akwa Ibom">Akwa Ibom</option>
<option value="Anambra">Anambra</option>
<option value="Bauchi">Bauchi</option>
<option value="Bayelsa">Bayelsa</option>
<option value="Benue">Benue</option>
<option value="Borno">Borno</option>
<option value="Cross River">Cross River</option>
<option value="Delta">Delta</option>
<option value="Ebonyi">Ebonyi</option>
<option value="Edo">Edo</option>
<option value="Ekiti">Ekiti</option>
<option value="Enugu">Enugu</option>
<option value="Gombe">Gombe</option>
<option value="Imo">Imo</option>
<option value="Jigawa">Jigawa</option>
<option value="Kaduna">Kaduna</option>
<option value="Kano">Kano</option>
<option value="Katsina">Katsina</option>
<option value="Kebbi">Kebbi</option>
<option value="Kogi">Kogi</option>
<option value="Kwara">Kwara</option>
<option value="Lagos">Lagos</option>
<option value="Nassarawa">Nassarawa</option>
<option value="Niger">Niger</option>
<option value="Ogun">Ogun</option>
<option value="Ondo">Ondo</option>
<option value="Osun">Osun</option>
<option value="Oyo">Oyo</option>
<option value="Plateau">Plateau</option>
<option value="Rivers">Rivers</option>
<option value="Sokoto">Sokoto</option>
<option value="Taraba">Taraba</option>
<option value="Yobe">Yobe</option>
<option value="Zamfara">Zamfara</option>
</select>
</div>
<div class="form-group">
<label for="gender">Gender*</label>
<select name="gender" required class="form-control" id="gender">
<option value="" selected="selected">- Select -</option>
50
<option value="Female">Female</option>
<option value="Male">Male</option>
</select>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="last-name">Last Name*</label>
<input type="text" class="form-control" required name="last-name"
id="last-name" placeholder="Last name">
</div>
<div class="form-group">
<label for="mobile-no">Mobile No.*</label>
<input type="text" class="form-control" required id="mobile-no"
name="mobile-no" placeholder="Mobile number">
</div>
<div class="form-group">
<label for="password2">Re-type Password*</label>
<input type="password" class="form-control"required id="password2"
name="password2">
</div>
<div class="form-group">
<label for="dob">Date of Birth*</label>
<input type="date" class="form-control" required id="dob" name="dob">
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<label for="specialization">Specialization*</label>
<select name="specialization" required class="form-control"
id="specialization">
<option value="" selected="selected">- Select -</option>
<option value="Administration & Office Support">Administration
& Office Support</option>
<option value="Agriculture/Farming">Agriculture/Farming</option>
<option value="Banking / Finance / Insurance">Banking / Finance /
Insurance</option>
<option value="Building Design/Architecture">Building
Design/Architecture</option>
<option value="Construction">Construction</option>
<option value="Consulting/Business Strategy &
Planning">Consulting/Business Strategy & Planning</option>
51
<option value="Creatives(Arts, Design, Fashion)">Creatives(Arts,
Design, Fashion)</option>
<option value="Customer Service">Customer Service</option>
<option
value="Education/Teaching/Training">Education/Teaching/Training</option>
<option value="Engineering">Engineering</option>
<option value="Executive / Top Management">Executive / Top
Management</option>
<option value="Healthcare / Pharmaceutical">Healthcare /
Pharmaceutical </option>
<option value="Hospitality / Leisure / Travels">Hospitality / Leisure /
Travels</option>
<option value="Human Resources">Human Resources</option>
<option value="Information Technology">Information
Technology</option>
<option value="Legal">Legal</option>
<option value="Logistics / Transportation">Logistics /
Transportation</option>
<option value="Manufacturing / Production">Manufacturing /
Production</option>
<option value="Marketing / Advertising / Communications">Marketing
/ Advertising / Communications</option>
<option value="NGO/Community Services & Dev">NGO/Community
Services & Dev</option>
<option value="Oil&Gas / Mining / Energy">Oil&Gas / Mining /
Energy</option>
<option value="Project / Programme Management">Project /
Programme Management </option>
<option value="QA&QC / HSE">QA&QC / HSE</option>
<option value="Real Estate / Property">Real Estate / Property</option>
<option value="Research">Research</option>
<option value="Sales/Business Development">Sales/Business
Development</option>
<option value="Supply Chain / Procurement">Supply Chain /
Procurement</option>
<option value="Telecommunications">Telecommunications</option>
<option value="Vocational Trade and Services">Vocational Trade and
Services</option>
</select>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<label for="job-level">Job Level*</label>
<select name="job-level" required class="form-control" id="job-level">
52
<option value="">-Select-</option>
<option value="Vocational/Semi-Skilled/Unskilled
Labour">Vocational/Semi-Skilled/Unskilled Labour</option>
<option value="Undergraduate Internship/Vacation
Job">Undergraduate Internship/Vacation Job</option>
<option value="Fresh Graduate/Entry Level/Graduate
Internship">Fresh Graduate/Entry Level/Graduate Internship</option>
<option value="Experienced (Non-Manager)">Experienced (Non-
Manager)</option>
<option value="Manager (Staff Supervisor/Head of
Department)">Manager (Staff Supervisor/Head of Department)</option>
<option value="Executive (Director/CEO/CFO/COO)">Executive
(Director/CEO/CFO/COO)</option>
</select>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<div class="form-group">
<label for="upload-cv">Upload CV*</label>
<input type="file" class="form-control" required id="upload-cv"
name="upload-cv">
<p class="help-block">CV must be in PDf format</p>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<input type="submit" name="submit" class="btn btn-danger" id="submit"
value="Submit">
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<?php include_layout_template("footer.php"); ?>
53