文档库 最新最全的文档下载
当前位置:文档库 › UML 教程

UML 教程

UML 教程
UML 教程

UML 教程

统一建模语言(UML)已经迅速变成建立面向对象软件的事实标准。本教程提供了Enterprise Architect支持的13种UML图的技术概览。UML 2 详细的语义解释请看新的UML 2 教程。

首先... 什么是UML?

OMG组织规范声明:

"统一建模语言(UML)是一种图形化的语言,用于软件密集系统要素的可视化、制定规范、构建对象和编写文档。UML提供了一种标准的方式来描述系统的设计图,既包括概念方面,例如业务过程和系统功能,也包括具体事务,如编程语言语句,数据库图示和可重用的软件组件。

这里着重指出的是UML是一种说明性的“语言”,而不是一种方法或程序。UML通常用来定义软件系统与细化、编写、构造系统中的要素,是“写”设计图的语言。UML可以用不同的方式来支持软件开发方法(例如:统一软件开发过程)-但是它本身并不指定某种方法或过程。

UML 定义了下列领域的标注和语义:

- 用户交互或用例模型 -描述系统和用户之间的界定和交互。在某些方面对应于一个需求模型。

- 交互或通信模型-描述系统中的对象彼此之间如何进行交互以完成工作。

- 状态或动态模型 -状态图表描述随着时间变化,类所呈现的状态和条件。活动图则描述系统即将执行的工作流程。

- 逻辑或类模型 - 描述构成系统的类和对象。

- 物理组件模型 - 描述构成系统的软件(有时也包含硬件)。

- 物理部署模型 - 描述物理架构与物理架构中组件的部署。

UML 也定义了一些扩展机制,以扩展UML符合特别需要(例如:业务过程建模的扩展)。

第二部分教程展开论述如何使用UML定义和建立真实系统。

如果你有关于这些材料的任何建议和评语,请把你的想法发到sparks@https://www.wendangku.net/doc/d013706441.html,。

UML 教程- 第二部分

我们已经在第一部分建立了这样一种认识,即UML是一种用于制定软件系统构成要素和交互方式标准的语言。UML涉及6大主要方面- 从用例模型、动态和逻辑模型到最终的物理部署模型,以及允许给模型添加特别标注的扩展机制。

那么,如何使用UML呢?

一般地,UML作为软件开发过程的一部分,在具体的CASE工具支持下,用来定义所开发系统的需求,交互和元素。开发过程的确切性质则取决所采用的开发方法。一个典型的开发过程大致如下:

1. 建立一个业务过程模型。业务过程模型被用来定义发生在企业或组织内部的高级业务活动和业务过程,

并且是建立用例模型的基础。一般来说业务过程模型比一个软件系统所能实现的更多(比如:业务模型包括人力和其他过程)。

2. 映射用例模型到业务过程模型以精确定义你要提供的功能,并且是站在业务用户角度考虑的。每增加

一个用例时,将创建一个从适当的业务过程到该用例的可跟踪链接(如:一个实现链接)。这个映射清楚地表达新系统将提供什么样的功能来满足业务过程中所描述的业务需求。这种映射也确保系统中每个用例都是有用的。

3. 完善用例-包括需求,约束、复杂程度、注释及情形。这些信息清楚地描述用例做什么,如何做以及执

行时的相关约束。这个过程要保证用例始终满足业务过程的需求,包括每个用例的系统测试定义,该定义为该用例定义了接收标准。也包括了一些用户可接受的测试脚本:这些脚本定义了用户将如何进行测试和测试接收的标准。

4. 有了业务过程模型的输入与输出和用例的详细信息,就可以开始构建领域模型(高级业务对象)、顺

序图、协作图和用户接口模型。这些图描述新系统中的要素以及这些要素之间的相互作用和用户执行用例时所需各种情形的接口。

5. 在领域模型、用户接口模型和情形图的基础上,开始建立对象类模型。这是制定系统中对象的明确规

范:数据、属性、行为和操作。使用继承机制,可将领域对象抽象为类层次结构。处理各种情形的消息一般被映射到类的操作。如果使用一个现存的框架或设计模式,则可能导入现存模型的元素到新系统中。为每一个类定义单元测试、集成测试和系统测试。测试目的:1)类的功能是否如所定义的,2)类与其它类及组件的交互是否如期望的。

6. 当开发类模型时,可能需要将它分解成包和组件。一个组件代表一个可使用的软件块,它是一个类或

者多个类的数据和行为的结合,并严格定义一个对外提供服务的接口。所以,从类模型的角度看,构造组件模型就是定义类的逻辑包。对于每一个组件,需要定义集成测试,以证实组件的接口满足规范要求,即与其它软件元素的关系。

7. 在完成上述工作的同时,需要获取一些额外的需求并整理成文档。例如:非功能性需求,性能需求,

安全需求,义务需求,发布计划等。将这些需求在模型内部进行整合并随模型的进展而更新。

8. 部署模型定义系统的物理架构。这个工作可以提前开始以便于掌握系统的物理结构特性-使用什么样的

硬件、操作系统、网络规模、接口与支持软件,来构成新系统,和系统部署在那里,以及出现灾难性故障时的系统恢复,系统可靠性、系统备份与支持等方面所使用的参数。随着模型开发的不断进展,物理系统模型应该不断更新以反映所开发系统的实际情况。

9. 构造系统:将模型的分散模块分配给一个或多个开发者。如果采用用例驱动的方法构造系统,这将意

味分配一个用例给开发小组,让他们构造用户界面,业务对象,数据库表以及执行该用例所必须的相关组件。在构造每个用例时,应该同时完成单元测试、集成测试和系统测试。如果采用组件驱动的方法构造系统,则需将各个组件分配给开发小组。

10. 对照模型中的元素,跟踪查找出现在测试阶段的缺陷。如:查看针对用例的系统测试缺陷,查看针对

对象类的单元测试缺陷等等,跟踪相关模型元素的修改以防止范围漫延。

11. 随着工作进展不断更新和完善模型-每次修改模型或完善模型,都要评价所做的修改或改善对后续工作

的影响。在模块设计中使用反复式工作方法,评介当前构造的模块,新到达的需求,以及开发过程发现的任何问题。

12. 将完整的,并经过测试的软件发送到测试生产环节。如果采用分阶段发送,那么这种软件生产方式需

要从测试到生产的多次往复才能最终完成整个项目。

