软件工程(第四版)习题及解答1-7 下载本文

else b;

只使用顺序和循环结构的PAD图如下:

当F A break 当!F B break

第6章

一、选择题: (1)~ (5) CBDDA (6)~ (10)CADDA (10)~ (15) CAACC 二、简答题

1. UML中包含哪些图?各种图的作用是什么?

UML中的图与视图是有区别的。视图由多个图构成,从不同的目的或角度描述系统。图由各种图片(模型元素符号)构成,用来描述视图的一个内容。

UML中的图可以分为静态图和动态图两大类,也可以细分为用例图、静态图、交互图、行为图和实现图5类、共10种图。其中:

用例图(Use Case Diagram)表示系统实现的功能; 静态图(Static Diagram)表示系统的静态结构;

交互图(Interactive Diagram)描述系统的对象之间的动态合作关系;

行为图(Behavior Diagram)描述系统的动态行为和对象之间的交互关系; 实现图(Interactive Diagram)描述系统的物理实现。 详细功能见表6.3所示。 2. 简述创建用例图的一般步骤。

(1)启动Rational Rose 2007后,单击【File】| 【New】|在弹出的对话框中选择【Cancel】命令,新建一个模型(默认名称是untitled)。 (2)在左侧浏览器区域用鼠标右键单击用例视图(Use Case View)文件夹节点,然后选择【New】菜单|【Use Case Diagram】选项,新建一个用例图,可根据需要重新命名用例图名称如book,参考图6.31所示。

(3)双击刚才建立的用例(如book),然后利用Rose界面中间的工具栏中的工具绘制用例图。将鼠标左键指向工具栏中和图标会显示其信息。用例图中主要有角色(Actor)、用例(Use Case)等图符工具。

3. 简述类图、对象图和包图建模的一般步骤。

类图、对象图和包图建模方法与用例图基本相同,只是选择的视图(View)和新建(New)的选项不同。例如:

对于类图和对象图,需选择用例视图(Use Case View),然后选择【New】菜单|【Class Diagram】选项;

对于包图,需选择用例视图(Use Case View),然后选择【New】菜单|【Package】选项; 4. 简述动态建模的一般步骤。

动态建模的一般步骤与用例图基本相似,只是对于时序图、协作图、状态图,活动图需先选择逻辑视图(Logical View),然后分别选择【New】菜单的【Sequence Diagram】、【Collaboration Diagram】、【Statechart Diagram】或【Activity Diagram】选项进入编辑状态进行建模。

三、应用题

1.用类图描述下列对象的属性、操作及相互关系: ①

2.参考书上“6.4 建模应用案例分析”完成。

第7章 一、选择题:

(1)~ (5) BDCAC (6)~ (10) CAACA (11)~(15) CCBAD

二、 简答题

1、什么是对象、属性、服务关系,举实例说明。

答:对象是系统中用来描述客观事物的一个实体,是够成系统的一个基本单位,由一组属性和对这对这组属性进行的一组服务构成。 属性是用来描述对象的静态特征的数据项。 服务是用来描述对象的动态特征的一系列操作序列。

例子:可定义考生为对象,其属性有姓名,地址,专业,准考证号。其中的函数,过程,等子程序为服务。

2、建立信息模型时需要对问题领域中的对象进行抽象。抽象的原则是什么,举实例说明之。 答:对象的抽象原则有两个:包含原则和排斥原则。

包含原则:例如:学生进校后,学校要把学生分为若干班,“班”是一种对象。

描述:同一年进校,学习相同的专业,同时学习各门课程,一起参加各项活动的学生,有相同的班长,相同的班主任,班上学生按一定的顺序编学号等。

排次原则:例如:同一年进校,不同专业的学生不在同一班级,学同一专业,不同时进校的学生不在同一班级。有时一个专业,同一届学生人数较多,可以分几个班,这样,不同班级的班长不相同。不同班级的班级编号不相同。在对对象描述时,还应描述对象与其他对象的关系,背景信息等。 3、什么是状态、事件、行为,举例说明。 答:

状态:对象或关系在其生存周期中的某个特定阶段或某种情形。 事件:用一控制对象从一种状态转换到另一种状态的控制信息。 行为:对象在某种状态下所发生的一系列处理操作。

如:“班级”学生学习一年后,有的升级,有的留级,班级的人数会变动,“学年”对班级状态有控制作用,是“事件”。班级当前处于几年级,就是:“状态”。学习期满,这个班的绝大多数学生毕业,班级就不在存在了,即使有生留级,也应安排到另一个班级去了。每学期一个班级的学习课程,任课教师,课程表都有变化,“学期”也是事件。班级处于几年级第几学期是“状态”。每学期每个学生的各门课的成绩统计,计算成绩总分,班级上的学生按成绩排名次等一系列处理,是“行为”。

4、简述功能模型、动态模型、对象模型之间的区别和联系。 答:三种模型之间对照总结的关系如下:

(1) 对象模型是最基本、最重要的,动态模型和功能模型的建立是以对象模型为基础的。 (2) 对象模型侧重于描述系统的数据结构,对象模型表示“执行者”即对象本身,每个处

理是用某个对象的方法来实现的;动态模型侧重于描述系统的控制结构,它由多个状态图