teaching uml using umple: applying model-oriented programming in the classroom csee&t 2011...

14
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 [email protected] http://www.site.uottawa.ca/~tcl

Upload: oliver-thomas

Post on 17-Jan-2016

213 views

Category:

Documents


0 download

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

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

[email protected]

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

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

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

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

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

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

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

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

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

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

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

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

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

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