注意:上面描述的过程只是项目开发所必须经历的一个简要概述,还有很多没有提及。它不是告你应该如何工作,或者不遵循你已经采用的方法。它只给出如何用UML来支持软件开发项目的一个例子。

UML 2.4.1 教程

UML 2.4.1 发展了已经获得成功的UML 2.0规范,并迅速成为建立软件系统可视化、规范、文档的标准。统一建模语言(UML) 也被用于非软件系统的建模,并在很多领域,诸如金融,军事,工程方面应用广泛。

如果你是一个UML新手,我们的UML介绍将是一个很好的起点。

UML 2 定义了13种基本的图,它们被分成两大类:

1. 结构建模图

结构图定义了一个模型的静态架构。它们通常被用来对那些构成模型的‘要素'建模,诸如:类,对象,接口和物理组件。另外,它们也被用来对元素间关联和依赖关系进行建模。

- 包图用来将模型划分成不同的逻辑容器或“包”,并在更高层次上描述它们之间的交互关系。

- 类或结构图用来定义模型的基本建立模块: 类型、类和构成完整模型的一般素材。

- 对象图显示结构元素的实例间如何关联,以及在运行时如何使用。

- 复合结构图提供了一种对元素结构进行分层的方法,并着重体现了元素内部的细节,结构和关系。

- 组件图被用来构造更高层次或更复杂的结构,通常由一个或多个类构成,并提供一个定义明确的接口。- 部署图显示现实环境中重要物件的物理配置。

2. 行为建模图

行为图用来记录在一个模型内部,随时间的变化,模型执行的交互变化和瞬间的状态;并跟踪系统在真实环境下如何表现,以及观察系统对一个操作或事件的反应,以及它的结果。

- 用例图用来对用户/系统的交互关系建模。用脚本和情形的形式来定义行为,要求和约束。

- 活动图广泛使用于定义基本程序流程和在一般化过程中,记录判断点和动作。

- 状态机图对于了解模型执行时的瞬时状态,即模型的运行状态是重要的。

- 通信图显示协作实例中,对象间实时消息和通信的网络结构与顺序。

- 顺序图与通信图联系紧密,并在垂直时间线上显示对象间消息传递的顺序。

- 时间图融合顺序图和状态图,以提供观察对象随时间变化的状态和改变这个状态的消息。

- 交互概览图融合活动图和顺序图,使交互部分容易与判断点和流程结合。

UML 模型

下面链接为Enterprise Architect 的实例:

?业务过程模型

?用例模型

?动态模型

?逻辑模型

?组件模型

?物理模型

?自定义扩展

业务过程建模

介绍

比起业务分析与建模来,UML在过去与软件工程和系统设计的联系更加紧密。并且,UML2.X标准提供了丰富的行为模型,这对于过程、活动、及对每一个业务都重要的人与信息等的建模非常有用。

除标准的UML规范外,还有两个备受关注的UML扩展,它们进一步强化了对业务过程和相关结构的建模。

第一个是业务过程建模标注,它已经广受欢迎,并迅速成为业务过程建模与设计的新标准。第二个是Eriksson-Penker Profile,虽然不那么流行,但在可视化、业务过程间通信、以及企业(组织)内部的信息流方面,仍然是独一无二的。

本文将对这两种扩展提供深入介绍,阐述如何在Enterprise Architect 中使用它们以及他们所用的通用模型结构。

业务过程建模标注(BPMN)

BPMN 定义了一种业务过程图(BPD),该图是基于一种专门绘制流程图技术,用于业务过程的图形化建模。无论是创建业务过程草图的业务分析师,还是负责实现这个过程的技术开发人员,或者管理、监督业务过程的相关人员,所有的业务人员都容易理解这种标柱。

一个BPMN 模型是由一组简单图构成,每一个图又包含一组图形元素。

流程元素

1.活动(Activity):一个活动是业务过程中执行的一个作业,用圆角矩形表示。

2.事件(Event):一个事件是在业务过程的流程中发生的,并影响业务过程中活动的执行顺序与执

行时间的事情。事件用带有不同边界的小圆表示,以区别初始事件(细实线)、中间事件(双实线)和终止事件(粗实线)。在图形内部显示图标以便于区分触发器和事件结果。

3.关口(Gateway):关口用来控制顺序流如何在过程内进行合并和分岔。关口可用来表示判断点,

可以表示一个或多个路径在此处不能通过。关口也可以表示一条路径在此分岔。

1.顺序流:顺序流用来表示活动在业务过程中的执行顺序。顺序流用有实箭头的线表示。

2.消息流:一个消息流用来表示两个实体之间的消息流向。实体用池来表示,消息用虚线在源端连

接浅颜色的圆并在目标端连接箭头。

3.关联:关联是用流对象将信息与制品联系起来。关联采用虚线表示并在目标端有或者没有箭头,

根据需要而定。

泳道(分割)

1.泳池:表示一个业务过程中的参与者。一个参与者可能是业务实体或者角色。泳池表示了对业务

过程的一种划分。

2.泳道:是泳池的再划分,用于组织和分类泳池内的活动。

过程要素

1.数据对象:一个数据对象对一个业务过程没有直接的影响,但提供信息给相关的过程。数据对象

用一个上角折叠的矩形来表示。

2.组:组提供了对过程内的元素进行分组的非正式手段,用虚线的矩形表示。

3.注解:注解提供一种机制使得BPMN的模型建立者为BPMN模型的用户提供附加信息。它是用

一个开口的矩形表示,注解文字写入其中。

BPMN示例

例1:

上面的图展示了BPMN的几个主要功能。特别是将一任务过程进行层次分解成较小的任务。以及能表示循环结构和外部事件干扰正常过程流程。

"上行活动"和"下行活动"是连接触发的中间事件,换句话说,是页面间承上启下的连接器。

"对每个供应商重复执行" 是一循环活动,它对每一个供应商重复执行所包含的三个活动,或者直到时间限制已到。固定在活动下边沿的终止事件是一时间事件触发器。

例2:

上面的图表示一个业务过程由一个事件开启,在本例中,一个消息触发器产生一个事件,该事件通知业务过程活动组处于活动状态。该图也显示一个由时间事件控制的循环,并显示一个决策关口(在本例中是“异或”决策关口)控制什么时候循环该结束。

例3:

该图例示使用泳池来表达过程间的交互以及使用消息流连接器来表示消息在泳池间进行传递的方法Eriksson-Penker 业务建模Profile

本节介绍业务过程模型所使用的术语与图标。并简要介绍一些基本UML建模语言概念以及如何在EA的业务过程建模中如何使用它们。

