UML课后习题答案整理.docx
《UML课后习题答案整理.docx》由会员分享,可在线阅读,更多相关《UML课后习题答案整理.docx(22页珍藏版)》请在冰豆网上搜索。
![UML课后习题答案整理.docx](https://file1.bdocx.com/fileroot1/2023-1/25/47356272-9398-4902-8b71-94319bc3c35f/47356272-9398-4902-8b71-94319bc3c35f1.gif)
UML课后习题答案整理
UML课后习题答案整理
第1章面向对象分析与设计引论
1.1填空题
(1)面向过程程序=算法+数据结构
(2)对象
(3)属性操作
2.1选择题
(1)A
(2)A
3.1简答题
(1)面向过程方法和面向对象方法的比较:
面向过程方法首先关心的是功能,强调以过程为中心,采用模块化、自顶向下、逐步细分的解决问题的方法,结构清晰、可读性好。
然而,由于用户的需求和软、硬件技术的不断发展变化,经常出现互相矛盾的数据需求,因此分析和设计越来越困难,开发过程前期入手快而后期频繁改动的现象比较常见。
面向对象方法则从所处理的数据入手,以数据为中心来描述系统。
数据相对于功能而言,具有更强的稳定性,这样设计出的系统模型往往能较好地映射问题域模型。
面向对象方法的有效性:
面向对象程序设计是一种自下而上的程序设计方法,往往从问题的一部分着手,一点一点地构建出整个程序。
面向对象设计以数据为中心,类作为表现数据的工具,成为划分程序的基本单位。
面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。
(2)面向对象分析(OOA)、面向对象设计(OOD)、面向对象编码(OPP)、面向对象测试(OOT)、面向对象维护(OOM)
第2章统一建模语言UML与建模工具RationalRose
1.1填空题
(1)GradyBoochJamesRumbaughIvarJacobson
(2)用例
(3)部署
(4)RationalRosePowerDesignerVisio
(5)用例视图逻辑视图构件视图部署视图
(6)部署
2.1选择题
(1)B
(2)AB
(3)D
(4)BC
(5)AC
(6)A
(7)AC
3.1简答题
(1)统一建模语言特点:
用图形化的符号描述分析与设计
(2)需求分析、分析、设计、构造、测试
(3)视图:
由一组图构成,代表完整系统描述中的一个抽象,显示这个系统中的一个特定的方面。
UML包含九种视图,一类是静态图,包含用例图、类图、对象图、构件图、部署图;另一类是动态图,包括序列图、协作图、状态图和活动图。
(4)画图、积累、导航、多用户支持、产生代码、逆转、集成、覆盖模型的所有抽象层、模型互换
(5)选择待转换的目标模型、检查java语言的语法错误、设置代码生成属性、生成代码
(6)用例视图:
包括系统中的所有参与者、用例和用例图,关注系统功能的高层抽象,适合于对系统进行分析和获取需求,而不关注于系统的具体实现方法。
逻辑视图:
关注系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持。
构件视图:
用来描述系统中各个实现模块以及它们之间的依赖关系。
部署视图:
包括进程、处理器和设备,显示系统的实际部署情况,是为了便于理解系统在一组处理节点上的物理分布。
第3章需求分析与用例模型
1.1填空题
(1)参与者、用例、关系
(2)关联关系、泛化关系、包含关系、扩展关系
2.1选择题
(1)D
(2)D
3.1简答题
(1)参与者:
参与者必须与系统有交互;参与者必须是系统外部的;参与者的名称一般是名词或名词短语。
用例:
用例是外部可见得系统功能单元,这些功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达;用例的名字是一个动词短语字符串。
(2)简要说明、事件流、用例场景、特殊需求、前置条件、后置条件。
(3)用户、系统、天气
(4)不正确。
参与者之间泛化关系的含义是:
把某些参与者的共同行为抽取出来表示为通用行为,且把它们描述成为超类(父类)。
普通浏览者和系统管理员的基本行为不一致,不能作为子用例。
因此泛化关系使用不正确。
(5)不正确。
购物和修改会员资料应是登录的包含关系。
4.1练习题
用例编号:
001
用例名:
系统管理员登录
用例描述:
系统管理员根据账号和密码,登录学生信息管理系统
参与者:
系统管理员
前置条件:
系统正常运行时间
后置条件:
若系统管理员成功,管理员可以对学生的基本信息、班级信息、账号进行管理;若管理员未登录成功,则不能进行这些操作。
基本路径:
1、管理员进入系统;
2、管理员输入账户和密码;
3、管理员提交信息;
4、系统对管理员输入的信息进行有效性检查;
5、管理员可对学生信息等进行操作;
扩展点:
1、管理员的账号错误
(1)系统弹出错误窗口;
(2)管理员重新输入
2、管理员密码错误
(1)系统弹出密码错误
(2)管理员重新输入
(3)管理员找回密码
用例编号:
002
用例名:
查询学生信息
用例描述:
管理员输入学生信息,系统显示该生信息
参与者:
管理员
前置条件:
管理员登录成功
后置条件:
管理员输入学生信息后系统显示该生信息,查询成功后可进行修改或删除等。
基本路径:
1、管理员输入查看某位学生信息;
2、管理员提交信息;
3、系统对应信息查看数据库;
4、系统显示该生信息;
扩展点:
输入学生信息不存在;
用例编号:
003
用例名:
录入学生信息
用例描述:
教师录入学生信息;
参与者:
教师
前置条件:
教师登录成功
后置条件:
数据库中录入该信息成功,之后可以查看到该信息;
基本路径:
1、教师输入某位学生的基本信息;
2、教师提交信息;
3、系统数据库添加该信息;
4、系统显示该生信息;
扩展点:
无
用例编号:
004
用例名:
学生查询成绩
用例描述:
学生查询自己的成绩;
参与者:
学生
前置条件:
学生登录成功;
后置条件:
学生查询个人成绩成功进行其它操作;
基本路径:
1、学生输入自己的信息;
2、学生提交信息;
3、系统数据库查询该生成绩;
4、系统显示该生成绩;
扩展点:
无
4-1学生用例图
4-2教师用例图
4-3校领导用例图
4-4系统管理员用例图
第4章系统静态分析与静态模型
1.1填空题
(1)对象链
(2)关联关系依赖关系泛化关系实现关系
(3)类
2.1选择题
(1)AB
(2)D
(3)D
(4)C
3.1简答题
(1)类图包括:
名称、属性和操作
(2)对象图包括名称和属性
(3)类图可以为系统的词汇建模,模型化简单的协作,模型化逻辑数据库模式
对象图能够说明复杂的数据结构,可以表示快照中的行为。
(4)关系:
类图和对象图是两种最重要的静态模型。
UML中的类图和对象图显示了系统的静态结构,其中类,对象和关联是图形元素的基础。
不同:
类图
对象图
类图包括:
名称,属性和操作
对象图包括:
名称和属性
在类的名称分栏中只有类名
对象的名称形式为:
“对象名:
类名”,匿名对象的名称形式为“:
类名”
类的属性分栏定义了所有属性的特征
对象则指定了属性的当前值以便测试用例
类中列出了操作
对象图中不包括操作,因为对于同属于一个类的对象来说,其操作都是相同的
类使用关联连接,关联使用名称,角色,多重性以及约束等特征定义。
类代表的是对对象的分类,所以必须说明可以参与关联的对象数目
对象使用链连接,链拥有名称,角色,但没有多重性。
对象代表的是单独的实体,所有的链都是一对一的,因此不涉及到多重性。
4.1练习题
确定类:
系统管理员,销售员,用户,商品
第5章系统动态分析与交互模型
1.1填空题
(1)对象、生命线、激活、消息
(2)生命线
(3)激活
(4)发送者、接收者、活动
(5)类元角色、关联角色
(6)对象、消息、链
(7)交互
(8)链
(9)消息
2.1选择题
(1)ABCD
(2)C
(3)ABC
(4)BCD
(5)C
(6)D
(7)D
3.1简答题
(1)在序列图中,创建对象操作使用带箭头的消息表示,箭头指向被创建对象的框。
对象创建之后就会具有生命线,就像序列图中的任何其他对象一样。
对象符号下方是对象的生命线,它持续到对象被销毁或者图结束。
在序列图中,对象被销毁是使用在对象的生命线上画大“X”表示,在销毁新创建的对象或者序列图中是任何其他对象时,都可以使用,“X”的位置是在导致对象被销毁的信息上或者在对象自我终结的地方。
(2)序列图中的消息有普通消息、自身消息、返回消息、过程调用消息、同步消息、异步调用消息、阻止消息和超时消息等。
(3)①为用例建造逻辑模型。
②为某个用例的泛化功能提供其所缺乏的解释。
③记录一个存在系统的对象现在如何交互。
④用来演示某个用例最终产生的所有的路径。
(4)序列图是由对象、生命线、激活和消息等构成的。
(5)协作图就是表现对象协作关系的图,它表示了协作中作为各种类元角色的对象所处的位置,在图中主要显示了类元角色(ClassifierRoles)和关联角色(AssociationRoles)。
作用分为以下三个方面:
通常描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达、显示对象及其交互关系的空间组织结构、表现一个类操作的实现。
(6)协作图和序列图都是交互图,它们既是等价的,又有所区别。
序列图表示了时间消息序列,但没有表示静态对象关系。
序列图可以有效的帮助我们观察系统的顺序行为。
协作图用于表示一个协同中的对象之间的关系和消息以及描述一个操作或分类符的实现。
在对系统进行行为建模时,通常做法是用序列图按时间顺序对控制流建模,用协作图按对象组织对控制流建模。
4.1练习题
(1)如图4-1所示。
4-1还书序列图模型
(2)如图4-2所示。
4-2打印文件工作流的序列图
(3)如图4-3所示。
4-3ATM机取款序列图
第6章系统动态分析与行为模型
1.1填空题
(1)转换
(2)事件
(3)简单状态组成状态
(4)历史状态
(5)内部
(6)泳道(swimlane)
(7)活动图
(8)分叉结合
(9)动作状态
(10)对象流
2.1选择题
(1)D
(2)ABCD
(3)A
(4)D
(5)C
(6)AB
(7)D
(8)B
(9)D
3.1简答题
(1)状态机是一种记录下给定时刻状态的设备,它可以根据各种不同的输入对每个给定的变化而改变其状态或引发一个动作。
在UML中状态机由对象的各个状态和连接这些状态的转换组成,是展示状态与状态转换的图。
一个状态图本质上就是一个状态机,或者是状态机的特殊情况,它本质上是一个状态机中的元素的投影。
(2)状态图的组成要素:
状态、转换、判定、同步、事件等。
(3)简单状态指的是不包含其他状态的状态,简单状态没有子结构,但是它可以具有内部转换、进入动作、退出动作等。
组成状态是在简单状态之外,一种可以包含嵌套子状态的状态。
(4)顺序组成状态中最多只能有一个初态和一个终态,在顺序组成状态中多个子状态是互斥的,不能同时存在。
并发组成状态有两个或多个并发的子状态,能说明很多事情发生在同一时刻,为了分离不同的活动,组成状态被分解成区域,每个区域都包含一个不同的状态图,各个状态图在同一时刻分别运行。
(5)活动图的组成要素:
动作状态、活动状态、组合活动、分叉与结合、分支与合并、泳道、对象流等。
(6)分叉用粗黑线表示。
分叉具有一个输入转换、两个或者多个输出转换,每个转换都可以是独立的控制流。
分支是转换的一部分,它将转换路径分为多个部分,每一部分都有单独的监护条件和不同的结果,分支的每个路径的监护条件是互斥的,这样可以保证只有一条路径的转换被激发。
(7)合并汇合了两个以上的控制路径,在任何执行中每次只走一条,不同路径之间是互斥的关系。
而结合则汇合了两条或两条以上的并行控制路径。
在执行过程中,所有路径都要走过,先到的控制流要等其他路径的控制流到达后才能继续运行。
(8)活动图是用来描述一个目标所实施一系列活动的过程,描述了系统的动态特征。
活动图是模型中的完整单元,表示一个程序或工作流,常用于计算流程和工作流程建模。
活动图的作用:
1)描述一个操作执行过程中所完成的工作,说明角色、工作流、组织和对象是如何工作的。
2)活动图对用例描述尤其有用,它可建模用例的工作流,显示用例内部和用例之间的路径,也可以说明用例的实例是如何执行动作以及如何改变对象状态的。
3)显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。
4)活动图对理解业务处理过程十分有用。
活动图可以画出工作流用以描述业务,有利于与领域专家进行交流。
通过活动图可以明确业务处理操作是如何进行的,以及可能产生的变化。
5)描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是相似的。
4.1练习题
(1)如图4-1所示。
4-1IC卡电话机状态图
(2)如图4-2所示。
4-2UNIX进程的状态图
(3)如图4-3所示。
4-3还书过程的状态图
(4)如图4-4所示。
4-4预订图书过程的活动图
第7章系统设计与实现模型
1.1填空题
(1)代码特征身份特征
(2)构件图
(3)构件构件类或接口
(4)虚包
(5)部署图
2.1选择题
(1)ABD
(2)B
(3)ABD
(4)CD
(5)AD
3.1简答题
(1)构件图适用于下列建模需求:
系统源代码、系统的发布版本、物理数据库、自适应系统、用于建立业务模型和用于系统的开发管理等。
(2)二者都有名称,都可以实现一组接口,都可以参与依赖关系,都可以被嵌套,都可以有实例,都可以参与交互。
类描述了软件设计的逻辑组织和意图,而构件这描述了软件设计的物理实现,类可以有属性和操作,构件只有操作,只有通过构件使得接口才能使用。
(3)在一张基本构件图中,构件之间最常见的关系是依赖关系和实现关系。
(4)在UML中,构件主要包括配置构件、工作产品构件和可执行构件。
4.1练习题
(1)如图4-1所示。
4-1学生信息构件图
(2)如图4-2所示。
4-2系统部署图
第8章软件工程引论与统一软件过程RUP
1.1填空题
(1)传统软件开发方法学;软件开发新方法学
(2)统一软件开发过程(RationalUnifiedProcess,RUP);敏捷方法;微软方法
(3)软件开发
(4)角色;活动;产物;工作流
(5)配置和变更控制工作流;项目管理工作流;环境工作流
2.1选择题
(1)ABCD
(2)BCD
(3)BCD
3.1简答题
(1)它定义了进行软件开发的工作步骤,可以保证软件项目有序的、可控的、高质量的完成;可以将面向对象技术应用于软件开发的所有过程,使软件系统开发的所有过程全面结合,最大限度适应用户不断变化的需求,有效降低风险,更好地适应需求变化。
(2)优点:
便于分工协作;严格规定了每阶段必须调教的文档;为项目提供了按阶段划分的检查点。
缺点:
各阶段间具有顺序性和依赖性。
(3)Rational统一过程(RUP)是Rational软件公司(现在Rational公司被IBM并购)创造的软件工程方法。
RUP描述了如何有效地利用商业的可靠的方法开发和部署软件,是一种重量级过程(也被称作厚方法学),因此特别适用于大型软件团队开发大型项目。
(4)RUP是软件开发过程的一种,它为有效的使用统一建模语言UML提供了指导。
RUP集合了成功的工程实践经验、面向对象的方法、迭代开发成要素,能够把UML建模语言和软件开发的过程很好地结合在一起,非常适合面向对象的软件开发。
UML作为一种建模语言,要和具体的软件过程相结合。
这就实现了UML与RUP相结合。
(5)RUP的软件生命周期在时间上被分解为四个顺序的阶段,分别是:
初始阶段、细化阶段、构造阶段和交付阶段。
每个阶段结束于一个主要的里程碑;每个阶段本质上是两个里程碑之间的时间跨度。
①初始阶段。
也称先启阶段。
目标是为系统建立商业案例并确定项目的边界。
初始阶段结束时的第一个重要的里程碑:
生命周期目标里程碑。
②细化阶段。
细化阶段是四个阶段中最为关键和重要的阶段。
目标是分析问题领域,建立健全的体系结构接触,编制项目计划,淘汰项目中最高风险的元素。
细化阶段结束时的第二个重要的里程碑:
生命周期结构里程碑。
③构造阶段。
在构造阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。
构造阶段结束时是第三个重要的里程碑:
初始功能里程碑。
④交付阶段。
交付阶段的重点是确保软件对最终用户是可用的。
交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。
在交付阶段的终点是第四个里程碑:
产品发布里程碑。
(6)RUP的六个核心工作流为核心过程工作流,分别如下:
①商业建模
该工作流的主要目的是对系统的商业环境和范围进行建模,确保所有参与人员对开发系统有共同的认识,并在商业用例模型和商业对象模型中定义组织的过程、角色和责任。
②需求分析
需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。
为了达成该目标,需要对需求的功能和约束进行提取、组织、文档化;最重要的是定义系统功能及用户界面,明确可以需要的系统的功能。
③分析与设计
分析与设计工作流讲需求转换成未来系统的设计。
为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。
④实现
实现工作流包含定义代码的组织结构、实现代码、单元测试和系统集成四个方面的内容。
实现工作流的目的包括以层次化的子系统形式定义代码的组织结构,以构建的形式(源文件、二进制文件、可执行文件)实现类和对象。
⑤测试
测试工作流主要验证对象间的交互作用,验证软件中的所有构件的正确集成,检验所有的需求是否已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。
⑥部署
部署工作流的目的试成功的生成版本并将软件分发给最终用户。
部署工作流描述了那些与确保软件产品对最终用户具有可用性相关的活动,包括:
软件打包、生成软件本身以外的产品、安装软件、为用户提供帮助。
(7)RUP的优点:
架构采用用例驱动,能够更有效地从需求转到后续的分析和设计;采用迭代和增量式的开发模式,便于相关人员从迭代中学习;提供了项目组用户协同工作的途径,并从多方面强化了软件开发组织;提供了项目组与用户及其他项目相关人员一起工作的入境;易于控制;易于管理;
RUP的缺点:
只是一个开发过程,并没有涵盖软件过程的全部内容;在开发组织内大范围实现重用的可能性较低;不适用于中小规模的软件项目。
(8)喷泉模型的优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
缺点是需要大量开发人员,不利于项目的管理;审核难度较大。
原型模型的优点是在冗长的开发过程较易做出快速的响应,更符合人们开发的软件习惯,减少由于软件需要不明确带来的开发风险。
缺点是所宣扬的开发技术和工具不一定符合主流的发展,快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。
XP模型优点:
克服了传统模型不适于软件开发过程需求变化的缺陷,是一种面向客户的新颖的轻量级模型;适合于中小型开发小组,可降低开发风险,使软件开发简易而高效。
缺点是不适合大型项目,重构会导致大量经费开销等。
第9章分工情况
第1章殷亚玫
第2章殷亚玫
第3章王修婷
第4章张金金
第5章何紫荆
第6章张钰婧
第7章郭郁涵
第8章于梦涵