An Integrated Framework for Web-based Learning

normalpetsΛογισμικό & κατασκευή λογ/κού

4 Νοε 2013 (πριν από 3 χρόνια και 7 μήνες)

48 εμφανίσεις


1

An Integrated Framework for Web
-
based Learning


Daramola, J.O and Bamigbola, O.M

Department of Mathematics and Computer Science, University of
Ilorin, Ilorin, Nigeria.




Ombamigbola@hotmail.com and wandi_ex@yahoo.com


Abstract

Limited infrastructures an
d resources for training and learning at the tertiary level
in many third world countries, has resulted in instances of overcrowding of
lecture rooms and reduction of staff to students ratio which has further depleted
the existing academic standard. A pot
ential antidote is the adoption of Web
-
based learning, which has proved relevant to both distant and on
-
site learning

In this paper, we introduce an integrated framework model for web
-
based
learning. This is an ongoing work at the Department of Computer Sc
ience,
University of Ilorin, and Ilorin, Nigeria. The framework architecture made up of
four core components includes an on
-
line classroom component, on
-
line result
checking component, on
-
line course assessment component and on
-
line course
registration com
ponent. This framework model is presented as an instance of
novel integration of component
-
based development, multimedia streaming
technology and web services that is based on reliable software architecture.


1.

Introduction

Web
-
based learning entails the us
e of the web technology as an aid for the
learning process in terms of knowledge acquisition and delivery. This include the
use of web
-
based resources i.e. information, knowledge base, electronic libraries
and so on and also the uploading of useful inform
ation on the web, which can be
readily accessed remotely by students.

The web
-
based learning framework is an integration of reusable components
for on
-
line classroom, on
-
line assessment, on
-
line result checking and on

line
registration functionalities. Thi
s has been implemented as a framework using the

2

software product
-
line engineering paradigm because of the desire to achieve
massive reuse of system components by making the components to be generic
entities that can be parameterized for variability in a nu
mber of other web
-
based
learning software products.


2. Definition of Key terms

2.1 Components:
There exist a flora of different definitions of components that
are slightly different. According to C. Syperski [5] and [12], “A software
component is a unit
of composition with contractually specified interfaces and
explicit context dependencies only. A software component can be deployed
independently and is subject to composition by a third party “.

This definition, which is widely, accepted today states tha
t a component is part of
software in binary form (i.e., it is not necessary to rebuild it) with contractually
specified interfaces (i.e., defined API and all assumptions in which the
components can work).

A component can be deployed independently (i.e. it
can be dynamically loaded
into the system, or dynamically replaced). It is subject to composition by a third
party (i.e. component must have a mechanism which makes it possible to
integrate it into the system without modifying and rebuilding it).

To captu
re the view of a component completely and to ensure its correct
integration and updating, the specification of a component should include a set of
interfaces and an implementation. The set of interfaces specifies the services
provided to or required from
the environment. The interfaces specifies how the
component will interact with other components while the implementation is an
executable code in a programming language like C/C++, Java etc. which can be
coupled to the code of other components via interfa
ces [8] and [10].

2.2


Web Services:
A web service is an interface that describes operations
that are network
-
accessible through standardized XML messaging. A web
service is described using a standard, formal XML (Extensible Markup
Language) notion called it
s service description. It covers all details necessary to
interact with the service, including message formats, transport protocols and

3

location. The interface hides the implementation details of the service, allowing it
to be used independently of the ha
rdware or software platform on which it is
implemented and also independently of the programming language in which it is
written. Web services allow applications to be integrated more rapidly, easily and
less expensively than ever before. Web services faci
litate program to program
interaction using existing and emerging standards like HTTP, XML, Simple
Object Access Protocol (SOAP), Web Services Description Language (WSDL)
and Universal Description Discovery and Integration (UDDI) [6].

2.3


Streaming
:
this is

a technique for transferring data such that it can be
processed as a steady and continuous stream. Streaming is the process of
playing a multimedia file while it is still downloading. Streaming technology, also
known as streaming media, lets a user view a
nd hear digitized content


video,
sound and animation


