文档库 最新最全的文档下载
当前位置:文档库 › star uml使用教程1

star uml使用教程1

star uml使用教程1
star uml使用教程1

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项目现在应该看起来的是这样的:

10.创造图表

现在,开始真正创造图表,从默认就在屏幕的左边的“Toolbox”

选择“类”图标,然后左键单击diagram窗口的某处。这样就使用通

用名字创造了一个新的类。双击,将类改名为Circle。

11.添加属性

右击图中的目标,在弹出菜单中选择“Add”中的“Attribute”(被标示为绿色),为其添加一个属性(或者域),填入期望的名字“_radius”。

具体的数据类型,在属性面板(右下侧的窗口),由双打字,在"类型"时段。在窗体右下边的Properties面板中,找到“Type”

输入框,输入double作为_radius属性的类型。

●类的内部数据(域/属性)都是私有的,因为他们是严格由类

内部使用的。所以,在Properties面板中将_radius设置为“私有”。

12.继续进行设计

重复同样的过程,添加所谓的名字叫做Rectangle的类和double 型的私有成员_width和_height。(下面者段话是使用方面的主意事

项,总感觉翻译部太好,九原文搬上来了)You may notice using the

"Model Explorer" on the right is faster to add these, but do however

note that adding the classes and interfaces themselves in this toolbox

(instead of using the toolbox on the left and clicking on the palette to

create the object) will not create the objects in the diagram.

13.创造IShape interface

●从toolbox中,选择“Interface”,并点击图表的某处。将其改名

为IShape。创建以后,选中它。

●在顶部工具栏,选择“Stereotype Display” 下拉按钮,将值改

变为“None”。这将改变以往的圆形形状,使其变为成长方形。

还是在顶部工具栏,取消选中" Suppress Operations "。这将使我们能够看到接口所拥有的方法。

●向IShape 接口添加返回值为double的getArea方法。

?可以通过右击interface的图标,在弹出菜单中点击红色的

“Operation”按钮,然后输入getArea。

?设定返回值类型。在“Model Explorer”中展开IShape节点,

右击你刚刚创建的getArea方法,并选择“Add Parameter”。

在“Properties”框中,将参数的名子变为空,将

“DirectionKind”变为“RETURN”,将“Type”变为dboule。

●将IShape和getArea的IsAbstract属性框打上勾,他们在图标

上的名字将变为斜体。这是UML的标准,表示这是接口或者

其他纯虚实体。

14.添加类和接口的关系

●可以通过从toolbox中选择表示“Realization”的箭头,并从

Circle拖拽向IShape,使Circle实现接口IShape。重复同样的

过程,为Rectangle添加实现关系。这是添加了Circle 和

Rectangle对于IShape接口的实现关系。

?如果想使连接线表现为直角的方式,右击连接线,并选择"

Format/Line Style/Rectilinear"菜单。你通过这种方式,使箭

头重叠在一起,可以使你的图看起来更整洁。

15.添加类基于接口的行为

●由于Circle和Rectangle类都实现了IShape接口,就必须有同样的

行为(方法)。

?在“Model Explorer”面板中,复制getArea法(按Ctrl-C或者右键

点击并选择Copy菜单),并粘贴到Circle和Rectangle类。

?这些实现了的方法在Circle和Rectangle类中都不是抽象的,

而是具体的。这是因为他们实际上是执行一些特定行为(例如,

为一个圆形和长方形分别计算面积),所以不要勾选IsAbstract

框。

16.你的图现在应该是这样的:

17.添加Pizza类

●向Pizza添加double型的私有域_price。

●添加返回double类型的共有操作getPrice。

18.为Pizza类添加IShape 的引用

●从toolbox中选择" DirectedAssociation "箭头,点击Pizza类,

并向IShape拖拽。

?选中箭头,在右边的“Properties”框上,将name一栏改为

“has-a”,“End1.Aggregation” 一栏改为

“AGGREGATE”(这个图示说明Pizza和shape对象是“聚合

“的关系)。

?将“https://www.wendangku.net/doc/c51049489.html,”一栏改为_shape 。这样就自动为Pizza添加

一个名字为_shape,使用IShape接口的私有域,的所谓_shape

型ishape以pizza饼。

?将“End2.Visibility”改为私有。

●为_shape创建一个“获得者”方法,名字叫做getShape,返回

IShape 。这就是创建一个行为,名字是getShape,返回IShape 。

19.为pizza类添加构造函数

●为Pizza添加构造函数,右击,在弹出的“Add” 菜单中选择

“Operation”。从这里,增加一个普通的带有dboule型price参

数和IShape类型shape参数的操作

●增加一个输入参数,就像之前增加了一个返回型的输出参数一样,

你指定的参数的名称,如价格和形状等,以及适当的数据类型。

●为Circle增加一个带有double型的radius参数的构造函数。

●为Rectangle增加一个带有double型width和height参数的构造

函数。

20.你的图现在应该是这样的:

21.添加Test_Pizza类

为了说明UML类图更多的功能,又增加了一个叫做

“Test_Pizza”的类,它用作测试目的,并使用到Pizza和IShape类。

●两个类之间的关系有多种形式。举例来说,一个类可以实例化另一

个类,而不是将其作为一个成员。又或,一类的方法可能需要另一

个类作为输入参数,保留一个引用仅仅是为这个方法的执行。

●通过从toolbox中选择“Dependency”箭头,从一个类拖向他所以来

的类,来添加不通类之间的依赖关系。在这个例子中,Test_Pizza

依赖于Pizza,Circle和Rectangle类,因为它实例化了它们。

●从Properties box选择name属性,或者双击图表上的“依赖线”,可

以为依赖关系添加标签。特别的是,当一类实例化另一个类,我们

会把依赖线叫做“instantiates”。

●你可以选中并拖动依赖线的标签,以达到更美观的效果。

●依赖关系不会影响代码生成。

22.你的图现在应该像本文最开始所示。

23.对你的图随意做些修改。

你还可以拖动你的类图,并且使箭头以不通的方式展示(使箭头显示为直线,选择一个箭头,右击它,弹出菜单中选择“Line Style”,

并选择“Rectilinear” )。你一定要体验这个工具,并去了解它。

24.保存项目

在“File”菜单中,选择“Save”。SU的所有资料只有一个单一的项目文件,所以你目前应该只有一个文件生成。

25.导出

将图表导出为其他格式,例如图片等,是非常有用的。您可以通过选择“File”菜单的“Export Diagram” ,并且选择合适的文件类

型来执行改操作。

26.生成Java stub代码:

●点击主菜单的“Tools->Java”菜单,选择“Generate Code”。

●从对话框中选择你的模块(这里可能Model1),点击“Next”。

●为了使你的模块或者图标的所有类都生成stub code,选择“Select

All”然后按“Next”。

●选择一个有效的输出目录,“Next”。

●In the "Options Setup", be sure to check both "Generate the

Documentation by JavaDoc" and "Generate empty JavaDoc". All

other checkboxes should be unchecked. Then press "Next".在“Options

Setup” ,请务必选中“Generate the Documentation by JavaDoc”,

“Generate empty JavaDoc”,所有其他复选框不选中,“Next”。

●现在StarUML将从你的图产生代码,点击“Finish”退出对话框。

●现在,您可以编辑生成的代码,以增加应用。

27.添加实现代码

现在就开始定义程序实际做的事情,例如,为你图标中的类描述添加实现代码。

●使用DrJava添加代码,为相关的类,.Java文件添加代码。代码

会和你使用HW02是一样的。(注意:为Test_Pizza些代码,最好

由DrJava自动生成,而非手工在StarUML里面创建。我们这里只

是为了说明。)

●记得那IShape的getArea()方法是抽象的,因此没有代码。

●请您像代码范例一样添加注释。这种注释是“JavaDoc”风格的。关

于JavaDoc您将会在随后学到更多。

28.逆向工程

StarUML还可以从现有的Java代码创建一个类图,这被称为“reverse engineering”,当你想从现有的代码生成图表,或者你修改

了SU生成的代码,并且想在图表中反应出来的时候,逆向工程功

能就非常有用了。通过图表或者DrJava这样的文本编辑器去反复

工作的过程,称作“round-trip engineering”。这也是面向对象变成中

的一个基本过程。

●到主菜单栏中选择“Tools/Java/Reverse Engineer...”,可以将现有的

代码逆向工程。

●选择Java代码所在的目录,并点击“Add”或“Add All”按钮,将它们

包括在逆向工程过程中,然后单击“Next” 。

●选择你想将类加入的模块,这里可能是“Model1”,然后“Next”。

●在Option Setup里面:

?确认“public”,“package”,“protected”和“private”是选中的(这

是默认设置)。

?同样,在默认情况下,单选按钮“Create the field to the Attribute”

也是选中的。

?除非你想SU创建其他东西,例如布局很糟糕的包含所有类的

图表,不要选中“Create Overview Diagram”框。

?当你对选项做了检查后,点击“Run”。

?SU will now import the classes in the selected files into your

model. Click "Finish" to exit the dialog when it is complete.苏现

在进口班,在被选定的文件到你需要的产品型号,点击"完成"

退出对话框时,就完成了。

●SU会向你的模块添加导入的类,但不是你的图表。为了将它添加

到您的图,只需要简单地从Model Explorer拖动它们即可。

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 ),结点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。 一个组件集合一般来说位于一个结点,但有可能从一个结点转到另一个结点。结点通常用如下的图形表示:

相关文档