UML

r

UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。  目前,在多数大型企业的正规化开发流程中,开发人员普遍使用UML进行模型的建立。作为一名软件开发人员,我们必须学会UML。不理解UML,作为软件设计统一王国的国民,将是艰难而痛苦的。

UML基础

第一讲:基本概念

UML基本构造块

事物

r

实体抽象化的最终结果,模型中的基本成员

结构事物

r

模型中的静态部分,呈现实体和概念的表现元素。

接口

用例

行为事物

分组事物

注释事物

关系

第二讲:静态建模:用例

元素

执行者Actor

执行者的概念

r

用户在系统中扮演的角色。如图中的用户和管理员就是用例的执行者。

从业务中找出执行者

r

获取系统用例首先要找出系统的执行者。我们可以通过用户回答一些问题的答案来识别执行者。可以参考以下问题:谁使用系统的主要功能(主要使用者)?谁需要系统支持他们日常工作?谁来维护、管理系统使其正常工作(辅助使用者)?系统需要控制哪些硬件?系统需要其他哪些系统交互?这里包含其他计算机系统或者应用程序。对系统产生结果感兴趣的是哪些人和哪些事物?

执行者之间的关系

r

因为执行者是类,所以多个执行者之间可以具有与类相同的关系。在用例图中,使用了泛化关系来描述多个执行者之间的公共行为。如果系统中存在几个执行者,它们既扮演自身的角色,同时也扮演更具一般化的角色,那么就用泛化关系来描述它们。这种情况往往发生在一般角色的行为在执行者超类中描述的场合。特殊化的执行者继承了该超类的行为,然后在某些方面扩展了此行为。执行者之间的泛化关系用一个三角箭头来表示,指向扮演一般角色的超类。

用例Use Case

用户的概念

r

就是外部可见的系统功能,对系统提供的服务进行描述。

从业务中找出用例

r

找出系统的用例,我们从执行者入手,对每个执行者提出一些问题,然后从执行者对这些问题的答案中获取用例。可以参考以下问题:执行者要求系统提供哪些功能(执行者需要做什么)?执行者需要读、产生、修改、删除或者存储系统中的信息有哪些类型?执行者必须提醒系统事件有哪些?把这些事件表示成系统用例。

用例之间的关系

关联关系

r

连接执行者和用户,表示该执行者代表的外部实体与用例描述的系统需求有关。

包含关系

r

包含关系来自于用例的抽象,即由数个用例中,分离出公共部分,而成为可复用的用例。

扩展关系

r

扩展关系表示在一个用例对话过程中,有可能根据条件临时插入另一用例,前者为基础用例后者为扩展用例。

泛化关系

r

一个用例可能被特别列举为一个或多个用例,称为泛化用例,如果系统中一个或多个用例是某个用例的特殊化时,就需要使用用例的泛化关系。

关联关系Association

包含关系Include

扩展关系Extend

泛化关系Generalization

第三讲:静态建模:类和对象

第四讲:动态

第五讲:综合实例

UML实践

用C#+XML技术进行UML模型捕获

Web应用的UML建模与.Net框架开发

基于UML的系统分析方法研究

系统约定:用UML描述工作流管理

基于UML的短信计费系统的分析与设计

为什么要用UML

建模的重要性

建模的原理

面向对象建模

UML建模工具介绍

EA与Rose UML建模工具比较

Rational Rose和UML可视化建模基础

用Rational Rose给XML DTD造型