Given
the nature of the project, it is necessary to consider the
work from different perspectives: firstly, in terms of the
forms of learning, and the way in which the system is going
to model and implement them. Secondly, as far as the development
of educative software components and their integration in
final applications are concerned, even though they are prototypes,
they have to offer robustness and efficiency.
Design
In
this sense, the design process will follow the following principles:
·
Collaborative design . The system will be tested
and evaluated with real users from the first version onward.
[
Gould & Lewis, 1985 ] , [
Greenbaum & Kyng 1991 ] , [
Karat, 1997 ] .
· Iterative design. The design will be undertaken
in several cycles. In each new functionalities will be incorporated
and tested, including the interfaces and the way in which
the learning is organized. In successive scenarios, users
of different levels and unequal formation will be used,
where the elements of the system are analyzed.
·
Learning evaluation . In each design cycle information
is gathered about the use of the system about the users.
This information is compared with the predicted results.
Information from user surveys will also be considered. An
evaluation is anticipated that will improve the functionality
of subsequent prototypes.
· Quantitative and qualitative evaluation. Both are
the types of formative evaluation. The first one talks about
the identification of the characteristics of a situation
and the second one tries to find the causes and consequences
of the observed characteristics.
Development
and integration of software
An
n-tier architecture will be developed using Java and XML
technology, the structure of which will be very similar
to that presented in figure 2 (although the acronyms related
to Java are well known generally, in case some of them that
appear in the figure are not well-known, it is possible
to find their definition and description in the Javasoft
Web pages (www.javasoft.com).
The architectures client-servant (denominated as a '2-tier'
architectures) have shown to be limited as systems distributed
on the network for many reasons (although they are still
popular because they are quite easy to devlop) including
the fact that they are usually very difficult to update
and to extend due to the dependency of propietary protocols
(typically related to the access to the data bases) and
the mixture of the presentation logic of data and application.
The presented/displayed solution is an architecture of n-levels
where there are a client and several servants (connected
among them), but the problem in these cases is the underlying
technology and the connection of the distributed components
in the severs.
The mixture of Java and XML technologies offers many possibilities
for the preparation of n-tier architectures. Java is a programming
language and powerful operating environment, oriented to
the network and able to run on any computer platform where
there is an installed Java virtual machine. It is a tool
for which there are very many API and systems available
that can serve as candidates for their incorporation in
this architecture. XML offers a portable way to represent
information between systems, where due to the rules on its
structure, it can be validated and easily turned into other
formats.
Figure
1: Initial rough draft of the architecture of the system
The architecture in figure 2 constitutes presents a rough
draft for this project where the main work will consist
of specifying the details of the components, its functionality
and connectivity. Boxes *1 and *2 should be noted, which
correspond to the technological infrastructure and the connection
protocols for the interchange of data. With respect to first,
there are several possibilities that that could be candidates,
such as, technologies from Apache the project (www.apache.org)
as Turbine (a framework for the generation of Web applications
servers), Jetspeed (a framework for the development of portales
and interfaces of users), and technologies of Sun (www.javasoft.com)
like Jini (a system of agents for the management of the
services of components distributed in network) and EJB (Enterprise
Java Beans), which facilitate the separation of functionalities
in a server of applications in the network). With respect
to the second box, it is predicted that a modular architecture
where the protocols of exchange of information and remote
access will be encapsulated in core modules will be developed,
where the architecture can dynamically load the protocol
handler a tool requires at run time. The advantage of this
approach is that it allows the incorporation of new protocols
in the future with no need to modify the general structure
of the architecture.
Management
of the project
As
far as the management and control of the project is concerned:
- A Web site will be created for the project with a zone
of restricted access for the members of the project, where
all the resources and software of general use for the different
contemplated tasks will be located. The person in charge
of each task will be in charge of which each piece of software
is available.
- On the Web site an updated version of the work plan, together
with information on the state of each task and the interrelations
among them will be available.
- Periodic seminars involving all the project participants
will be given, in which organizational aspects of the project
will also be discussed.
References
[
Gould & Lewis 1985 ] Gould, J.D., Lewis, C. (1985)?Designing for Usability:
Key Principles and What Designer Think, Communications of the
ACM, Vol. 28, No.3, March, pp. 300?311.
[ Greenbaum & Kyng 1991 ] Karat, J., (1997)?Evolving the Scope of User-Centered
Design?
Comunications of the ACM, Vol. 40, no. 7, July, pp. 33-38.
[ Karat 1997 ] Greenbaum, J., Kyng, M., (1991)
Design AT Work. Cooperative design of
to computer systems, Lawrence Erlbaum.