第9章   面向对象分析  课后习题参考答案

一、选择题

(1)(C)不是对象具有的特性。

A.标 B.继承 C.顺序 D.多态性

(2)封装是把对象的(A)结合在一起,组成一个独立的对象。

A.属性和操作 B.信息流

C.消息和事件 D.数据的集合

(3)UML中有4种关系,分别是依赖、泛化、关联和(C)。

A.集成 B.合作 C.实现 D抽象

(4)在UML的需求分析建模中,(B)模型图必须与用户反复交流并加以确认。

A.配置 B.用例 C.包 D.动态

(5)下面不是用例之间主要关系的是(C)。

A.扩展 B.包含 C.依赖 D.泛化

(6)对于一个电子商务网站而言,以下不适合作为用例的选项是(C)。

A.登录 B.预定商品 C.购物车 D.结账

(7)在UML的需求分析模型中,用例建模必须与(B)反复交流并加以确认。

A.软件生产商 B.用户

C.软件开发人员 D.问题领域的专家

(8)在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用(A)。

A.活动图 B.状态图 C.配置图 D.构件图

(9)UML的系统分析进一步要确立的3个系统模型是(B)、对象动态模型和系统

功能模型。

A.数据模型 B.对象静态模型

C.对象关系模型 D.体系结构模型

(10)类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必有(C)。

A.正负号 B.动作 C.具体值 D.私有成员

(11)顺序图和协作图主要用于对用例图中(B)的建模,用它们来描述用例图的行为。

A.数据流 B.控制流 C.消息流 D.数据字典

(12)顺序图的建模元素有(A)、消息、链等。这些模型元素表示某个用例中的若干个对象和对象之间所传递的消息,来对系统的行为建模。

A.对象 B.箭线 C.活动 D.状态

(13)顺序图描述(D)对象之间消息的传递顺序。

A.某个 B.单个 C.一个类产生的 D.一组

(14)在顺序图中,返回消息的符号是(B)。

A.直线箭头 B.虚线箭头 C.直线 D.虚线

(15)状态图可以表现(B)在生存期内的行为、所经历的状态序列,引起状态转移的事件以及因状态转移而引起的动作。

A.一组对象 B.一个对象

C.多个执行者 D.几个子系统

(16)状态图描述一个对象在不同(A)的驱动下发生的状态转移。

A.事件 B.对象 C.执行者 D.数据

二、简答题

(1)简述O0A模型的层次结构。

OOA模型采用五层次结构,它们分别是:

① 对象-类层

划分待开发系统及其环境信息的基本构造单位,标出反映问题域的对象和类,并用符号进行规范的描述,用信息提供者熟悉的术语为对象和类命名。

② 属性层
  定义对象和某些结构中的数据单元,继承结构中所有类的公共属性可放于通用类中。标识对象类必需的属性并放在合适的继承层次上,属性的特殊限制和实例连接关系也应标识出来。

③ 服务层
  表示对象的服务或行为,即是要定义类上的操作。

④ 结构层
  标识现实世界中对象之间的关系。当一个对象是另一个对象的一部分时,用"整体-部分"关系表示;当一个类属于另一个类时,用类之间继承关系表示。

⑤ 主题层

(2)简述面向对象分析方法(OOA)的五个基本步骤。

可将相关类或对象划分为一个主题。

① 识别对象,识别对象包括标识潜在的对象和筛选对象两步。

② 识别对象的属性。

③ 识别对象的行为。

④ 识别对象所属的类。

⑤ 定义主题词。

(3)简述时序图的建模步骤。

建模步骤:

① 设置交互语境。

② 确定对象。

③ 分析消息和条件。

④ 分析附加约束。

⑤ 对建模结果精化和细化。

(4)什么是用例?如何确定系统的用例?

用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。

可以根据下面的一些问题来识别用例:

① 参与者希望系统提供什么功能;

② 系统是否存储和检索信息;

③ 当系统改变状态时,是否通知参与者;

