Development Fund Overviews

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

15 Αυγ 2012 (πριν από 4 χρόνια και 10 μήνες)

236 εμφανίσεις

HEA Development Fund Additional Report


PROJECT T
ITLE


Further development and dissemination of objFusion
-

a web
-
based
software environment to support effective teaching and learning of object
oriented design based on collaborative modelling with
traceability


Contact:
Dr
Quan Dang,
q.dang@londonmet.ac.uk

Project team: Quan Dang and Tingkai Wang


Keywords

Computer science education, Object oriented design, Object oriented programming
,
Software
Engineering, CASE tool, UML


ABSTRACT


Th
e
objective

of this

project to develop a
n

easy
-
to
-
use,
light
-
weight
server
-
based, thin
-
client
web
-
based
software
environment

to support
learning and
teaching
of introductory
obj
ect oriented
(OO)
design
.
The ultimate aim of
the
building
of
the software is to help
students to truly appreciate the benefits of
the
activit
y

of
object oriented
design through
an essential
OO process

to
produc
e

essential OO models.


The software incorporate
s

essential
heuristics

and models
of
object oriented modelling,
namely use cases, class diagrams, CRC cards and sequence diagrams.

It

has been
design
ed

with an aim
to place a strong emphasis on
(a)
maintaining the traceability
between the modelling artefacts
, which is the key
to

any OO process
, and
(b)

supporting
collaborative
work of project team mem
bers. The software

also provides facilities for the
tutor
to
manage their classes where a class can have
multiple projects

with
project team
s

working on
it
.

T
utor
s can also
inspect
the students’ work and individual

contributions to
the team work for instruction and assessment purposes.



AIMS


The aim of this project is to carry out further development of objFusion to enhance its
usability and to disseminate it to the wider HE commun
ity, namely:
-


To upgrade objFusion

v1

to version 2 with the following new features

1.

Visualisation of the supported UML diagrams in the standard UML
diagrammatical format.

2.

Tracking student usage statistics and generation of related reports with an aim to
reveal correlations between the student modelling “behaviour” as logged by the
system and the student attainments in learning OO design e.g. in the assessment.

3.

Interoperability: export objFusion class design to Java/C# code. The generated
class code can th
en be opened in other programming environment such as BlueJ,
NetBeans, Eclipse and Visual Studio, etc.



To disseminate objFusion v2 by

1.

organising a structured workshop for colleagues wanting to use the software in
their teaching.

2.

write and present a paper

on objFusion at the HEA
-
ICS 11th Annual Conference
in Durham, August 2010.


OUTCOMES


This project has
produced
the following.


1.

objFusion v2 software with the additional features as above specified.

2.

The software’s Technical documentation and User’s
instructions.

3.

Two papers have been published which describe the educational context, the
rationale of objFusion design and development, and how the software could be
used to support teaching and learning of intr
oductory object oriented design
(listed in th
e Resources section below)

4.

Positive feedback from students
and colleagues
that
objFusion

could help

to
enhance
the teaching & learning of introductory object
-
oriented in terms of
students’
understanding, appreciation and
skills of OO design.

This evaluatio
n
result has been
obtained

from a
n

objFusion
dissemination workshop at London
Met on 17/3/2010, the HEA
-
ICS “e”
Teaching & L
earning Workshop 2010 at
Gr
eenwhich University on 1/6/2010, a survey of students doing a module in OO
software design & development
at London Met.


Please see
further

details of the outcomes
in the Resources section below.


METHODOLOGY

Work to be done in this project are of different nature, which are (1) software
development, documentation and evaluation, and (2) product dissemination
.


(1)

Software development, documentation and evaluation




Since the additional features of objFusion have clearly been defined, the team
will follow a standard software development method for a web application
development based on the Java J2EE technology and

MySql to implement the
new features.


In particular, a main challenge of the implementation of the visualisation of
UML diagrams in a diagrammatical format is to choose an appropriate format
for storing and displaying graphics in the system’s database an
d in the
client’s web browser. Research and experiment will be done on this before
any decision of the graphics format to be chosen for implementation.




Software testing, and user acceptance test will involve students using
objFusion v2 in class, and colle
agues participating in the planned workshop.




Detailed technical and user documentation of objFusion v2 will be prepared
and made available in the software distribution package.


(2)

Product dissemination



A workshop will be held to introduce objFusion and to s
upport academics
wanting to use the software in their teaching. Details of the workshop and
copies of the materials will be provided on the Web via our university website
and/or HEA
-
ICS events website.




Prepare and present a paper on objFusion v2 system su
bmitted to the HEA
-
ICS 11
th

