An Integrated Framework for Web-based Learning

advertisement
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 and 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 potential antidote is the adoption of Webbased 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 Science,
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 component. 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 use 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 information 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. This has been implemented as a framework using the
1
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 number 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 that 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 capture 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 interfaces [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 its service description. It covers all details necessary to
interact with the service, including message formats, transport protocols and
2
location. The interface hides the implementation details of the service, allowing it
to be used independently of the hardware 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 facilitate 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 and 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 collaboration. 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
3
reliability. 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 productline. Another important one is the product-line’s scope, which is a statement 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 context 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 interproduct commonality, is rapidly emerging as a viable and important software
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-ofmagnitude improvements 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 is 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 collection 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
4
assembly or generation than of creation. The predominant activity also becomes
integration rather than programming.
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 elements, 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,
characteristics, 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 as 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 framework architecture is made up of four core
components, which includes an on-line classroom component, on-line result
5
checking component, on-line course assessment component and on-line course
registration component. [See Figure 1.0]
4.2 Description of Components
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
course code and course title. This compound component has four subcomponents. (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
portal 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, therefore 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 operation. The course lecturer is the primary responsible for supplying
6
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-line 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 assignment. 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 students
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 based
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 methods 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’ results 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 of
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 component
[7].
7
WEB CLIENT
(Web
Browser)
FRAME
WORK
(MAIN)
On line
Class Room
-
On line
Assessment
User Interface
Verifier()
On line
Registration
On line
Checking of
Result
User Interface
Verifier()
User Interface
Verifier()
Streaming
Component
Portal
Service
Content Builder
Assessment
Interface
User Interface
-Verfier()
Content Builder
Course
Registration
Figure 4.1 Conceptual view of Integrated Framework for Web-based learning Architecture
Verifier
Display
Successful
do/ Call verifier

Fail
Invalid
On-line
Classroom
do/ Message
Exit/Quit program.
do/ show content

Streaming
functions

Portal Service

Content Builder
Figure 4.2 State Diagram for on-line Class Room Component
8



Verifier
Assessment Interface
Successful
do/ Call verifier

do/ show content
Exit/ after set time

Fail
Publish new info.
Invalid
do/ Message
Exit/Quit program.
Check User Status
Fail
pass
Invalid
On-line
Assessment
Content Builder
do/ Message
Exit/Quit program.
do/ upload content
Figure 4.3 State Diagram for on-line Assessment Component
Verifier
Successful
do/ Call Fees_payment
do/ call pre-requites
do/ call disciplinary list
do/ Add courses
do/ Drop courses
Exit/ after set time
Fail

Invalid
On-line
Registration
Course Registraion
do/ Message
Exit/Quit program.
Figure 4.4 State Diagram for on-line Registration Component
9
Verifier
Successful
Check Result
do/ Display result
do/ Call student id
do/ call confirm access number
do/ call disciplinary list
Fail

Invalid
On-line ResultChecking
do/ Message
Exit/Quit program.
Figure 4.5 State Diagram for on-line Result-checking Component
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 combination, 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 products.
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).
10
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 system
component to service many other products that will be derived from this webbased 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; AddissonWesley, M.A.
4. Bamigbola O.M., Olugbara O.O. and Daramola J.O. (2003): An ObjectOriented 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 Development; 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/
11
8. Microsoft (1996), The Component Object 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.realnetworks.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
12
Download