④ 是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件。

(5)什么是顺序图,顺序图是由那些部分组成?

顺序图是强调消息时间顺序的交互图。是描述系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,顺序图描述了类相互协作的完成预期行为的动态过程。

顺序图是由类角色、生命线、激活期和消息组成。

(6)什么是协作图,协作图是由那些部分组成?

协作图作为另一种交互图而言,强调的是参加交互的对象的组织。协作图是由类角色、关联角色和消息流组成。

三、应用题

(1)考虑一个“通讯录管理系统”,通讯录包含若干条目、每个条目包括:姓名、电话、邮编、通信地址四个内容。对通讯录要求的操作包帮:查看条目、查找条目、增加条目、删除条目。对条目的要求是能够设置和获取其中的四个属性。要求系统通过图形用户界面操作通讯录,增加条目时,创建一个通讯录条对象,通过图形界面编排条口属性并写回到条目对象中。请回答下面问题。

①绘制系统的用例图。

②如果要求在通讯录中不允许有姓名相同的条目,请写出“增加条目”功能的事件流描述(包括可选事件流)。

事件流描述

1)正常事件流

① 用户查看通讯录,选择添加条目功能项,启动该用例;

② 用户输入姓名、电话、邮编和通讯地址;

③ 系统保存通讯录数据,更新视图。

2)可选事件流

第2步(用户输入姓名重复)

① 用户输入姓名已存在,系统提示是否重新输入姓名;

② 用户选择重新输入姓名,用例从第2步正常执行;

③ 用户选择放弃,用例结束。

③经过初步分析,找到如下类,请用类图描述类之间的关系。

通讯录(TXL)、通讯录条目( Litem)、界面(U)。

④为②中的正常事件流绘制顺序图。

(2)考虑一个简单的“学生选课系统”,学生可以查看已选修课程、退选课程;管理员可以查看全校课程、添加课程。描述课程的信息包括:课程号、课程名称、开课教师,课程号唯一确定一门课程。管理员添加课程时,创建课程对象,通过图形界面输入课程信息后保存到课程对象中,将课程对象保存到全校课程列表中。

①识别参与者和用例,并绘制系统的用例图。

②如果要求不能添加重复的课程,请写出管理员用户“添加课程”功能的事件流描述(包括可选事件流)。

事件流描述

1) 正常事件流

① 管理员查看全校课程列表,选择添加课程功能项,启动该用例;

② 管理员输入课程名称、任课教师、课程号;

③ 系统保存课程列表,更新视图

2)可选事件流

第2步(管理员输入课程号重复)

① 管理员输入课程号已存在,系统提示是否重新输入课程号;

② 管理员选择重新输入课程号,用例从第2步正常执行;

③ 管理员选择放弃,用例结束。

③经过初步分析添加课程用例,找到如下类,请用类图描述类之间的关系。

全校课程集合类( Courses)、课程类( Course)、界面( AdminstratorUl)。

④为②中的正常事件流绘制顺序图。

