UML基础与Rose建模实用教程课后习题及答案(无第四章)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基础与建模实用教程课后习题及答案
第章面向对象概述
. 填空题
()软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。
()类是具有相同属性和操作的一组对象的组合,即抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。
()面向对象程序的基本特征是抽象、封装、继承和多态。
. 选择题
()可以认为对象是。
()某种可被人感知的事物
()思维、感觉或动作所能作用的物质
()思维、感觉或动作所能作用的精神体
()不能被思维、感觉或动作作用的精神体
()类的定义要包含以下的要素。
()类的属性
()类所要执行的操作
()类的编号
()属性的类型
()面向对象程序的基本特征不包括。
()封装
()多样性
()抽象
()继承
()下列关于类与对象的关系的说法不正确的是。
()有些对象是不能被抽象成类的
()类给出了属于该类的全部对象的抽象定义
()类是对象集合的再抽象
()类用来在内存中开辟一个数据区,并存储新对象的属性. 简答题
()什么是对象?试着列举三个现实中的例子。
对象是某种可被人感知的事物,也可是思维\感觉或动作所能作用的物质或精神体,例如桌子.椅子.汽车等。
()什么是抽象?
抽象是对现实世界信息的简化。
能够通过抽象将需要的事物进行简化、将事物特征进行概括、将抽象模型组织为层次结构、使软件重用得以保证。
()什么是封装?它有哪些好处?
封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。
封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。
对象的私有属性只能够由对象的行为来修改和读取。
二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。
通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:避免对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序内的影响。
()什么是继承?它有哪些好处?
继承是指特出类的对象拥有其一般类的属性和行为。
继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中定义过的属性和行为进行定义,而是特殊类自动地、隐含地拥有其一般类的属性和行为。
通过继承可使派生类能够比不使用继承直接进行描述的类更加简洁、能够重用和扩展现有类库资源、使软件易于维护和修改。
()面向对象分析的过程有哪些?
面向对象的分析的过程包括:获取需求内容陈述、建立系统的对象模型结构、建立对象的动态模型、建立系统功能建模。
()面向对象的设计有哪些准则?
面向对象设计的准则包括模块化、抽象、信息隐藏、低耦合和高内聚等。
()为什么要使用建模?
对象建模的目标就是要为正在开发的系统制定一个精确、简明和易理解的面向对象模型。
已经成为工业标准的对象建模语言。
建模能够帮助开发组织者更好地对系统计划进行可视化,并帮助他们正确地进行构造,使开发工作进展的更快。
第章概述
. 填空题
()在中主要包括的视图为用例视图、逻辑视图、并发视图(进程视图)、组件视图(实现视图)和配置视图(部署视图)。
()图包括:用例图、类图、对象图、状态图、序列图(顺序图)、活动图(协作图)、构件图(组件图)、部署图(配置图)和包图。
()用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。
一个用例是系统的一个功能单元,是系统参与者与系统之间进行的一次交互作用。
()状态机视图是通过对象的各种状态建立模型来描述对象随时间变化的动态行为,并且它是以独立的对象为中心进行描述的。
()用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系。
()在中定义了种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物(辅助事物)等。
. 选择题
()图不包括。
()用例图
()类图
()状态图
()流程图
()下列关于视图的说法不正确的是。
()用例视图描述了系统的参与者与系统进行交互的功能
()交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系
()状态机视图是通过对象的各种状态来建立模型来描述对象随时间变化的动态行为
()构件视图表示运行时的计算资源(例如计算机以及它们之间的连接)
的物理布置
()构件不包括。
()源代码构件
()二进制构件
()图
()可执行构件
()下列关于互视图说法正确的是。
()交互试图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,是描绘系统中各个角色或功能交互的模型
()交互视图包含类图和顺序图
()交互视图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求
()交互视图是参与者所能观察和使用到的系统功能的模型图()下列关于对象约束语言的特性,说法不正确的是。
()对象约束语言不仅是一种查询()语言,同时还是一种约束()语言
()对象约束语言是一种弱类型的语言
()对象约束语言是基于数学的,但是却没有使用相关数学符号的内容
()对象约束语言也是一种声明式()语言
. 简答题
()简述的起源与发展。
()简述的目标
为用户提供了一种易用的、具有可视化的建模能力的语言,能够使用户使用该语言进行系统的开发工作,并且能够进行有意义的模型互换;为面向对象建模语言的核心概念提供可扩展性和规约机制;为理解建模语言提供一种形式化的基础;鼓励面向对象的各种工具市场的生长和繁荣;支持高级的开发概念,例如构件、协作、框架和模式等;集成优秀的实践成果和经验。
()在中包含哪些视图?这些视图都对应哪些图?
在中主要包括的视图为静态视图、用例视图、交互视图、状态机视图、活动视图、部署视图和模型管理视图。
静态视图包括类图;用例视图包括用例图;实现视图包括构件图;部署视图包括部署图;状态机视图包括状态机图;活动视图包括活地图;交互视图包括顺序图和协作图;模型管理视图包括类图。
()静态视图有什么作用?
静态视图是对在应用领域中的各种概念以及与系统实现相关的各种内部概念进行的建模。
静态视图在中的作用包含三个方面:首先,静态视图是的基础。
模型中静态视图的元素代表的是现实系统应用中有意义的概念,这些系统应用中的各种概念包括真实世界中的概念、抽象的概念、实现方面的概念和计算机领域的概念;其次,静态视图构造了这些概念对象的基本构造。
在面向对象的系统中,将对象的数据结构和操作统一到一个独立的对象当中静态视图不仅包括所有的对象数据结构,同时也包括了对数据的操作;最后,静态视图也是建立其它动态视图的基础。
静态视图将具体的数据操作使用离散的模型元素进行描述,尽管它不包括对具体动态行为细节的描述,但是它们是类所拥有并使用的元素,使用和数据同样的描述方式,只是在标识上进行区分。
()中都包含哪些图?简述这些图的作用。
最常用的图包括:用例图、类图、序列图、状态图、活地图、构件图和部署图。
用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系;类图显示了系统的静态结构,表示不同的实体(人、事物和数据)是如何彼此相关联的:序列图显示了一个具体用例或者用例的一部分的一个详细流程;状态图表示某个类所处的不同状态以及该类在这些状态中的转换过程;活地图是用来表示两个或者更多的对象之间在处理某个活动时的过程控制流程;构件图提供系统的物理视图,它是根据系统的代码构件显示系统代码的整个物理结构;部署图用于表示该软件系统如何部署到硬件环境中,它用于显示在系统中的不同构件在何处物理的运行,以及如何进行彼此的通信。
()简述包的作用?
包是一种在概念上的对模型中各个组成部分进行分组的机制。
在包中可以包含有结构事物、行为事物和分组事物。
包的使用比较自由,可以根据自己的需要划分系统中的各个部分,例如可以按外部服务的功能来划分这些服务。
包是用来组织模型的基本分组事物,它也有变体,如框架、模型和子系统等。
()中的模型元素的关系主要有哪些?
中主要包含种关系,分别是依赖、关联、泛化和实现:依赖关系指的是两个事物之间的一种语义关系,当其中一个事物(独立事物)发生变化就会影响另外一个事物(依赖事物)的语义;关联关系是一种事物之间的结构关系,用它来描述一组链,链是对象之间的连接;泛化关系是事物之间的一种特殊一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象,即在面向对象学中常常提起的继承;实现关系也是元素之间的一种语义关系,它描述了一组操作的规约和一组对操作的具体实现之间的语义关系。
()简述的公共机制。
在中,共有种贯穿于整个统一建模语言并且一致应用的公共机制,这种公共机制分别是规格说明、修饰、通用划分和扩展机制。
通常会把规格说明、修饰和通用划分看作是的通用机制。
其中扩展机制可以再划分为构造型、标记值和约束。
这种公共机制的出现使得更加详细的语义描述变得较为简单。
对于系统的建模来说,拥有这些机制,可以构件出相对完备的系统。
第章概述
. 填空题
()使用建立的模型中包括种视图,分别是用例视图、逻辑视图、构件视图(组件视图)和部署视图(配置视图)。
()在用例视图中包括了系统中的所有参与者、用例和用例图,必要时还可以在用例视图中添加顺序图、协作图和类图等。
()逻辑视图关注系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持,即系统应该提供的功能。
()构件视图(组件视图)用来描述系统中的各个实现模块以及它们之间的依赖关系,包含模型代码库、执行文件、运行库和其他构件等信息。
()部署视图(配置视图)显示的是系统的实际部署情况,它是为了便于理解系统如何在一组处理节点上的物理分布,而在分析和设计中使用的构架视图。
. 选择题
()的代码生成功能可以针对不同类型的目标语言生成相应的代码企业
版默认支持的目标语言不包括。
()
()
()
()
()下面不是中的试图是。
()用例视图
()部署视图
()数据视图
()逻辑视图
()建模工具可以执行以下几项任务,其中不包括。
()非一致性检查
()生成语言代码
()报告功能
()审查功能
()下列说法不正确的是。
()在用例视图下可以创建类图
()在逻辑视图下可以创建构件图
()在逻辑视图下可以创建包
()在构建试图下可以创建构件
. 简答题
()概述的起源与发展。
略。
()为提供了哪些支持?
建模工具能够为提供很好地支持,可以从以下个方面进行说明;为提供了基本的绘图功能、提供存储库、提供导航功能、提供代码生成功能、提供逆向工程功能、提供模型互换功能。
()在中可以建立哪几种视图?这些视图都有哪些作用?
使用建立的模型中分别包括种视图,分别是用例视图()、逻辑视图()、构件视图()和部署视图():用例视图关注的是系统功能的高层抽象,适合于对系统进行分析和获取需求,而不关注于系统的具体实现方法;逻辑视图关注系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持,即在为用户提供服务方面系统所应该提供的功能;构件视图用来描述系统中的各个实现模块以及它们之间的依赖关系;部署视图显示的是系统的实际部署情况,它是为了便于理解系统如何在一组处理节点上的物理分布,而在分析和设计中使用构架视图。
在系统中只包含有一个部署视图。
()结合附录,在中试着绘制出一个类,添加相应的属性和方法,将其进行代码生成后查看生成的代码,并分析其结构。
略。
第四章统一过程
1.填空题
(1)统一过程以一种能够被大多数项目和开发组织适应的形式建立起来,其所包含的项最佳实践为迭代式软件开发、需求管理、基于构建的架构应用、建立可
视化的软件模型、软件质量验证、软件变更控制。
(2)在统一过程的开发流程中定义了“谁”“何时”“如何做”“某事”,并分别使用种主要的建模元素来进行表达,他们是:角色、活动、产物和工作流。
(3)将迭代过程划分为个连续的阶段,分别是:初始阶段、细化阶段、构造阶段、和移交阶段。
(4)对于一个以架构为中心的开发组织,需要对架构的以下个方面进行关注,这个方面分别是:架构的目的、架构的表示和架构的过程。
2.选择题
(1)下面不是统一过程包含的项最佳实践的是()
.瀑布式软件开发.迭代式软件开发
.基于构件的架构应用.软件质量验证
(2)一个有效的需求管理不包括的内容时()
.能够应对复杂项目的需求.能够有良好的用户满意程度
.尽可能的减少需求错误.减少开发者之间的交流
(3)迭代过程的个阶段不包括()
.初始.分析.细化.构建
(4)一个以架构为中心的开发组织,不需要对架构的哪个方面进行关注().架构的目的.架构的绘制软件
.架构的表示.架构的过程
3.简答题
(1)什么是统一过程?试着对其进行简要介绍
答案:统一过程是一种软件工程过程;统一过程是一个过程产品;统一过程拥有一套自己的过程框架;统一过程中包含了许多现代软件开发中的最佳实践;
(2)统一过程的知识内容包括哪些方面?
答案:
提供了扩展的准则用来帮助全部成员对软件生命周期所有组成部分进行参考。
工具指导提供了涵盖整个软件开发生命周期工具的指引。
提供了相关进行开发的例子和模板,并且这些例子和模板是在遵循统一过程下执行的。
提供了个以上模板用来帮助软件文档自动化。
提供了超过个模板用来帮助实现工作流和生命周期所有部分文档化。
提供了反映迭代开发方法的项目计划。
在开发工具中介绍了如何制定和扩展统一过程。
(3)统一过程作为一种软件产品有什么好处
答案:
对于一种软件过程来讲,及时的更新和改进会使软件过程不过时。
每隔一段时间,就可以通过公司的相关网站获得一个包含改进技术和最新技术的统一过程的最新版本。
开发人员可以通过统一过程电子版教程中的内置小程序查找即时更新的过程指导或策略,其中包括需要使用的最新文档模板。
统一过程电子版教程中的超链接提供了从过程的一部分到另一部分的导航,最终通过分支转移到软件开发工具,外部参考或指导文档。
统一过程电子版教程很容易将与项目或公司相关的过程改进或特殊规程包括在
内。
并且每个项目或部门可以管理他们自己的过程版本或过程的变体。
(4)如何配置和实现统一过程?
答案:在软件开发组织中实现一个全新的过程,可以使用以下个步骤来描述,分别是:评估当前状态、建立明确目标、识别过程风险、计划过程实现、执行过程实现、评价过程实现。
第章用例图
. 填空题
()由参与者和用例以及他们之间的关系构成的用于描述系统功能的动态视图称为用例图。
()与传统的方法相比,用例图可视化地表达了系统的需求,具有直观、规范等优点,克服了纯文字性说明的不足。
()对于每一个用例,还需要有详细的描述信息,这些信息包含在用例描述之中。
()包含关系指用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。
. 选择题
()下面不是用例图组成要素的是。
()用例
()参与者
()泳道
()系统边界
()识别用例要注意的事项不包括下面哪一个。
()参与者希望系统提供什么功能
()参与者是否会读取、创建、修改、删除、存储系统的某种信号?如果是的话,参与者又是如何完成这些操作的
()参与者是否会将外部的某些事件通知给系统
()系统将会由哪些人来使用
()下例说法不正确的是。
()用例和参与者之间的对应关系又叫做通信关联,它表示参与者使用了系统中的哪些用例
()参与者只能是人,不能是子系统、时间等
()特殊需求指的是一个用例的非功能性需求和设计约束
()在扩展关系中,基础用例提供了一个或者多个插入点,扩展用例为这些插入点提供了需要插入的行为
()下列对用例的泛化关系描述不正确的是。
()用例的泛化关系中,所有的子用例都有相似的目的和结构。
注意它们是整体上的相似
()用例的泛化关系中,基础用例在目的上可以完全不同,但是它们都有一段相似的行为,它们的相似是部分的相似不是整体的相似
()用例的泛化关系类似于面向对象中的继承,它把多个子用例中的共性抽象成一个父用例。
子用例在继承父用例的基础上可以进行修改()用例的泛化指的是一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系
. 简答题
()什么是用例图?用例图有什么作用?
由参与者()、用例()以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。
用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。
用例图可视化地表达了系统的需求,具有直观、规范等优点,克服了纯文字性说明的不足。
用例方法是完全从外部来定义系统功能的,它把需求和设计完全的分离开来,使用户不用关心系统内部是如何完成各种功能的。
()概述用例之间的关系
用例之间的关系有包含、扩展和泛化等种:包含关系是指用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分;在一定条件下,把新的行为加入到己有的用例中,获得的新用例叫做扩展用例,原有的用例叫做基础用例,从扩展用例到基础用例的关系就是扩展关系;用例的泛化指的是一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系。
()在确定参与者的过程中需要注意什么?
寻找参与者的时候不要把目光只停留在使用计算机的人身上,直接或间接的与系统交互的任何人和事都是参与者。
另外由于参与者总是处于系统外部,因此它们可以处于人的控制之外。
. 练习题
网络的普及带给了人们更多的学习途径,随之用来管理远程网络教学的“远程网络教学系统”也诞生了。
“远程网络教学系统”的功能需求如下:
•学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。
•教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。
•系统管理员负责对网站页面的维护,审核不法课件和不法教学信息,批准用户注册。
满足上述需求的系统主要包括以下几个系统模块。
•基本业务模块:该模块主要用于学生下载课件、在线观看教学视频;教师上传课件发布和修改教学心得。
•浏览查询模块:该模块主要用于对网站的信息进行浏览、查询、搜索等。
方便用户了解网站的宗旨,找到自己需要的资源。
•系统管理模块:主要用于系统管理员对网站进行维护、审核网站的各种资
源、批准用户注册等。
()学生需要登录“远程网络教学系统”后才能正常使用该系统所有功能。
如果忘记密码,可以通过“找回密码”功能恢复密码。
请画出学生参与者的用例图。
()教师如果忘记密码,可以通过“找回密码”功能找回密码。
请画出教师参与者的用例图。
第章类图与对象图
. 填空题
()在类图中一共包含了一下几种模型元素,分别是:类、接口、依赖关系、泛化关系、关联关系以及实现关系。
()对象图描述系统在某一个特定时间点上的静态结构,是类图的实例和快照,即类图中的各个类在某一个时间点上的实例及其关系的静态写照。
()对象图中包含对象和链。
其中对象是类的特定实例,链是类之间关系的实例,表示对象之间的特定关系。
()在的图形表示中,类的表示法是一个矩形,这个矩形由个部分构成,分别是:类的名称、类的属性和类的操作。
()类中属性的可见性包含种,分别是公有类型()、受保护类型()和私有类型()。
. 选择题
()下列关于和类图的说法正确的是。
()类图( )是由类,构件等模型元素以及它们之间的关系构成的
()类图的目的在于描述系统的运行方式,而不是系统如何构成的
()一个类图通过系统中的类以及类之间的关系来描述系统的静态方面
()类图与数据模型有许多相似之处,区别就是数据模型不仅描述了系统内部信息的结构,也包含了系统的内部行为,系统通过自身行为与外部事物进行交互
()下列关于对象和对象图的说法正确的是.
()对象图描述系统在某一个特定时间点上的动态结构
()对象图是类图的实例和快照,即类图中的各个类在某一个时间点上的实例及其关系的静态写照
()对象图中包含对象和类
()对象是类的特定实例,链是类的属性的实例,表示对象的特定属性()类之间的关系不包括。
()依赖关系
()泛化关系
()实现关系
()分解关系
()下列关于接口关系的说法不正确的是。
()接口是一种特殊的类
()所有接口都是有构件型<<>>的类
()一个类可以通过实现接口从而支持接口所指定的行为
()在程序运行的时候,其他对象不仅需要依赖于此接口,还需要知道该类对接口实现的其他信息
. 简答题
()什么是类图?什么是对象图?说明两种图的作用。
类图是用于对系统中的各种概念进行建模,并描绘出它们之间关系的图。
对象图描述系统在某一个特定时间点上的静态结构,是类图的实例和快照,即类图中的各个类在某一个时间点上的实例及其关系的静态写照。
类图的作用为:为系统的词汇建模、模型化简单的协作、模型化逻辑数据库模式。
对象图的作用为:说明复杂的数据结构、表示快照中的行为。
()类图类有哪些组成部分?。