一个业务过程:

1.有一个目标

2.有指定的输入

3.有指定的输出

4.使用资源

5.有按某种顺序进行的一组活动

6.可能影响多个组织单元,造成横向组织影响

7.为客户创造某种价值,客户可能是内部的,也可能是外部的。

过程模型

一个业务过程是一个活动的集合,用于为特定的客户或市场产生指定的输出。与产品所强调的“过程是什么”不同,业务过程强调作业在组织内部是如何进行的。指定在不同时间和地点的作业活动顺序,带有一个开始和一个结束,并清楚地定义输入和输出:一个动作结构。

始于对象信息供应链。供应链是指连接到过程的信息或对象在处理阶段没有被使用完。例如,订单模板可能重复使用,并提供特定样式的新订单。作为这个活动的一部分,这个模板不会更改和被消耗光。

?始于对象资源的供应链:一个输入供应链是指所连接的对象或资源将在处理过程中被消耗。例如,当消费者的订单在被处理后,它们将标记为完成并签字,并且每个资源仅使用一次。

?终于对象目标的目标链:一个目标链是指连接到业务过程的对象描述业务过程的目标。目标是执行活动的业务宗旨。

?对象流连接对象输出

?始于事件的对象流:一个对象流连接是指在一个业务过程一些对象被传递。它强调对在实体之间或过程之间所传递信息的控制。

目标

一个业务过程有一些定义完备的目标。这也是组织制定业务过程的原因所在。并且这些目标的制定代表组织的整体利益和满足组织的业务需要。

业务过程始于过程的目标链:一个目标链是指连接到业务过程的对象用于描述该过程的目标。目标是执行活动的宗旨。

信息

业务过程使用信息执行和完成它们的活动。信息不象资源,在过程中是不可消费的,它被用来做过程转换。

信息或许来自外部,或许来自客户,或来自内部组织,甚至是其它过程所产生。

连接到业务过程的信息项:一个供应链是指连接到过程的信息和对象在处理阶段不会被使用完。例如,订单模板可能一用再用,一提供某种特定类型的新订单。作为该活动的一部分,模板是不会改变或耗尽的。

输出

典型地,一个业务过程将产生一个或多个多业务有价值的输出,输出可能供内部使用,也可能是为了满足外部需求。输出可能是物理对象(如一份报告或者发票),可是一种从原始资源到安排的转换,也可能是一个全体的业务处理结果,如完成处理一份订单请求。

一个业务过程的输出可能是下一个业务过程的输入,或者作为请求项或触发项来触发新活动。

资源

资源是一个业务过程的输入,并且不像信息,在业务过程处理中要被消耗。例如:火车每天运行服务和实况记录,服务资源将随着处理记录火车运行时刻的不断进行而被用完。

连接到业务过程的资源:一个输入连接是指所连接的对象或资源在处理过程中被消耗。例如:当消费者的订单在被处理后,它们将标记为完成并签字,并且每个资源(订单)仅使用一次。

附加资源

Enterprise Architect 资源

Enterprise Architect评定指南:

https://www.wendangku.net/doc/d013706441.html,/downloads/whitepapers/enterprise_architect_reviewer_guide_cn.pd

f

Enterprise Architect 视频观看:

https://www.wendangku.net/doc/d013706441.html,/resources/demos/eaoverview/index.html

用例模型

用例模型描述的是新系统规划的功能。它表示用户(人或机器)和系统之间交互的离散单元。该交互是一个有意义的独立单元,如:创建账户,浏览帐户信息。

每一个用例描述建立在规划系统中的功能,它可以包含另一个用例功能或用自己的行为扩展另一个用例。

一个用例描述通常包括:

?描述用例的常规注释和说明

?需求- 用例必须提供给最终用户正式的需求。如:"能更新订单"。它们都对应构造方法中建立的功能规范,并建立用例执行动作和给系统提供值的约定。

?约束- 用例运行所遵循的正式规则和限制,它们定义了什么能做,什么不能做。包括:

o预置条件是用例运行以前就已经发生了。如:"创建订单" 必须发生在"

修改订单"之前。

o后置条件是用例完成后必须为真,如:"订单修改和一致性检查"。

o常量在用例的整个运行过程中始终为真,如:一个订单一直有客户号。

?情形–用例执行时各步骤正式有序的描述,或用例实例化过程中事件发生的流程。它包含多种情形来应付特殊环境和可选择的处理方式。它们通常由文本建立和对应于顺序图的文本表达。

?情形图- 描绘工作流的顺序图;类似于情形,但是图形化描述。

?附加属性,如实施阶段,版本号,复杂性程度,构造型和状态。

执行者

用例通常与执行者关联,执行者可以是人或机器实体,用于系统交互来执行有意义的工作从而帮助他们完成目标。执行者参与的用例定义了它们在系统中总体的作用和动作的范围。

包含和扩展用例间的关系

一个用例可以包含另一个用例功能做为它自身正常运行的一部分。通常假设在用例运行时被包括的用例每次都会被调用。例如:在修改选定订单前,列出一份客户订单表,每次"修改订单"用例执行时,"列出订单"用例被调用执行。

一个用例可以被一个或多个其它用例包含。通过将通用的行为提炼成可以多次重复使用的用例,有助于降低功能重复级别。

通常,在特别情况下,一个用例可以扩展另一个用例的行为。例如:如果一个用户在修改一个特别类型的客户订单之前,该用户必须得到某种更高级别的许可,然后“获得许可”用例将有选择地扩展常规的“修改订单”用例。

顺序图

顺序图提供随时间变化,对象交互的图形化描述。通常用来表现一个用户或执行者,对象和组件,以及它们在用例执行过程中之间的交互。一个顺序图典型地表示一个单独的用例情形或事件流。

顺序图可以出色的显示文档使用情形,既可以记录早期分析的所需对象,也可以在稍后的设计阶段验证对象。它显示一个对象到另一个对象的消息流,这些消息流对应着一个类和对象支持的方法和事件。

下面顺序图例示了左侧的用户或执行者初始化事件和消息流,它们对应于用例情形。在最终模型中,对象间传递的消息变成类的操作。

执行图

用例是对所构造系统将有功能的正式描述。与用例关联的执行图用来设计元素(如:组件和类)和实现用例在新系统中的功能。这为系统设计者,客户和团队,这些实际建立系统的人,提供了高级别可跟踪能力。组件和类连接的用例列表说明了必须被组件执行的最少功能。