as it is being downloaded. This ensures that streamed
sounds and images can arrive within seconds of a user's click when using a web
browser plug in. Streaming technologies are becoming increasingly
important
with the growth of the Internet because most users do not have fast enough
access to download large multimedia files quickly [11].

2.4

E
-
learning

: This entails education via the Internet, network, or standalone
computer.
e
-
learning

is essentially
the network
-
enabled transfer of skills and
knowledge.
e
-
learning

refers to using electronic applications and processes to
learn.
e
-
learning

applications and processes include Web
-
based learning,
computer
-
based learning, virtual classrooms and digital colla
boration. Content is
delivered via the Internet, intranet/extranet, audio or video tape, satellite TV, and
CD
-
ROM [13].


3. Methodology

The Software product
-
line engineering paradigm has been adopted for the
framework architecture because we would like to

define various system
instances dictated by prospective users requirements from the same core
architecture. Secondly, we want the evolution of the various system instances to
be well managed and also to be time and cost effective without trading away

4

reli
ability. This is what a product
-
line concept offers, since it embraces system
evolution as part of the core practice.

A Software product
-
line is a set of Software intensive systems that share a
common, managed set of features satisfying the specific needs

of a particular
market segment or mission and that are developed from a common set of core
asset in a prescribed way [2] and [3].

It entails the production of a set of software products using common core
assets. The core asset may be a software component,

a process model, a plan,
a document or any other useful resource for building a system. For example, one
of the most important core assets is the software architecture for the product
-

line. Another important one is the product
-
line’s scope, which is a st
atement of
what products the core assets are intended to support. The scope defines the
commonality and variability (ways in which they differ from each other) that
defines every product in the software product
-
line. Software architecture provides
a contex
t in which other assets can be developed with the right flexibility to
satisfy the products in the product line.

Software product
-
line engineering, which is based on exploring inter
-
product commonality, is rapidly emerging as a viable and important softwar
e
development paradigm. Also, it facilitates the production of tailor
-
made systems
built specifically for the needs of particular customers or customer groups by
exploiting the commonalities shared by software products to realize order
-
of
-
magnitude improve
ments in time to market, cost, productivity, quality and other
business drivers. It also enables rapid market
-
entry and flexible response, and
provides a capability for mass customization of software products [9].


A product in the software product
-
line i
s formed by taking applicable
components from the base of common asset, tailoring them as necessary,
through pre
-
planned variation mechanisms such as parametization or
inheritance, adding any new components that may be necessary and assembling
the collecti
on according to the rules of a common reference architecture. This
connotes that building a system in a product
-
line becomes more of a matter of

5

assembly or generation than of creation. The predominant activity also becomes
integration rather than programm
ing.

Therefore, the software product
-
line practice is typically the systematic
use of core assets to assemble, instantiate or generate the multiple products that
constitute a software product
-
line. The essential activities [9] that are involved
software

product
-
line practice include:

-
Architecture Definitions;

-
Architecture Evaluation;

-
Component Development;

-
Commercial Off The Shelf (COTS) tools Utilization;

-
Mining Existing Assets;

-
Requirement Engineering;

-
Software System Integration;

-
Testing and

-
Understanding Relevant Domain.


4. Design and Implementation of the Web
-
based Learning Framework

4.1


Framework Architecture

The software architecture of a program or computing system is the structure or
structures of the system, which comprise software el
ements, the externally
visible properties of those elements, and the relationships among them. The
externally visible properties refer to those assumptions other elements can make
of an element (component), such as its provided services, performance,
chara
cteristics, fault handling, shared resource usage and so on [1] and [3].

The success of any software project depends on the architecture because it is
the primary and most fundamental artifact of a system. Also, the quality and
attribute of a system such a
s performance, modifiability, reliability, usabilibity and
so on, all derives directly from the architecture. In a product
-
line, the dominant
core asset is the reference architecture for the product
-
line, which is used at
every product instantiation. The f
ramework architecture is made up of four core
components, which includes an on
-
line classroom component, on
-
line result

6

checking component, on
-
line course assessment component and on
-
line course
registration component. [See Figure 1.0]

4.2


Description of Com
ponents

