What is a great way to learn good UML design? How often do you draw diagrams (other than static diagram of classes)? What is the best source for learning it?
相关问题
- System sequence diagram - Can system request input
- Does Visual Studio 2010 Professional support UML m
- Can a [GoF]-ConcreteSubject override the notify me
- How to represent enumeration classes with methods
- How to specify “one at a time” in UML?
相关文章
- Code Iris plugin on Android Studio
- Designing a sequence diagram for an auction system
- Game engine design choice [closed]
- state transition with different guard condition
- Resources for learning how to better read code
- Relationships in a UML class diagram
- How do you convert a document in UML 1.3 - XMI 1.1
- UML help C# Design Principles
I think Martin Fowler's "UML Distilled" is the best book for learning UML syntax. It's succinct and dense with information.
Unfortunately, knowing UML syntax well is not the same thing as knowing how to design.
There was one project make I worked on where we used Enterprise Architect to make UML diagrams which we round-tripped (forward- and reverse-engineered) with the C# source code.
It (UML) wasn't good at defining the implementation of each method (using sequence diagrams), but it was OK defining the signatures of interfaces and of classes (i.e. the declarations, not definitions, of methods).
It was useful because you could have:
A diagram which shows how a group of classes interact (whereas with source code you see classes one at a time)
Different diagrams with different groups of classes; and sometimes the same class can appear on more than one diagram.
This was for a project where it was a requirement to create design documentation, with traceability from the use cases though design.
Practical UML
UML Overview
I dunno, it depends on how big team is. Class/Sequence/Use cases is what mostly used for me I think. The most important thing is not overuse diagraming, couse the main goal is to help comunicate among team, help understand things same way, not just to make some useless diagrams papers and not use them.
However very complex system developed by group of teams, obviously require more diagrams I think, just to make sure everyone knows what they are doing and how things relate in system. There's quite lot good tools these days that help in modeling.