上图说明用例"Login"实现需求"1.01 Log On to the website"。也显示组件"Business Logic"和"ASP

Pages"组件实现部分或全部"Login"功能。进一步细化可显示"Login"界面(一个网页)来实现"Login"用例。这些执行和实现连接定义了从正式需求,到用例,直至组件和界面的可跟踪能力

动态模型

动态模型用于对系统的行为随时间变化而进行的建模和描述。它支持活动图,状态图,顺序图,以及包含业务过程建模的扩展功能。

顺序图

顺序图用来显示用户,对象,界面和实体之间的交互。它提供了随时间变化,消息在对象间传递的时序图。这些图经常被放于模型用例内来图示用例情形:用户如何与系统交互,内部如何完成任务。通常这些对象用特殊构造型按钮表示,如下图的例子。对象"Login Screen"使用用户接口"User interface"图标.对象"SecurityManager"使用控制器"Controller"图标。" users"使用实体"Entity"图标。

活动图

活动图用来显示系统中不同的工作流是如何构造的,它们如何开始,以及它们从开始到结束所可能采用的判断方式。他们也图示某些活动执行中,并行处理可能发生在那里。

状态图(state charts)

状态图用来详细描述系统中,对象经历的状态转移和变化。它们显示一个对象如何从一个状态到另一个状态,以及控制这种变化的规则,通常有一个开始和结束状态。

过程模型

过程模型是UML活动图的扩展,用于业务过程建模- 该图显示这个过程的目标,过程的输入,输出,事件和所包含的信息。

逻辑模型

逻辑模型是组成设计和分析领域的对象和类的静态视图。通常一个域模型是业务对象和实体的松散、高层视图。而类模型则是更严格,注重设计的模型。这里主要讨论有关类模型的部分。

类模型

类是一个标准的UML构造,用来描述模式:该模型在运行时生成对象。一个类是一个规范,对象是类的实例。类可以从其他的类继承而来(他们可以继承它们父类所有的行为和说明,并加入它们自己的新功能) 可以有其他类作为属性,并授权给其他类和实现抽象接口。

类模型是面向对象开发与设计的核心- 它既表达系统的持久状态,也表达系统的行为。类可以封装状态(属性)和提供服务来控制这个状态(行为)。好的面向对象设计将限制直接访问类属性,并提供方法以访问的方式来控制属性。这数据隐藏和服务外露的方法确保了数据只能在一个空间内,按照指定规则更新。对于大型系统而言,直接访问多处数据元素所需的代码维护负担是极其巨大的。

类表示如下:

注意:类有三个不同的区域:

1. 类名(还可以包含构造型)

2. 类的属性区(内部数据元素)

3. 行为- 私有的和公共的

属性和方法可以标注如下:

- 私有的,说明对类外部的调用者是不可见的。

- 保护类型的,只对子类是可见的

- 公共的,对所有都是可见的

类的继承显示如下:该例中的抽象类,是一个有两个子类的父类,每个子类继承基类,并用自身的行为加以扩展。

类模型可以由相关行为和状态的包来集合,见下图例示。

组件模型

组件模型图示了建立系统的软件组件。它可以由类模型建立起来,既可从新系统的蓝图开始,也可从其他项目或第三方销售商引入。组件模型是较小软件块的高层级聚合,它提供了一个基于"黑匣子"的积木式来构造软件。

组件标注

一个组件有点类似于一个ActiveX控件。既可以是一个用户接口控件,也可以是一个业务规则服务器。组件表示见下图:

组件图

组件图显示软件组件之间的关系,如它们的依赖关系,通信,位置和其它条件。

接口

组件可以对外提供接口,接口是组件向其它组件和类提供服务的可见入口点,并使之可以适用于其它的组件和类。组件通常由很多内部的类和类的包组成。甚至也可以从一个更小组件的集合组装而成。

组件和节点

部署图图示了系统进入生产或测试环节的物理部署。它显示组件被放置何处,何种服务器,设备和硬件。也可以显示网络连接,局域网带宽等等。

需求

组件可能有附加的需求来说明合同义务。即在模型中他们提供什么服务。需求可以帮助说明软件元素的功能行为。

限制

组件可能有附加的约束来说明他们运行的环境。前置条件指明组件在执行功能前必须为真。后置条件说明组件完成某些工作后,什么将必须为真。不变量说明组件生命过程中什么必须保持一直为真。

情形

情形是一个对象动作随时间变化的文本/程序化的描述,它描述了一个组件的工作方式。可能创建多重情形来描述基本途径(一个完整的运行)以及异常情况,错误和其它条件。

跟踪能力

你可以利用实现连接显示可跟踪能力。一个组件可能实现其它的模型元素(如:用例)也可能被其它的元素实现(如:类的包)。通过建立来自和去往组件的实现连接,你可能得到模型元素间的依赖关系的映射,和从初始需求到最终实现的可跟踪能力。

示例

下例显示了组件如何被连接起来,并提供了一个系统建立的概念和逻辑视图。这个例子着重描述了一个在线书店的服务器和安全元素。它包括网络服务器,防火墙,动态网页等。

服务器组件

这个图例示了在线书店主服务器侧组件的布局,这些组件把建立客户和购买事项组织在一起以提供所需功能。

安全组件

安全组件图显示如何对软件采取保护措施,如授权许可,浏览器,网络服务器,和其它模型元素协同工作向在建系统提供安全防护。

物理模型

这个物理/部署模型提供了一个描述组件在系统基础设施中部署的详细模型,它提供了有关网络能力,服务器规范,硬件需求和其它系统部署相关的详细信息。

部署视图

PM01: 物理模型物理模型显示了系统组件"如何"与"在那里"被部署。它是一个明确的系统布局图。部署图显示进入生产或测试环节后,系统的物理部署。即显示组件安置在那里,何种服务器,机器和硬件。也显示网络连接,局域网带宽等等。

节点用来描绘任何服务器,工作站,或其它主机硬件,它们被用来在生产环境下部署组件。可以指明节点间的连接和指定节点的构造型(如TCP/IP)及需求。节点也可能有功能特性,最低硬件要求,操作系统级别,说明文件等等。下面对话框例示了节点设置的共同属性:

UML系统建模基础教程答案