《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第九章课后习题参考答案相关推荐

  1. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第二章课后习题参考答案

    第2章  软件问题定义及可行性分析 课后习题参考答案 一.填空题 (1)可行性研究的目的是 用最小的代价在尽可能短的时间内确定问题是否能够解决. (2)经济可行性研究范围包括 投资效益分析 .公司经营 ...

  2. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第八章课后习题参考答案

    第八章  面向对象技术与UML   课后习题参考答案 一.单项选择题 D (2)C (3)B (4)D (5)C (6)B (7)A (8)C(9)A (10)D (11)A (12)C (13)C ...

  3. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第三章课后习题参考答案

    第3章   需求分析  课后习题参考答案 一.选择题 (1)进行需求分析可使用多种工具,但(B)是不适用的. A.数据流图 B.PAD C.状态转换图 D.数据字典 (2)E-R图中,包含(D)等基本 ...

  4. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第四章课后习题参考答案

    第4章   总体设计  课后习题参考答案 一.选择题(单选或多选) (1)面向数据流的软件设计方法中,一般将信息流分为(A). A.变换流和事务流 B.变换流和控制流 C.事务流和控制流 D.数据流和 ...

  5. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第六章课后习题参考答案

    第6章   软件编码和测试  课后习题参考答案 一.选择题 (1)为了提高测试的效率,应该(D). A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 ...

  6. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第五章课后习题参考答案

    第5章   总详细设计  课后习题参考答案 一.填空题 (1)结构化程序设计方法的要点是使用 顺序.选择和循环 结构,自顶向下.逐步求精地构造算法或程序 (2)为了产生结构化的流程图,应由三种基本控制 ...

  7. 《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第七章课后习题参考答案

    第7章   软件维护  课后习题参考答案 简答题 (1)面向缺陷维护的内容是什么? 答:面向缺陷维护(程序级维护):软件产品能够正常运转,可以满足用户的功能.性能.接口需求,只是个别地方存在缺陷,使用 ...

  8. python程序设计与算法基础江红答案_《Python程序设计与算法基础教程(第二版)》江红 余青松,第十一章课后习题答案...

    推荐阅读 <Python程序设计与算法基础教程(第二版)>江红 余青松 全部章节的课后习题,上机实践,课后答案,案例研究 文章目录 一些知识点总结和几个例题 选择题:1~5 填空题:1~8 ...

  9. Matlab程序设计与应用(第3版,刘卫国主编)课后习题参考答案

    Matlab程序设计与应用(第3版,刘卫国主编)课后习题参考答案 MATLAB程序设计与应用(第3版,刘卫国著)  习题答案资源 下载地址: Github下载: https://github.com/ ...

最新文章

  1. 最简便的清空memcache的方法
  2. 皮一皮:这大概就是年轻的味道...
  3. android5.0(Lollipop) BLE Peripheral深入理解系统篇之提高篇
  4. 在VMware运行Linux下,密码错误的原因
  5. 党建信息发布服务器要求,党建云服务器繁忙
  6. css框架之960 Grid System 基本原理及使用方法
  7. 方差与样本方差、协方差与样本协方差
  8. .net excel循环插数据_Python实战: 如何将数据从一个Excel文件移动到另一个?
  9. idea debug调试_IDEA中debug调试(非多线程)
  10. win10怎么重装系统虚拟机win7
  11. 【BZOJ3191】【JLOI2013】卡牌游戏 [DP]
  12. 如何在 Mac 上的照片中创建幻灯片?
  13. python网页版本_python 网页版
  14. cmos逻辑门传输延迟时间_MOS管设计知识:传输管TG的原理及组合逻辑延时分析
  15. JavaScript基础入门10
  16. 第五人格显示连接服务器失败怎么办,第五人格提示重新连接服务器怎么办 连接服务器失败解决方法...
  17. windows功能_Windows可选功能介绍
  18. Vue下使用docxtemplater-POI模式导出word
  19. 根据圆的面积公式计算圆周率
  20. C语言【atoi函数】

热门文章

  1. 上海市大学生计算机应用能力大赛官网获奖,关于组织我校学生参加2019年(第十一届) 上海市大学生计算机应用能力大赛的通知...
  2. x210:uboot和系统移植
  3. 【Python实战】Pandas:让你像写SQL一样做数据分析(一)
  4. Linux线程模型比较
  5. MYSQL字段,表名大小写的问题 CASE IN-SENSITIVE MYSQL ON LINUX
  6. 安装mysql初始化失败原因_MySQL安装出错历险记 之 Framework初始化失败
  7. 网络安全培训班:在雨笋教育实现了菜鸟到大咖的转变
  8. 都说三十而立,大家敢晒晒自己的收入么?求真实!真实!真实?
  9. python3:PyMySQL模块、SQLAlchemy
  10. 将xacro格式文件转换为urdf格式并对其进行检查格式,并生成机器人模型的结构图