Why you should use Umbrello UML Modeller

本文介绍了 Umbrello UML 建模工具的特点及其在自由软件开发中的应用。UML(统一建模语言)是一种行业标准,用于绘制软件开发中的各种图表。Umbrello 支持多种 UML 图表类型,并能够导入 C++ 代码及导出到多种编程语言。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Why you should use Umbrello UML Modeller

jriddell's picture
Umbrello

I'm giving a talk next week at the Linux 2003 conference in Edinburgh about UML Modelling with Umbrello. Since I'm not too sure what to say I'm writing notes here in the hope that I'll be struck by inspiration and maybe some useful comments.

Free Software development has a reputation for being done without the software engineering process that I just spent four years studying at university and which is probably used by most software companies. [insert waterfall model or spiral model diagram here]. This of course is a good thing, projects usually start as a hack to serve a need. If the result is useful the project will continue to be developed by those who find it useful either the origional author or someone else. If it isn't useful it will dissappear or if it's useful but the implementation is flawed then it might be re-written from scratch. It has a Darwinian element to it. You can't do that in commercial software development where results are more urgent.

But taking on software modelling (a suit and academic-friendly work for drawing diagrams) doesn't mean taking on the whole commercial software development process.

Maybe here I should ask what process the people present do use for software development

UML is the Unified Modelling Language (not to be confused with User Mode Linux), an industry standard for drawing diagrams of software developed in the late 1990s from various competing standards. It gives you a level of abstraction away from the code that is very hard to get sitting at a text editor. It is programming language independant but is heavily object orientated and is probably best suited to Java and C++ due to some similarities of syntax.

The diagram types in UML are:
- at the highest level is use case diagrams which show how the program is used by people and other programs.
- most common are class diagrams which show classes, their attributes (variables) and operations (methods) and the relationships between the classes
- sequence diagrams show the flow of control for a given use case (i.e. the classes and the methods they call)
- state and activity diagrams for finite state machines
- component and deployment diagrams for high level view (i.e. above the class level view) of the system
[have images for each of these]

What are UML diagrams good for:
- planning your program requirements (use case diagrams)
- planning your program class structure
- shareing your plans with other developers, being a standard language everyone can understand your scribbles
- documenting your current program structure, very useful to refer to when programming, helps people new to the code base become familiar with it

Umbrello:
- UML diagramming tool
- Stable version 1.1.1 is available now from http://uml.sf.net, next version will be part of KDE 3.2
- Hopefully bringing UML modelling to Free software development
- Now implements all the diagrams of UML and most of the features of them
- Unlike general diagramming programmes such as Dia or Kivio it knows the rules for UML and only offers suitable widgets and association types
- Can import C++ and export to a growing range of languages
- File format (loosley) based on XMI, an XML language for UML
- Currently in use not only to document and develop Umbrello but also by Quanta developers, NASA and Nextphere AS
- Competition is ArgoUML (nasty Java swing interface), and proprietry programs such as Together (evil software patents) and Rational Rose (never used it)

Nice screenshots of Umbrello

Copyleft GNU FDL, Jonathan Riddell, July 2003

Umbrello UML Modeller Handbook(PDF手册,英文版),内容摘要:Umbrello UML Modeller helps the software development process by using the industry standard Unified Modelling Language (UML) to enable you to create diagrams for designing and documenting your systems. 目录:1 Introduction 7 2 UML Basics 8 2.1 About UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 UML Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1.1 Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1.2 Actor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.1.3 Use Case Description . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.2 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.2.1 Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2.1.1 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2.1.2 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2.1.3 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2.2 Class Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2.2.1 Generalization . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2.2.2 Associations . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2.2.3 Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2.2.4 Composition . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.2.3 Other Class Diagram Items . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.2.3.1 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.2.3.2 Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.2.3.3 Enums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.2.3.4 Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3 Sequence Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.4 Collaboration Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.5 State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.5.1 State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.6 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.6.1 Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.7 Helper Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.8 Component Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Umbrello UML Modeller Handbook 2.2.9 Deployment Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2.10 Entity Relationship Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2.10.1 Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.10.1.1 Entity Attributes . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.10.1.2 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.11 Extended Entity Relationship (EER) Diagram Concepts . . . . . . . . . . . . 19 2.2.11.1 Specialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.11.1.1 Disjoint Specialization . . . . . . . . . . . . . . . . . . . . 20 2.2.11.1.2 Overlapping Specialization . . . . . . . . . . . . . . . . . 20 2.2.11.1.3 Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3 Working with Umbrello UML Modeller 22 3.1 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1.1 Tree View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.2 Documentation and Command History Window . . . . . . . . . . . . . . . . 23 3.1.3 Work Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 Creating, Loading and Saving Models . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.1 New Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.2 Save Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.3 Load Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3 Editing Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4 Adding and Removing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.4.1 Creating Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.4.2 Removing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.4.3 Renaming Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.5 Editing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.5.1 Insert Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.5.2 Deleting Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.5.3 Editing Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.5.4 Editing Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.4.1 Class General Settings . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.4.2 Class Attribute Settings . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.4.3 Class Operations Settings . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.4.4 Class Template Settings . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.4.5 Class Associations Page . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.4.6 Class Display Page . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.4.7 Class Style Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5.5 Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5.5.1 Anchor Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5.6 Notes, Text and Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5.6.1 Anchors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4 Umbrello UML Modeller Handbook 4 Code Import and Code Generation 30 4.1 Code Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.1 Generating Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.1.1 Generation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.1.1.1.1 Comment Verbosity . . . . . . . . . . . . . . . . . . . . . . 31 4.1.1.1.2 Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.1.1.1.3 Overwrite Policy . . . . . . . . . . . . . . . . . . . . . . . 32 4.1.1.1.4 Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.1.1.2 Generation Wizard Generation . . . . . . . . . . . . . . . . . . . . . 32 4.2 Code Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5 Other Features 34 5.1 Other Umbrello UML Modeller Features . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.1.1 Copying objects as PNG images . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.1.2 Exporting to an Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.1.3 Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.1.4 Logical Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Reference: http://docsbay.net/handbook-umbrello-uml-modeller-handbook
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值