根据一些UML知识和项目经历,利用业余时间,我简单总结了一系列关于UML和Rational Rose的文章,包括一些易混淆的概念和UML Diagrams的基本使用规则。希望这些对你有帮助,如果发现有错误,请告诉我。谢谢!
------
For my knowledge and project experience, I write a series of postings about how to use UML and Rational Rose in my spare time, which contain some confused concepts and some basic rules to use UML diagrams. I hope it's helpful for you. However, if there is something wrong, please let me know. Thanks.
********************************
1. Why use UML?
A formal design notation is important in the following aspects.
- Establishing a blueprint from the application
- Establishing and planning the time and materials
- Communicating between teams, and within a team
- Documenting the project
2. UML Essential Notation and Core Concepts
- Use Case Diagram
- Sequence & Collaboration Diagram
- Class & Object Diagram
- Activity Diagram
- Statechart Diagram
- Component Diagram
- Deployment Diagram
The following image from Rational shows all UML diagrams.
3. Four Views in a Rational Rose
3.1 Use Case View
Use Case view includes all the actors, use cases and Use Case diagrams in the system. It might include some Sequence and Collaboration diagrams. The Use Case view is an implementation-independent look at the system. It focuses on a high-level picture of what the system will do, without worrying about the details of how will do it.
3.2 Logical View
Logical view focuses on how the system will implement the behavior in the use cases. It provides a detailed picture of the pieces of the system, and describes how the pieces interrelate. The Logical view includes among other things the specific classes that will be needed, the Class diagrams and the State transition diagrams. With these detailed elements, developers can construct a detailed design for the system.
3.3 Component view
Component view contains information about the code libraries, executable files, runtime libraries and other components in your model. A component is a physical module of code.
3.4 Deployment view
Deployment view is concerned with the physical deployment of the system, which may differ from the logical architecture of the system.