4.2.1 On
-
line Classroom:
This implements the functionalities of a computerized
model of the classroom session for the purpose of teaching and instruction. The
input parameter to trigger this function is the selected course represented with its
cour
se code and course title. This compound component has four sub
-
components. (See Figure 4.1) These are:

-

User Interface
: This component has an interface that implements access
validation and verification methods to admit prospective users into the on
-
line
classroom. This serves as the inlet into the other component interfaces.

-

Streaming Component
: This provides multimedia presentation of classroom
sessions that have been recorded and stored on video files creating an instance
of a virtual classroom. This

functionality will be achieved by using a COTS
component that will be integrated into the system.

-

Portal Service
: The portal service component offers on
-
line search
functionalities for sourcing additional materials on selected course subjects. A
porta
l is essentially a web interface that provides access to information in a
condensed form. It displays personalized information from various sources in a
single page. This may be displayed in various rectangular areas called portlets
on a single page thus,
allowing the user to efficiently access the information
instead of visiting various sites one after the other. Now that Web services have
become the predominant ways of making information and application
programmatically available on the Internet, therefor
e the portal component will be
integrated with web services as data sources. Therefore, the various portlets will
use web services as backend. This will ensure that the portlet code runs locally
on the portal and uses the web service to access information

[9].

-

Content Builder Component
: This component is responsible for course
content building and the periodical uploading of content on the web. It has a
verifier interface that certifies the identity of the user since this is meant to be a
classified op
eration. The course lecturer is the primary responsible for supplying

7

the relevant needed information, while the software administrator assist in the
actual technical process of uploading information. See Figure 4.1 for the
statechart diagram of the On
-
lin
e Classroom Component [7].

3.2.2

On
-
line Assessment Component:
with this component, lecturers can
deploy test and assignments under the respective course pages. This component
implements a database management systems where the various test and
assignments

submitted are stored for future access by the course lecturer. It has
a verifier interface that determines the eligibility of students for test and
assignments. It also implements a timer method that determines the period of
test taking and duration of as
signment. The content builder interface allows the
publishing of new test and assignment on the web. See Figure 4.3 for the
statechart diagram of the On
-
line Assessment Component [7].

3.2.3 On
-
line Registration Component
: This component enables stale stude
nts
of the university to do sessional course registration. The list of available courses,
course information like title, credit, status and prerequisites are made available.
The verifier Interface evaluates Student’s eligibility to register for courses ba
sed
on past performance and also verifies the evidence provided for the payment of
school fees for the current session. It disallows students who have suspended
their studies or are under disciplinary measures from registering. Also, it
implements method
s to Add courses and to drop previously registered courses.
See Figure 4.4 for the statechart diagram of the On
-
line Registration Component
[7].

3.2.4 On
-
line Result Checking Component
: This component connects to the
central database where students’ r
esults are stored [4] and enables students to
check their results in the web browser. The inputs are the matriculation number,
the access number obtained from the scratch card purchased for the purpose of
checking results, which can be used for a maximum o
f four accesses. The
verifier method of this component ensures that result of final year students are
not displayed and also those of students undergoing disciplinary measures. See
Figure 4.5 for the statechart diagram of the On
-
line result
-
checking co
mponent
[7].


8


On
-
line
Classroom


Verifier


do/ Call verifier


Display


do/ show content




Invalid


do/ Message

Exit/Quit program
.


Streaming
functions



Portal Service



Content Builder









Successful

Fail

Figure 4.2 State Diagram for on
-
line Class Room Component

WEB CLIENT

(Web
Browser
)


FRAME
WORK

(MAIN)


On line

Class Room


On line

Assessment


On line

Registration


On line

Checking of
Result

User Interface

Verifier()

-


Assess
ment
Interface

User Interface

-
Verfier()

Course
Registration

User Interface


Verifier()



Portal
Service

User Interface

-

Verifier()

-



Streaming
Component

Content Builder

Content Builder

Figure 4.1 Conceptual view of Integrated Framework for Web
-
based learning Architecture



9
































On
-
line
Assessment


Verifier


do/ Call verifier


Assessment Interface


do/ show content

Exit/ after set time




