当前位置:首页 >> 计算机软件及应用 >>

UML面向对象设计与分析复习资料


第 1 章 UML 概述
1. 请指出 UML 的三个主要的特性。 1)UML 是一种语言 2)UML 是用来建模的 3)UML 是统一的标准 2. 请指出三种以上现实生活中的常用模型,并说明它们分别在各自的领域中发挥了什么样的作用。 1)电路图:电子产品设计、生产、维修 2)园区沙盘:直观、立体化地展示园区的景观、布局 3)地图:导航、指路等 3. 请简要说明建模的意义和建模的原则。 建模能够帮助我们按照实际情况或按我们需要的样式对系统进行可视化; 提供一种详细说明系 统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化 在建模时应遵循以下原则: 选择要创建什么模型对如何动手解决问题和如何形成解决方案有着 意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个 模型是不充分的。对每个重要的系统最好用一组几乎独立的模型去处理 4. 说明 UML 适用的建模领域,以及其作用和主要的参与人员。 ? 业务建模,用来加强对业务领域的了解,以领域专家为主,需求分析人员是主力,系统分 析员、架构师可参与。 ? 需求模型, 用来加强需求了解, 便于技术决策, 以需求分析人员为主, 系统分析员是主力, 领域专家提供指导,架构师和资深开发人员参与。 ? 设计模型:包括高层设计模型和详细设计模型。高层设计模型以架构师为主,系统分析员 从需求方面提供支持,资深开发人员从技术实现方面提供支持。详细设计模型则以资深开 发人员为主,架构师提供指导。 ? 实现模型:架构师、资深开发人员(设计人员);以资深开发人员(设计人员)为主,架 构师提供总体指导。 ? 数据库模型:架构师、数据库开发人员、资深开发人员(设计人员);以数据库开发人员 为主,架构师提供指导,资深开发人员(设计人员)予以配合。 5. UML 是一种方法论吗?并简要说明理由。 UML 不是方法论。它仅仅是一种描述模型的标准语言,虽然渗透了许多方法论的基础概 念,但是却没有在标准中给出完整的方法指南。 6. 请简要说明 UML 和面向软件开发之间的关系。 UML 和面向对象软件开发之间有很强的关联关系,甚至可以说是面向对象软件开发催生了 UML。但是由于在 UML 的标准化和发展过程,有机地吸纳了业务建模、工作流建模、数据库建模 等领域的标准规范,形成了一个适用性很强的标准。 7. 请简要阐述在软件开发过程中使用 UML 的必要性以及好处。

软件开发是一个很复杂的工程,而采用统一的建模语言来对软件进行描述能够使客 户、涉众、开发人员对软件能够有更好的共识,也能够有效地降低复杂性。

8. UML 的体系包括那三个部分 UML 基本构造块,UML 的规则和 UML 公共机制 9. 在 UML 中,有 3 种基本构造块,分别是什么? 事物、关系和图

10 状态图的基本概念 11 协作图的基本概念 12 顺序图的基本概念 13 泳道的基本概念 14 对象图类图的基本概念 15 组件、规范、接口、接点的概念

第 2 章 用例图
1. 在用例图中参与者是什么,它属于系统范围之内吗? 参与者是为了完成一个事件而与系统交互的实体,它不属于系统范围之内。 2. 用例和使用场景之间是什么关系?与协作又是什么关系? 用例是由一组用例实例组成的,用例实例也就是常说的“使用场景”,而协作是用例的实现。 3. 用例之间的扩展、泛化、包含三种关系有什么异同,请分别举例说明。 ? 扩展关系:基用例是可以独立于扩展用例存在的,只是在特定的条件下,它的行为可以被 另一个用例的行为所扩展 ? 包含关系:被包含的用例(此例中的检查座位详情)不是孤立存在的,它仅作为某些包含 它的更大的基用例(此例中的预订座位、安排座位)的一部分出现 ? 泛化关系:用来表示参与者与参与者之间,用例与用例之间的特殊/一般化关系

4. 一个用例的描述,最基本的部分有哪些。 用户描述、用例名称、用例概述、主参与者、基本事件流 5. 对于一个电子商务网站而言,以下哪些不是合适的用例,指出并说明理由。 输入支付信息 用户登录 将商品放入购物车 邮寄商品 结账 查看商品详情 预订商品

输入支付信息:太小 邮件商品:系统功能之外 查看商品详情:太小 6. 用例分析技术和结构化分析相比,最大的区别是什么?请简要地说明它们之间的关系。 用例分析技术最大的特点是从用户的角度来分析、组织需求。而结构化分析更多是从系统的 结构上进行分析。

7. 为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市 场需要的、实用的信息管理系统。主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购 买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询 等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,图 2-1 是一个用例模型的局部:

