teaching uml using umple: applying model-oriented programming in the classroom csee&t 2011...
TRANSCRIPT
![Page 1: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/1.jpg)
Teaching UML Using Umple:Applying Model-Oriented Programming
in the Classroom
CSEE&T 2011
Timothy C. Lethbridge, Gunter Mussbacher,
Andrew Forward and Omar Badreddin
University of Ottawa
http://www.site.uottawa.ca/~tcl
![Page 2: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/2.jpg)
Motivation
Students and practitioners are not good UML modelers
• They have many patterns of misconception about
—Semantics
—What you can do with UML
• Lack of skill hinders adoption of model driven development
—Slows down development in all industries
I learned how to teach UML through trial and error, but it requires slow ‘board work’ to do well
• I needed a faster tool
T. Lethbridge CSEE&T 2011 2
![Page 3: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/3.jpg)
Overview of Umple: www.umple.org
A tool set for Model-Oriented Programming
• A textual language for UML class and state diagrams
—Which you can embed in Java, PHP, Ruby
—Can reduce code volume by 90% for some types of code
• State-of the art code generation of top quality code
• Online tool (Umpleonline at try.umple.org )
—Allows editing of the diagram or text
• Eclipse plugin
Open source on Google code
• code.umple.org
T. Lethbridge CSEE&T 2011 3
![Page 4: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/4.jpg)
Example of textual UmpleWe will visualize the following in UmpleOnline, then
edit the diagram and see the text changing
class Student {
Integer id;
status {
entered { register -> registered; }
registered { pay -> paid; }
paid {}
}
}
class CourseSection
{
description;
1 -- * Student registrants;
}
T. Lethbridge CSEE&T 2011 4
![Page 5: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/5.jpg)
My Classroom Technique When Teaching UML Modeling
45% PowerPoint Slides (as designed for my book)
30% Blackboard work
25% UmpleOnline
T. Lethbridge CSEE&T 2011 5
![Page 6: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/6.jpg)
Use of Umple to Date
Used by me for teaching in
• Second year Introduction to Software Engineering
• Fourth year Advanced Design
Used by other professors including in a graduate course
Used in several student projects in various universities
• Including one of the SCORE finalists here at ICSE
Umple is written in itself
T. Lethbridge CSEE&T 2011 6
![Page 7: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/7.jpg)
Key Benefits from Classroom Use of UmpleFaster and easier than using the black/white board for
UML modeling
• Textual mode twice as fast as board
• Graphical editor 25% faster than board
• Ability to load saved designs to edit
• Easier to rearrange design
• Can explore design alternatives then save them for later
Ability to umplify, i.e. convert Java code to a model
Ability to generate good-quality code for discussion
Low footprint: Only requires a browser
• Although Eclipse version could also be used
T. Lethbridge CSEE&T 2011 7
![Page 8: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/8.jpg)
Sample Student Exercises Using Umple
Steps we might ask students to follow:
1. Enter a model graphically
2. Generate code
3. Explain the semantics of UML by studying generated code
4. Enter another model textually
5. Write a main program and test the generated code
T. Lethbridge CSEE&T 2011 8
![Page 9: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/9.jpg)
Student Satisfaction Survey
In a Sept-Dec 2010 Course:
• SEG2105: Introduction to Software Engineering
• 10 Likert-scale questions
—Took five minutes
• Voluntary: 30 out of 68 students participated
• No lecture time consumed
—Just before start of class
On the next two slides, error bars indicate standard deviation
T. Lethbridge CSEE&T 2011 9
![Page 10: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/10.jpg)
Results of survey
T. Lethbridge CSEE&T 2011 10
Um
ple
in th
e cl
assr
oom
hel
ped
me
unde
rsta
nd c
once
pts
Um
ple
in th
e la
b he
lped
me
unde
rsta
nd c
once
pts
I will
get
bet
ter
grad
esbe
caus
e of
Um
ple
Prof
. Let
hbrid
ge sh
ould
use
it in
futu
re c
ours
es
As o
f Dec
201
0, U
mpl
e is
too
inco
mpl
ete
or b
uggy
Oth
er to
ols w
ould
have
bee
n ju
st a
s
effe
ctiv
eI w
ould
use
Um
ple
in th
e
futu
re, a
ssum
ing
bugs
fixe
d
![Page 11: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/11.jpg)
T. Lethbridge CSEE&T 2011 11
Ava
ilabi
lity
of a
text
ual f
orm
for m
odel
s and
dia
gram
sA
bilit
y to
edi
t dia
gram
or
text
& h
ave
the
othe
r ref
lect
cha
nges
Abi
lity
to g
ener
ate
code
to
repr
esen
t the
mod
el
![Page 12: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/12.jpg)
Comparison of GradesComparison of 4 offerings of the same course before
introducing Umple, and 2 offerings afterwards
Midterm examination grades on UML modeling question rose from 75.8% to 82.3%
• 8.6% improvement
Final exam grades on UML modeling questions rose from 76.4% to 83.6%
• 9.4% improvement
Highly statistically significant p<0.00002 on T Test
• n=332 prior to Umple; n=137 afterwards
Similar results in 4th year course SEG4110
No difference in non-UML questions
T. Lethbridge CSEE&T 2011 12
![Page 13: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/13.jpg)
Threats to ValidityStudents may have been trying to ‘please the professor’ by
giving positive reviews of Umple
• We think this is unlikely—The survey was anonymous
—Students tend to be critical when they want to be
Not all students participated
• Perhaps those who didn’t would have been more negative
• This is a universal problem with all surveys
Exams differed from year to year
• Perhaps UML questions became easier, by chance
Perhaps we are becoming more lenient when marking UML questions
T. Lethbridge CSEE&T 2011 13
![Page 14: Teaching UML Using Umple: Applying Model-Oriented Programming in the Classroom CSEE&T 2011 Timothy C. Lethbridge, Gunter Mussbacher, Andrew Forward and](https://reader036.vdocument.in/reader036/viewer/2022082820/5697bf9e1a28abf838c944a7/html5/thumbnails/14.jpg)
ConclusionsTo help students better understand modeling concepts,
we highly recommend:
• Live modeling in the classroom with an easy-to-use web-based modeling tool such as UmpleOnline
• Showing the results of good-quality code generation so students understand the consequences of modeling decisions
Umple has been designed with the above goals in mind
• Simple web interface
• Text-based or graphical modeling in UML
• State-of-the-art, but easy-to-understand generated code for class and state diagrams
T. Lethbridge CSEE&T 2011 14