UML简答题汇总.doc
《UML简答题汇总.doc》由会员分享,可在线阅读,更多相关《UML简答题汇总.doc(24页珍藏版)》请在冰豆网上搜索。
真题汇总
1.什么是用例图?
用例图有什么作用?
定义:
由参与者、用例以及他们之间的关系构成的用于描述系统功能的图称为用例图。
作用:
(1)用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。
(2)用例图可视化的表达了系统的需求,具有直观、规范的特点,克服了纯文字性说明的不足。
(3)用例方法是完全从外部来定义系统的,它把需求和设计完全分离开来。
使用户不用关心系统内部是如何完成各种功能的。
2.简述面向对象分析方法(OOA)的5个基本步骤:
(1)识别对象,识别对象包括标识潜在的对象和筛选对象。
(2)识别对象的属性。
(3)识别对象的行为。
(4)识别对象所属的类。
(5)定义主题词。
3.简述时序图的建模步骤:
(1)设置交互语境。
(2)确定对象。
(3)分析消息和条件。
(4)分析附加约束。
(5)对建模结果精华和细化。
4.RUP统一过程中的四个阶段。
(1)初始阶段
(2)细化阶段
(3)构造阶段
(4)移交阶段
4.什么是模型?
简述建模的目的。
模型是为了理解事物而对事物做出的一种抽象。
是对事物规范化的、无歧义描述的一种工具。
目的:
规范、可视化、建造、建档
5.什么是UML?
简述UML的内容及其特点?
UML是面向对象工作组(OMG)系统的一种面向对象,用来对软件密集系统进行可视化建模,对开发的系统产品进行说明、可视化编制文档的一种标准建模语言。
内容:
(1)UML语义:
给出了基于UML的精确的主模型定义。
(2)UML表示法:
定义了UML符号的表示方法,为开发者或开发工具使用这些图形符号和文本语法,给系统建模提供了标准。
特点:
(1)有统一的标准,便于使用人员沟通。
(2)是一种面向对象的建模语言。
(3)可视化,表示能力强大,提供了扩展机制。
(4)容易使用。
6.UML2.0中共有13种图,名称分别是什么?
简要说明其作用。
用例图、类图、对象图、顺序图、通信图、活动图、状态机图、组件图、部署图、包图、复合结构图、交互概观图、定时图
7.UML2.0中增加了2种交互图,他们的名称分别是什么?
并简要说明其作用。
(1)交互概观图:
一种顺序图和活动图的结合,从较高的抽象层次描述了对象以及对象之间的交互关系。
(2)定时图:
从微观的层次描述了对象之间的交互,重点在于定时。
8.简述聚集和组合之异同。
聚集:
是一种特殊的关联关系,描述元素之间整体与部分的关系。
组合:
是一种特殊的聚集,表示“部分”的元素存在完全依赖于“整体”的元素,“整体”与“部分”有相同的生命周期。
当整体对象不存在时,部分对象也就不存在了。
9.简述统一建模语言UML。
(1)统一建模语言是一种绘制软件蓝图的标准语言。
可以用UML对软件密集型系统进行可视化描述和文档化。
(2)UML是一种定义良好,易于表达,功能强大且普遍适用的可视化建模语言。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。
(3)UML的作用就是用很多图从静态和动态方面全面描述要开发的系统。
10.简述用例模型的组成元素以及建模步骤。
系统边界、参与者、用例、关系
建模步骤:
(1)找出备选系统边界。
(2)找出参与者。
(3)找出用例、说明用例、识别主要附流。
(4)迭代直到用例,参与者以及系统边界稳定下来。
11.简要说明面向对象的思想。
(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。
(2)事物的静态特征用对象的属性来表示;对象的动态特征用对象的操作来表示。
(3)通过在不同程度上运用抽象原则,可以得到较一般的类和较特殊的类。
(4)对象之间通过消息进行通信,以实现对象之间的动态联系。
以下是自己整理的资料:
1.在设计包时,应遵循:
(1)重用等价原则
(2)共同闭包原则
(3)共同重用原则
(4)非循环依赖原则
2.组件图包含三种元素:
(1)组件
(2)接口
(3)依赖关系
3.MVC包括3个部分:
(1)model:
表达应用领域有关的类、对象、数据结构以及企业的业务逻辑等。
(2)view:
代表窗口画面,负责将model的实现呈献给用户。
(3)controller:
监控用户传来的信息,并将信息指挥协同上述二者的合作。
4.顺序图包含4个元素:
(1)对象
(2)生命线
(3)消息
(4)激活
5.通信图包含3个元素:
(1)对象
(2)消息
(3)链
6.Rose把系统逻辑视图分成三个层次:
(1)业务对象模型
(2)分析模型
(3)设计模型
7.组件图包括:
(1)组件
(2)接口
(3)依赖关系
8.用例模型4个部分:
(1)系统边界
(2)参与者
(3)用例
(4)关系
9.用例模型中参与者有三大类:
(1)系统用户
(2)与所建造系统交互的其他系统
(3)可运行的进程
10.UML定义包括:
(1)UML语义
(2)UML表示法
11.模型分为:
(1)数学模型
(2)描述模型
(3)图形模型
12.建模的目的:
(1)规范
(2)可视化
(3)建造
(4)建档
13.建模的原则:
(1)准确原则
(2)分层原则
(3)分治原则
(4)标准原则
14.RUP特点:
(1)用例驱动
(2)以框架为中心
(3)采用迭代和增量的开发策略
15.RationalRose的特点:
(1)为大型软件工程提供了可塑性和柔韧性极强的解决方案。
(2)支持多种语言。
(3)为团队开发提供强有力的支持。
(4)支持模型的Internet的发布。
(5)具有生成使用简单且定制灵活的文档的功能。
(6)支持关系型数据库的建模。
16.UML词汇表三种构造模块:
(1)元素
(2)关系
(3)图
17.UML优点:
(1)唯一性
(2)连续性
(3)维护性
(4)复用性
(5)完善性
18.UML开发过程是一种二维结构软件开发过程,软件项目开发过程流程包括的核心工作内容:
(1)分析
(2)设计
(3)实现
(4)测试
(5)配置
19.对一个对象的生命周期进行建模、描述对象随时间变化的行为:
(1)状态图
(2)活动图
20.UML包含5大类图形:
(1)用例视图
(2)实现视图
(3)逻辑视图
(4)进程视图
(5)部署视图
21.顺序图和通信图的语义是等价的,可以相互转化。
22.RUP6个核心过程工作流:
(1)商业建模
(2)需求分析
(3)分析与设计
(4)实现
(5)测试
(6)部署
23.OCL定义的基本集合类型:
(1)Collection
(2)Set
(3)Bag
(4)Sequence
24.UML扩展机制:
(1)构造型
(2)标记值
(3)约束
25.状态图中,事件是引起状态变化的因素:
(1)调用事件:
一个对象接受一个消息。
(2)修改事件:
一个表达式的计算结果为真可以触发转换。
(3)时间事件:
时间的流逝可以触发转换。
1.大型软件开发过程中出现的三大难题
(1)复杂程度高
(2)研制周期长
(3)正确性难以保证
2.软件是逻辑产品而不是物理产品。
3.软件特性:
(1)复杂性
(2)抽象性
(3)使用的独特性
(4)开发过程特性
(5)维护特性
(6)知识产权保护
4.软件危机的突出表现:
(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对已完成的软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
5.产生软件危机的原因:
(1)用户需求不明确。
(2)缺乏正确的理论指导。
(3)软件开发规模越来越大。
(4)软件开发复杂度越来越高。
6.软件工程的框架概括为:
(1)目标
(2)过程
(3)原则
7.软件工程工具为过程和方法提供自动化和半自动化的支持。
这些工具可以集成起来,使得工具产生的信息可被另外一个工具使用,这样就建立了软件开发的支撑系统,称为计算机辅助软件工程(CASE)
8.传统的软件开发方法也称为生命周期方法学或结构化范型。
9.控制复杂性的原则:
(1)抽象
(2)分解分治,逐步求精
(3)推迟实现
(4)信息隐蔽,信息局部化
(5)模块化
10.高内聚指的是在一个模块中应尽可能多地汇集逻辑上相关的计算资源。
11.低耦合指的是模块之间的相互作用应尽量少,要求影响范围应处于控制范围之中。
12.传统的软件开发方法存在的问题主要表现为以下三个方面:
(1)需求分析时存在着认识事物和描述事物方面的不足。
(2)对需求变化的适应性不强。
(3)可重用性差。
13.面向对象方法就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统的方法。
14.对象之间通过消息进行通信,已实现对象之间的动态联系。
15.面向对象方法的优点:
(1)与人们习惯的思维方法一致
(2)系统稳定性好
(3)软件具有可重用性
(4)软件具有可维护性
16.面向对象的软件开发需要建立三种形式的模型:
(1)描述系统数据结构的对象模型
(2)描述系统控制结构的动态模型
(3)描述系统功能的功能模型
17.对象模型主要由UML的类图组成,动态模型主要由UML的状态图组成,功能模型主要由UML的用例图组成。
18.瀑布模型
瀑布模型又称为经典生命周期模型,是一种文档驱动的模型。
优点:
(1)强迫开发人员采用规范的方法。
(2)严格的规定每一个阶段必须提交的文档。
(3)要求每个阶段的产品必须经过质量保证人员的仔细验证。
缺点:
(1)变更可能带来混乱。
(2)很难适应许多项目开始阶段必然存在的不确定性。
(3)只有在项目接近尾声的时候,才能得到可执行程序。
19.增量过程模型
增量模型以迭代的方式运用瀑布模型。
优点:
(1)在较短时间内向用户提交完成部分工作的产品,逐步增加产品功能。
(2)使用户有足够的时间适应新产品,减少一个全新的软件给用户带来的冲击。
20.快速原型模型
优点在于不带反馈环。
缺点是可能需要建立较多的模型,并且需要快速开发工具或平台的支持。
21.螺旋模型
是一种风险驱动的模型。
优点:
(1)有利于已有软件的重