打开房源信息页面

<<include>>

登录信息 房产经纪人

录入房源信息

确认提交信息 修改房源信息

图 6-14

物业管理系统用例模型局部

(1)但小李认为该模型不符合“用例建模”的思想,存在明显的错误。请用 200 字以内 说明错误所在,并说明应该如何修改。 1)主要错误:用例的分解太细,并没有遵从每个用例为用户传递一个有价值的结果的原 则。在原设计中“打开房源信息页面”、“录入房源信息”、“确认提交信息”都只是一个操 作步骤,因此不适合作为用例。 2)修改方法:将“打开房源信息页面”、“录入房源信息”、“确认提交信息”合并为 “新增房源信息”。 (2)在上图中构造型“《include》”表示的是什么意思,它与“《extent》”之间的区别 是什么? 在用例模型中,构造型“《include》”是用来表示包含关系。它通常用来表示被包含用 例是被多包含用例使用的一个可复用模块,而《extent》且通常用来表示对用例的扩展。

8.一台自动售货机能提供 6 种不同的饮料,售货机上有 6 个不同的按钮,分别对应这 6 种 不同的饮料,顾客通过这些按钮选择不同的饮料。售货机有一个硬币槽和找零槽,分别 用来收钱和找钱。现在为这个系统设计一个用例图?
选择饮料

投币

顾客

找零

9.现有一个产品销售系统,其总体需求如下: 系统允许管理员生成存货清单报告。 管理员可以更新存货清单。 销售员记录正常的销售情况。 交易可以使用信用卡或支标,系统需要对其进行验证。 每次交易后都需要更新存货清单。 分析其总体需求,并绘制出其用例图?
生成存货清单报告 记录销售情况

更新存货清单

交易

管理员 验证账号

销售员

10.绘制用例图,为如下的每个事件显示酒店管理系统中的用例,并描述各用例的基本操作 流程。 客人预订房间。 客人登记。 客人的承担服务费用。 生成最终账单 客人结账 客人支付账单

预订房间

登记 计算费用 结账 服务员

打印账单

第 3 章 对象图
1. 对象特性的三要素是什么,请通过一个实际的例子来说明三要素的内容。 对象特性的三要素是状态、行为和标识。 2. “书”、“购物车”、“我的 UML 参考手册(第二版)”、“银行卡”、“号码为 13600000000 的手机卡”中,哪些是对象,哪些是类。光从这些名字是否一定可以确定为是对象? “我的 UML 参考手册(第二版)”、“号码为 13600000000 的手机卡”应该是对象。

3. 在图 3-1 中最上面的对象的名称是什么?该图表示的意思是什么?请绘制出与其相应的类图。
China:Country

fuJian:Province

siChuan:Province

图 3-1

对象图实例

China。该图的意思是福建、四川等省份组成中国。
Country

Province

4. 请说明对象图的适用场景以及它的优缺点。 对象图适用于论证类模型的设计以及对源代码进行分析和说明。 其优点是能够直观理解出系统运 行时的实时状态,缺点是比较复杂,工作量大。

第 4 章 类图
1.创建一个类图。下面给出创建类图所需的信息。 ? 学生(student)可以是在校生(undergraduate)或者毕业生(graduate) 。 ? 在校生可以是助教(tutor) 。 ? 一名助教指导一名学生。 ? 教师和教授属于不同级别的教员。 ? 一名教师助理可以协助一名教师和一名教授, 一名教师只能有一名教师助理, 一名 教授可以有 5 名教师助理。 ? 教师助理是毕业生。 创建类图的步骤如下: (1) 将学生可以是在校生或者毕业生建模为 3 个类: Student、 UnderGraduate 和 Graduate, 其中,后两个类是 Student 类的子类。 (2)为“在校生可以是助教的一种”建立模型,即建立 UnderGraduate 类的另一个超 类 Tutor。 (3)通过创建从 Tutor 到 Student 的关联(名为 tutors) ,建立一名助教指导一名学生的 模型。 (4)“教师和教授属于不同级别的教员” 将 建模为 3 个类: Instructor、 Teacher 和 Professor, 其中,后两个类是 Instructor 类的子类。 (5)建立“一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助 理,一名教授可以有 5 名教师助理”的模型。创建 TeacherAssistant 类,并使其与 Teacher 类和 Professor 类都建立关联。 (6)将 TeacherAssistant 类建模为 Graduate 类的派生类。

Instructor

Tutor 1 1

Student

Teacher

Professor

1 1 UnderGraduate Graduate TeacherAssistant n

1