Annual Conference in 2010.




The software and documentation will be made available on the web on our
university server and/or HEA
-
ICS website.



DELIVERABLES


The
mai
n deliverable of this

project is the
objFusion
v2

software

whic
h is an enhanced
version of objFusion v1 with several useful features as indicated in the “Aims” section
above
.
The software

is available to academics w
ho want to use it in their teaching
.


Installation

instructions and user
’s

manual documents

are

included

in

the software
distribution package.



Please
note objFusion

is not a website, rather
its is
a
server
-
based
web application which
requires the
Sun GlassFish Enterprise Server

and MySQL database
server
to run. There is
no special requirement from the
client side, except a standard web browser which
support
s

Javascript.


We’d
also
be happy to share our experience of using the teaching
approach

(as described
in our published papers),
for which

objFusion
was built

to support
.
By adopting and using
the sof
tware in your teaching you will have effectively adopted a
simple
,

yet essential OO
proc
e
ss with the key OO design steps

and activities
to build

essential
OO
models, viz
.

use
cases
, class diagram
s
, CRC cards and sequence diagrams.

We have used
the approach

in
our classes teaching a module entitled “Object Oriented Software Design and
Development” since Spring 2007. An analysis of the module’s assessment statistics and
surveys of student satisfaction suggested that the approach had worked well in terms of
st
udent performance in the module formal assessment, and contributing to improving
t
heir understanding of OO design (please see details in our published papers

listed in the
Resources section below
)



BACKGROUND


It has been observed from our own practice of

teaching OO that students doing an OO
course did not always gain an “OO thinking”, even though they might be able to use OO
modelling notations (e.g. UML) and to write code in an OO programming language (e.g.
Java).

In particular, most of our students fou
nd it difficult to semantically connect
deliverables of different stages in an OO process. It is often that they were able to use
sub
-
sets of OO techniques/notations here and there to create various OO artefacts, but
when it came to the implementation thei
r software classes would usually “come from the
sky”, not being derived from the classes/models resulted from precedent stages of the OO
process.


In order to rectify this, our approach
is to help

students to establish the missing
connection
s

between
the
O
O models
by
placing an emphasis
on the
model
traceability
, an
instance of which is a
relationship between two modelling artefacts that implies the
source, derivation, or dependencies between the artefacts.
Specifically
, in an OO process
the model traceabil
ity means that models built in a subsequent stage should be based on
the related models created from the precedent stages.

In our class, t
his is realised through
the use of a set of model templates and
explicitly written OO process
-

and product
-

related he
uristics, combined with
student
peer review to validate and verify modelling
artefacts

(namely

use cases, class d
iagrams
, CRC cards

and sequence diagrams).

Normally it would
be
best if students modelling activities could be supported
by

a
n

OO
design CASE tool.

However we haven’t found any tool which perfectly fits for our
purpose and constraints.
Existing tools are either too much or too little for our purpose.
This was the context where th
e idea of building the objFusion

came from.


The in
itial development of objFusion was funded by the HEA
-
ICS Development fund
from the 2008/9 call, and objFusion v1 has been developed as a result of the project (see
more details of this project).

objFusion v2 developed in this project enhances the
visualisa
tion of use case, class and sequence diagrams with diagramatical UML notations.
Furthetr it can export the class design to source code text file which can be further opened
and developed in Java and C#.

For the tutor objFusion v2 offers a tracking feature
which
can be utilised to analysis student engagment in their project as well as their modelling
behaviour during the OO modelling process.


objFusion supports students to learn essential OO heuristics, steps, models (viz, use cases,
classes diagrams, seque
nce diagrams and CRC cards), semantic relationships and
transitions between the models. More importantly, learning the OO design using
objFusion would solidify the OO way of thinking in program design. As a result an
practical appreciation of benefits of p
erforming methodical OO design activities would be
achieved. objFusion explicitly incorporates essential constituents of the supported
models, and semantic relationships between the modelling steps and the models. The
software also supports students to wor
k collaboratively in project teams. Project team
members can view, trace, modify, make comments on and create new models for their
team’s project. They can see who created which models and when. They can conduct
online chats with team members or tutors in
real
-
time when working in the objFusion
environment. The online messages are logged and can be seen by tutors and other
members of the project team. These can be used for students reflection, and for tutor’s
assessment and student support purposes. From th
e end
-
user perspective, objFusion is
easy to use as it has a standard browser
-
based tabbed graphical user interface. Tutors and
students require no training to use the software as such.



PUTTING IT INTO PRACTICE


