On 03/30/12 19:51, Mark Fortner wrote: > I've been working on a project with a client recently, and they wanted > to make some changes to a model that I'd been working on. I sent them > the model, and later watched them try to make some changes to the > model. Here are some of the observations I made: > > 1. Adding Attributes/Operations With the + icon is difficult. > Finding just the right position that will cause the + to appear > is difficult, and editing the attribute underneath the + is made > difficult when the + shows up on top of the attribute that you > want to edit. > > 2. Figuring out the associations/aggregations/compositions between > classes is not really intuitive. This is partly due to a certain > amount of naivete about UML, but partly due to the fact that we > have at least 6 different ways of associating classes, and > figuring out the right combination of settings that will result in > the code you want is a bit of a hit-or-miss proposition. Drawing > a "UniAssociation" between two classes and a "UniComposition" > between two classes results in the same code. > > 3. When you create associations between classes the variables they > create within the classes are public by default, and changing > their visibility doesn't change the resulting code (I've filed an > issue on this). > > 4. When you create attributes in a class, they are public by default, > even though most people want them private by default. You have to > explicitly type the - prior to entering the attribute name if you > want them private. > > 5. If you don't remove associations from the model (not just the > diagram), you end up with unusable code. Most people assume that > if you delete something from the diagram, it's removed from the > model. Yes, I know that there are separate "Delete From Model", > "Delete From Diagram" menu items, but by default, when you press > the delete key, you're really just deleting from the diagram. And > there's no dialog that tells you what's going to happen. Perhaps > having shortcut keys for these operations would help. > > 6. Creating packages and putting the classes in the packages is not > easy. I've filed a couple of issues about this already. > > After a few minutes of watching them struggle with the changes, they > printed out the diagram, scribbled the changes they wanted on it, and > gave it back to me. > > In general, the UML-ishness of the user interface becomes confusing > and daunting to people who don't use UML that often. People tend to > work within a language, and don't spend that much time learning all > the details behind UML. The results of the model will eventually > become code (either manually or through code generation). So closing > the gap between UML and the user's programming language is really > important. > > What's confusing is UML terms for things in your language of choice. > For example, you have an arrow that creates a Generalization between > two classes. If I'm working in Java, I want to know that > "Generalization" is UMLspeak for "extends". Similarly, knowing that > "Realization" results in an "implements" declaration would also be > useful. This might be accomplished by changing the stereotype on the > diagram from "realizes" to "implements" or whatever your language of > choice calls it. I realize these are really basic examples, but you > get the idea. > > Hope this helps, > > Mark > Hi! First of all:
-The ArgoUML team helped (really tnx to Linus and Bob again) me to develop some extensions (which never reach the release state, but this is another problem). -I'm a Software Engineer So I'd like to spend some words regarding your "usability observations". Reading from 1 to 6, I think that except the first and the third, you have a problem with UML in general and not with ArgoUML. You simply don't like UML, hence you should contact the Object Modeling Group and ask to rewrite the metamodel of UML... Pointing to the third, instead, it is a matter of every UML software, even big commercial ones; if they did this, there must exists a good reason. Cheers, M ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2942576 To unsubscribe from this discussion, e-mail: [[email protected]]. To be allowed to post to the list contact the mailing list moderator, email: [[email protected]]