2.根据用例图和系统需求描述创建类图。本练习将根据如下所示的系统需求和如图 4-1 所 示的用例图建模一个类图。 系统需求描述: (1)系统允许管理员通过从磁盘加载存货数据来运行存货清单报告。 (2)管理员通过从磁盘加载存货数据、向磁盘保存存货数据来更新存货清单。 (3)售货员做销售记录。 (4)电话操作员是处理电话订单的特殊售货员。 (5)任何类型的销售都需要更新存货清单。 (6)如果交易使用了信用卡,那么售货员需要核实信用卡。 (7)如果交易使用了支票,那么售货员需要核实支票。

<<include>> run inventory reports load inventory data

<<include>> Administrator

update inventory

save inventory data <<include>>

<<include>> <<extend>> sale <<extend>> verify check verify credit card

phone order

walk-in sale

telephone operator

sales clerk

图 4-1

用例图示例

创建类图的步骤如下所示: (1)确定可以在用例图中找到的类。 (2)建模类与类之间的关系。 (3)为类图中的关联关系添加合适的角色名。 (4)为已被封装到类中的独立功能建模类。 (5)为类图中的类添加必要的特性和操作。
credit card +Verify()

0..* n sale +Update() 1 n

inventory +Load() +Save() +Update()

check +verify() 0..*

n

第5章

活动图

2.运用本书前面介绍有关活动图的相关知识,根据图 5-1 的图书馆管理系统还书用例建模 该用例的活动图。综合运用所学到的标记符,包括活动、转移、控制点、泳道、分叉和汇合

等。并使用建模活动图的五个步骤,逐步为用例建模活动图。
> lude> <<inc
Return Book OvertimeProcess

<<inclu de>>

DisplayLoans

Librarian

图 5-1

还书用例

用户

系统

输入图书信息 查找该图书的借阅关系 查看是否有过 期的借阅关系 显示过期信息 [True] [False]

确定归还

删除该图书的借阅关系

显示借阅关系

第6章

顺序图

1.下面列出了打印文件时的工作流: ? 用户通过计算机指定要打印的文件。 ? 打印服务器根据打印机是否空闲,操作打印机打印文件。 ? 如果打印机空闲,则打印机打印文件; ? 如果打印机忙,则将打印消息存放在队列中等待。 经分析人员分析确认,该系统共有四个对象 Computer、PrintServer、Printer 和 Queue。 请给出对应用于该工作流的顺序图。

Computer 打印文件 请求打印文件

PrintServer

Printer

Queue

判断队列是否为空 添加到队列 打印文件

2.下面是一个客户在 ATM 机上取款工作流。 ? 客户选择取款功能选项。 ? 系统提示插入 IC 卡。 ? 客户插入 IC 卡后,系统提示用户输入密码。 ? 客户输入自己的密码。 ? 系统检查用户密码是否正确。 ? 如果密码正确;则系统显示用户账户上的剩余金额,并提示用户输入想要提取的金 额。 ? 用户输入提取金额后,系统检查输入数据的合法性。 ? 在获取用户输入的正确金额后,系统开始一个事条处理,减少账户上的余额,并输 出相应的现金。 从该工作流中分析求出所涉及到的对象,并用顺序图描述这个过程。

读卡机 插入IC卡

显示屏

输入设备

客户管理

点钞机

事务管理

接爱IC卡 查询密码 显示输入密码请求 输入密码 传送密码 消息1 确认密码合法性

显示服务类型请求 输入取款请求

查询服务类型

传递取款请求 查询取款金额 显示可选的取款金额请求 输入取款金额 传送金额 修改账号金额 出钞请求 出钞 取钞

第 7 章 包图
1. 包在 UML 中属于哪一类?它的主要作用是什么? 属于用例视图。通过“包”就可以把类、用例、构件等元素聚集在一起,构成更高层的单位。这 样就可以将它们作为一个成组的元素来进行可视化。 2. 包之间的依赖关系主要包括哪几种,请分别举个例子说明。 《use》:DAO 程序使用 System.Data.SqlClient 包完成对 SQL 服务器的访问 《import》:页面与被引用的用户控件之间的关系 《access》:两个相互之间可以访问的包 《trace》:不同版本的包 3. 包之间的各种依赖关系中,客户包将把提供者包并入自己的命名空间的是哪个? 《import》关系 4. 假设有一个温度监控系统,用户在 MonitorGUI(监控界面)上输入查询指令,然后 QueryState 包 的程序将与温感探头连接, 获取当前的状态信息, 并存入数据库, 再返回给用户界面。 根据这一描述, 小张绘制了如图 7-1 所示的包图。你认为其中存在什么问题,请试着修改?

MonitorGUI

QueryState

图 7-1

温度监控系统包图的局部

在包图中应该避免出现这种循环依赖的情况。可以修改为:

MonitorGUI DataBase

QueryState