Invalid


do/ Message

Exit/Quit program
.

Content Builder


do/ upload content

Successful

Fail

Figure 4.3 State Diagram for on
-
line Assessment Component

Publish new info.



pass

Invalid


do/ Message

Exit/Quit program
.

Fail



Check User Status

Figure 4.4 State Diagram for on
-
line Registration Component

On
-
line
Registration



Verifier


do/ Call Fees_payment

do/ call pre
-
requites

do/ call disciplinary list





Course Registraion


do/ Add courses

do/ Drop courses

Exit/ after set time




Invalid


do/ Message

Exit/Quit program
.

Successful

Fail


10













4.3 Implementation of Framework components

The Microsoft.Net framework will be used for the implementation and
integration of system components. This is because it offers the platform for

the
publishing of component interfaces and implementation easily.

The .
NET is a "software platform".


It's a language
-
neutral environment for
writing programs that can easily and securely interoperate.


Rather than
targetting a particular hardware/OS c
ombination, programs will instead target
".NET", and will run wherever .NET is implemented. .NET is also the collective
name given to various bits of software built upon the .NET platform.


These
include both Visual Studio.NET and Windows.NET Server prod
ucts.

The Portlets of the portal component whose backend will be implemented
as web services will use the service description specified in the Web Service
Description Langauge (WSDL) file to bind with other available and relevant web
service application
in the service registry using the XML
-
based Simple Object
Access Protocol (SOAP).




Figure 4.5 State Diagram for on
-
line Result
-
checking Component

On
-
line Result
-

Chec
king



Verifier


do/ Call student id

do/ call confirm access number

do/ call disciplinary list





Check Result


do/ Display result






Invalid


do/ Message

Exit/Quit program
.

Successful

Fail


11

5.0


Expected Result

It is expected that the implementation process which has already started will be
concluded smoothly, yielding the desire to achieve massive reuse of sy
stem
component to service many other products that will be derived from this web
-
based learning framework architecture.


6.0


Conclusion

This on going work is expected to be a sucessful demontration of the software
product
-
line engineering initiative and a
worth while case study for other
practitioners in this field of software engineering practice. The emerging
products are also expected to be reliable web
-
based learning systems that will lift
the standard of tertiary learning.


References

1. Allen, R.
J. (1997): A Formal Approach to Software Architecture. Ph.D. Thesis,
School of Computer Science, Carnegie Mellon University, U.S.A

2. Bass, L., Clements, P., Cohen, S., Northrop, L., and Whitney, J. (1997):
Product
-
line Practice Workshop Report (CMU/SEI
-
97
-
TR
-
003, ADA327610)
Pittsburgh, P.A. ; Software Engineering Institute, Carnegie Mellon University.

3. Bass, L., and Kazman, R. (2003): Software Architecture in Practice; Addisson
-
Wesley, M.A.

4. Bamigbola O.M., Olugbara O.O. and Daramola J.O. (2003): An Ob
ject
-
Oriented Software Model for Students’ Registration and Examination Result
Processing in Nigerian Tertiary Institutions; Science Focus; Vol. 6, [70
-
80].

5. Crnkovic, I. (2001): Component
-
based Software Engineering
-

New Challenges
in Software Develop
ment; Software Focus; 2(14), [127
-
133]

6. H. Kreger (2001) : Web services Conceptual Architecture WSCA 1.0: IBM
Group

7. OMG: OMG
-
Unified Modelling Language Report V1.5; Object Management
Group; http//www.omg.org/


12

8. Microsoft (1996), The Component Objec
t Model Specification; Report V 0.99,
Microsoft Standards, Redmond WA.

9. www.sei.cmu.edu/: A Framework for Software Product
-
line Practice version

10
. Sun microsystems: Javabeans 1.0 Specification;
http://www.java.sun.com/beans

11. http://www.realnetwor
ks.com/devzone/feature/
archive_features/get_started_faq.html : Introduction to streaming.

12. Szyperski, C. (1998): Component Software Beyond Object
-
Oriented
Programming; Addison
-
Wesley, Massachusetts.

13. http://www.webopedia.com/TERM/E/e_learning.html