GUI_UML Tutor - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

GUI_UML Tutor

Description:

The following example demonstrates part of the development for a Cashpoint (ATM) ... E.g. for a Cashpoint Log In', Log Out', Withdraw Cash', etc. ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 23
Provided by: MOON94
Category:

less

Transcript and Presenter's Notes

Title: GUI_UML Tutor


1
GUI_UML Tutor
  • Developed and evaluated by-
  • Jim Moon and Gaylor Boobyer.
  • Presented by-
  • Dave Farthing.

School of Computing University of Glamorgan
2
Introduction
  • 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.

3
Challenges 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.

4
The 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).

5
UML
  • 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
6
Identifying 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.
7
Playing 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
8
Once 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
9
Converting 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).

10
Therefore, the student creates a Use Case diagram
to match the Use Cases they have found (version
1.01).
11
Use 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
12
The Tutor Use Case Narrative
The narrative dialog provides specific tabs to
remind the student about the data to enter
(version 1.01).
13
Identifying the Use Cases automatically
produces a system ltltcontrolgtgt class.
14
Also, 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.
15
Help
  • 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.

16
Results
  • 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.

17
Pre 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
18
Post 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.

19
Post 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

20
The 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.

21
Concluding 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.

22
References
  • 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).
Write a Comment
User Comments (0)
About PowerShow.com