——uml学习体会
养成良好的绘制uml序列图的习惯
在学习uml的过程中,你可能会遇到绘制uml序列图的问题,这里就讨论一下怎样才能养成良好的绘制uml序列图的习惯。
有一些方法可以帮助您提高uml序列图的质量和效力。它们包括:和主题问题专家一起验证决策;使解决方案尽量简单;为绘制消息和返回值选择一种一
致且有效的风格;将序列图分层;遵循一致的逻辑风格;牢记序列图是动态的。
一:验证决策
绘制UML序列图时,我做了一些对其它模型可能有潜在影响的决策。例如,在对第10步建模时,假设(大致上是个设计决策)费用显示屏幕同时也处理学生对费用是否可接受所进行的验证。该决策应该由用户界面原型反映出来,并由主题问题专家(SME)进行验证。您应该和SME(特别是那些对于如何开发类似模型有着深刻见解的富有经验的人)一起执行序列图的绘制工作。
二:保持简单
在对第2和第3步建模时,我忽然意识到学生可能应该使用口令进入系统。在向SME提出了这个概念后发觉我错了:姓名和学号组合对于我们的目的来说已经足够唯一,并且学校也不希望增加复杂的口令管理。这是个很有意思的决策,因为这是学校的一个运作策略,所以可以作为一条商业规则记载到增补规范中。通过与SME一起检验这个想法,而不是假定我比他们知道得更多,我避免了“镀金”的机会,因而减少了我们小组开发这一系统所需的工作。
三:绘制消息和返回值
绘制UML序列图时我更喜欢从左至右地绘制消息,从右至左地绘制返回值,尽管这样对于复杂的对象/类来说不总是非常合适。我将消息上的标签和返回值对齐到离箭头最近的位置。我不喜欢在序列图上标出返回值,为的是使图尽可能地简化。不过,始终标出返回值也同样有效,特别是在序列图用于设计而不是分析目的时。(我希望我的分析图尽量简单,而设计图尽量全面。)在分析期间,我的目标是理解逻辑和确保逻辑的正确性。而在设计期间,则要赋予消息精确的细节。
四:将序列图分层
绘制UML序列图时我喜欢将序列图从左至右地分层。先标出参与者,然后是控制器类,然后是用户界面类,最后是商业类。在设计期间,可能需要添加系统类和持久类,我通常将它们放在序列图的最右侧。以这种方式将序列图分层往往使它们更易于阅读,并且更容易找出分层逻辑问题,例如用户界面类直接访问持久类。
五:遵循一致的逻辑风格
请注意,在图1序列图所示的过程中,逻辑风格做了部分更改。一开始,特别是在登录时,用户界面处理一些基本逻辑--而在选择研习班,以及稍后的验证时,则是控制器类进行处理。这实际上是个设计问题。我不会在这个问题上纠缠太久,但和往常一样,我建议选择一种适合于您的建模风格,然后始终如一地贯彻在所有序列图中。
六:牢记序列图是动态的
绘制UML序列图时您可能听说过诸如动态建模和静态建模这样的术语,其他一些熟悉面向对象建模技术的开发人员常常会提到它们。您甚至可能听到过有关每种风格的优点的争论。
动态建模技术主要集中在标识系统中的行为,包括序列图的绘制和活动图的绘制(请参阅“如何绘制UML活动图”)以及UML协作图的绘制。而静态建模则集中在系统的静态方面,包括类、它们的属性,以及类之间的关联。类模型和持久/数据模型一样,都是静态建模的主要产物。
因此实际上没有什么好争论的--要想恰如其分地说明面向对象系统,同时需要动态和静态建模技术。
第二篇:uml试题
1.什么是用例图?用例图有什么作用?
定义:
由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的图成为用例图。(2分)
作用:
用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通(1分)。用例图可视化的表达了系统的需求,具有直观、规范等优点,克服了纯文字性说明的不足(1分)。用例方法是完全从外部来定义系统的,它把需求和设计完全分离开来(1分),使用户不用关心系统内部是如何完成各种功能的。
2. 简述面向对象分析方法(OOA)的5个基本步骤
1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步(1分)
2)、识别对象的属性(1分)3)、识别对象的行为(1分)4)、识别对象所属的类(1分)5)、定义主题词(1分)4. RUP统一过程中的四个阶段?
1) 初始阶段 (1分)2)细化阶段 (1分)3)构造阶段 (1分)4)提交阶段 (1分)
1. 网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。(16)
“远程网络教学系统”的功能需求如下:
? 学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。 ?
? 教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。 系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用
户注册。
1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。
6个用例每2个1分(3分),5关系每个1分(5分)
2
)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用
2. 图书管理系统功能性需求说明如下:(24分)
? 图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识
其存在的编号。图书馆向每一个借阅者发放图书证,其中包含每一个借阅者的编号和个人信息。提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服务等。
? 当借阅者需要借阅图书、归还书籍时需要通过图书管理员进行,即借阅者不直接
与系统交互,而是通过图书管理员充当借阅者的代理和系统交互。
? 系统管理员主要负责系统的管理维护工作,包括对图书、数目、借阅者的添加、
删除和修改。并且能够查询借阅者、图书和图书管理员的信息。
? 可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。
回答下面问题:
1) 该系统中有哪些参与者?(3分)
借阅者 图书管理员 系统管理员
2) 确定该系统中的类,找出类之间的关系并画出类图
用户类、用户角色类、图书类、预定类、借阅类、书目类(6分)
类图(5分)
画出语境“借
阅
(者预定图书”的时序图
1.简述统一建模语言(UML)
统一建模语言(UML)是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的
制品进行可视化详述和文档化。UML是一种定义良好、易于表达、功能强大且普遍适用
的可视化建模语言(1分)。它融入了软件工程领域的新思想、新方法和新技术。它的
作用域不限于支持面向对象的分析与设计(1分),还支持从需求分析开始的软件开发
的全过程(1分)。UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发
的系统(2分)。
3. 简述用例模型的组成元素以及建模步骤
组成元素有:参与者,用例,通信关联,用例规约 (每个0.5)
建立用例模型步骤:
1) 根据系统边界确定参与者(1分)
2) 根据每个参与者确定与之相关联的用例(1分)
3) 对每个用例写出用例规约文档,调整用例模型(优化参与者与参与者之间的关
系,用例与用例之间的关系)(1分)
1. UML中有多种关系,请标出图示是哪种关系:
0..1 0..* (1)
(2)employer employee
(3)(4)
(5) (6)
2. UML提供了一系列的图支持面向对象的分析与设计,其中____(1)___给出系统的静态设
计视图;___(2)____对系统的行为进行组织和建模是非常重要的;____(3)___和____(4)___
都是描述系统动态视图的交互图,其中___(5)___描述了以时间顺序组织的对象之间的交互
活动,___(6)____强调收发消息的对象的组织结构。
A、状态图 B、用例图 C、序列图 D、部署图 E、协作图
F、类图
3. UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。其中
___(1)___是面向对象系统规模中最常用的图,用于说明系统的静态设计视图;当需要说明
系统的静态实现视图时,应该选择___(2)___;当需要说明体系结构的静态实施视图时,应
该选择___(3)___。
A.组件图 B.类 图 C.对象图 D.部署图
1. 答案:依赖 关联 聚合 组合 泛化 实现
2.答案:(1)F (2)B (3)C (4)E (5)C (6)E
3. 答案:(1)B (2)A (3)D
四、简答题(每小题10分,共30分)
1. 已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类构成.
请画出能够正确表示类A,B和C之间关系的UML类图。
2、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。掌握利用两种图进行的设计的方法。
2、答:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。
顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。 协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。
3、教师在线答疑系统有4个组件:教师客户端程序、学生客户端程序、白板程序、通信协议。其中,教师客户端、学生客户端都要依赖于白板程序以及通信协议。 画出该系统部署图。
1.写出软件生成周期三个过程共9个阶段
3个过程是:软件定义的过程、软件开发的过程、软件使用与维护的过程 (2分) 9个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役 (3分)
3. 简述用例模型的组成元素以及建模步骤
组成元素有:参与者,用例,通信关联,用例规约 (每个0.5)
建立用例模型步骤:
1) 根据系统边界确定参与者(1分)
2) 根据每个参与者确定与之相关联的用例(1分)
3) 对每个用例写出用例规约文档,调整用例模型(优化参与者与参与者之间的关
系,用例与用例之间的关系)(1分)
4. RUP统一过程中的核心工作流?
1) 需求捕获工作流(1分)
2) 分析工作流(1分)
3) 设计工作流(1分)
4) 实现工作流(1分)
5) 测试工作流(1分)
2什么是高内聚度
高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。
包括两个意思:
不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。
不相关的职责不要分派给同一个类。
3 UML提供一系列的图支持面向对象的分析与设计,其中_G__给出系统的静态设计视图; _B_对系统的行为进行组织和建模是非常重要的;_D__和_F_都是描述系统动态视图的交互图,其中_D__描述了以时间顺序组织的对象之间的交互活动,_F__强调收发消息的对象的组织结构.
A状态图B用例图C状态图D顺序图E部署图F协作图G类图
4什么是对象间的可见性?
答:可见性(Visibility)指的是一个对象能够“看到” 或者引用另一个对象的能力 5领域模型是一组表示__A__,在设计工作中广泛用来启发设计软件对象.
A.真实世界的概念类
B.虚拟世界的概念类
C.软件部件的模型
D.硬件部件的模型
统一过程中的核心工作流有哪些?
答:业务建模、 需求分析、 设计、 实现、 测试。
8定义大多数的需求和范围的工作是在UP中的
(11)A初始阶段 B细化阶段 C构造阶段 D提交阶段
答案:(11)B