5. 请解释体系结构建模和对成组元素建模有什么区别,并试着给一个你开发过的系统绘制表示其体 系结构的包图。 对体系结构建模关键在于描述出系统采用的体系结构模式;而对成组元素建模,主要是将建模元 素组织成能作为一个集合进行命名和处理的分组。

第8章

状态图

1.建模状态图,建模一个销售系统。对于其中的实体 sale 类创建一个状态机图,用来描述 如何接受订单、处理订单、记入货存清单并且成功完成处理。这里给出以下主要状态: ? EmptyOrder ? ValidOrder ? Processing ? Processed ? Canclled 依据状态机图创建步骤, 利用上面状态组成完成的状态机图, 并检测是否需要组成状态 来完成完整功能。建模状态机图时需要注意,状态机图和活动图在外观上有相似之处,一定 要注意区分两种图形之间的区别。

EmptyOrder

Processing

ValidOrder

Processed

Canclled

第 9 章 UML 实现与部署
1、书店借书系统的 UML 实现与部署
部署图 C/S 版本
客户机 < < se ria l> > M yS Q L 数 据 库 服务器

< < se ria l> >

P rinter

B/S 版本

Web 浏 览 器 <<H TTP>>

A p ach e 服 务 器 < < serial> >

M yS Q L 数 据 库 服务器

< < serial> >

P rin ter

2、家教网上发布系统的 UML 实现与部署
参考答案 部署图
Web 服 务 器 servlet

客户端

< < h ttp > >

M yS Q L 数据库

包图

JS P

serv let

DAO

MO

组件图(管理教师信息相关的组件图)

co m m on

se rvlet Te a ch e r S ervlet.ja va

DAO

Te a ch e r D A O .ja v a

MO Te a ch e r.ja va

组件图(管理学生信息相关的组件图)

co m m on

se rvlet Stu d en tSe rvlet.ja va

DAO

Stu d en tD A O .ja v a

MO Stu d en t.ja va

组件图(管理公告信息相关的组件图)
co m m on

se rvlet fb g gS e rvle t.ja va

DAO

B oa rd D A O .ja va x gg gS e rvle t.ja va

MO B oa rd .ja va


赞助商链接
相关文章:
面向对象分析与设计_期末复习
面向对象分析与设计_期末复习 - I 《面向对象分析与设计》期末复习 1、题型介绍: 选择题 填空题 简答题 分析题 20 * 1 分 = 20 分 5 * 2 分 = 10 ...
UML面向对象与设计考试知识点整理
UML面向对象与设计考试知识点整理 - 1、UML 中常见的关系的线性表示: 扩展关系: 聚合关系: 关联关系: 、泛化(继承)关系: 、组成关系: 、实现关系: 、依赖关系...
UML面向对象分析与设计教程课后习题答案(胡荷芬-高斐)...
UML面向对象分析与设计教程课后习题答案(胡荷芬-高斐)简答题部分 - 简答题 第一章 1.面向对象设计的基本特征有哪些?这些特征对软件设计有何帮助? 封装性 继承性 ...
《UML面向对象分析和设计》教学大纲
UML面向对象分析和设计》教学大纲 - 软件高职《UML 面向对象分析和设计》教学大纲 课程名称: UML 面向对象分析和设计 总学时: 48 课程类型: 专业基础课 先修...
面向对象分析与设计复习题(UML和模式应用)
面向对象分析与设计复习题(UML和模式应用) - 1. 简述 UP 的 4 个阶段和几个主要科目,列出各科目主要制品,各 制品的时限(开始时间及精化时间) 。 P25(主要...
面向对象设计与分析期末考试重点
面向对象设计与分析期末考试重点 - 6.17 应用 UML:用例图 Include 包含 extended 扩展 generalization 泛化 第三部分细化迭代 第八章迭代 1-基础 ...
UML面向对象分析与设计测验和答案
UML面向对象分析与设计测验和答案_计算机软件及应用_IT/计算机_专业资料。1.什么是用例图?用例图有什么作用? 定义: 由参与者(Actor) 、用例(Use Case)以及它们...
uml《面向对象的分析与设计》考题与答案
uml面向对象分析与设计》考题与答案_管理学_高等教育_教育专区。我们uml面向对象分析与设计》考题与答案 《面向对象分析与设计》练习题 面向对象分析与...
面向对象分析与设计复习题(昆明理工大学)
面向对象分析与设计复习题(昆明理工大学) - 面向对象分析与设计习题 一、单项选择题 1.到 20 世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的 形成和广泛...
UML2面向对象分析与设计教学大纲
UML2面向对象分析与设计教学大纲 - <UML2 面向对象分析与设计>课程大纲 <Object-Oriented Analysis & Design with UML2> Syllabus 一...
更多相关文章: