Experiences with a UML Diagram Critique Tool

Published  . 0 views
↓ Download
Experiences with a UML Diagram Critique Tool
1 / 1
Experiences with a UML Diagram Critique Tool - slide 1 of 37 Experiences with a UML Diagram Critique Tool - slide 2 of 37 Experiences with a UML Diagram Critique Tool - slide 3 of 37 Experiences with a UML Diagram Critique Tool - slide 4 of 37 Experiences with a UML Diagram Critique Tool - slide 5 of 37 Experiences with a UML Diagram Critique Tool - slide 6 of 37 Experiences with a UML Diagram Critique Tool - slide 7 of 37 Experiences with a UML Diagram Critique Tool - slide 8 of 37 Experiences with a UML Diagram Critique Tool - slide 9 of 37 Experiences with a UML Diagram Critique Tool - slide 10 of 37 Experiences with a UML Diagram Critique Tool - slide 11 of 37 Experiences with a UML Diagram Critique Tool - slide 12 of 37 Experiences with a UML Diagram Critique Tool - slide 13 of 37 Experiences with a UML Diagram Critique Tool - slide 14 of 37 Experiences with a UML Diagram Critique Tool - slide 15 of 37 Experiences with a UML Diagram Critique Tool - slide 16 of 37 Experiences with a UML Diagram Critique Tool - slide 17 of 37 Experiences with a UML Diagram Critique Tool - slide 18 of 37 Experiences with a UML Diagram Critique Tool - slide 19 of 37 Experiences with a UML Diagram Critique Tool - slide 20 of 37 Experiences with a UML Diagram Critique Tool - slide 21 of 37 Experiences with a UML Diagram Critique Tool - slide 22 of 37 Experiences with a UML Diagram Critique Tool - slide 23 of 37 Experiences with a UML Diagram Critique Tool - slide 24 of 37 Experiences with a UML Diagram Critique Tool - slide 25 of 37 Experiences with a UML Diagram Critique Tool - slide 26 of 37 Experiences with a UML Diagram Critique Tool - slide 27 of 37 Experiences with a UML Diagram Critique Tool - slide 28 of 37 Experiences with a UML Diagram Critique Tool - slide 29 of 37 Experiences with a UML Diagram Critique Tool - slide 30 of 37 Experiences with a UML Diagram Critique Tool - slide 31 of 37 Experiences with a UML Diagram Critique Tool - slide 32 of 37 Experiences with a UML Diagram Critique Tool - slide 33 of 37 Experiences with a UML Diagram Critique Tool - slide 34 of 37 Experiences with a UML Diagram Critique Tool - slide 35 of 37 Experiences with a UML Diagram Critique Tool - slide 36 of 37 Experiences with a UML Diagram Critique Tool - slide 37 of 37
Description: Experiences with a UML Diagram Critique Tool Robert W. Hasker, Andrew Rosene, James Reid University of Wisconsin Platteville MICS, 2012 Motivation Important skill for SE students: constructing, diagramming models Consider the following

Related Topics

Download Presentation

"Experiences with a UML Diagram Critique Tool" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

Presentation Transcript

slide1. Experiences with a UML Diagram Critique Tool Robert W. Hasker, Andrew Rosene, James Reid
University of Wisconsin – Platteville MICS, 2012<br>
slide2. Motivation Important skill for SE students: constructing, diagramming models
Consider the following class diagram

Reasonable structure, collection of classes<br>
slide3. Motivation Closer inspection:<br>
slide4. Motivation Closer inspection:<br>
slide5. Motivation Closer inspection:<br>
slide6. Motivation Closer inspection:<br>
slide7. Solutions Ideally, the modeling tool would catch such errors
Professional tools (such as IBM Rational Rose used here) must allow for a wide variety of practices
Student tools reduce competitiveness, don’t seem mature
UMLint: identifies potential errors
Inspiration: the C programming utility, lint
Currently focused on class, use case diagrams
Presentation
Overview of issues identified by UMLint
Experiences from the students in using the tool in upper-level classes<br>
slide8. Use case model defects Use case diagrams:
good for introducing diagram “rules”
A pet food dispenser:<br>
slide9. Use case model defects Use case diagrams:
good for introducing diagram “rules”
A pet food dispenser:<br>
slide10. Use case model defects Use case diagrams:
good for introducing diagram “rules”
A pet food dispenser:

Backwards <<extend>>: no route to Block Excessive Eating<br>
slide11. Class model defects<br>
slide12. Class model defects<br>
slide13. Class model defects<br>
slide14. Class model defects<br>
slide15. Class model defects<br>
slide16. Class model defects Public
attribute<br>
slide17. Class model defects Public
attribute Nonstandard methods<br>
slide18. Class model defects Public
attribute Nonstandard methods Index variables Complex attributes<br>
slide19. Class model defects Capitalization standards
Missing documentation Public
attribute Nonstandard methods Index variables Complex attributes<br>
slide20. Using UMLint Visit www.uwplatt.edu/~hasker, find “umlint”<br>
slide23. Experiences Example 1: model a rescue system for the Australian Outback
Victim calls for help
Operator plans route
Self-guided system delivers supplies
System can navigate obstacles
Goal of assignment: check skills retention
Students: capstone project course
Prerequisites: Data Structures, Object-Oriented Analysis & Design, Intermediate Software Engineering<br>
slide24. Example 1: Use case model<br>
slide25. Errors identified by UMLint Directed associations

(Directed) Associations between use cases

Classes

() after use case names<br>
slide26. Improved use case model Remaining error:
>3 links from
actor

Indicates flowchart<br>
slide27. Example 2: Mobile Application Ordering food
Items in categories
Optional condiments, components<br>
slide29. Underscores vs. camelCase Missing multiplicities Inconsistencies
Slow down development<br>
slide30. Example 3: Alternative Food App<br>
slide31. Example 3: Alternative Food App Complex attribute

Two owners for Item

Unrecognized/ misspelled words

Missing Multiplicities<br>
slide32. Improved Food App Fixing multiplicities revealed missing containers

Improved method placement<br>
slide33. Example 4: Application Framework Second diagram by same group as ex. 3

Missing multiplicities, documentation<br>
slide34. Ex. 4: Revised Framework Result of adding documentation:<br>
slide35. Discussion Goal: improve student diagram quality
Assumption: forcing students to look more closely at diagrams would result in identifying missing classes, introduce generalizations, improve associations
Results: could not find cases of this for the students involved in this project (spanning multiple groups)
Report: these issues were identified by groups before submittal
Was successful in identifying smaller issues
Naming conventions
Incorrect associations
Missing multiplicities
Missing containers
Generally: found detailed errors that are difficult to identify by hand<br>
slide36. Improvements Improve check for documentation
A single space satisfies this check
Consider using natural language parser
Improve notification of deleted objects
Rose allows deleting object from diagram, not model
Should provide better feedback on where to find these
Provide command-line interface
Current web interface too cumbersome for frequent checks<br>
slide37. Conclusion In practice, UMLint addresses details more than big picture issues in designs
However, did help groups eliminate errors
Group members pointed out UMLint would flag certain choices
Helped remind users of notation
“Basic stuff, but it’s that basic stuff you forget.”<br>