第一章面向对象设计与UML 填空题 1 UML 2 类名 属性操作 3 封装继承多态 4 继承 5 对象模型动态模型功能模型 2.选择题 1 C 2 A B C D 3 A B C D 4 A B C 5 A 3.简答题 1.试述对象和类的关系。 类是具有相同或相似结构、操作和约束规则的对象组成的集合 而对象是某一类的具体化实例 每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系 类的实例化结果就是对象 而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。 2.请简要叙述面向对象的概念。 面向对象设计是以数据为中心,使用类作为表现数据的工具,类是划分程序的基本单位,而函数在面对对象中成了类的接口。 3.请简述面向对象设计的原则有哪些。 面向对象设计的准则包括模块化、抽象、信息隐藏、低耦合和高内聚等。 4.软件开发的模式有几种?它们的优缺点各是什么? 瀑布模型、喷泉模型、基于组件的开发模型、xp开发模型 (1)优点:有利于软件开发过程中人员的组织和管理。完成前一阶段后,再关注后一阶段,这样有利于开发大型的项目。 缺点:只有在项目生命周期的后期才能看到结果;通过过多的强制完成日期和里程碑来跟踪各个项目阶段;在软件需求分析阶段,要完全地明确系统用户的所有需求是一件比较困难的事情,甚至可以说完全确定是不太可能的。 (2)优点:可以提高软件项目的开发效率,节省开发时间,适用于面向对象的软件开发过程。 缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,不利于项目的管理。 第二章UML通用知识点综述

.填空题 1 依赖泛化关联实现 2 视图图模型元素 3 实现视图部署视图 4 构造型标记值约束 5 规格说明修饰通用划分 2.选择题 1 D 2 C 3 A 4 A B 5 D 3.简答题 1 在UML中面向对象的事物有哪几种 在UML中 定义了四种基本的面向对象的事物 分别是结构事物、行为事物、分组事物和注释事物等。 2 请说出构件的种类。 构件种类有 源代码构件、二进制构件和可执行构件。 3 请说出试图有哪些种类。 在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。 4 请说出视图和图的关系。 视图和图是包含和被包含的关系。在每一种视图中都包含一种或多种图。 5 请简述UML的通用机制。 UML提供了一些通用的公共机制 使用这些通用的公共机制 通用机制 能够使UML 在各种图中添加适当的描述信息 从而完善UML的语义表达。通常 使用模型元素的基本功能不能够完善的表达所要描述的实际信息 这些通用机制可以有效地帮助表达 帮助我们进行有效的UML建模。UML提供的这些通用机制 贯穿于整个建模过程的方方面面。前面我们提到 UML的通用机制包括规格说明、修饰和通用划分三个方面。 第三章Rational统一过程 1.填空题 1 角色活动产物工作流 2 逻辑视图过程视图物理视图开发视图用例视图 3 设计开发验证 4 二维 5 周期迭代过程里程碑 2.选择题 1 A B C D 2 A C D 3 A C D 4 A B C 5 A B C D 3.简答题 1 请描述迭代过程有几个阶段。初始阶段、细化阶段、构造阶段和移交阶段。 2 Rational统一过程以一种能够被大多数项目和开发组织都适用的形式建立起来 其所包含的六项最佳时间指的是什么 迭代式软件开发、需求管理、基于构件的架构应用、建立可视化的软件模型、软件质量验证和软件变更控制。 3 在Rational统一过程的开发流程中 分别使用哪几种最主要的建模元素来进行表达 在Rational统一过程的开发流程中 分别使用角色、活动、产物和工作流四种建模元素来进行表达。 4 对于一个以架构为中心的开发组织 需要对架构的那些方面进行关注 对于一个以架构

RationalRose【UML建模】教程+使用详解

Rational Rose 简介 Rose模型(包括所有框图、对象和其他模型元素)都保存在一个扩展名为.mdl的文件中。 1. 环境简介 1.1 Rational Rose可视化环境组成 Rose界面的五大部分是浏览器、文档工具、工具栏、框图窗口和日志。见图1-1。 图1-1:Rose界面 ●浏览器:用于在模型中迅速漫游。 ●文档工具:用于查看或更新模型元素的文档。 ●工具栏:用于迅速访问常用命令。 ●框图窗口:用于显示和编辑一个或几个UML框图。 ●日志:用于查看错误信息和报告各个命令的结果。

1.2浏览器和视图 浏览器是层次结构,用于在Rose模型中迅速漫游。在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等等。Rose浏览器见图1-2。 浏览器中包含四个视图:Use Case视图、Logical视图、Component视图和Deployment 视图。点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。 图1-2:Rose浏览器 1. 3框图窗口 在图1-3所示的框图窗口中,我们可以浏览模型中的一个或几个UML框图。改变框图中的元素时,Rose自动更新浏览器。同样用浏览器改变元素时,Rose自动更新相应框图。这样,Rose就可以保证模型的一致性。 图1-3:框图窗口

2.UML各类框图的建立 2. 1建立用例图use case diagram 从用例图中我们可以看到系统干什么,与谁交互。用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。一个系统可以创建一个或多个用例图。 ●创建用例图(图2-1-1) 在浏览器的Use Case视图中,双击Main,让新的用例图显示在框图窗口中。也可以新建一个包(右击Use Case视图,选择new→package,并命名),然后右击这个新建包的,选择new→use case diagram。 对系统总的用例一般画在Use Case视图中的Main里,如果一个系统可以创建多个用例图,则可以用包的形式来组织。 图2-1-1:创建用例图 ●创建参与者(图2-1-2) (1)在工具栏中选择“Actor”,光标的形状变成加号。 (2)在用例图中要放置参与者符号的地方单击鼠标左键,键入新参与者的名 称,如“客户”。 若要简要的说明参与者,可以执行以下步骤: (1)在用例图或浏览器中双击参与者符号,打开对话框,而且已将原型(stereotype)设置

UML基础与建模实用教程

UML概述 UML图包括: 用例图:帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系以及系统用例之间的关系 类图:显示了系统的静态结构,表示不同的实体(人、事物和数据)是如何彼此相关联的。可表示逻辑类(用户的业务所涉及的事物),实现类(程序员处理的实体) 序列图:显示了一个具体用例或者用例一部分的详细流程 状态图:表示某个类所处的不同状态以及该类在这些状态中的转换过程 活动图:表示两个或者更多的对象之间在处理某个活动时的过程控制流程构件图:提供系统的物理视图,它是根据系统的代码构件显示系统代码的整个物理结构 部署图:显示在系统中的不同的构件在何处物理运行以及如何进行彼此的通信。 类间关系 类之间的关系 1.种类: Generalization(泛化),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(合成关系)。 2.其中Aggregation(聚合关系)、Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系。 3.Generalization(泛化)表现为继承或实现关系(is a)。具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系。 4.Association关联关系表现为变量(has a )。类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量。关联关系有双向关联和单向关联。双向关联:两个类都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。

