29.03.2013 Views

October 2006 Volume 9 Number 4

October 2006 Volume 9 Number 4

October 2006 Volume 9 Number 4

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Step 5: Instantiation of the technology viewpoint. From the computational viewpoint, the software engineering<br />

process needs to identify the different states and behaviors of the objects specified by designers. From a<br />

technology viewpoint, it means that the software engineering process needs to develop and integrate software<br />

captors into these objects, in order to track the behaviors of the technology objects corresponding to the<br />

information objects. In our example, it needs to identify what events (signals) could be exchanged and, for each<br />

of these events, identify the emitter and the receptor. One of the design patterns widely adopted by the software<br />

engineering community for this kind of problem is the MVC paradigm (Model/View/Control) described by<br />

Buschmann et al. (1996). It is implemented in the Java library "swing/JFC". Each object proposed by the<br />

designers and relevant to this paradigm could be a traceable object.<br />

Conclusion. The reverse engineering of a TEL system described by this use case is initiated by the design<br />

process but concerns mainly the software engineering process which, guided by the RM-ODP framework, aims<br />

to define the dynamic schema of the TEL system from its information specification. The result of the reverse<br />

engineering process is the artifact shown by figure 7. From the enterprise viewpoint, this artifact increases the<br />

quality of the specification provided by designers: even if it wasn't specified, by asking to themselves questions<br />

suggested by RM-ODP, the software engineers have enhanced the Learning Object in order to track its use. This<br />

result could be shared with designers, and generate new kinds of instructional scenarios by taking into account<br />

these tracking possibilities.<br />

The Use Case of a Reengineering of a TEL System<br />

With Chikofsky’s definition in mind (see before), one can say that reengineering a system is relevant to a model<br />

driven approach, in an iterative development process. The main reengineering acts on a TEL system are the<br />

modifications made by the designers on the informational model of the educational system, especially by taken<br />

into account the uses observed during a learning session. We will present here a reengineering use case where<br />

the analysis process provides information to the design process which is useful to understand better the real<br />

sequence of learning objects that each learner performed. With these data, both the informational and the<br />

software engineering viewpoints are modified. Figure 8 describes the four steps of the use case, one for each<br />

participating role: software engineering process role, learning process role, analysis process role, design process<br />

role.<br />

: software engineering<br />

process<br />

: produce a<br />

prototype<br />

<br />

: learning process<br />

: execute a<br />

prototype<br />

<br />

: produce an<br />

observable<br />

: design process<br />

: interpret an<br />

information<br />

Figure 8: UML Collaboration Diagram of the Reengineering Use Case<br />

Step 1: the role of the software engineering process. Each reengineering of a system implies its reverse<br />

engineering. In this use case, by applying the reverse engineering pattern (Demeyer et al., 2002), the software<br />

engineering process has developed and integrated captors to the TEL system. This allows the reverse engineering<br />

by producing information on the effects of the decisions made from the engineering viewpoint. Following the<br />

RM-ODP guidelines, the engineering objects are grouped in clusters to reduce the complexity of their<br />

manipulation. Figure 9 is an excerpt of the FreeStyle Learning deployment script on the learners’ computers.<br />

One could see that, even, from an informational viewpoint, there are several objects with a same type (e.g. 3<br />

exercises, 2 slide shows, 2 MCQ), the engineering objects are only the corresponding components (e.g. 1<br />

exercise component, 1 slide show component, 1 MCQ components).<br />

Step 2: the role of the learning process. From the computational viewpoint, these engineering objects are<br />

SCORM components (SCO) provided to each client computer. They are observed and tracked by the LMS<br />

(Learning Management System) following the SCORM technical specification. The transition/state UML<br />

diagram of figure 10 shows the global interaction between the LMS and each SCO.<br />

<br />

<br />

: analysis process<br />

: analyze an<br />

observable<br />

: produce an<br />

information<br />

236

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!