The main outcome of this project is objFusion
v2

which is a web
-
based software
web
application

to support
the
learning and teachi
ng of object oriented design. The software

can be used in classes teaching modules/units which involves elements of introductor
y
object oriented design, for example

further OO programming

,

OO software design and
development
” and


introductory OO system analysis and design

.


objFusion

support
s

students
to learn
essential OO heuristics, steps, models (viz, use cases,
classes
diagrams, sequence diagrams and CRC cards)
,

semantic relationships and
transitions between the models. More importantly, learning the OO design using
objFusion would
solidify

the OO way of thinking in
program design.

A
s a result an
practical appreciation o
f the benefits of performing methodical OO design activities
would be achieved.

objFusion explicitly incorporate
s

essential
constituents of the
supported

model
s,

and semantic relationships between th
e modelling steps and the
models.
The software
also
suppo
rt
s

students to work collaboratively in

project teams.
Project team members can view, trace, modify, make comm
ents on and create new
models for

their team’s project. They can see who created which models and when. They
can conduct online chat
s

with team members or
tutor
s

in real
-
time when working
with

the
system. The online messages are logged and can be seen by the tutor and other members
of the project team. These can be used for students reflection and tutor’s assessment and
student support
purposes.

From the end
-
user
perspective, objFusion is
easy to u
se as it has
a standard browser
-
based
tabbed
graphical user interface.
Tutors and students will require
no training to use the software as such. All they need is a basic understanding of an bas
ic
OO design process and models.


EMBEDDING

As above indicated in the
“Background”

Section
above
, objFusion has been designed and
built to support our pedagogic approach for effective teaching and learning of OO design.
The approach itself was resulted
from our teaching practice and innovation. From our
own experience we truly believe that a specialist software tool like objFusion would not
only greatly facilitate the use the teaching approach it was built to support, but also
provide an added value of
enhancing student learning experience, using the (proper) tool
in their classes.


BENEFITS

The main
expected
benefits include: (1) t
he project produce
s

an enhanced version of the
objFusion software to be made freely available to other ICS departments. There has been
interest from delegates of the 10th

annual conference in objFusion; (2)
The software
release would be an efficient way to disseminate our go
od practice of teaching OO, the
heuristics of which will hav
e been embedded in the software; and (3)
The use of the
software is not only technically beneficial but also socially beneficial. It would encourage
deep learning and collaborative learning among
students, hence would help them to
perform better in the assessment, resulting in better retention and progression


STUDENT VIEWS

Student views were taken as inputs to objFusion development in several ways as follows.



The project involve
d

students in the p
roject team, performing the user acceptance
testing of the software, from which their comments and suggestions
were

taken on
board.



A survey of student evaluation on aspects of the product
was

condu
cted.



Informal comments and feedback from students using
the software in class will also
be taken on board to enhance the software & documentation.


IMPACT

In terms of the student learning experience, u
sing the objFusion students are guided by
the environment through an essential OO process to produce essential
OO models to learn
essentials of object oriented thinking. They can perform collaborative modelling and
online communication in real
-
time.

The ultimate aim of the building of the software is to
help students to truly appreciate benefits of the activity of
object oriented design. It is
hoped that students using the environment will make an in
-
road in OO thinking, and will
use it in other OO projects, even without using the environment.


In terms of teaching,
ObjFusion will facilitate our teaching OO design u
sing our teaching
approach which places an emphasis on model traceability. The tool embeds the useful OO
heuristics and model templates which we would normally explain to our students in the
usual way e.g. using PowerPoint presentations, whiteboard and pap
er
-
based / electronic
materials.

The usage tracking feature of objFusion would help evaluating individual
student contribution to their team work, and may reveal potential correlations between the
modelling behaviour
-

as logged by the environment, and fin
al class design and student
understanding of what is taught. As a result improvement could be made towards a better
teaching quality


ISSUES AND DEBATES


Q:
What are benefits my student
s

would get if I use objFusion in my course?

A:

Your
students would
learn OO design in a natural and incremental fashion
whereby they would be making smooth and gradual transition from system
functional requirement to a system class design, which can then be exported for
the class methods to be fleshed out with implementai
on. This way students would
appreciate the craft of OO design and would understand why the OO design
activity is useful for the purpose of programming, not just for the sake of
producing the documentation at the end of their project.

Q: What are benefits I

would get if
if I use objFusion in my course?

