Learning Managment System
Learning Managment System
Learning Managment System
By
Supervisor:
Semester 1 2009-2010
1
Development of an Open Source Learning
Management System (LMS)
University of Malaya
By
(WGD070056)
April 2010
Supervisor:
LMSs are web based platforms for education distribution management and
retrieval of course materials via the internet. LMSs allow instructors and students
access to instructional materials, to manage discussion forums, to make class
announcements, file sharing, and to submit, track and grade students assignments.
More simply, LMSs provide virtual environment learning such as video training, and
virtual class management. As the result of rapid development of internet and
information technology, more than 65% of institutes started to use learning
management system in 21st century and computer network has brought to the fore
front the use of web based education so nowadays many companies, institutes and
universities use LMSs for training, e-learning as a communication platform between
their staffs, instructors, and students.
3
Acknowledgement
I would like to thank my supervisor MR. AHAMAD ABDULLA for her helpful
guidance, moral support, insight and confidence throughout the project which gave me
the inspiration and made it possible for me to finish within the time scheduled.
There are so many people who contributed to the completion of the project and
to whom I am really grateful for their moral support and provision of feedback
whenever needed; my dear friends in faculty which help me in Idea generation, testing
process and other processes; My entire family member and above all my father for his
continuous and patient support and care throughout my life.
4
Content
Abstract ....................................................................................................................................... 3
Acknowledgement ....................................................................................................................... 4
Content ............................................................................................................................... 5
Figure Content .................................................................................................................... 8
Table Content ..................................................................................................................... 9
Chapter 1: Introduction ......................................................................................................11
1.1 Overview ....................................................................................................................................... 11
1.2 Problem statement ....................................................................................................................... 12
1.3 Project Objective ........................................................................................................................... 13
1.4 Expected outcome ........................................................................................................................ 13
1.5 Research Scope and Limitation...................................................................................................... 14
1.6 User scope..................................................................................................................................... 14
1.7 Project Schedule ........................................................................................................................... 14
6
4.9.4 4.7.4 Flexibility: ......................................................................................................................... 93
4.9.5 4.7.5 Availability........................................................................................................................ 94
4.9.6 4.7.6 Compatibility .................................................................................................................... 94
4.10 Hardware and Software Requirements: ........................................................................................ 94
4.11 System Architecture: ..................................................................................................................... 95
4.12 4.10 Database design .................................................................................................................... 95
7
Figure Content
8
Figure 5‐33 login page (Instructor, Tutor and student) ..................................................................................... 127
Figure 5‐34 Course list page (Instructor, Tutor and student) ............................................................................. 128
Figure 5‐35 Course presentation page (Instructor, Tutor and student) .............................................................. 129
Figure 5‐36 Add file to project (Instructor, Tutor) .............................................................................................. 130
Figure 5‐37 Modify course information (Instructor, Tutor) ................................................................................ 130
Figure 5‐38 Add file to Material (student) ......................................................................................................... 131
Figure 5‐39 Advice page ................................................................................................................................... 132
Figure 5‐40 Write Advice Page .......................................................................................................................... 132
Figure 5‐41 Note Page ...................................................................................................................................... 133
Figure 5‐42 View Note ...................................................................................................................................... 134
Figure 5‐43 Message Main Page ....................................................................................................................... 135
Figure 5‐44 Write Message ............................................................................................................................... 135
Figure 5‐45 Chat Area ....................................................................................................................................... 136
Figure 5‐46 Forum Main page........................................................................................................................... 137
Figure 5‐47 View Forum .................................................................................................................................... 137
Figure 5‐48 Project View Page .......................................................................................................................... 138
Figure 5‐49 Project Main Page .......................................................................................................................... 139
Figure 5‐50 Create Project page........................................................................................................................ 139
Figure 5‐51 Group View Page ........................................................................................................................... 140
Figure 5‐52 Create Group Page ......................................................................................................................... 141
Figure 5‐53 Authoring Page .............................................................................................................................. 142
Figure 5‐54 Statistics and Report ...................................................................................................................... 142
Figure 6‐1 Testing Process ................................................................................................................................ 144
Table Content
Table 1‐1 Project Schedule .................................................................................................................................. 15
Table 2-1 Cost of commercial LMS..................................................................................................................... 22
Table 2-2 Compare Between 4 LMS.................................................................................................................... 23
Table 2-3 Compare Between 4 LMS.................................................................................................................... 24
Table 2-4 Compare Between 4 LMS.................................................................................................................... 25
Table 4-1 Admin Login ....................................................................................................................................... 44
Table 4‐2 Server configuration ............................................................................................................................ 45
Table 4‐3 General Option .................................................................................................................................... 46
Table 4‐4 Interface Option .................................................................................................................................. 47
Table 4‐5 Edit Number of Items per page ............................................................................................................ 48
Table 4‐6 Add user .............................................................................................................................................. 49
Table 4‐7 Modify User......................................................................................................................................... 50
Table 4‐8 Reactive User ...................................................................................................................................... 51
Table 4‐9 Inactive User ....................................................................................................................................... 52
Table 4‐10 Send Mail .......................................................................................................................................... 53
Table 4‐11 Create New Group ............................................................................................................................. 54
Table 4-12 Add Supervision fieldUse Case ......................................................................................................... 54
9
Table 4‐13 Add to group ..................................................................................................................................... 55
Table 4‐14 Remove from Group .......................................................................................................................... 56
Table 4‐15 Edit Group ......................................................................................................................................... 57
Table 4‐16 Delete Group ..................................................................................................................................... 58
Table 4‐17 Add a course category ....................................................................................................................... 59
Table 4‐18 Edit Category..................................................................................................................................... 60
Table 4‐19 Delete Category ................................................................................................................................ 61
Table 4‐20 Add Course ........................................................................................................................................ 62
Table 4‐21 Modify Course ................................................................................................................................... 63
Table 4‐22 Delete course .................................................................................................................................... 64
Table 4‐23 Add Subscribe users to a course ........................................................................................................ 65
Table 4‐24 Modify Subscribe users to a course ................................................................................................... 66
Table 4‐25 Delete Subscribe users to a course..................................................................................................... 67
Table 4‐26 General Reporting ............................................................................................................................. 68
Table 4‐27 Login (Instructor, Tutor, Student) ...................................................................................................... 70
Table 4‐28 Add an advice .................................................................................................................................... 71
Table 4‐29 Modify Advice Receiver ..................................................................................................................... 72
Table 4‐30 Modify Advice ................................................................................................................................... 73
Table 4‐31 Delete advice ..................................................................................................................................... 74
Table 4‐32 write a new note ............................................................................................................................... 75
Table 4‐33 Delete Note ....................................................................................................................................... 76
Table 4‐34 Modify Note ..................................................................................................................................... 77
Table 4‐35 Send a message................................................................................................................................. 78
Table 4‐36 Delete a Message .............................................................................................................................. 79
Table 4‐37 Add a New Forum.............................................................................................................................. 80
Table 4‐38 Modify Forum.................................................................................................................................... 81
Table 4‐39 Delete a Forum.................................................................................................................................. 82
Table 4‐40 Chat .................................................................................................................................................. 83
Table 4‐41 Create a Group .................................................................................................................................. 84
Table 4‐42 Modify User List in a Group ............................................................................................................... 85
Table 4‐43 Modify Group .................................................................................................................................... 86
Table 4‐44 Delete Group ..................................................................................................................................... 87
Table 4‐45 Statistics ............................................................................................................................................ 88
Table 4‐46 Add a category for the menu ............................................................................................................. 89
Table 4‐47 Modify Menu..................................................................................................................................... 90
Table 4‐48 Delete menu ...................................................................................................................................... 91
Table 4-49 Logout .............................................................................................................................................. 92
Table 4‐50 Minimum Hardware requirement...................................................................................................... 94
Table 4‐51 Software Requirements ..................................................................................................................... 94
10
Chapter 1: Introduction
1.1 Overview
LMSs have appeared as dominant popular technologies because they offer a wide
range of capabilities that enable an instructor to deliver a course in a completely paperless
manner. LMSs make more usability in educational environments by achieving specified goals
with effectiveness, efficiency and satisfaction [4]. Distance learning management is more
applicable by the use of LMSs which enable the institutional innovations in learning and
education. Moreover, the active online engagement feature of LMSs is more preferred by
today’s generation of students [3]. Finally, it has been shown that LMSs help students to be
self-directed learners, more initiative, independence, and persistence in learning as they accept
responsibility for their learning [4, 5].
Most of the existing LMSs products are commercial such as very popular Blackboard
and WebCT. The key challenge of commercial versions is that they are very cost intensive.
The cost is associated with different aspects such as customer service, software licensing, host
and space expenses that has to be paid to provider companies. Moreover, it is hardly possible
to customize the software for different demands and requirements. In this project we want to
implement an open source version to deal with the above problem. Open source software is
software developed by a community of users and distributed for others to use without any
11
license fees. In open source software anyone is allowed to develop, extend, plug-in and fix the
software issues. Other considerations in pursuing open source software are accessibility;
stability and easier control. By moving to an open source solution an institution can not only
avoid the cost of licensing a system but, more importantly, have access to a fully functional,
stable LMS that is hosted on the institution's own servers and is locally administrated for
faster service and updates.
As already been described the commercial learning management system offer lots of
capabilities as well as the opening learning management system. But the implementations of
the commercial, proprietary version can be so expensive. The institute that has commercial
LMS must pay for lots of thing, Development and long-term maintenance costs of a custom of
built LMS can be high.
Keeping up with new requirements or security issues can take lots of time and effort.
Most vendors’ offer good LMS, which are functional, complete and in case that the system
does not match the specific needs of the institution,
The vendors can extend the functionalities with the support of their consultants. The
main problem of this approach is the financial aspect. Almost all LMS vendors ask for an
expensive site license, which has to be renewed each year.[6]
Open source LMSes combine advantage of the commercial and custom built LMS
that is ready to use but can be customized if needed (8301.html). The list of some critical
problems of commercial LMS are:
Cost : commercial LMS are so expensive and institutes have to pay money for
maintenance, development
Flexibility: commercial LMS are not customizable. new features and tools
can’t be import to commercial LMS
Service continuity: the volunteer help is not available for proprietary system
and only the developer can support software.
12
In this project we want develop an open source LMS with low cost that needs win
local windows host. more flexibility and add some feature that others open source LMS
doesn’t have such as create discussion group by students, Upload multiple files at once Note,
Edit upload txt online, easy to support and has easy code.
3. Design and implement the open source learning management system with
below features: Welcome Messages, Profile, Distribution and Deliver
Messages, Instruction Bulletin, My Lessons, Classroom and Course
Management, Competency and Performance, News, Calendar, Discussion’s
Room, Video Training, Project assessment and student assessment.
4. Develop an open source software for reduce the cost, more flexibility and
accessibility.
13
1.5 Research Scope and Limitation
This project aims to provide student and instructor a convenient and more efficient
way of conducting their virtual learning in order to reduce efforts for all system’s users and
make their life and processes easier. It will improve processes that involved from the first to
final stages and it will contain required forms, reports and announcements for reducing
number of transporting and saving costs.
For this system we have four different types of users: Administrator, Instructor, Tutor,
student, the functions that they can perform differs from one to another based on the
privileges they have and these functions can be stated as follow.
Administrator: This user is responsible for managing the whole system and performs
different kind of settings related to the system.
Student: A new student can register and access to all learning areas that are provided
by institute. Moreover, students can take courses and connect to chat room.
Tutor: Tutor is the same as instructor. Different from an instructor, a tutor does not have
higher access to all the available functions in the system
The project schedule spans from January 2010 to April 2010. Table 1 shows the
project schedule and tasks for Literature Review, Requirement Capture, Analysis and Design
.System Development, Testing, and Delivery and Acceptance phases of the project.
14
Table 1‐1 Project Schedule
15
Chapter 2: Literature Review
2 Introduction
The purpose of a literature review is to find, read, and analyze the body of literature
published on a particular topic, primarily in a particular field, for itsparticular trends and gaps.
For getting the reason that why developing of virtual learning and learn management
system are so fast, we have to look at traditional education. The traditional delivery systems
for higher education has been a classroom setting whit a professor giving a lecture and
students listening and writing notes, interaction between the professor and student has been
viewed an essential learning element within this arrangement,[7] in classroom whit smaller
teacher –to- students ratio, student can even more direct assistance, because there is real time
interaction and students and their instructor speak instead of typing, more ground can be
covered in less time but in traditional classroom student must be attend in class at specific
time. Also the noisy student in the back of the room can be distracting to other student.
In the other hand whit rapid developing of information technology, million students
are doing high education online. Online Learning, e-learning or distance learning is the idea
that the teacher can reach student in remote location, which enable students to learn subjects
to which they wouldn’t otherwise have access.
One of the best reason to chose an online education is also the most obvious,
convenience is just one thing that makes online education the way to- it is the college of the
feature, by getting degree online, it means student doesn’t have to move to another place,
students are no longer restricted to day-time classes, night-time house, or even having to go
every day.
There are several previous systems that attempt to do the same tasks. In order
to come out with a better system that can stand as an improvement for what people
have done, we need to study the existing ones to avoid their mistakes and to see what
can be added or improved
17
2.2.1 Blackboard
18
2.2.2 SharePointLMS
19
2.2.3 Moodle
Moodle emerged in 1999 from the Australian higher education community. Much of
its rise to fame has been in the last two years, and as of September 2007 there were 69 Moodle
installations with 20,000 or more users. The Moodle Trust hires core programmers and covers
project expenses.[5] The source code for Moodle is open, meaning users can make changes to
most or all of the code. An organization can host a Moodle LMS installation locally, or it can
pay a hosting service to do so.
The Open University publicised its £5.6m OpenLearn initiative, making 900 hours of
e- earning available to their students on a customised Moodle platform. It is more recently
making an impact in the corporate sector. However, there are two problems which will hinder
the rapid uptake it has enjoyed in education: lack of competency development features and
poor user interface design. Moodle simply does not look polished enough to compete in a
market where the incumbent offerings are so much visually richer. Moodle is designed to be
reskinned easily and, while colour schemes can be changed quickly, our own experience
shows that more serious design changes are time-consuming. Epic’s Moodle theme for
Lonsdale’s Essentials Online product shows the sort of things that are possible fairly
quickly.[5]
20
2.2.4 ATutor
ATutor was designed to be accessible and easily customised. A core team of 12 staff
handles ongoing development, supported by 16 separate organisations including, among
others, Adaptive Technology Resource Centre, University of Toronto, University of Bologna,
International Relations and Security Network (ISN) and Fraser Health. A range of ATutor
services are offered by the ATutor
In the rest of literature review we have look at average price of LMS software and we
compare some feature of open source to show why we want to develop an open source LMS.
Most of LMS software has sold based on number students. According LMS Knowledge Base
2009: In-Depth Profiles of 90+ Learning Management Systems, with Custom Comparison
Across 200+ Features , average cost of commercial LMS software in 2009 are[8]:
21
Table 2-1 Cost of commercial LMS
Low High
As you can see cost of commercial LMS are so expensive and these cost are just the
selling price. Cost of develop, maintenance and up to date are separate, because of the close
code. So some institute produce open source LMS to reduce cost, have more flexibility for
developing, up to date and maintenance. But as u can see in below compare most of open
source LMS doesn’t have some features.[4, 9]
22
Table 2-2 Compare Between 4 LMS
Blackboard
Learning Share
System CE Moodle ATutor
Point LMS
6.1 1.6.1 1.6.3
Enterprise v.2
License
spell-checker
Subscribe to forum.
Post reviewed
Discussion Management
Communication Tools
forward mail
23
Table 2-3 Compare Between 4 LMS
Blackboard
Learning Share
System CE Moodle ATutor
Point LMS
6.1 1.6.1 1.6.3
Enterprise v.2
License
attach notes
Online journal Notes
shared notes
moderate chats
share bookmarks
Productivity Tools
Bookmarks
create bookmarks
post events
Calendar/Progress
post announcements
Review
24
Table 2-4 Compare Between 4 LMS
Blackboard
Learning Share
System CE Moodle ATutor
Point LMS
6.1 1.6.1 1.6.3
Enterprise v.2
License
Student Involvement Tools
Group work
Discussion forum.
Chat or whiteboard.
Specific assignments or
activities
Administration Tools
Authentication
authenticate against an
external LDAP server
Central Authentication
Service (CAS)
Registration Integration
25
Chapter 3: Development Methodology
3 Introduction
There are different methodologies that can be used to manage the system development
life cycle. Development Methodology is a software development process or a structure
imposed on the development of a software product. Synonyms include software life cycle and
software process. There are several models for such processes, each describing approaches to
a variety of tasks or activities that take place during the process. The best known ones are
Waterfall, Evolutionary Development and Component-based. Everyone has its own life cycle.
Waterfall model is a sequence of phases, every phase should not start until the
previous one has finished. In practice these stages overlap and feed information to each other.
26
Speed Development:
For this project the time is a vital factor that should be considered, as the name
suggests, Rapid Application Development's primary advantage lies in an application's
increased development speed and decreased time to delivery. The goal of delivering
applications quickly is addressed through the use of Computer Aided Software Engineering or
CASE tools, which focus on converting requirements to code as quickly as possible, as well
as Time Boxing, in which features are pushed out to future releases in order to complete a
feature light version quickly.
Quality improvement:
Even though it is the best methodology that can be used for this project but still has
some disadvantages.
Lack of scalability
Reduced features
Due to time boxing, where features are pushed off to later versions in favor of
delivering an application in a short time frame, RAD may produce applications that are less
full featured than traditionally developed applications. This concern should be addressed as
soon as possible through clear communication with the client as to what will be delivered and
when.
27
Process
The RAD process has four life cycle stages, the process consists of four lifecycle
stages: Requirements Planning, User Design, Construction, and Implementation. Also
described are typical pre and post project activities.
Pre-Project Activities
In this stage details of the project should be identified in some form of document. All
parties should agree up front on details such as potential risks and mitigation strategies, a
development schedule including resources, milestones and deliverables such as a completed
data model or types of documentation to deliver, an approach including standards, tools, and
technologies to be used, a desired end result.
Requirements Planning
The Requirements Planning stage (also known as the Concept Definition Stage)
consists of meetings between requirements planning team and key client users. Meetings
focus on both developing a high level list of initial requirements as well as setting the project
scope. The requirements planning team identifies primary business functions and initially
breaks them down into entities.
User Design
During the User Design stage also known as the Functional Design Stage, the analysis
team meets with end users in Joint Application Development (JAD) Workshops. During the
workshops the analysis team flushes out the requirements in more detail, develops the entities
developed in the Requirements Planning into a data model (Entity Relationship Diagram),
formalizes business rules, develops test plans, and creates screen flows and layouts for
essential parts of the system. During the later half of the User Design stage the development
team (also known as the SWAT or Skilled Workers with Advanced Tools team) aids the
analysis team in activities such as creating a working data model that can be converted to a
functional database, and in identifying reusable components. (such as Microsoft's Application
Blocks, which, incidentally, are an excellent time saver on Microsoft .Net projects).
28
Construction
During the Construction Phase the Design Team develops the application in iterative
cycles of development, testing, requirements refining, and development again, until the
application is complete. Development iterations should last between one day and three weeks.
The development team should convert the Data Model that was developed during the User
Design Stage into a functional database.
Implementation
As with any project final deliverables should be handed over to the client and such
activities should be performed that will benefit future projects. Specifically it is a best practice
for a Project Manager to review, organize and store project assets such as reusable code
components, Project Plan, Project Management Plan (PMP), and Test Plan. It is also a good
practice to prepare a short lessons learned document.
3.2 Conclusion
RAD has many core elements that make it a unique methodology including
prototyping, iterative development, time boxing, team members, management approach, and
RAD tools. Rapid Application Development is not appropriate for all projects but RAD
methodology works best for projects where the scope is small or work can be broken down
into manageable chunks.
29
Chapter 4: System Analysis and Design
“Systems analysis is the dissection of a system into its component pieces for purposes
of studying how those component pieces interact and work” (Edwa, 1989). This chapter
considers as the most critical in the system development life cycle, whereby the defined and
determined design elements during this phase is to be used at the design and implementation
phases. This chapter generally discusses the requirements tools which includes the hardware
and software used for the proposed project and the functional and non-functional requirements
for the proposed system. –In addition, the flow of events that places between user and system
as well as techniques used to develop the whole system is discussed in this chapter.
The choice of language is an important part of the design since it will structure the
architecture of the system. A programming language tells the web server what to show on a
web page in response to visitor's actions. Two examples of programming languages can be
mentioned as Active Server Pages for .NET (ASP.NET) and Hypertext Preprocessor
(PHP).ASP.NET is a redevelopment of ASP and it is a complete rewrite of the software. One
of its main features is that it has the flexibility to choose the programming language desired.
ASP.NET works with scripted languages such as VBScript, JScript, PerlScript, and Python, as
well as compiled languages such as Visual Basics, C#.
There are many useful features of ASP.NET that has made it a propoer
programming language in web development. The key advantages of ASP.NET
are the following:
Visual interface for designers that make creating Web applications easy via an
easy-to-use drag-and-drop interface.
Powerful code editor with rich functionality such as IntelliSense that makes
writing code and HTML faster.
Support for multiple languages, including Visual Basic, C#, and J#.
30
Supports object-oriented programming.
Despite all the good features, ASP.NET is not very popular among the programmers
as it is difficult to learn, very slow in execution time, and it has a high memory usage.
PHP is a widely used open source, and server-side, cross platform, HTML-embedded
scripting language. It has syntactical similarities of Perl, C, and Java with a couple of unique
PHP-specific features. PHP is very popular for web sites.
According to (PHP web site, 2008) over 11 million domains are using PHP. In
addition, Yahoo!, which is probably the world’s most visited site, recently decided to change
from its own proprietary language to PHP (Janet Valade, 2004). The advantage of PHP over
ASP.NET can be mentioned as following:
It is fairly easy to learn, especially for developers with C/C++, Java, or Perl
knowledge and experience.
Cross-platform.
PHP is free.
The main disadvantage of PHP is the fact that PHP was designed to be programmer-
friendly, which makes it less friendly to non-programmers.
31
MySQL
Oracle
Now, I briefly explain each of the above databases including their advantages and
disadvantages.
Microsoft Access 2003 is a software product from Microsoft that is relational database
tool where developers can create table and manipulate databases easily. It contains the tools
for basic entering, editing and retrieving data via custom forms or reports. Microsoft Access
2003 is cheaper than many other database tools such as Microsoft SQL Server 2000 as well as
Oracle 9i and it can support many data formats, e.g. OLE, ODBC, XML. It is also very good
in error checking and backup options. Moreover, a user can have a quick view on dependency
information and automatic properties update. However, Microsoft Access 2003 has many
limitations as well. First, it does not support triggers, views, procedures and user defined
functions. Moreover, only allows recovery up to the last backup, amd finally, large amount of
data is not supported by this tool. Microsoft Access 2003 has been employed in this project
based on its advantages to draw database tables and relative relations between the tables.
MySQL
MySQL is an open source relational database management system. MySQL stores data
in separate tables. As it is an open source DBMS, it is free. It offers fewer features as
compared to other DBMS because it was sacrificed for speed. It also promotes code
reusability it is a multi-user and multi-thread server. The searching technique in MySQL is
also easy as it supports full text indexing and searching. The advantages of this tool can be
summarized as bellow:
Easy to use.
32
Easy to build database.
MySQL suffers from the same limitations as Access 2003 where it does not support triggers,
procedures and views.
SQL Server Express 2008 is a very comprehensive database tool which has deployed
ASP and PHP applications for the purpose of programming. There are many features to be
mentioned about SQL Server Express: First, enterprise capabilities which are not available in
MySQl, have been included in this tool. Second, SQL Server Express is innovated with
geospatial maps or native XML, and it can scale up to 256 processors. Moreover, building
applications with SQL Server Express is free to develop and deploy. A user can also add
features beyond anything MySQL has, with no code changes. There is no design limitation on
database size or memory usage and web sites can be developed through low cost SQL Server
Web. Finally, reports and analysis can be added for a more user friendly results. In
conclusion, SQL Server is a very complete tool with lots of additional capabilities in the paid
edition which are not provided by the other databases such as MYSQL.
An operating system (OS) is a software program that manages the hardware and
software resources of a computer. The OS performs basic tasks, such as controlling and
allocating memory, prioritizing the processing of instructions, controlling input and output
devices, facilitating networking, and managing files. There are many type of operating system
such as windows XP, windows vista, windows98, and etc. For example Windows XP is an
upgraded client version of Windows 2000 which provides numerous changes to the user
interface, including the Start menu or Windows Vista is a Graphical User Interface (GUI)
based operating system which efficiently manages the computer's resources.
Required data has been collected by interviews, study of current system and direct
observation of process. After analyzing the collected data, simulation of workspace is done by
considering five different actors in this system. These actors interact with our system in
different ways based on their responsibilities. We have defined the actors as following:
33
Administrator: This user is responsible for managing the whole system and performs
different kind of settings related to the system.
Student: A new student can register and access to all learning areas that are provided by
institute. Moreover, students can take courses and connect to chat room.
Tutor: Tutor is the same as instructor. Different from an instructor, a tutor does not have
higher access to all the available functions in the system.
This system does not have any guest user. Just the users that be registered can
login to the system
Just Admin user can create user and provide them with different access levels.
Just Admin user and Administrator can manage courses for students or other
users.
The LMS system shows the total time that a user is in system. Current time
that a user is in the system also is being shown in the system.
Chat environment in this system is not an open source program. Adobe Media
Server is needed and should be bought by an institute to run the chat
environment.
34
4.6 Functional Requirement Definition
In this section, we explain the functional requirements and responsibilities which are
defined for each actor.
4.6.1 Administrator
Login page: The admin logs in the LMS system website which gives him an
option to login either as any type of users. According to the answer, and
provision of the correct login details, the system directs the admin to the next
screen.
General Manager: This page is the first page that administrator see after
login. The administrator can manage general functions like as configure
option, web page, E-form and news. We describe all general manager functions
briefly.
o E-form: Admin can add some E-form web pages that include
information about students who have registered in a course or title for
an specific major. Admin can create E-form, publish, modify, delete,
move up and move down the E-form web pages.
User manager: Admin can mange users in this page. Management includes
adding the users, modify, deactivate and reactivate users, send emails to all the
users, and get admin permission for a user or create groups.
35
o Manage user: Admin can create user with access level as student,
instructor, god and admin. Also admin can modify, deactivate and
reactivate a user.
o Send e-mail: Admin can send e-mail to all users or a particular user.
Also he can send e-mail to a group.
Course manager: In this page admin can classified the courses into different
categories, and manage the courses.
o Courses: Admin can add, delete, and modify the courses. Moreover,
level of difficulty can be defined in this page for each course.
Report Manager: Report Manager Area is an area that admin can see all the
reports and manage them as date, time and also manage vote category and
question category.
o General Reporting: In this page admin can see reports of courses and
classes in a period of time or on a specific date. Observation of reports
in Excel can be done by exporting the provided reports as CVS in
Microsoft Excel.
o User Reporting: Admin can provide all user- related reports in this
page. Reports can be filtered by student id, student name, id course that
has been taken by a student, course category, course name and etc.
36
Same as General Reporting, an admin can export user reporting as CVS
in Microsoft Excel.
4.6.2 Instructor
Login page: The instructor logs in the LMS system website which gives him
an option to login either as any type of users. Depending on the type of user an
instructor is logged in, and provision of the correct login details, the system
directs the instructor to the next screen.
Course presentation: In this page instructor can see course information, and
description of courses. Also instructor is allowed to create a file for the projects
and different materials related to courses.
o Add project file: A created project file includes the defined projects
for the students to do. Each project follows by a maximum grade,
description and due date.
o Add course material file: The file includes all the information about
courses such as presentation time, and table of contents.
Message: This page is available for an instructor to track all the messages sent
from different users. Individual or group emails can be sent to group of
students who have subscribed for a particular course.
37
In the other world, different access levels have been considered for an
instructor to send an email.
o Delete message: Mail messages can be deleted from inbox at any time
by an instructor.
Project: Project page allows an instructor to define and create new public
projects to be done by students. Modification and deletion of projects is
another available feature in this page.
o Create new project: Instructor can create a new public project for
student with options.
38
Chart: this component allows conducting online sessions among students and
instructors. Sending voice, text chat, webcam, whiteboard are the most
important features of this section that can help users to communicate each
other very easily. This section is also modified by level of permission which
can help instructor to control and manage students during the online session.
Group: Grouping the students is provided to an instructor via this page. Each
group page is associated with the following features:
o Create Group: Instructor can create a group for student and he/she has
to choose a name for group, write a description for the group and select
student for that group.
o Modify user list: Instructor can modify users in related group or add a
member.
39
Statistics: Statistics indicate list of students registered in a course, students’
activities, and the schedule for mid-semester or final exams. These statistics
can then be sent to notify students for example about the exams.
Manage Menu: This function lets an instructor to add, change, and delete a
menu and allocate a location for a menu.
4.6.3 Student
Login page: Given a user name and password a studen is able to login into the
system. According to the answer, and provision of the correct login details, the
system directs the student to the next screen.
Course presentation: In this page students can see all the information related
to a course such as description of a course, scheduled dayss and times for
courses. A student can only add file only for materials related to a course such
as assignments.
Message: Mail messages for students include student inbox for all received
messages, and outbox for sent messages. A student can send email to all users
or users who are subscribed to a particular course.
o Delete message: Instructor can delete the message that sent to student.
Forum: student can create a new discussion forum subject and reply to the
threads from other users.
o Insert new discussion: student can put new title and discussion for
each forum.
40
o Reply: student can reply a message about discussion on a specific
topic.
Chat: Chat room is a palace that student can chat with instructor online and
see instructor webcam in one way..
4.6.4 Tutor
Same as the other users, a tutor can enter into the system via login page by providing
the correct details. Access level of a tutor is defined the same as instructors. A tutor can add
project files, or course materials the same way as instructor. Calendar management is
provided for a tutor for scheduling. Mail message environment, chat rooms and forums with
the same functionalities for an instructor is available for a tutor. Different from an instructor,
a tutor is not allowed to create any groups or statistics for students or courses. So, the
functions provided to a tutor are not broaded as an instructor.
Figure 1, depicts the use case diagram of our system. Use case diagram shows
different users who can be involved in the systems, their relation and their access to different
functions and pages of the system.
41
Figure 4-1 Use Case Diagrams
42
Figure 4-2 Use Case Diagrams
43
4.8 Use Case Description
4.8.1 Login (administrator)
Login
Administrator
Actor Administrator
Main Flow of 1. Actor click on Administrator login button on the admin page
Events 2. The system opens a login form which contains Username,
password.
3. Actor fills the boxes that mentioned in above.
4. Actor presses the “Login” button.
5. The system sends query with relevant data to database server.
6. Database server check the data and send back the confirmation
7. The system shows the administrator desk page.
Alternate flow of events:
If the provided data is wrong the error message will come up and the
user should re enter the data.
Post
The user will be conducted to the admin page
Conditions
44
4.8.2 Server Configuration (administrator)
General
Manage
Administrator
Configure
User can see and manage all Configuration of LMS Objectives
option
Actor Administrator
45
4.8.3 General Option (Administrator)
General
Manage
Administrator
General
User can make on or off for warning and general option
Option
Actor Administrator
Post
Related record will be modified in database table.
Conditions
46
4.8.4 Interface Option (Administrator)
Configure
User can edit the interface of LMS software
interface
Actor Administrator
Post
Related record will added in database table.
Conditions
47
4.8.5 Edit Number of items per page (Administrator)
Display item
User can edit number of items per page that will display in LMS software
per page
Actor Administrator
Main Flow of 1. Actor click edit number of items per page on General Manage.
Events 2. The system will show list of edit number of items per page.
3. Actor can edit the number of items that will be show on a page for:
Advice, Forum, Discussion in forum, Message for discussion in
forum, Glossary, Web pages(admin), News, Messages, Notes, Test,
User, Number of semantics markup
Post
Related record will added in database table.
Conditions
48
4.8.6 Add user (Administrator)
Add User User can add new user with access level
Actor Administrator
Post
Related record will added in database table.
Conditions
49
4.8.7 Modify User (Administrator)
Actor Administrator
10. Database server stores modification data and sends back the
acknowledge message with mail.
Your user data has been changed, new data are
Website : http://localhost:90/university/
You are registered as user ID : WGD070042
Post
Related records will added in database table.
Conditions
50
4.8.8 Reactive User (Administrator)
Actor administrator
Post
Related record will added in database table.
Conditions
51
4.8.9 Inactive user (Administrator)
Actor administrator
WGD070056 [ ]
[ Yes | No ]
Post
Related record will added in database table.
Conditions
52
4.8.10 Send mail (Administrator)
Send Mail User can send mail to all user, specific user / access level
Actor administrator
10. If actor click on leave selected, users that add on list, will be leave
the list.
11. If actor click on send Empty card, system will send an empty mail.
12. If actor clicks on send e-mail, system will go to the next page.
13. At the next page, actor should write a subject and text.
14. Actor should click on send button.
15. If actor selected user, write a subject and text, the system will show
the acknowledgement :
Successful
16. If actor don’t select user , the system will show the
acknowledgment:
No receivers has been selected
Post
Related record will be modified in database table.
Conditions
53
4.8.11 Create New Group (administrator)
Create New
User can create new group
Group
Actor Administrator
Post
Related record will be modified in database table.
Conditions
54
4.8.12 Add to group (print user)
Actor Administrator
Post
Related record will be modified in database table.
Conditions
55
4.8.13 Remove from group (Administrator)
Actor Administrator
5. Actor can search user by: Group , Only the level, User id, Surname
6. Actor clicks on search button
7. System will show the list of users.
8. Actor select user.
Post
Related record will be modified in database table.
Conditions
56
4.8.14 Edit Group (Administrator)
Actor Administrator
Insert correct
Post
Related record will be modified in database table.
Conditions
57
4.8.15 Delete Group (Administrator)
Actor Administrator
Post
Related record will be modified in database table.
Conditions
58
4.8.16 Add a course category (Administrator)
Add a
User can add a course category
category
Actor Administrator
59
4.8.17 Edit category (Administrator)
Edit a
User can edit a category
category
Actor Administrator
60
4.8.18 Delete category (Administrator)
Delete a
User can delete a category
category
Actor Administrator
Post
Related record will be modified in database table.
Conditions
61
4.8.19 Add Course (Administrator)
Actor Administrator
. Post
Related record will be modified in database table.
Conditions
62
4.8.20 Modify Course (Administrator)
Modify a
User can modify a course
course
Actor Administrator
. Post
Related record will be modified in database table.
Conditions
63
4.8.21 Delete course (Administrator)
Delete a
User can modify a course
course
Actor Administrator
. Post
Related record will be modified in database table.
Conditions
64
4.8.22 Add Subscribe users to a course (Administrator)
Add user to
User can add user to a course as subscribe
course
Actor Administrator
. Post
Related record will be modified in database table.
Conditions
65
4.8.23 Modify Subscribe users to a course (Administrator)
Modify user to
User can Modify user to a course as subscribe
course
Actor Administrator
. Post
Related record will be modified in database table.
Conditions
66
4.8.24 Delete Subscribe users to a course (Administrator)
Delete user to
User can delete user to a course as subscribe
course
Actor Administrator
. Post
Related record will be modified in database table.
Conditions
67
4.8.25 General Reporting (Administrator)
Course
User can view reporting of course
reporting
Actor Administrator
. Post
Related record will be modified in database table.
Conditions
68
4.8.26 User Reporting (Administrator)
Actor Administrator
Main Flow of 1. Actor clicks on User reporting at Report Manager Page Course
Events manage page.
2. Actor choose date from specific day/month/year
3. Actor choose date to specific day/month/year
4. Actor clicks o watch report button.
5. The system will go to the next page.
6. The system shows report s.
7. Actor can search reports.
8. Actor can export report as CVS to excel.
. Post
Related record will be modified in database table.
Conditions
69
4.8.27 Login (Instructor, Tutor, Student)
Main Flow of 1. The system opens a login form which contains Username, password
Events and Security Code
5. Database server check the data and send back the confirmation
If the provided data is wrong the error message will come up and the
user should re enter the data.
Post
The user will be conducted to the main menu page
Conditions
70
4.8.28 Add an advice
Post
The user will be conducted to the advice page
Conditions
71
4.8.29 Modify advice receiver
Modify advice
User should have option to login the system
receiver
5. The system sends query with relevant data to database server server
Post
The user will be conducted to the advice page
Conditions
72
4.8.30 Modify Advice
Post
The user will be conducted to the advice page
Conditions
73
4.8.31 Delete advice
Modify advice
User should have option to login the system
receiver
Post
The user will be conducted to the advice page
Conditions
74
4.8.32 Write a new note
Write a new
User should have option to login the system
Note
Post
The user will be conducted to the advice page
Conditions
75
4.8.33 Delete Note
Modify advice
User should have option to login the system
receiver
Post
The user will be conducted to the advice page
Conditions
76
4.8.34 Modify Note
Post
The user will be conducted to the Note page
Conditions
77
4.8.35 Send a message (Instructor, Tutor, Student)
Send a
User should have option to login the system
Message
12. Actor can choose user that he/she wants to send a message:
All students
Group
13. Actor can choose the priority of message in Very High, High,
Normal, Low, Very Low
14. Actor must choose a subject for message
15. Actor can edit the txt in txt editor.
16. Actor can record voice with select voice option.
17. If actors choose voice option for recoding voice, he/she must click
on record button.
18. Actor can attach a file to message.
19. Actor click on send button to send message.
20. The system show acknowledgement:
Message correctly sent.
Post
The user will be conducted to the sent message page
Conditions
78
4.8.36 Delete Message (Instructor, Tutor, Student)
Delete a
User should have option to login the system
Message
10. The system sends query with relevant data to database server
Post
The user will be conducted to the sent message page
Conditions
79
4.8.37 Add a New Forum (Instructor, Tutor)
Add a New
User should have option to login the system
Forum
6. Actor can add picture, sound and video file to the forum with txt
editor in description area.
Post
The user will be conducted to the forum page
Conditions
80
4.8.38 Modify Forum (Instructor, Tutor)
6. Actor can add picture, sound and video file to the forum with txt
editor in description area.
Post
The user will be conducted to the forum page
Conditions
81
4.8.39 Delete a Forum (Instructor, Tutor)
7. Actor can add picture, sound and video file to the forum with txt
editor in description area.
Post
The user will be conducted to the forum page
Conditions
82
4.8.40 Chat
Chat
User should have option to login the system
Post
The user will be conducted to chats start page
Conditions
83
4.8.41 Create a Group
Create a
Group User should have option to login the system
Actor Instructor
Post
The user will be conducted to group page
Conditions
84
4.8.42 Modify User List in Group
Modify user User should have option to login the system and can modify the user that are
list in a group join in this group or want to join.
Actor Instructor
Main Flow of 1. Actor must click Modify User list in a group link
Events 2. The LMS system goes to the Next page
3. The actor must search the user with user ID.
4. The LMS system display user
5. Actor can click on user id
6. The user join to member group
7. The system sends query with relevant data to database server
Post
The user will be conducted to group page
Conditions
85
4.8.43 Modify Group
Modify group User should have option to login the system and can modify group
Actor Instructor
Post
The user will be conducted to group page
Conditions
86
4.8.44 Delete Group
Delete group User should have option to login the system and can Delete group
Actor Instructor,
Post
The user will be conducted to group page
Conditions
87
4.8.45 Statistics
Statistics User should have option to login the system and can get marks to students
and upload exam result
Actor Instructor,
Post
The user will be conducted to statistics page
Conditions
88
4.8.46 Add a category for the menu
Add category User should have option to login the system and can add a category for the
menu
Post
The user will be conducted to manage menu page
Conditions
89
4.8.47 Modify Menu
Modify Menu User should have option to login the system and can add a category for the
menu
Post
The user will be conducted to statistics page
Conditions
90
4.8.48 Delete Menu
Delete Menu User should have option to login the system and can Delete Menu
Post
The user will be conducted to menu page
Conditions
91
4.8.49 Logout (administrator, Student, Tutor, Instructor)
Post
The user will be conducted to main page.
Conditions
OPR system will provide a user interface that is intuitive and does not cause confusion
or ambiguity to the user. It is also preferable that the users expect what the system could
provide, and provide those expectations. The users should be able to easily find the features
without difficulties. In addition, the user interface should have Consistency of interface
between various modules. Each module should be designed with a similar look-and-feel, with
similar type of buttons and icons
92
4.9.2 4.7.2 Integrity:
In general usability refers to how well users can learn and use a product to
achieve their goals and how satisfied they are with that process. Also declare to users’
how to use the product quickly and easily to accomplish their tasks.
So the administrator tools are considered as one of the easiest system in use.
As we know most users are familiar with windows operating system and Internet
Explorer, so this project used windows programs in the designing because of its
popularity and also it facilitates the user’s access to his/her requirement direct by
clicking buttons. Moreover, the interface has been designed clearly to give the users
easy view.
The programmer and designer built the system regarding to the customer
requirements. The system should be flexible to upgrade, modify any part of the system
also flexible to change the users interface.
93
4.9.5 4.7.5 Availability
The LMS system should operate on all the windows platforms and operating
systems and JAVA enabled web browser, for example, Internet Explorer, Firefox and
so on.
The hardware and software requirements for system’s development environment are
stated in table 4.11 and table 4.2
94
4.11 System Architecture:
The database design for the system will be shown in the next page
Learning-user: This component is for all user profile information Such as user id,
first name, sure name, access level, sex, major and so on.
Learning-group: This component includes all groups’ information such as group id,
name and group description.
Learning-project: Include all components that the project needs such as project id,
course id, title, file, group id and so on.
Learning-course file: This component includes all information that the file needs to
upload for specific course such as file id, course id, title, file, id group and so on.
Learning-Note: This component includes all information that related to note section
such as idcourse, owner, title, text.
96
Figure 4‐4 DFD Diagram
97
Chapter 5: System Development and
Coding
5 Introduction
The whole system is designed using PHP. The database is designed using Microsoft
SQL Server 2008. Program code, databases and interfaces are constructed during the
development phase based on the design specification so as to ensure that the objectives of the
proposed system are met. The LMS System is made up of a collection of dynamic PHP web
pages hyperlinked together. Web server controls such as buttons, text boxes, radio buttons,
dropdown lists and data forms for displaying table format are included in the web pages.
Macromedia Dreamweaver 8 used as an editing tool for programming.
98
5.1 Login Page (Administrator)
The first page that the administrator wants to go inside of system is Login page. This
page designed just for administrator.
In top header is consist of University Malaya sign and also it shows this panel is for
admin. There are two empty blank for enter user id and password. There is one field that user
can choose language. After Administrator enters valid username, password, choose language
and click on login button system will show the admin desk which contains the available
functions of the administrator.
General manage page is the first page admin can see after login. This page displays
general manage function such as configure options, web page, Eform and new. Admin must
click on function to manage whole LMS system.
99
Configure Option
In this page admin can see four options for configuration. Configure Option page
display Server Configuration, General Option, Interface option and number of item per page.
Also second top header confirms this page is about Parameters configuration. For going inside
the option pages admin must click on option link.
Server Configuration
Server configuration page display all information about LMS system server, coding
page and data base program version. Server setting shows to admin what server IP address,
which port is for webpage, name of server, information about server admin and the version of
software used in server.
Show PHPinfo is the section that displayed all coding information program that LMS
software wrote with that such as PHP version, maximum file size that PHP allows to upload
and also maximum post method.
100
Figure 5‐4 Server Configuration
General Option
This page is for configuration all LMS General Option. The administrator can give
allow to the user for LMS general option like as allow course selling, allow user tracking, aloe
who is online and so on. Admin can choose on or off for these option. Also in this option
admin can adjust website URL. There are another two felid for default e-mail replay address
and Session time.
101
Figure 5‐5 General Option Page
Interface option
A most important configuration for displaying whole LMS system, in this function
administrator can adjust default language that LMS system will show, allow to supporting
multi language. Choose website template and choose an editor for Visual Html txt.
Administrator can give news publishing and display active course list in homepage
allowance.
102
Figure 5‐6 Interface Option Page
This option gives allowance to administrator that adjusts per each page how many
item displayed such as advice, news, message, users, web page and … .
103
5.3 User manager
This function is all about manage user, get them permission, send e-mail to them and
group management. In this function we can create user, modify, delete, get them difference
access level and all of things is related to users.
In the main page of user manager, admin can see four options for doing task. Manage
user, Send e-mail, admin permission and last one is Group management.
Manage user
This page displays all users that are included in LMS system with all information.
Administrator able to search user with 5 options: Group, users’ level, Major, User ID, User
name. Also administrator has other option to create new user, modify, delete, reactive and
inactive users.
Add user
This page is one of important page because of admin can add new user to LMS
system, get them difference access level.
104
Admin in this page must fill all fields for creating new user such as user id (Normally
we use a specific number for user id), name, sure name, password for login to system, confirm
password, choose sex, choose the semester that user on it and … .
After admin fill all data in required fields, must click on insert button to add data on
database. The fields that marked by star (*) are necessary to fill.
Administrator can delete selected Users in the Manage User Page. This action, delete,
is confirmed in the Acknowledgment Page which shows you a message to ensure whether you
want to delete the selected users or not. There are two options, yes and no. If administrator
clicks Yes, the user will delete from LMS system, and No, the user will remain in the system.
105
Figure 5‐10 Delete Acknowledgement page
Modify user
Administrator can modify selected Users in the Manage User Page. In this page
administrator can modify all users’ information such as user id, name, surname, and
password. Also administrator can change user access level.
In modify user page admin has access to upload picture and also add courses to users.
This page has more option that add user page.
106
Figure 5‐11 Modify User Page
These pages are for make user active or inactive. This option gives opportunity to
admin control users that not present in current semester or have some problems. When some
users are inactive they cannot take courses or use LMS system. Admin must reactive those
users to make them active for using LMS system.
This action, reactive and inactive uset, is confirmed in the Acknowledgment Page
which shows you a message to ensure whether you want to reactive or inactive the selected
users Yes or Not.
107
.
In this page administrator can selected users to send mail to them. There are 5 options
that administrator can search users: group, Level, Major, User ID and User Name. After
admin finds users he/she has to select users and add them to selected users. This option gives
opportunity to admin for choosing users and sends E-mail only to selected user.
Also administrator can send empty E-mail to users or leave user that already has been
selected.
108
Figure 5‐13 Send E‐mail (configuration page)
In this page administrator can write an E-mail, choose subject for e-mail. There is a
text editor that admin can write e-mail on that and edit the text body. Receiver area shows
users that receive this e-mail.
109
Figure 5‐14 Send E‐mail
Admin Permission
Some time user needs high level access, such as instructor or maybe LMS system
needs two administrators for maintenance. In this page administrator gives high level access
exactly same as admin access to specific user.
Admin can search users with two options: user ID and User name and after that give
them admin level.
110
Figure 5‐15 Admin permission page
This page displays all groups that already exist and from this page administrator can
view all groups, start to create a new group, modify and delete.
111
Figure 5‐16 Group Management Pages
In this page admin is able to create a group. Admin has to choose a title for group and
write a description. Also there is a text editor that administrator can edit body description or
add picture, movie, draw table and so
112
Figure 5‐17 create group page
Administrator is able to add users to specific group with searching users and selected
them. There are four options to search users: group, access level, user ID and user name. After
admin can find users he/she has to select users and add them to selected user card. Finally
admin can assign users to group.
113
Figure 5‐18 Add users to group page
Modify Group
Administrator is able to modify specification of group. Admin can change group title
and group description and also edit description by text editor.
114
Figure 5‐19 Modify Group page
Administrator can delete group in the Group management Page. This action, delete, is
confirmed in the Acknowledgment Page which shows you a message to ensure whether you
want to delete group or not. There are two options, yes and no. If administrator clicks Yes, the
group will delete from LMS system, and No, the group will remain in the system.
115
Figure 5‐20 Delete Group page
Administrator has opportunity to manage courses in this page. There are three items
that admin can configure them; course categories, courses and subscribe users to a course.
Course Category
This page gives a view of all course categories that are in LMS system. Admin can see
existing course category in this page and from this page admin can start to modify and delete
group.
116
Figure 5‐21 course category pages
Admin can create a course category in this page. Admin must choose a name for
category and write a description for course category. Courses are subset of course category.
117
Delete course category
Administrator can delete course category in the course category Page. This action,
delete, is confirmed in the Acknowledgment Page which shows you a message to ensure
whether you want to delete course category or not. There are two options, yes and no. If
administrator clicks Yes, the course category will delete from LMS system, and No, the
course category will remain in the system.
In this page admin is able new course for LMS system. Admin must fills in all felids,
write course name, how many credit it has, Also admin can choose menu display, which
category the course does in, course statues, course difficulty, language and major.
There is text editor that administrator can write a description for course, meanwhile
admin can give access level which user can upload file in course.
118
Figure 5‐24 Create new course page
Administrator is able to change course menu in this page to two difference aspect,
Collaborative and complete. In collaborative aspect some menus are canceled and some
menus collaborated with others menu but in complete aspect , all menus are exist and they are
separate.
119
Figure 5‐25 change menu course page
Modify course
Administrator is able to edit all information about course that already has been created.
There are some field, some choices and description area. Administrator can modify all these
and after that save new information for course. He/she can change status course, activity,
difficulty, course category and so on.
120
Figure 5‐26 Modify course page
Delete course
Administrator can delete course in the course Page. This action, delete, is confirmed in
the Acknowledgment Page which shows you a message to ensure whether you want to delete
course or not. There are two options, yes and no. If administrator clicks Yes, the course will
delete from LMS system, and No, the course will remain in the system.
121
Figure 5‐27 Delete course page
Administrator is able to add users to specific course with searching users and selected
them. There are four options to search users: group, access level, user ID and user name. After
admin can find users he/she has to select users and add them to selected user card. Finally
admin can assign users to course.
122
Figure 5‐28 Subscribe user to a course
In modify page administrator can modify the user access level to a course and in delete
subscribe user to course admin is able to delete selected user from specific course.
123
Figure 5‐29 Subscribe course page
124
5.7 General and user Reporting
These two pages are for getting general and user report. In these pages admin is able
to define a period time whit day/month/year and watch report on that period.
125
Figure 5‐32 View of General reporting page
This is the first page that all users see (except administrator). This page is separate
from admin page so only instructor, tutor and student can login. Users have to enter valid
username; password and security code system will show the user’s desk with contains the
available functions of the users (Instructor, Tutor and Student).
126
Figure 5‐33 login page (Instructor, Tutor and student)
This the first page after user clicks on the login page. In this page users can see
courses that they are attending. User s can see welcome message at the top of the page also
there is briefly information about each course that users are attending such as course activity
and difficulty.
127
Figure 5‐34 Course list page (Instructor, Tutor and student)
The first page will be show after course list is course menu; this page includes course
information, description, advice, project, materials, add files, add materials, view messages
and calendar. Also instructor and tutor can modify the course information. We describe briefly
all function I below:
128
Figure 5‐35 Course presentation page (Instructor, Tutor and student)
With this option instructor and tutor can add file to project. Actor has to choose
subtitle. Instructor also can upload assignment and clarify deadline, give grade and write
description about assignment.
129
Figure 5‐36 Add file to project (Instructor, Tutor)
With this option instructor and tutor can give mark and final mark, modify difficulty,
choose language and modify activity also actor can write a description over course.
130
Add file to material (student)
With this option students can upload a file and write a description for file.
In this page is related to lessen that be present for course. This page includes advice,
lessen and note.
Advice
Instructor and tutor can write an advice for presented course, modify advice, modify
receivers and delete advice.
131
Figure 5‐39 Advice page
132
Note
Write a note for specific course with instructor and tutor. Also modify and delete note.
133
Figure 5‐42 View Note
5.12 Community
In this page there are five functions for community between users in LMS software
such as message, chat, Forum, project and group.
Message
This function is for all users, users can send private message or public message to
other users. Also user can view messages that be received.
134
Figure 5‐43 Message Main Page
135
Chat
One of the important tools for communication with other user is online chat. With this
function all users can chat together via LMS software. But voice chat is one way from
instructor. Instructor must give permission to student for voice chat.
Forum
Forum is a place for discussion at specific title between users. Users can create a
forum page, add discussion and edit discussion.
136
Figure 5‐46 Forum Main page
137
Project
This function is used to create project for described group which enables students to
doing the project collaboratively. In fact students can upload files, add news and modify the
feature task in their own project also instructor can check the file and feed back to them.
138
Figure 5‐49 Project Main Page
139
Group
In this section instructor can create a group which is useful either in project section or
sending message. He/she can also modify the members of groups of this part
140
Figure 5‐52 Create Group Page
5.13 Authoring
In authoring section instructor has an ability to upload training materials (which is call
it as an object) of specifics course. Meanwhile students can view download and extract these
objects from lessen section. For every object, instructor can add extra description for every
one of them. These objects are shown as tree structure so they can upload as a sequence.
141
Figure 5‐53 Authoring Page
Statistics indicate list of students registered in a course, students’ activities, and the
schedule for mid-semester or final exams. These statistics can then be sent to notify students
for example about the exams.
142
Chapter 6: System Testing
6 Testing Approach:
Testing activities focus on interfaces between and among components of the product,
such as functional correctness, system stability, overall system operability, system security,
privacy and sensitive information control, and system performance requirements (e.g.,
reliability, maintainability, and availability). Testing performed incrementally provides
feedback on quality, errors, and design weaknesses early in the integration process.
Components are integrated and tested to determine whether the product meets
predetermined functionality, performance, quality, interface, and security requirements. Once
the product is fully integrated, system testing is conducted to validate that the product will
operate in its intended environment and satisfies all user requirements. User Acceptance
Testing (UAT) follows System Testing, and solicits feedback from users to make any final
adjustments to the programming before releasing the product for implementation.
So there is less (or no) control over the environment in which the system will run.
Generally, the environment for an Intranet based system can be controlled to some extent,
whereas for a system on the World Wide Web, there is no control. The system may need to
run using different browsers and under a number of different versions. There is little
opportunity to train end-users and their actions and logic are not easily predicted. There is no
capability of controlling the sequence of events that an end-user may invoke.
Consequently, testing of web pages is often less structured, allowing the testers free
reign in their (test) use of the system, possibly with an observer or recording mechanism to
monitor events. Test Plan preparation will need to allow for this.
It is the process used to help identify the correctness, completeness, security, and
quality of developed computer software. Testing is a process of technical investigation,
performed on behalf of stakeholders, that is intended to reveal quality-related information
about the product with respect to the context in which it is intended to operate. This includes,
but is not limited to, the process of executing a program or application with the intent of
finding errors. Testing can never completely establish the correctness of arbitrary computer
143
software. An important point is that software testing should be distinguished from the separate
discipline of Software Quality Assurance (SQA), which encompasses all business process
areas, not just testing.
The first test in the development process is the unit test. The source code is normally
divided into modules, which in turn are divided into smaller units called units. These units
have specific behavior. The test done on these units of code is called unit test. Unit test
depends upon the language on which the project is developed. Unit tests ensure that each
unique path of the project performs accurately to the documented specifications and contains
clearly defined inputs and expected results.
When each of the units is tested, it is necessary to ensure that the modules work
together.
144
Such as the case of appointment module must work as one unit. Then, the
administrator module initiates call to the registration module and consequently obtains the
results from the module.
Appointment module consists of several units that are combined together each of these
units must be tested earlier, and combined together to form the appointment system. Each unit
does not work alone; each unit depends on another unit to function.
Interface testing has own importance in web base application, like web base
application divide in layer or tier: web layer, application layer and database layer. Interface
Testing is not focussed on what the components are doing but on how they communicate with
each other, as specified in the "System Design". The "System Design" defines relationships
between components, and this involves stating:
Integration testing is a logical extension of unit testing. In its simplest form, two units
that have already been tested are combined into a component and the interface between them
is tested. A component, in this sense, refers to an integrated aggregate of more than one unit.
In a realistic scenario, many units are combined into components, which are in turn
aggregated into even larger parts of the program. The idea is to test combinations of pieces
and eventually expand the process to test your modules with those of other groups. Eventually
all the modules making up a process are tested together. Beyond that, if the program is
composed of more than one process, they should be tested in pairs rather than all at once.
145
Integration testing identifies problems that occur when units are combined. By using a
test plan that requires you to test each unit and ensure the viability of each before combining
units, you know that any errors discovered when combining units are likely related to the
interface between units. This method reduces the number of possibilities to a far simpler level
of analysis.
System testing ensures that the entire integrated software system meets requirements.
It tests a configuration to ensure known and predictable results. System testing is based on
process descriptions and flows, emphasizing pre-driven process links and integration points.
146
Chapter 7: Conclusion
7 Introduction:
1. This system is an open source program and users do not need to pay for hole of
system.(except web conference )
4. Have exclusive administrator panel for fully controlling the whole system.
147
7.2 Future Enhancement:
Future enhancement could enable the system to send an automatic SMS to the
students, instructors and tutors as reminders to make them aware of new courses and
assignment deadlines.
Another future enhancement could enable the system take online exam for
assessment student.
Make conference room for each group that students and instructors can discuss at same
time. Do assignment online and storage them on system and get viewer screen.
148
References
[1] E. Beck, "Learning management systems: the need for critical analyses," in
Proceedings of the 4th decennial conference on Critical computing: between sense
and sensibility, 2005, p. 176.
[2] "Testing Types."
[3] S. Teasley and S. Lonn, "Using learning management systems to support students'
collaborative learning in higher education," in Proceedings of the 8th iternational
conference on Computer supported collaborative learning, 2007, pp. 718‐720.
[4] B. Lewis, V. MacEntee, S. DeLaCruz, C. Englander, T. Jeffrey, E. Takach, S. Wilson, and
J. Woodall, "Learning management systems comparison," in Proceedings of the 2005
Informing Science and IT Education Joint Conference, 2005.
[5] C. Keller and L. Cernerud, "Students' perceptions of e‐learning in university
education," Journal of Educational Media, vol. 27, pp. 55‐67, 2002.
[6] H. Grob, F. Bensberg, and B. Dewanto, "Developing, deploying, using and evaluating
an open source learning management system," Journal of Computing and
Information Technology, vol. 12, pp. 127‐134, 2004.
[7] J. O'Malley, "Students Perceptions of Distance Learning, Online Learning and the
Traditional Classroom."
[8] R. Nantel, "LMS KnowledgeBase 2009: In-Depth Profiles of 90+ Learning
Management Systems, with Custom Comparison Across 200+ Features.," 2009.
[9] www.weblms.com.au, "LMS Compare," 2009.
149