[usage-centered] Re: Subscription Notification fo
- original article:http://www.egroups.com/group/usage-centered/?start=10
> I'm very
> in discussing this topic. E.g., what are the advantages and
> UML forThe clear advantage to UML is that is becoming ubiquitious and
> user interface specification and design, and how should we address
pervasive and will be a common notation amongst software engineers. At
a code design level, it is clearly capable of expressing some of the
issues in UI Design. Class Diagrams can provide that Screen, Frame,
Widget description in a static sense. Statecharts can model the State
and Event description.
UML is almost sufficient to express that technical code level of UI
Where UML is weak, and this is no accident - it was never designed for
UI or HCI purposes, is that it cannot communicate the User level of
understanding of a UI Design. It cannot communicate what Laura Arlov
calls the Navigation Model.
There is also a tendency to degenerate into trying to use UML for
analysis and design together rather than separately. With UI as with
Business Modeling, it is essential to analyse then design and to have a
notation that can cope with each phase independently.
Use Cases may be useful for Analysis but for code development and
communicating a rigourous design to coders, I believe that Class
Diagrams and Statecharts are probably sufficient.
Some work has been done to extend UML to cope with the Navigation
Model. For example, Dave Roberts et al, in the OVID work. However, I
believe that their notation needs to be openly discussed and improved
before it will be fit for the purpose.
The Statechart notation will also have to change. Anyone who has tried
to model a significant UI in a Statechart will know that it suffers
from the same problem as ERDs, inheritance is shown using containment
with the super state. This leads to unwiedly drawings. The UML Class
diagram technique of using arrows to show inheritance works better.
The areas that need specific work in UML are all related to, how do we
get from a paper prototype, mock-up etc. through to a code design, in a
rigourous and traceable fashion, whilst maintaining the ability to
communicate with Users.
UML needs extending to express the Navigation model. This will need to
include extensions for Transaction Scoping and Exception handling. We
will also need the ability to view the transactions on the Navigation
Model, the Class Diagram and the Statechart.
In the meantime, I address the shortcomings by printing out the
diagrams and adding the missing content by hand.