A:
Y
ou would evrything your students get from using the software, i.e. you would
achieve better student performance in your course because objFusion could help
to enhance student OO learning experience. You ca
n monitor and help students
along the OO process as a mentor in their project, being able to see their by
-
products of modelling stages’ deliverables. Moreover, objFusion very powerful
tracking feature could help you to analyse the level of student engageme
nt in their
project, what they are doing and how they are going about the models over the
project duration.

Q
:

Could the problem of students getting lost along an OO process and failing in making
connection between the OO models be not common


it might li
nk to
students of a certain
profile
?

A:

Yes and no. Yes,
because
it is thought that the described problem certainly
linked to classes with students who were beginners in OO design. These students
may be those
who
even had

done a 1
st

course in introductory OO programming,
but those
who
had

done a
n intermediate

course in OO analysis and design
(usually in the 2
nd

year of their degree cours
e
) normally did
not experience

the
problem;

No, because
if anyone, including new comers to OO desi
gn, could make
problem
-
free and straightforward transition
s

from software functionality to
software classes then there should have been no
demand

for such a great number
of various OO design methodologies and CASE tools. We strongly believe the
problem we
have observed in our class is inherent to learning & teaching OO to
the
OO novice
.


Q:

The key to your teachin
g approach and the software which

support
s

it is the concept of
model traceability. What
does
the model traceability really

mean?

A:

T
he model traceability is a
relationship between two modelling artefacts that
implies the source, derivation, or dependencies between the artefacts.
Specifically
, in an OO process the model traceability
implies

that models built in
a subsequent stage should

be based on the related models created from the
precedent stages
. An obvious

example of traceability is that an operation of a
class
of a software
should be derived from a me
ssage in

a sequence diagram
,
which is built for

the same software.


Q:

Okay
,
model traceability is the

key

to any OO process
. However
that has
long
been
what every OO design me
thod and supporting CASE tool try to deal with
.
In this respect,
w
hat novelty
do
your teaching approach and
the
objFusion
software
have to offer?

A:

The answer to
this

question is provided separately for the teac
hing approach
and the software.


Regarding

the teaching approach, it

is wort
h noting that it was not our
aim

to
devise a new OO method to achieve the model traceability because this has been
t
he aim of every existing OO methodology and CASE tool. Rather, what we aim
for is an effective
pedagogical

approach
. This approach places an emphasis on
the issue of model traceability in t
eaching & learning of OO design.

Our approach

uses a combination of pedagogical measures to enable students to be aware of and
to maintain the model traceability throughout an OO process. As a result, they can
truly grasp the essence of the OO design
activity
and to appreciate its benefits.


As to

th
e CASE tool support, most of
the
full
-
blown OO CASE tools support
maintaining model traceability. Some of them
may
support collaborative
modelling.
These tools are usually too complex for the learner of OO design, and
require
stiff learning curve
s
, which w
ould
usually
be

too
much to be

included in
the
context
of a
n

introductory
c
ourse.

There
exit

also
quite a few

lightweight

UML tools, including browser
-
based UML model drawing tools. But these tools
are limited to
being
only
diagramming

tools, which do not incorporate

much of
the model semantics in the stored data
of

the model
ling

artefacts.

We have not
been able to find a l
ightweight
tool, which provides

support for collaborative
modelling.

All these

lacks point to

a

gap where our objFusion comes
in
to play.


Q
:

Which

UML models
does objFusion support
?

A
:

objFusion
support
s the following OO models
:
-

(1) U
se case diagrams, use cases with explicit description of actors and use case
steps (
sequence of steps and step logic



also called supplemented use case

elsewhere
)

(2) C
lass diagram
s

with classes and its relationships of various types, class
es

with
attributes and operations including its declaration scopes and data types

(3
) Sequence diagrams for use case realisation.

(
4) Non
-
UML class responsibilities and CRC cards (class
-
responsibility
-
collaborator)


Q:

Can I use your software in my teaching and what are terms of use?

A:

Yes, the software is freely distributed for use in your non
-
commercial teaching
with no guarantee by contacting the author at the email address above.


Q:

What do I need to run objFusion?

A:

objFusion is a server
-
based, thin
-
client web application. On the

client side it
doesn’t require the end
-
user to install anything on their PC, except a standard web
browser which supports Javascript. On the server side objFusion requires Java SE
1.6, Java EE 5, Sun GlassFish Enterprise Server v2.1, and MySQL database
se
rver v5.1.
objFusion also uses some free/GNU utilities for generating UML
diagrams and charts from tracking statistics.
All the required software are free and
can be run under either

Windows or Unix
-
based operating systems
. The
objFusion distribution packa
ge (to be deployed to
a

web server) is just under
5MB.


RESOURCES


The project has produced the following deliverables
.


