Title: GUI_UML Tutor
1GUI_UML Tutor
- Developed and evaluated by-
- Jim Moon and Gaylor Boobyer.
- Presented by-
- Dave Farthing.
School of Computing University of Glamorgan
2Introduction
- The Unified Modelling Language (UML) is the de
facto standard for the visual analysis and design
of object oriented software. - This presentation introduces a prototype software
tutor that is under development to try to provide
the following- - An understanding of how UML and a software
program relate to each other. - A single consistent source that describes the key
concepts of a final year UML course. - A guide to help ensure that the UML model is
consistent across a number of diagrams. - NOTE- Although this tool can create partial UML
designs it is meant as an introductory tutor.
3Challenges of UML
- A UML model is quite an abstract representation
of a software system. - Currently, UML provides little support for
mapping the abstract UML representation to the
physical software being developed. - Burton and Bruhn (2004) found that students of
UML find a visual approach with active
involvement beneficial. - The UML language is evolving quite quickly, this
means that many information sources are based on
subtly different language syntax. - The synthesis of the UML techniques is a
cognitively challenging task. - Frosch-Wilke (2003) published a survey of ten
university courses on UML showing that many
students failed to understand interdependencies
between the different UML diagrams and did not
really know how UML helps to build good software.
4The GUI-UML Tutor
- The tutor is intended to assist a student in
understanding how elements of UML relate to the
actual software. - The tutor is also intended to provide examples of
UML techniques working in synergy. - It has been found that many students are good at
producing user interfaces and often enjoy doing
so (e.g. using Visual Basic). Therefore, the
first task in using the tutor is to create a
simplified GUI interface. - This is only intended as a basic introduction to
Use Case modelling, not as an ideal method of
always determining Use Cases. - Storyboards are sometimes used in a similar way
to reflect the steps taken to play out a scenario
(Ambler 2003).
5UML
- The following example demonstrates part of the
development for a Cashpoint (ATM). - A Use Case symbol is simply a visual
representation of a significant behavioural
feature of a system. - E.g. for a Cashpoint Log In, Log Out,
Withdraw Cash, etc. - A Use Case often, although not always, reflects a
menu item in a software system. - By creating a User Interface the students can see
the way the scenario plays out before writing the
Use Case.
Withdraw Cash
6Identifying Use Case initiation
The student places a menu Item on the screen and
considers whether it initiates a Use Case
If so, the student identifies the Menu item as
initiating the Log In Use Case.
The red tabs indicate that this Menu Item
initiates a Use Case.
7Playing out the Use Case scenario in the GUI
As shown earlier, inserting the Card Initiates
the Log In Use Case
Once the card has been read the Log In Screen Is
displayed
The customer enters a PIN
Then presses OK
8Once the PIN has been entered it is checked and
the relevant account is found by the software
system.
Successful log in brings up the ATM Main Screen
9Converting to UML
- Having visually identified the sequence of steps
in a scenario the student needs to convert them
to UML. - The development version (1.01) now includes Use
Case diagramming and the student creates a Use
Case diagram. - The ltltboundarygtgt, ltltcontrolgtgt and ltltentitygtgt
classes design pattern is employed. - The tool generates a ltltboundarygtgt class for each
data entry form. - The tool generates a ltltcontrolgtgt class for each
menu item. - The students are left to develop ltltentitygtgt
classes, e.g. via lexical analysis (nouns).
10Therefore, the student creates a Use Case diagram
to match the Use Cases they have found (version
1.01).
11Use Case Narrative (Text based)
For each use case the way a scenario is played
out is then described in a Use Case narrative
Log In
Typical Use Case Narrative- Log In Assumptions
- The cash machine is operational. Pre-conditions
- The customer has a valid bank account and bank
card. Post-conditions- The customer card has
been accepted. The customer account has been
identified. The Customer is logged in. Use Case
Dialog (Specification) (for a successful log on)
- The customer inserts their card which is
checked by the software. The log in screen is
displayed and the customer enters their pin
number and selects ok. The system checks the PIN
number, finds the relevant account and the ATM
main screen is displayed.
Customer
12The Tutor Use Case Narrative
The narrative dialog provides specific tabs to
remind the student about the data to enter
(version 1.01).
13Identifying the Use Cases automatically
produces a system ltltcontrolgtgt class.
14Also, creating the Forms automatically
produces the ltltboundarygtgt classes. E.g. for the
Log In form
These classes represent the Screens of the system
E.g. Dialog Boxes The student then needs to
take data from the dialog box and store it in
the correct ltltentitygtgt class.
15Help
- General help, tutorials and context sensitive
help are provided to assist the student as they
progress. In this case F1 was pressed while over
a Use Case on a Use Case Diagram.
16Results
- Version 1.0 of the tutor was employed this year
with a group of thirty three final year software
engineering students. - One final year computer studies student with less
exposure to UML also used the tutor as a guide to
producing the documentation for his project. He
has not been included in the following results. - An analysis of the software engineering students
results follows.
17Pre tutor questionnaire results
- Surprisingly, most of the final year students
felt quite confident about developing a complete
software design before being given this tutor
Confidence level
18Post tutor questionnaire results
- While almost all the student cohort completed the
pre tutor questionnaire, less than 50 completed
the more detailed post tutor questionnaire. - The results show that almost all those students
who had completed both questionnaires had
generally benefited from using the tutor software.
19Post tutor questionnaire results
- Further examination of the results indicated an
anomaly in two of the students pre and post
questionnaires. - These students had originally been very confident
of their design abilities but had become less
confident of their abilities after using the
tutor. - The feeling of the team is that these particular
students had been overly confident when initially
completing the pre tutor questionnaire. Omitting
these results
20The Future
- The direction of development is guided by
feedback from the students. This year the
students responses suggested the following order
of development - Increased number of case studies/tutorials in the
help system - Use Case diagrams
- Class diagrams
- The ability to print diagrams and export models
to Rational Rose. - Therefore, version 1.01 is under development and,
as you have seen, it includes Use Case
diagramming. - There are many other aspects of development that
are under consideration - Activity diagramming
- Sequence diagramming
- The use of the .NET design time architecture to
improve the interface.
21Concluding remarks
- This presentation has introduced a prototype
software tutor for UML. - The key features are-
- Using a simple GUI to guide use case reasoning
- Automatic development of simple ltltboundarygtgt and
ltltcontrolgtgt classes - A context sensitive help system to guide the
students - On line tutorials.
22References
- Ambler S W, The Object Primer Agile
Model-Driven Development with UML 2.0, Third
Edition, Cambridge University Press (2004). - Burton P J, Bruhn R E, Using UML to facilitate
the teaching of object-oriented systems analysis
and design, Journal of Computing Sciences in
Colleges, 19, issue 3, pp 278-290, (Jan 2004) - Frosch-Wilke D, Using UML in software
requirements analysis -- Experiences from
practical student project work. Proceedings of
the Informing Science IT Education Conference,
Informing Science Institute, Santa Rosa, CA, pp
175-183, June, (2003). - Hansen K M, Ratzer A V, Tool Support for
Collaborative Teaching and Learning of
Object-Oriented Modeling, Proceedings of the 7th
Annual Conference on Innovation and Technology in
Computer Science Education ITiCSE 02, Aarhus,
Denmark, June 24-26, pp 146-150 (2002) - Thomas L A, Ratcliffe M, Woodbury J, Jarman E,
2002, Learning Styles and Performance in the
Introductory Programming Sequence, Proceedings of
the 33rd SIGCSE technical symposium on computer
science education. Covington, KY ACM Press,
(2002).