UML书本资料.docx
- 文档编号:9202237
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:18
- 大小:25.34KB
UML书本资料.docx
《UML书本资料.docx》由会员分享,可在线阅读,更多相关《UML书本资料.docx(18页珍藏版)》请在冰豆网上搜索。
UML书本资料
第一章:
系统建模与分析设计技术的演变
1:
面向对象技术是软件工程的一个重要分支,也是当今软件开发的主流方法。
系统建模与分析设计是研究和应用如何以系统、规范化、可度量的方法开发、运用和维护软件的一种层次化技术,包括过程,方法和工具三个要素。
2:
软件的概念和特点:
软件是人们对客观世界中问题空间与解空间的具体描述,是客观事物的一种反映,是知识的提炼和“固化”。
形象一点说,软件就是程序以及开发、使用所需要的所用文档,即:
软件=程序+文档。
3:
软件危机产生的原因主要有两个:
一个与软件本身的特点有关,另一个是与软件开发和维护的方法不正确有关。
4:
(填空)软件工程把软件的生产过程分为需求分析、系统分析、系统设计、功能设计、实现、测试、运行和维护、等几个主要阶段,并按各个阶段进行实施,使生产出的产品可以较有效地控制软件危机现象。
5:
(简答题)软件工程的基础是一些软件开发的指导性原则:
(1)变动的软件需求。
(2)稳妥的设计方法。
(往面向结构、面向对象。
数据结构方面展开)
(3)高效的软件开发支持技术。
(4)有效的过程管理。
6:
(简答)软件开发模型是软件开发全部过程、活动和任务的活动框架。
(1)软件开发模型能清晰、直观地表达开发全过程
(2)明确规定了要完成的主要活动和任务
(3)可以作为软件项目开发工作的基础
7:
采用合适的开发方法:
(1)使用适宜的程序设计语言
(2)组织具有相应技能的开发人员参与
(3)并采用适合的管理方法和手段对整个开发活动的全过程进行有效控制
8:
1970年,W.Royce提出了著名的“瀑布模型”(waterfallmodel)\
9:
瀑布模型就是将软件开发过程中的各项活动规定为按固定顺序连接的若干阶段工作,换句话说,他将软件开发过程划分为若干个相互区别而又被彼此联系的阶段,每个阶段中的工作都以上一个阶段工作的结果为依据,同时为下一个阶段饿工作提供了前提。
10:
瀑布模型分为以下几个阶段:
(1)确定客户需求
(2)定义系统需求
(3)系统分析与设计
(4)系统测试
(5)系统实现与设计
(6)系统调整与改进
(7)系统交付与使用
11:
瀑布模型的不足:
由于各阶段的顺序固定,使得前期阶段工作中造成的差错越到后期阶段所造成的损失和影响就越大,为了纠正它而花费的代价也就越高。
12:
在什么情况下使用瀑布模型:
(1)系统的所用的功能、性能要求客户可以一次性准确交付;
(2)是首次开发的新系统并且淘汰全部老系统。
13:
演化模型也称为原型法模型,对于事先不能完整定义需求的软件项目的开发可以使用演化模型。
14:
为了避免开发项目返工,人们根据客户给出的基本需求,对待开发软件进行首次试验性开发,目的就是探索其可行性,弄清需求,获得有用的反馈信息,以支持软件的最终设计实现。
(目的)
15:
演化模型有那几种形式:
(简答)
(1)丢弃型(名词解释);原型的开发只是为了获得更为清晰的需求反馈信息,达到目的(获得客户认可)后则无需保留。
这种原型往往以演示为目的,与最终产品可以不一致,一般用于用户界面的开发。
(2)样品型;(名词解释)原型规模与最终产品相似,原型仅供研究用
(3)增强式演化型。
(名词解释)原型作为最终产品的一部分,它可满足用户的部分需求,经用户使用后提出精化系统、增强系统能力的需求。
16:
螺旋模型结合了瀑布模型与演化模型的优点,并增加了风险分析。
17:
螺旋模型将其活动划分为:
制定计划、风险分析、实施开发和客户评估。
18:
螺旋模型的工作方式:
循环往复、逐渐完善;每循环往复一次,就表示发出一个更完善的新软件版本。
一般情况下,开发进程会沿着螺旋线继续下去,自内向外逐步延伸,最终得到满意的软件产品。
19:
螺旋模型的缺点:
使用户接受并相信不容易,是该模型需要具有相当丰富的风险评估经验和专业知识,一但项目风险较大而未能及时实现,就会造成很大损失。
20:
(8分)以下几个因素来决定采用何种模型更加适合:
(1)软件规模
(2)软件类型
(3)软件质量要求(简答时,它的三点必须讨论一下)
(4)交付工期
(5)客户需求明确度
(6)投资
(7)可复用性
(8)开发者掌握的资源
21:
(填空)软件定义的基本任务是确定软件系统的工程需要,可以分为软件系统的可行性研究和需求分析两个阶段
22:
模块化程序设计方法
23:
模块化之间的接口应尽可能简明清晰:
(1)单独模块的修改不影响其他模块的功能
(2)模块化具有可修改性、易读性和可验证性
24:
面向对象技术以类为中心的封装、继承、多态性等特性不仅支持软件复用,而且是软件维护工作简单、可靠、有效,可实现软件系统的柔软性制造。
25:
面向对象软件开发方法的意义:
(1)是一种建立在已有的软件开发经验基础上的新的思考方式。
(2)将数据和行为结合成对象
(3)核心是封装
26:
面向对象=对象+类+继承+通信
27:
(填空)面向对象方法用三大重要特性:
封装性、继承性和多态性
28:
对象:
即将客观世界中的实体抽象为问题空间中对象。
每个对象都有其属性和操作,即他的静态特征和动态特征。
属性描述其静态特征,操作描述其动态特征
29:
类:
是一组具有相同属性和相同操作的对象的集合,是对象的抽象,它抽象的描述了属于该类的全部对象的属性和操作。
30:
封装的目的:
有效地实现信息隐蔽和布局化
31:
封装:
是指把相关的数据(属性)和对这些数据的操作结合在一起,组成一个独立的对象
32:
继承:
是指子类(也称为派生类、特化类)可以自动拥有其父类(也称为基类、泛化类、超类)的全部属性与操作,即一个类可以定义为另一个更一般的类的特殊情况。
33:
在面向对象系统中,要实现对象类之间的通信和任务传递,采用的方法是消息传递。
34:
消息通常由消息名、接受消息的对象识别名、调用操作名、输入信息、输出信息等组成。
35:
多态性:
是指同一个消息被不同的对象接受时,可产生不同的动作或执行结果。
36:
多态的优点:
为软件的结构设计提供了灵活性,减少了通信冗余,而且显著提高了软件的可复用性和可扩充性。
37:
面向对象系统的开发过程以体系结构为中心,以用例为驱动,是一个反复、渐增的过程。
第二章:
统一建模语言UML
1:
UML利用若干视图从不同角度来观察和描述一个软件系统的额体系结构,从某个角度观察到的系统就构成了系统的一个视图。
2:
每个视图都是整个系统描述的一个投影,说明系统的某个特殊侧面,若干个不同的视图可以完整地描述所建造的系统。
3:
UML可以从5种视图来观察系统:
(1)用例视图
作用:
描述系统的功能需求,找到用例和执行者
重要性:
系统的中心,他决定了其他视图的开发,用于确认和最终验证系统
(2)逻辑视图
作用:
描述如何实现系统内部的功能
重要性:
描述系统的静态结构和因发信息而出现的动态协作关系
(3)构件视图
作用:
描述系统代码构件组织和实现模块以及他们之间的依赖关系
重要性:
描述系统如何划分软件构件,如何进行编程
(4)进程视图
作用:
描述系统并发性,比处理这些线程间的通信和同步
(5)配置视图
重要性:
描述硬件设备的连接和哪个程序或对象驻留在哪台计算机上执行。
4:
用例视图时中心,它的内容决定了其它视图的开发,用例视图还用于确认和最终验证系统。
5:
UML分析和设计模型由两大类(静态模型、动态模型)10种图表示。
6:
静态模型:
由类图、对象图、包图、构件图和配置图组成。
7:
动态模型图:
由活动图、顺序图、状态图组成。
8:
用例模型:
描述的是外部执行者所理解的系统功能。
9:
主要用于需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明
了开发者和用户对规格说明达成的共识。
10:
类图:
是用类和他们之间的关系描述系统的一种图示,展示了系统中的类的静态结构和类与类之间的相互联系,表示一个系统的逻辑结构。
11:
类图是构建其他图的基础。
12:
UML中的包是一种组合机制
13:
包:
就是将许多类集合成一个更高层次的单位,形成一个高聚、低耦合的类的集合
14:
包是为了降低系统的复杂性,包图是维护和控制系统的总体结构的重要建模工具。
15:
构件图:
又称为组件图,显示代码本身的逻辑结构,他描述系统中存在的软件以及它们之间的依赖关系。
构件图的元素有构件、依赖关系和界面
16:
配置图描述了系统中的硬件和软件的物理配置情况和系统结构,显示系统运行时刻的结构。
17:
顺序图:
用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。
18:
顺序图存在两个轴:
水平轴表示不同的对象,垂直轴表示时间。
顺序图中的对象用一个带有锤直虚线的矩形表示,并标有对象名和类名。
垂直虚线是对象的生命线,用于表示在某断时间内对象的存在的。
19:
状态图:
用来描述一个特定对象的所有可能的状态及其引起状态迁移的事件
20:
事件:
一条消息或者是满足了某些条件
21:
状态迁移:
状态的改变称为迁移
22:
迁移动作:
与状态迁移相关的动作,指出状态迁移是时应做什么
23:
状态图着重描述对象的状态变化以及触发状态变化的事件,交互模型(顺序图和合作图)则描述对象之间的动态交互行为。
活动图描述系统中各种活动的执行顺序,刻画一个方法中所要进行的各项活动的执行流程。
24:
在UML中,一个系统体系结构层次可以有两种描述方式:
基于模型的系统体系结构层次和基本子系统的系统体系结构层次。
25:
UML中的扩展机制包括三种:
够造型、标记值和约束。
26:
够造型是一种优秀的扩展机制,(目的)它可以有效地防止UML变得复杂,实现了必要的扩展和调整
27:
够造型的表达方式:
(1)又双尖括号中的字符串表示构造型
(2)构造型一般与类名写在一起
(3)构造型也可以作为类内操作的分类标识。
28:
表机值是特性规格说明,是UML的扩充,用来描述模型的特性:
(1)标记名由字符串表示
(2)用符号“=”给标记赋值
(3)一个模型元素可以有多少个标记值描述其特性
(4)一组标记和所赋的值用等号相连,放在花括号“{}”中
(5)标记值一般在类后面书写
29:
约束允许增加新的规则或修改现有的规则。
约束规定某个条件或命题必须保持为真,否则该模型表示的系统无效
(1)约束由放在花括号“{}”中的一个文字串表示。
(2)对于单个模型元素可以将约束写在其附近。
(3)对于两个模型元素之间的约束,可以写在两个元素之间的虚箭头线上。
30:
(简答题)UML软件开发过程的基本特征:
以用例驱动开发过程,以系统体系结构为中心,以质量控制和风险管理为目标,采用反复(迭代、循环)、渐增式的螺旋上升式开发过程。
31:
以质量控制和风险管理为目标
32:
在开发过程中应做到:
(1)用质量目标和质量指标衡量软件系统的质量
(2)每一个阶段或反复迭代(循环)后,都要进行质量评价
(3)将评估结果作为下一次反复迭代(循环)的输入
(4)使用反复迭代的过程就是提供连续的反馈,这些反馈改善了最终产品,保证了系统的质量而且改善了过程本身。
第3章:
需求分析与用例建模
1:
软件项目开发的第一步是对项目进行可行性研究与风险分析,明确待开发项目的意义和价值,明确是否要开发此项目。
2:
UML软件开发过程的基本特征是以用例驱动软件开发全过程,用例将影响开发过程的所有阶段和视图。
3:
经济可行性研究主要进行成本、效益分析。
评估项目开发成本,估算开发成本是否会超出项目可能得到的全部利润,并分析该项目的开发是否会对其他项目的开发和利润产生影响。
4:
(填空)UML的面向对象系统开发过程以体系结构为中心,以用例图为驱动,是一个反复、渐增的过程
5:
(简答题)用例建模的主要目标是:
(1)将需求规约变为可视化模型,并得到用户确认。
(2)给出清晰、一致关于系统做什么的描述,确认系统的功能要求
(3)提供从系统需求到系统分析、设计、实现各阶段的度量标准
(4)为最终系统测试提供基准,据此验证系统是否到达功能要求
(5)为项目目标进度管理和风险管理提供依据
5:
用例模型可由若干幅用例图组成,一副用例图包含的模型元素有系统、执行者、用例,以及他们之间的不同关系,如继承、关联、依赖等。
6:
我们指的系统是特指基于计算机的用于解决某个特定问题领域的软硬件系统。
7:
系统的范围是指系统问题域的目标、任务、规模及系统提供的功能和服务。
8:
系统的边界是指一个系统的所有元素与系统以外的事物的分界线。
9:
客户需求分析的首要任务就是要确定系统的范围和边界,将系统内部元素与系统外部的事物划分开。
10:
(名词解释)执行者:
是指在系统外部与系统交互的人或其他系统,他以某种方式参与系统内部用例的执行。
11:
用例是系统所提供的一个工功能(或者系统提供的某种特定用法)的描述。
12:
UML中用例间的关联主要有4种:
继承关联、扩展关联、包含关联和使用关联
13:
(简答、名词解释)软件需求说明书(SRS)又称软件规格说明书,是作为需求分析的一部分而制定的可交付文件。
SRS把在软件计划中所确定的软件范围加以展开,对所开发软件的功能、性能、用户界面以及运行环境等作出详细说明。
14:
(简答)用例建模的步骤主要包括:
(1)确定系统范围、用例和执行者。
(2)描述用例
(3)用例分类、确定用例之间的关联
(4)建立用例图
(5)定义用例图的层次结构
(6)审核用例模型
15:
(名词解释)活动图实际上也是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流。
16:
活动:
活动的图符用一个两边为弧形的矩形表示
17:
迁移:
用带箭头的实线表示,箭尾连接出发活动(源活动),箭头连接到达活动(目标活动)
18:
并发活动:
并发活动描述活动的同步工作状态。
19:
泳道:
是把指定对象和活动相联系的办法之一,它明确表明哪些对象进行了哪些活动。
第4章:
系统分析与对象类建模
1:
(填空)在系统分析阶段要进一步确定三个系统模型:
对象静态模型、对象动态模型和系统功能模型。
2:
(填空)对象类静态结构模型是系统开发模型的核心模型,实质上是定义系统”做什么“的问题。
3:
对象静态结构模型建模步骤如下:
(1)连线建立网络网
(2)连接线命名
(3)确定关联基数
(4)简化模型
(5)编制相应的文档资料
3:
对象动态结构模型描述了系统的动态行为,他们指明了系统如何响应外部的事件或激励,涉及系统中对象的执行顺序和状态的变化,侧重于系统控制逻辑的描述,实质上是解决系统中的对象”如何做“的问题。
4:
对象动态结构模型包括:
对象状态模型和对象交互行为模型。
5:
建造对象之间交互行为模型。
对象之间的交互行为模型侧重于说明发生于系统执行过程中的一个特定的脚本,主要描述完成系统某个功能时几个对象之间的消息传送的时间序列,通常起始于一个系统外部的输入事件,结束语某个条件的满足或某个系统外部的输出事件。
它可以包括发生在改时间序列期间内系统的所用内部事件,也可以只包括哪些撞到或由系统中某些对象生成的时间。
对象交互行为模型主要由顺序图和合作图组成。
6:
系统功能处理模型是为了满足用户的需要而建立的,描述了系统所提供的功能,着重于系统内部数据的传送与处理
7:
(填空)系统功能处理模型由系统用例模型和活动图进行描述
8:
系统功能模型建模的步骤:
(1)确认功能需求
(2)建活动流程图
(3)以上内容都要确认是否真正符合用户的需求
(4)编制相应的文档资料
9:
类之间的关系有关联、聚集、继承、依赖、细化等。
10:
对象图是类图的一个实例,它描述了类的特定实例以及某一时刻这些实例之间的特定连接。
11:
在短式对象图形符号中,矩形实线方框内的对象名下附加下划线,对象名后可接以冒号和类名,说明该对象所从属的类。
12:
UML中包括:
属性和操作
13:
(必考题--名词解释)在面向对象软件开发项目的系统设计中,总有一些只包含少数几个对象的设计模块在设计图中反复出现,这些模块频繁地出现在各种更大更复杂的系统设计中,我们把这种模块称为“设计模式”
14:
为了清晰、简洁地描述一个复杂的系统,通常都把它分解成若干较小的系统(子系统)如果需要的话,每个较小的系统还可以分解成更小的系统。
形成了一个描述系统的结构层次,将复杂问题简单化,这是一种解决复杂问题的有效方法。
在UML中使用了“包”的机制(什么事“包”的机制),一个包相当于一个子系统。
15:
建立系统的对象类模型步骤如下:
(1)寻找确定对象类
(2)定义类的接口
(3)定义类之间的关系
(4)建立对象类图
(5)建立系统包图
第5章:
系统设计与对象动态交互模型
1:
系统体系结构设计是对系统软、硬件资源做统一规划
2:
一般的应用系统包括用户界面、任务管理和数据管理
3:
任务管理设计:
通过分析对象动态模型,可以发现系统是否具有并发性,从而决定系统采用主从结构设计还是分布式结构设计。
(1)主从结构设计
(2)分布式结构设计
4:
数据管理设计:
(1)定义数据类型
(2)设计数据管理
5:
数据管理设计提供了数据管理系统中存储和检索持久对象的基本结构,它分离了数据管理机构最关心的持久对象数据存储与数据使用问题。
6:
用户界面设计:
主要强调如何操作使用系统,以及系统如何向用户提交信息。
7:
构件化是系统优化的前提,构件具有可复用性。
8:
顺序建模:
注重消息的时间顺序,即对象间消息的发送和接收的顺序。
顺序图还揭示了一个特定场景的交互,即系统执行期间发生在某个时间的对象之间的特定交互,它适合描述实时系统中的时间特性和时间约束。
9:
顺序图的组成成分包括:
对象、生存线、消息和对象激活期。
10:
生存线
11:
同步操作表示同步消息是一个通过操作调用完成的嵌套控制流
12:
异步操作表示异步消息是一个操作调用的非嵌套的控制流。
他们之间的处理过程迥然不同。
13:
进程:
进程是一个动作流,能够与其他进程并发执行。
14:
线程:
线程是进程内部的一个动作流,能够与其他线程并发执行
15:
确定交互和涉及的对象:
(1)启动系统
(2)循环处理付款单
(3)核对销售合同
(4)核对销售合同的销售货物清单
(5)核对库房货物清单
(6)核查预警量
(7)打印库存预警清单
(8)打印出库单
16:
顺序图中对象排序的原则
17:
消息传递
第6章:
系统动态建模——状态模型
1:
状态图描述了系统中一个对象所具有的各种状态和这个对象从一种状态到另一种状态的转换(迁移),以及影响这些状态的事件等。
2:
系统的动态模型主要包括对象交互模型和对象的状态模型。
对象交互模型由顺序图和合作图进行描述。
3:
(简答)状态图和活动图的相同点:
(1)描述图符基本一样
(2)可以描述一个系统或对象在生存期间的状态或行为
(3)可以描述一个系统或对象在多进程操作中的同步与异步操作的并发行为
(4)可以用条件分支图符描述一个系统或对象的行为控制流
4:
状态图与活动图的不同点:
(1)触发一个系统或对象的状态(活动)发生迁移的机制不同
(2)描述多个对象共同完成一个操作的机制不同
5:
一个良好的状态图,应满足一下要求:
(1)能够准确描述系统的动态模型的一个侧面
(2)图中只包含与描述该相关的重要元素
(3)附加有助于理解状态图含义的必要特征信息
6:
业务工作流建模的步骤:
(1)确定对象:
找出负责实现工作流的对象
(2)确定范围(边界):
明确起始状态和结束状态
(3)确定活动(动作)序列
(4)确定组合活动状态
(5)确定迁移(动作流):
找出连接这些活动状态或动作状态的迁移
(6)确定工作流中涉及的重要对象
7:
对操作建模的步骤:
(1)确定相关元素:
与该操作有关
(2)确定范围(边界)
(3)确定活动(动作)序列
(4)仅在需要时。
利用条件分支来说明路径和迭代
(5)描述同步与并发
第7章:
系统体系结构建模
1:
UML提供两种系统结构描述图:
构件图和配置图。
2:
构件图描述系统中的不同物理构件及其相互之间的联系,表达系统代码本身的结构。
配置图由结点构成,结点代表系统的硬件,构件在结点上驻留并执行。
配置图描述系统软件构件与硬件之间的联系,它表达的是运行时的体统结构。
3:
(名词解释)软件系统体系结构:
就是对系统的用例、类、对象、接口、以及相互间的交互和协作进行描述。
4:
硬件系统体系结构:
对系统的构件、结点的配置进行描述
5:
软件系统体系结构模型的作用是:
(1)指出系统应该具有的功能
(2)完成这些功能将涉及哪些类,这些类之间如何相互联系
(3)类和他们的对象如何协作才能实现这些功能
(4)指明系统中各功能实现的先后时间顺序
(5)根据软件系统体系结构模型,制定出相应的开发进度计划
6:
一个局域网应用系统或Internet互联网应用系统设备的配置模型图的一般建模步骤如下:
(1)确定结点
(2)确定驻留构件
(3)注明结点性质
(4)确定结点之间的联系
(5)绘制配置图
7:
软件构件分为源代码构件、二进制代码构件、可执行代码构件
8:
配置图的基本元素有结点、构件、对象、连接、依赖等。
第8章:
设计模式及其应用
1:
模式由特定的环境、问题以及解决方方案三个基本要素组成
设计模式:
广义上讲,设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。
从狭义的角度理解,设计模式就是对特定问题的描述或解决方案,往往直接对应一段程序代码。
2:
设计模式的作用和研究意义表现:
(1)优化的设计经验
(2)极高的复用性
(3)丰富的表达能力
(4)极低的耦合性
3:
(填空)按照模式的目的将设计模式分为创建、结构型和行为型。
4:
通常单例模式适合在下列情况下中使用
(1)当类只能有一个实例而且客户可以从众所周知的访问点访问它时。
(2)当这个唯一实例通过子类化并且是可扩展的,客户无需更改代码就能使用一个扩展的实例时。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 书本 资料