1.

The software called
objFusion v
2

which
is
a web
-
based software environment to
support learning and teaching intro
ductory object
oriented design.

2.

Technical documentation
for maintenance and
further development of the
software.

3.

User instructions for installation and use of the software.


Academics who are interested in using the software in their teaching please contact
Dr Quan Dang
at
q.dang@londonmet.ac.uk
, web:
http://about.quandang.co.uk


Two papers which provide background
reading

re
.

the context and the teaching
method for which objFusion
h
as
been
designed to support:
-


4.

Dang, Q., 2009, Bridging a Conceptual Gap in the Novice's Understanding of
Object oriented programming with the Role Metaphor, HEA ICS the 9th
Workshop on the Teaching of Programming, 6th April 2009, University of
Bath (
view full
-
text in PDF
),
http://www.ics.heacademy.ac.uk/events/displayevent.
php?id=214


5.

Dang, Q. and Wang, T., 2009, Enforcing Model Traceability for Effective
Learning of Object
-
Oriented Design, HEA ICS Annual Conference, 25
-
27th
August 2009, University of Kent at Canterbury (
view full
-
text in PDF
),
http://www.ics.heacadem
y.ac.uk/events/10th
-
annual
-
conf/programme_day2.php


Two papers which descirbe objFusion in terms a software system and how it could be
used to support teaching & learning of introductory OO design:
-


6.

Dang, Q., 2010, A Web
-
Based E
-
Learning Environment for C
ollaborative Learning
of Object Oriented Design, “e” Teaching and Learning Workshop 2010, 1st June
2010, University of Greenwich, London.

http://www.ics.heacademy.ac.uk/events/di
splayevent.php?id=226

7.

Dang, Q. and Wang, T., 2010, Supporting the Learning of Object Oriented Design
with a Lightweight Web
-
based Collaborative Modelling Environment, Accepted
for the HEA
-
ICS 11th Annual Conference, 24
-
26th August 2010, University of
Durh
am.

http://www.ics.heacademy.ac.uk/events/11th
-
annual
-
conf/



You also need
the following

3
rd

party
server software to run objFusion.

1.

GlassFish Enterprise Server v2.1

from
https://glassfish.dev.java.net/

2.

MySQL 5.1
S
erver at
http://dev.mysql.com/downloads/

3.

UMLgraph

from
http://www.umlgraph.org/

4.

Graphviz from
http://www.graphviz.org/

5.

Gnuwin32 packages: Plotutils,
Ascii_chart

and
Piechart

from
http://gnuwin32.sourceforge.n
et/packages.html

6.

ImageMagick

from
http://www.imagemagick.org/

7.

B
atik

SVG Rasterizer from
http://xmlgraphics.apache.org/batik/tools/rasterizer.html


BIBLIOGRAPHY


[1]

ACM CSE conferences series, http://www.sigcse.org/

[2]

Beck, K. and Cunningham, W.A Laboratory For Teaching Object
-
Oriented
Thinking; the OOPSLA'89 Conference Proceedings, October 1
-
6, 19
89, New
Orleans, Louisiana.

[3]

Booch, G. et al., The Unified Modeling Language User Guide , 2/E, Addison
Wesley, 2005.

[4]

Caspersen, M. E., Introduction to Part II Introducing Object
-
Oriented
Programming, In: Bennedsen J., et al. (Eds.): Reflections on the Teach
ing of
Programming, LNCS 4821, pp. 77
-
79, 2008. Springer
-
Verlag.

[5]

Christensen, H.B., Implications of Perspective in Teaching Objects First and
Object Design. In: Proceedings of 10th Annual Conference on Innovation and
Technology in Computer Science Educatio
n 2005, Lisbon, Portugal

[6]

Coplien, J.O., Teaching OO: Putting the Object back into OOD, 2003,
http://www.artima.com/weblogs/viewpost.jsp?thread=6771

[7]


ECOOP Conference Series, http://www.ecoop.org/

[8]

Jacobson, I. et al., The Unified Software Development Proces
s, Pearson, 2000.

[9]


Larman, C., Applying UML and Patterns: an Introduction to Object
-
Oriented
Analysis and Design and Iterative Development, 3rd ed., Prentice Hall PTR, 2004

[10]

OOPSLA Conference series, http://www.oopsla.org/

[11]

Wikipedia List of UML tools,
http://en.wikipedia.org/wiki/List_of_UML_tools

[12]

Wirfs
-
Brock, R. and McKean, A., 2003, Object Design: Roles, Responsibilities,
and Collaborations, Addison
-
Wesley.