UML系统建模基础教程课后习题答案

UML系统建模基础教程课后答案 第一章面向对象设计与UML (1)UML (2)封装继承多态 (3)继承 (4)瀑布模型喷泉模型基于组件的开发模型XP开发模型 2.选择题 (1) C (2) A B C D (3) A B C D (4)ABC 3?简答题1?试述对象和类的关系。 (1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类?类描述了一组有相同特性和相同行为的对象。 第二章UML通用知识点综述

1?填空题 (1)依赖泛化关联实现 (2)视图图模型元素 (3)实现视图部署视图 (4)构造型标记值约束 (5)规格说明修饰通用划分 2.选择题 (1)D (2)C (3)A (4) A B (5)D 3?简答题 (1 )在UML中面向对象的事物有哪几种? 在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。 (2 )请说出构件的种类。 构件种类有:源代码构件、二进制构件和可执行构件。 (3)请说出试图有哪些种类。 在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。 (4 )请说出视图和图的关系。

视图和图是包含和被包含的关系。在每一种视图中都包含一种或多种图 (5)请简述UML的通用机制。 UML提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML在各种图中添加适当的描述信息,从而完善UML的语义表达。通常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML建模。UML提供的这些通用机制,贯穿于整个建模过程的方方面面。前面我们提到,UML的通用机制包括规格说明、修饰和通用划分三个方面。 第三章Rational统一过程 1?填空题 (1)角色活动产物工作流 (2)逻辑视图过程视图物理视图开发视图用例视图 (3)设计开发验证 (4)二维 (5)周期迭代过程里程碑 2?选择题 (1) A B C D (2) A C D (3) A C D (4)ABC (5) A B C D

StarUML使用说明-指导手册

StarUML使用说明-指导手册 原著:Stephen Wong 翻译:火猴 1.综述 StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具。这是一个用Java语言描述的创建类图的简明手册。 StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code”的工具。SU也可以做JAVA逆向工程,以产生相应的UML图表。 在本教程中,我们将使用SU设计一个pizza饼。执行下列步骤,可以创建如下面所示的UML图。SU可以生成反映类结构的代码,而不是任何对象的具体行动。因此,在使用SU创建图表后,你会为此stub code添加剩余的功能性代码,填写每种方法本来应该做的事。 2.安装 首先,我们必须先安装将要使用的软件。StarUML ,是一个开放源码软件,遵循GPL协议许可(GNU公共许可证),并免费提供下载。 3.启动 安装以后就可以启动该程序。 4.添加新工程 然后,一个名叫:New Project By Approach的对话框会弹出。选择“Empty Project”并且按下"确定"。这里建议你不要勾选"设置为默认的做法" 复选框。

5.选择模块 在右边的“Model Explorer”框中选定“Untitled”模块。 6.添加模块 通过“Model”主菜单,或右击选定的模型,可以" Add/Design Model "

7.添加类图 通过“Model”主菜单,或右击选定模型,可以“Add Diagram/Class Diagram”:

8.设置profile 通过“Model/Profile...”菜单去设置工程所需的profile。这决定了工程所使用的规则和约定。一定要包含"JAVA Porfile"这一项目。 9.保存工程 立即就保存工程,这样在出现问题的时候,您就不会丢失信息。 从“File ”菜单,选择“Save”,并选择一个地方以保存工程。你的StarUML 项目现在应该看起来的是这样的:

开源UML建模工具Bouml-入门教程

Bouml -教程 本教程主要为了帮助您第一次起用BOUML。在这里仅显露BOUML少数的特点,而BOUML完整描述参见其参考手册。 本教程必须按序阅读,因为我不会每次重复诸如调用菜单等一般性的命令。 启动 当您执行BOUML出现下面消息,按确定(OK)按钮。但你将不得不定义你自己的有效的BOUML标识:(1~127中的整数)。 在BOUML视窗显现(图样取决于使用的Qt版本,这里是在Linux下运行的2.4版本,与Windows版本兼容):

bouml窗口由三个部分组成: 左边的子窗口是一个展示您项目的浏览器,可由鼠标或上下左右键进行导航。 黑体的字体表示该项是可修改的,当您没有文件写权限时则一个项是只读。 右下角的子窗口是用来显示/修改与当前所选项相关联的注释。 右上方的部分是用来显示/修改图表,这些窗口可以的最大化或最小化。 显然地,个别子窗的大小会发生改变,当把鼠标放在它们之间的分拆处时,可以更改窗口大小。注意:如果你有双监视器配置,更好的办法是设置环境变量BOUML_LIMIT_DESKTOP,参见此地。 在此水平下你必须创建一个新的项目,或加载一个已经存在的项目。 创建一个新项目 这儿,我们创建一个新项目:在Project菜单中选择New菜单项,呈现一个文件对话框(它的外观取决于所用的系统和窗口管理器),请求输入项目名称,你必须选择一个目录用以存放项文件,并选择输入项目名字,我输入项目名为foo,放置在/ tmp目录之下: 在这种情况下BOUML 在/tmp下创建目录foo(即\tmp\foo),并将某些文件(包括foo.prj) 放置在/tmp/foo目录之下。当重新加载工程时(foo.prj),这些文件都会加载。 !注意:不要重命名或删除由BOUML产生的文件,以及目录本身!

UML基础与ROSE建模实用教程课后习题及答案

UML基础与Rose建模实用教程课后习题及答案 第1章面向对象概述 1.填空题 (1)软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。 (2)类是具有相同属性和操作的一组对象的组合,即抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。 (3)面向对象程序的基本特征是抽象、封装、继承和多态。 2.选择题 (1)可以认为对象是ABC。 (A)某种可被人感知的事物 (B)思维、感觉或动作所能作用的物质 (C)思维、感觉或动作所能作用的精神体 (D)不能被思维、感觉或动作作用的精神体 (2)类的定义要包含以下的要素ABD。 (A)类的属性(B)类所要执行的操作 (C)类的编号(D)属性的类型 (3)面向对象程序的基本特征不包括B。 (A)封装(B)多样性 (C)抽象(D)继承 (4)下列关于类与对象的关系的说法不正确的是A。 (A)有些对象是不能被抽象成类的 (B)类给出了属于该类的全部对象的抽象定义 (C)类是对象集合的再抽象 (D)类用来在内存中开辟一个数据区,并存储新对象的属性 3.简答题 (1)什么是对象?试着列举三个现实中的例子。 对象是某种可被人感知的事物,也可是思维、感觉或动作所能作用的物质或精神体,例如桌子.椅子.汽车等。 (2)什么是抽象? 抽象是对现实世界信息的简化。能够通过抽象将需要的事物进行简化、将事物特征进行概括、将抽象模型组织为层次结构、使软件重用得以保证。 (3)什么是封装?它有哪些好处? 封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。对象的私有属性只能够由对象的行为来修改和读取。二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:避免对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序内的影响。 (4)什么是继承?它有哪些好处? 继承是指特出类的对象拥有其一般类的属性和行为。继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中定义过的属性和行为进行定义,而是特殊类自动地、隐含地拥有其一般类的属性和行为。通过继承可使派生类能够比不使用继承直接进行描述的类更加简洁、能够重用和扩展现有类库资源、使软件易于维护和修改。 (5)面向对象分析的过程有哪些? 面向对象的分析的过程包括:获取需求内容陈述、建立系统的对象模型结构、建立对象的动态

Staruml使用指南

StarUML使用指南 第一章StarUML概述 本章包含StarUML?概述,StarUML? and UML 的简要介绍和StarUML?新特征及总体组织的纲要。 ?什么是StarUML ?主要特征 ?系统需求 StarUML?是支持UML (Unified Modeling Language(统一模型语言))的建模平台软件。基于UML1.4版本,提供11种不同类型的图,而且采纳了UML2.0的表示法(notation.)。它通过支持UML轮廓(profile)的概念积极地支持UMD(Model DrivenArchitecture(模型驱动结构))方法。StarUML?特点在于,用户环境可定制,功能上的高度可扩充。运用StarUML ?,顶级领先的软件模型工具之一,可以保证您的软件项目高质量、高效率。 StarUML是什么 适合用户的UML工具 StarUML?提供了对用户环境最大化可定制支持,通过定制所提供一些变量,可以适应用户开发方法、项目平台及各种编程语言。 真正的UMD支持 软件结构是可以延续10年甚至更长时间的重大过程。OMG(Object Management Group(对象管理组织))想用MDA技术创建平台独立的模型,允许平台独立的模型的需求自动获取,或者平台独立的模型生成的代码自动化。StarUML?真正实现了UML1.4标准,而且用2.0的表示法,提供UML轮廓的观念。允许创建平台独立的模型。通过简要的摸版文档,用户很容易得到他们的最终产品。 高可扩充及适应性 StarUML?有高度可扩充及适应能力。为扩充功能,该工具采用了插件(Add-In)框架。它提供访问全部的模型/原模型的功能,通过COM自动化,菜单和选项也都是可扩充的。而且用户还可以根据他们自己的方法论来创建自己的方法和框架。该工具还可以集成任何其他的外部工具。 主要特征 StarUML?具有以下新特征

UML系统建模基础教程习题答案(清华大学出版社)

第一章面向对象设计与UML 对象:是面向对象系统基本构造块,是一些相关变量和方法的软件集。 类:是具有相同属性和操作的一组对象的组合,也就是说,抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。 消息:是指描述事件发生的信息,是对象间相互联系和相互作用的方式。 事件:是指一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应的反应。 面对对象的三大要素: 封装:就是把对象的状态和行为绑到一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。 继承:是一种连接类与类之间的层次模型,是指特殊类的对象拥有其一般的属性和行为。多态:是指两个或多个属于不同类的对象中,同一个函数名对应多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数。 (1)试述对象和类的关系 答:类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。 (2)请简要叙述面向对象的概念 答:面向对象技术是一种以对象为基础,以事件或信息来驱动对象执行处理的程序设计技术。从程序设计方法上来讲,它是一种自下而上的程序设计方法,它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整个程序。 (3)软件开发的模式有几种?它们的优缺点各是什么? 答:瀑布模型、喷泉模型、基于组件的开发模型、XP开发模型 瀑布模型—优点:提供了软件开发的基本框架;有利于软件开发过程中人员的组织与管理; 缺点:1、只有在项目生命周期的后期才能看到结果;2、通过过多的强制完成日期和里程碑来跟踪各个项目阶段;3、在软件需求分析阶段,要完全地确定系统用户的所有需求是一件比较困难的事情,甚至可以说完全确定是不太可能的。 瀑布模型—优点:可以提高软件项目的发开效率,节省开发时间,适应于面向对象的软件开发过程。 缺点:在开发过程中需要大量的开发人员,不利于项目的管理;该模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入的各种信息、需求与资料的情况。基于组件的开发模型—优点:构件组装模型导致了软件的复用,提高了软件开发的效率。 缺点:由于采用自定义的组装结果标准,缺乏通用的组装结构标准,因而引入了较大的风险,可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。 XP开发模型—优点:1、采用简单计划策略,不需要长期计划和复杂模型,开发周期短;2、在全过程中采用迭代增量开发、反馈修正和反复测试的方法,软件质量有保证;3、能够适应用户经常变化的需求,提供用户满意的高质量软件。 第二章UML通用知识点综述 UML的元素:视图、图和模型元素

uml系统建模基础教程(清华大学出版社)课后题答案

UML习题答案 第一章面向对象设计与UML 1.填空题 (1)基本构造块UML规则公共机制 (2)名字属性操作 (3)封装继承多态 (4)继承 (5)瀑布模型喷泉模型基于组件的开发模型XP开发模型 2. 选择题 (1)C (2)A B C D (3)A B C D (4)A B C (5)A 3.简答题 (1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。 (2)1.UML是一种语言。 2. UML是用来建模的。 3.UML是统一的标准。(3)建模能够帮助我们按照实际情况或按我们需要的形式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化。 在建模时应遵循以下原则:选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型不充分;对每个重要的系统最好用一组几乎独立的模型去处理。 (4)UML和面向对象软件开发之间有紧密的关系,可以说是面向对象软件开发促使了UML的产生。但是由于在UML标准化的过程中,吸收了业务建模、工作流建模和数据库建模等领域的标准规范,形成了适应性很强的标准。 (5)在软件设计过程中,使用UML建模是为了能够更好地理解正在开发的系统。通过UML建模,可以达到以下目的:有助于按照实际情况或按照所需要的样式对系统进行可视化;能够规约系统的结构或行为;给出了指导构造系统的模板;对做出的决策进行文档化。 第二章UML通用知识点综述 1.填空题 (1)依赖泛化关联实现 (2)视图图模型元素 (3)实现视图部署视图 (4)构造型标记值约束 (5)规格说明修饰通用划分 2. 选择题

UML系统建模基础教程课后简答题答案

第一章面向对象设计与UML 简答题 (1)试述对象和类的关系 答:类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。 (2)请简要叙述面向对象的概念 答:面向对象技术是一种以对象为基础,以事件或信息来驱动对象执行处理的程序设计技术。从程序设计方法上来讲,它是一种自下而上的程序设计方法,它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整个程序。 (3)请简述面向对象设计的原则有哪些。 (4)软件开发的模式有几种?它们的优缺点各是什么? 答:瀑布模型、喷泉模型、基于组件的开发模型、XP开发模型 瀑布模型—优点:提供了软件开发的基本框架;有利于软件开发过程中人员的组织与管理; 缺点:1、只有在项目生命周期的后期才能看到结果;2、通过过多的强制完成日期和里程碑来跟踪各个项目阶段;3、在软件需求分析阶段,要完全地确定系统用户的所有需求是一件比较困难的事情,甚至可以说完全确定是不太可能的。 瀑布模型—优点:可以提高软件项目的发开效率,节省开发时间,适应于面向对象的软件开发过程。 缺点:在开发过程中需要大量的开发人员,不利于项目的管理;该模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入的各种信息、需求与资料的情况。基于组件的开发模型—优点:构件组装模型导致了软件的复用,提高了软件开发的效率。 缺点:由于采用自定义的组装结果标准,缺乏通用的组装结构标准,因而引入了较大的风险,可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。 XP开发模型—优点:1、采用简单计划策略,不需要长期计划和复杂模型,开发周期短;2、在全过程中采用迭代增量开发、反馈修正和反复测试的方法,软件质量有保证;3、能够适应用户经常变化的需求,提供用户满意的高质量软件。

UML系统建模基础教程 课后习题(1-6章)

习题一 1.填空题 (1)______ 是面向对象技术领域内占主导地位的标准建模语言,它统一了过去相互独立的数十种面向对象的建模语言共同存在的局面,形成了一个统一的,公共的,具有广泛适合性德建模语言。 (2)类的定义要包含_____、_____和_________要素。 (3)面向对象程序的三大要素是_____、________和__________。 (4)面向对象方法中的_____机制使子类可以自动地拥有(复制)父类全面属性和操作。(5)面向对象的系统分析要确定的三个系统模型是______、_________和_______。 2.选择题 (1)如果对一个类的意义进行描述,那么应该采用() A.标记值 B.规格描述 C.注释 D.构造型 (2)建立对象的动态模型的步骤有() A.准备脚本 B.确定事件 C.构造类型图 D.准备事件跟踪表 (3)软件的开发模式有() A.瀑布模型 B.xp开发模型 C.喷泉模型 D.构建开发模型 (4)下列关于类和对象的关系说法正确的是() A.有些对象是不能被抽象成类的 B.类给出了属于该类的全部对象的抽象定义 C.类是对象集合的再抽象 D.类是用来在内存中开辟一个数据区,存储新对象的属性 (5)()模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。 A.瀑布模型 B.增量模型 C.原型模型 D.螺旋模型 3.解答题 (1)试述对象和类的关系。 (2)请简要叙述面向对象的概念。 (3)请简述面向对象设计的原则有哪些。 (4)软件开发的模式有几种?它们的优缺点各是什么? 习题二 1.填空题 (1)UML中主要包括四种关系,分别是________、________、________和________。(2)从可视化的角度对UML的概念和模型进行划分,可将UML的概念和模型分为________、________和________。 (3)物理视图包含两种视图,分别是________和________。 (4)常用的UML扩展机制分别是________、________和________。 (5)UML的通用机制分别是________、________和________。 2.选择题 (1)UML中的事物包括结构事物,分组事物,注释事物和________。 A.实体事物 B.边界事物 C.控制事物 D.动作事物

UML教程

UML模型的基本概念 1 UML的建筑块 组成UML有三种基本的建筑块: 1、事物(Things) 2、关系(Relationships) 3、图(Diagrams) 事物是UML中重要的组成部分。关系把事物紧密联系在一起。图是很多有相互相关的事物的组。 1.1UML的事物 UML中有始终类型的事物: 1、结构事物(Structural things) 2、动作事物(Behavioral things) 3、分组事物(Grouping things) 4、注释事物(Annotational things) 这些事物是UML模型中最基本的面向对象的建筑块。它们在模型中属于最静态的部分,代表概念上等或物理上的元素。 1.1.1结构事物。 总共有七种结构化事物。首先是类(class),类是描述具有相同属性、方法、关系和语义的对象的集合。一个类实现一个或多个接口。在UML中类被画为一个矩型,通常包括它的名字、属性和方法。 第二种是接口(interface),接口是指类或组件提供特定服务的一组操作的集合。因此,一个接口描述了类或组件的对外的可见的动作。一个接口可以实现类或组件的全部动作,也可以只实现一部分。接口在UML中被画成一个圆和它的名字。

ISpelling 图1-2 接口 第三种是协作(collaboration ),协作定义了交互的操作,是一些角色和其它元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。因此,协作具有结构化、动作化、维的特性。一个给定的类可能是几个协作的组成部分。这些协作代表构成系统的模式的实现。协作在UML 中用一个虚线画的椭圆和它的名字来表示。 图1-3 协作 第四种是use case ,use case 是描述一系列的动作,这些动作是系统对一个特定角色执行,产生值得注意的结果的值。在模型中use case 通常用来组织动作事物。Use case 是通过协作来实现的。在UML 中,use case 画为一个实线椭圆,通常还有它的名字。 图 1-4 use case 第五种是活动类(active class ),活动类是这种类,它的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的。在UML 中活动类的画法和类相同,只是边框用粗线条。 EventManager Suspend() Flush() 图1-5活动类 第六种是组件(component ),组件是物理上或可替换的系统部分,它实现了一个接口集合。在一个系统中,你可能会遇到不同种类的组件,例如COM+或JA V A BEANS 。组件在UML 中用如下的图表示: 图1-6 组件 第七种是结点(node ),结点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。 一个组件集合一般来说位于一个结点,但有可能从一个结点转到另一个结点。结点通常用如下的图形表示:

相关文档