UML各章习题要点_第1页
UML各章习题要点_第2页
UML各章习题要点_第3页
UML各章习题要点_第4页
UML各章习题要点_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 1、 2章 面向对象与UML1 简述统一建模语言 (UML)统一建模语言(UML) 是一种绘制软件蓝图的标准语言。可以用UML 对密集型软件系统的制品进行可视化详述和文档化。 UML 是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言( 1 分) 。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计( 1 分) ,还支持从需求分析开始的软件开发的全过程( 1分) 。 UML 的作用是用图的形式从静态和动态方面来全面描述将要开发的系统( 2 分) 。2 .简述面向对象分析方法(OOA)的5个基本步骤1) 、识别对象,识别对象包括标识潜在的对象和筛

2、选对象两步( 1 分)2) 、识别对象的属性(1 分)3) 、识别对象的行为(1 分)4) 、识别对象所属的类( 1 分)5) 、定义主题词( 1 分)3、什么是高内聚度?高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。 一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。包括两个含义:一、 不要给一个类分派太多的职责, 在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。二、不相关的职责不要分派给同一个类。4、什么是对象间的可见性?答:可见性( Visibility )指的是一个对象能够 “看到 ” 或者引用另一个对象的能力。5、领域建模的

3、步骤有哪些?答案:列出候选的概念类;画出领域模型图;加入概念类间的关联;加入概念类的属性。6、什么是软件生命周期?软件生命周期 (SDLC , Systems Development Life Cycle) 是软件的产生直到报废或停止使用的生命周期,周期内包括问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、 维护升级到废弃等阶段。 这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。7、什么是软件开发生命期?软件开发生命期是指软件产品从考虑其概念开始,到该产品交付使用为止的整

4、个时期。一般包括概念阶段,需求阶段,设计阶段,实现阶段,测试阶段,安装阶段及交付阶段。这些阶段可以有重复,执行时也可以有迭代。8、 UML 语言定义了五种类型不同的图,把它们有机的结合起来可以描述系统的所有视图,请列举出这些图的名称,简要描述它们的作用,并指出每类图各包括哪些图?用例图(Use case diagram) 从用户角度描述系统功能,并指出各功能的操作者。静态图(Static diagram) ,表示系统的静态结构。包括类图、对象图、包图。行为图(Behavior diagram) , 描述系统的动态模型和组成对象间的活动交互关系。 包括状态图、活动图。交互图(Interactiv

5、e diagram) ,描述对象间的交互关系。包括顺序图、协作图。实现图( Implementation diagram ) , 用于描述系统的物理实现。包括构件图、部件图。9、请分点叙述UML 的特点。(1) 统一标准。 UML 统一了 Booch 、 OMT 和 OOSE 等方法中的基本概念,已成为 OMG 的 正式标准,提供了标准的面向对象的模型元素的定义和表示。(2) 面向对象。 UML 吸取了面向对象技术领域中其他流派的长处。 UML 符号表示考虑了各种方法的图形表示, 删掉了大量易引起混乱的、 多余的和极少使用的符号, 也添加了一些新 符号。(3) 可视化、表示能力强。系统的逻辑模

6、型或实现模型都能用 UML 模型清晰的表示,可用 于复杂软件系统的建模。(4) 独立于过程。 UML 是系统建模语言,独立于开发过程。(5) 易掌握、易用。由于UML 的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。10、简述UML 的 9 种图。答案:(6) 1 )用例图:用例图展现了一组用例、参与者以及它们间的关系。可以用用例图描述系统的静态使用情况。在对系统行为组织和建模方面,用例图的是相当重要的。(7) 2 )类图:类图显示了一组类、接口、协作以及它们之间的关系。(8) 3 )对象图:对象图展示了一组对象及它们间的关系。用对象图说明类图中所反应的事物实例的数据结构和静态快照

7、。 对象图表达了系统的静态设计视图或静态过程视图, 除了现实 和原型方面的因素外,它与类图作用是相同的。(9) 4 )交互图:交互图展现了按一定的目的进行的一种交互,它由在一个上下文中的一组对象及它们间交互的信息组成。 交互图也可用于描述一个用例的行为。 顺序图和协作图都是交互图,顺序图和协作图可以相互转换。顺序图:展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。协作图: 展现了一组对象, 这组对象间的连接以及这组对象收发的消息。 它强调收发消息的对象的结构组织,按组织结构对控制流建模。(10) 5 )状态图:展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态

8、间的转移。 一个状态图描述了一个状态机,用状态图说明系统的动态视图。 它对于接口、类或协作的行为建模尤为重要,可用它描述对象的生命周期。(11) 6 )活动图:活动图是一种特殊的状态图,描述需要做的活动、执行这些活动的顺序以及工作流(完成工作所需要的步骤) 。它对于系统的功能建模特别重要,强调对象间的控制流程。高层活动图用于表示需要完成的一些任务,即用于分析用例,理解涉及多个用例的工作流、多线程及并行,显示相互联系的行为整体,还可用于对企业过程建模,对系统的功能建模。低层活动图用于表示类的方法。(12) 7 )构件图(组件图):构件图展现了一组构件之间的组织和依赖,用于对源代码、可执行的发布、

9、物理数据库和可调整的系统建模。(13) 8 )部署图:部署图展现了对运行时处理节点以及其中构件的配署。它描述系统硬件的物理拓扑结构(包括网络布局和构件在网络上的位置),以及在此结构上执行的软件(即运行时软构件在节点中的分布情况) 。用部署图说明系统结构的静态部署视图,即说明分布、交付和安装的物理系统。11、 UML 语言的组成结构:构造元素,规则,公共机制。12、 uml 是由哪 3 个部分组成的,并分别说明他们的作用。构造元素 :包括基本元素、关系和图。这 3 种元素代表了软件系统或业务系统中的某个事物或事物间的关系 ,具有命名、范围、可见性、完整性和执行等属性。规则:对软件系统或业务系统中

10、某些事物的约束或规定。公共机制: 包括详述、修饰、通用划分以及扩展机制,它是指适用用于软件系统或业务系统中每个事物的方法或规则。13、说明模型,视图,图和模型元素之间的区别。模型是对一个对象或物体的简化表示;视图能反应系统某些侧面和特征的多个图的集合;图只能反映系统中某个侧面和特征;模型元素就是用来构成模型的基本符号。14、 UML 通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画。其中) 包 括 交 互 图 (interactive diagram) 、 状 态 图 (statechart diagram ) 与 活 动 图(activity diagram) ,它们从不同的侧面

11、刻画系统的动态行为。A.用例视图B.结构视图C.行为视图D.构件视图 答案.C15、名词解释( 1 )对象:对象是对客观事物的抽象,用于模型化特定的实体;2 )类:类是对对象的抽象,是面向对象模型的最基本的模型元素;( 3 )属性:描述类的所有对象共同特征的一个数据项;( 4 )操作:是对象类的行为特征或动态特征,用于对服务或实体相关的操作建模;( 5 ) 关联: 关联关系是一种事物之间的结构关系, 它是对具有共同的结构特征、行为特性、关系和语义的链接的描述 ;( 6 )泛化:是现实世界中一般性实体与特殊性实体之间的关系;( 7 )聚合:表示事物的部分/整体关系较弱的情况;( 8 )依赖:是两

12、个(或两组)模型元素间的语义联系,依赖是指一个模型元素的变化必影响到另一个模型元素;( 9 )对象的激活期:表示对象执行一个动作的期间,也即对象激活的时间段;( 10 )组合状态:如果一个状态内嵌套了若干个状态,则称该状态为超状态或组合状态;( 11)历史状态:代表上次离开组合状态时的最后一个活动子状态;( 12 ) 组件: 是系统的物理的可替换的单位, 它把系统的实现打包, 并提供一组接口的实现。16、说说UML 模型元素的组成。在 UML 中,模型元素可以分为结构元素、行为元素、分组元素和注释元素等四大类:1) 结构元素是UML 模型的静态部分,主要用来描述概念或者物理元素,包括类、接口、

13、协作、用例、主动类、构件和结点 7 种元素;2) 行为元素是UML模型的动态部分,它包括交互和状态机;3) 分组元素是UML模型的组织部分。最主要的分组元素是包,它是一种用于把模型元素组织成组的元素,结构元素、行为元素和其他的分组元素都可以放进包内;4) 注释元素是UML模型的解释部分,它们用来描述和标注模型的任何元素。通常可以用注释修饰带有约束或者解释的图。17、请简要阐述在软件开发过程中使用UML 的必要性以及好处。软件开发是一个很复杂的工程, 而采用统一的建模语言来对软件进行描述能够使客户、 涉众、开发人员对软件能够有更好的共识,也能够有效地降低复杂性。18、请指出UML 的三个主要的特

14、性?1) UML 是一种可视化语言;2) UML 用于建模;3) UML 是一种统一的标准。19、 UML 是一种方法论吗?并简要说明理由。UML 并不是 OOA/D ,也不是方法论,它只是图形表示法,是一种描述模型的标准语言,虽然渗透了许多方法论的基础概念,但是却没有在标准中给出完整的方法指南。20、应用UML 的三种方式是什么?1) UML 作为草图,用于探讨问题或解决方案空间的复杂部分;2) UML 作为蓝图,系统分析员利用 UML 建立能够和客户、程序员以及任何参与程序开发的人员理解的多视角系统蓝图;3) UML 作为编程语言,用 UML 完成软件系统可执行规格说明。21、构造型的作用

15、是什么?构造型用来定义一些特定于某个领域或某个系统的构造块。 用来扩展建模元素, 增加建模元素的语义。构造型表示对现有建模概念的精化,并且定义在UML 的简档之中。简档是一组相关构造型、标记和约束的集合,其目的是使用 UML 专用于特定领域或平台。 UML 预定义了大量构造型, 同时允许用户自行定义构造型, 因此, 在 UML 中构造型提供了扩展机制。22、应用 UML 的三种透视图是什么?1) 概念透视图,用图来描述现实世界或关注领域中的事物;2) 规格说明(软件)透视图,用图来描述软件抽象物或具有规格说明和接口的构建,但并不约定特定的实现;3)实现(软件)透视图,用图来描述特定技术(如Ja

16、va)中的软件实现。23、解释设计模式的概念。回答策略模式;观察者模式;适配器模式需解决的问题和方案。富有经验的面向对象专家(或其它软件开发人员)设计的作为通用原则和惯用法的解决方案 ,用于指导软件设计。如果将它们按问题和解决方案描述的结构形式编篡,然后起一个名字。 这就是设计模式。模式名:策略模式(Strategy)问题:如何设计一种方案可以适应算法或规则的频繁变更?解决方案: 定义一系列的算法, 把他们一个个封装起来, 并且使他们可以互相替换,具体的说就是为每个算法/策略分别定义一个具有公共接口的类。模式名:观察者模式( Composite )问题:如何维护对象之间的一致性?解决方案: 当

17、一个对象的状态发生变化时, 所有依赖于它的对象都得到通知并被自动更新。模式名:适配器模式( Adapter )问题: 如何解决不兼容的接口的问题, 或者说如何提供一个稳定的接口给具有不同接口的相似组件?解决方案:通过一个中间的适配器对象使一个组件的原有接口转变成另一个接口。24、面向对象程序的基本特征。基本特征:抽象、封装、继承、多态。抽象: 抽象是对现实世界信息的简化。 能够通过抽象将需要的事物进行简化、 将事物特征进行概括、将抽象模型组织为层次结构、使软件重用得到保证。封装: 封装就是把对象的状态和行为绑到一起的机制, 使对象形成一个独立的整体, 并且尽可能地隐藏对象的内部细节。封装有两个

18、含义:一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体对象的私有属性只能够由对象的两个行为来修改和读取。 二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。继承: 继承是指特殊类的对象拥有其一般类的属性和行为。继承意味着 “自动地拥有” ,即在特殊类中不必重新对已经在一般类中定义过的属性和行为进行定义, 而是特殊类自动地、 隐含地拥有其一般类的属性和行为。多态: 多态是指两个或多个属于不同类的对象, 对于同一个消息或方法调用所做出不同响应的能力。25、 UML 中模型元素的主要关系 。UML 中主要包含 4 种关系,分别是依赖、关联、泛化和实现。依赖关系指的是两个

19、事物之间的一种语义关系, 当其中一个事物 (独立事物) 发生变化就会影响另外一个事物(依赖事物)的语义;关联关系是一种事物之间的结构关系;泛化关系是事物之间的一种特殊/ 一般关系,特殊元素(子元素)的对象,也就是我们在面向对象中常常提起的继承。实现关系:实现关系也是UML 元素之间的一种语义关系,它描述了一组操作的规约和一组对操作的具体实现之间的语义关系。26、 请指出三种以上现实生活中的常用模型, 并说明它们分别在各自的领域中发挥了什么样的作用。1)电路图:电子产品设计、生产、维修。2)园区沙盘:直观、立体化地展示园区的景观、布局。3)地图:导航、指路等。27、请说明蓝图和草图的区别,并简单

20、描述其适用的场景。蓝图一般是指采用 CASE工具绘制的、正式的、规范的 UML模型;而草图则通常是指手工 绘制的、规范度较低的在纸张的UML模型。对于局部的、重要性不高的、共享范围较小的 UML模型,直接将草图扫描到电脑存档即可; 对于全局的、重要性高的、高度共享的,在草图的基础上用CASE工具绘制成为正式的蓝图,并将其纳入统一的模型管理中。28、说明UML适用的建模领域,以及其作用和主要的参与人员。业务建模;用来加强对业务领域的了解,以领域专家为主,需求分析人员是主力,系统分析员、架构师可参与。需求模型;用来加强需求了解,便于技术决策,以需求分析人员为主,系统分析员是主力, 领域专家提供指导

21、,架构师和资深开发人员参与。设计模型;包括高层设计模型和详细设计模型。高层设计模型以架构师为主,系统分析员从需求方面提供支持,资深开发人员从技术实现方面提供支持。详细设计模型则以资深开发人员为主,架构师提供指导。实现模型;用于描述系统构建与部署;人员包括架构师、资深开发人员(设计人员);以资深开发人员(设计人员)为主,架构师提供总体指导。数据库模型:用于描述系统数据存储结构;人员包括架构师、数据库开发人员、资深开发人员(设计人员);以数据库开发人员为主,架构师提供指导,资深开发人员(设计人员)予 以配合。30、请列举出三个以上 UML中的事物构造块,并说明适合用来表示“系统向用户提供的功 能”

22、的构造块是什么。结构事物、行为事物、分组事物、注释事物。适合用来表示“系统向用户提供的功能”的构造块是用例。31、如果你想对一个类的意义进行描述,那么应该采用()?请简要说明原因。A.标记值 B.规格描述 C.注释D.构造型 C标记值是用来为事物添加新特性的;规格描述用来对构造块的语法和语义进行文字叙述,使得可视化视图和文字视图的分离;构造型是用来增加新事物的。而对于类的意义进行简单描述,最合适的显然还是注释。32、可以包含其它事物构造块的构造块是什么?它属于什么类型的事物构造块? 可以包含其它事物构造块的构造块是包,它属于分组事物构造块。33、在UML中定义了哪几种可见性规则?其中packa

23、ge的含义是什么?定义了 public、 private、 protected、 package, package是指只有声明在同个包中的元素才能 够看到该元素。34、规格描述是一种事物构造块吗?如果不是,它是什么?它的作用是什么?规格描述不是事物构造块,它是UML的公共机制,用来对构造块的语法和语义进行文字叙述,使得可视化视图和文字视图的分离。35、标记值的作用是什么?它的表示法和约束的表示法有什么异同?在 分它们?标记值是用来为事物添加新特性的。 约束的表示法和标记值法类似, 的串来表示,不过它是不能够放在元素中的,而是放在相关的元素附近。36、构造型的作用是什么?如果我们采用一个自定义的

24、图标来表示它,UML模型中如何区都是使用花括号括起来那么可能遇到的主要问题是什么?用自定义的图标有两个问题:构造型用来定义一些特定于某个领域或某个系统的构造块。 是容易产生歧义,二是建模工具难以支持。37、约束有两种表示法,它们分别是什么?约束的内容可以以自由形式的文本来表示,也可以使用UML的OCL (对象约束语言)来精确定义。39、在“ 4+1”视图中,这个1表示的是什么,它有什么作用。这个1是用例视图。它是最基本的需求分析模型,是可被最终用户看到的系统行为的用例组成。常用的模型包括用例图、交互图、状态图、活动图等。4+1”视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开

25、发视图、 场景视图来描述软件体系结构。End心轴1rFunctionalityProgram前即售Software 3H 闻i&m白褶Logical ViewDevelopmentViewScenarios )InlegralarsPerformanceScalabilityProcess View A Physical ViewSystem nginsT5TopologyCommunicalioins40、试写出模块化的完整定义和模块化的实现原则。答:(A)模块化的完整定义包括:(1)模块可分解性;(2)模块可结合性;(3)模块可理解性;(4)模块连贯性;(5) 模块保护性。( B )模块化

26、的实现原则包括:( 1 ) 语言化的模块单元; ( 2) 少量接口; ( 3 ) 小的接口耦合性; ( 4) 显式的接口; ( 5) 信息的隐藏化。41、面向对象方法有哪些主要特点?答:( 1 ) 使人们更好地认识客观世界。 ( 2 ) 能很好地适应需求变化。 ( 3 ) 容易实现软件复用。 ( 4) 系统易于维护和修改。42、 OOA 主要遵循哪些原则?答:( 1 ) 构造和分解相结合的原则。 ( 2) 抽象化和具体化相结合的原则。 ( 3 ) 封装的原则。 ( 4) 相关的原则。 ( 5)行为约束的原则。43、简要介绍一下OOD 体系结构的各个部分及其内容。答:( 1 )设计问题论域部分:

27、设计构造为底层应用建立模型的类和对象,细化面向对象分析结果。( 2 )设计人机交互部分:设计有关接口视图的类和对象,设计用户界面。( 3 )设计任务管理部分:确定系统资源的分配,设计用于系统中类行为控制的对象或类。( 4 )设计数据管理部分:确定持久对象的存储,将对象转换成数据库记录或表格。44、作为一个优良的OOD ,应该具备哪些基本条件?答:( 1 )类和类的继承必须具有高度凝集性。( 2 )类与类之间的耦合应该很松散,子类与父类除外。( 3 )某个类的数据实现细节对于别的类来说应该是隐藏的。( 4 )设计应该具有最优的可重用性。( 5 )尽量使类、对象和方法的定义具有简单性。( 6 )对

28、所设计的类和类族,应注意保持其协议或接口的稳定性。( 7 )类的层次结构设计规模要适度,不应太深或太浅。( 8 )系统整体规模要最小化。45、 UML 有哪些目标?( 1 )易用,表达能力强,能进行可视化建模。( 2 )与具体的实现无关。( 3)与具体的过程无关。( 4 )简单且可扩展,具有扩展和专有化机制,无需对核心概念进行修改。( 5 )为面向对象的设计与开发中涌现出的高级概念提供支持,强调重用。( 6 )与最好的软件工程实践经验集成。( 7 )可升级,具有广阔的适用性和可用性。( 8)有利于面向对象工具的市场增长。46、 UML 中视图和图的关系。UML 的视图都是由一个或多个图组成的,

29、图就是系统架构在某个侧面的表示,所有的图 一起组成了系统的完整视图。47、 UML2.0 提供了多少种图,分别是?14 种 。包图; 组合结构图; 交互概览图; 定时图; 交互图; 类图; 对象图; 部署 图; 组件图; 活动图; 顺序图; 通信图(协作图) ; 状态机图; 用例图;48、 “论述”: 请谈一谈对 OOD 中 “一个中心”: 开闭原则( OCP) , “两个基本点”: 高内聚,低耦合, “四项基本原则” : Liskov 替换原则( LSP) ,依赖倒置原则( DIP ) ,接口分离原则(ISP),单一职责原则(SRP)的理解。开闭原则( OCP ) : OO 中最重要的设计原

30、则,指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的。内聚是一个模块内各个元素彼此结合的紧密程度, 高内聚就是一个模块内各个元素彼此结合的紧密程度高。 所谓高内聚是指一个软件模块是由相关性很强的代码组成, 只负责一项任务,也就是常说的单一责任原则。耦合是一个软件结构内不同模块之间互连程度的度量。 对于低耦合, 粗浅的理解是: 一个完整的系统,模块与模块之间,尽可能的使其独立存在。Liskov 替换原则 :子类可以替换父类出现在父类能出现的任何地方。软件实体如果使用的是一个基类, 那么一定适用于其子类, 而且它根本不能察觉出基类对象和子类对象的区别。依赖倒置原则:依赖关系应该是尽量

31、依赖接口(或抽象)类,而不是依赖于具体类。即针对接口编程,不要针对实现编程。接口分离原则: 一个类对另外一个类的依赖是建立在最小的接口上。 设计时采用多个与特定客户类( Client )有关的接口比采用一个通用接口更好。单一职责原则:就一个类而言,应该有且仅有一个引起它变化的原因。49、事物构造块包括什么?( 1 )结构事物:UML中的名词,模型中的静态部分,描述概念或物理元素。( 2 )行为事物:UML中的动词,模型中的动态部分,是跨越时间和空间的行为。( 3 )分组事物:UML中的容器,用来组织模型,使模型更加结构化。( 4 )注释事物:UML中的解释部分,用来描述模型。50、面向对象分析

32、与设计方法与面向功能(结构化)分析与设计方法的区别是什么?结构化分析是针对数据流建立数据模型, 功能模型, 结构化设计也就是基于数据流的设计方法。面向对象则是模拟人类习惯的思维方式, 使开发软件的方法与过程尽可能的接近人类认识世界解决问题的方法与过程,使描述问题的问题空间与实现解法的解空间在结构上尽可能一致,将数据与施加在该数据之上的操作封装成类来模拟现实生活中的“对象” 。优点:与人习惯的思维方法一致; 稳定性好; 可重用性好; 可维护性好。51、请简要说明建模的意义和建模的原则。建模能够帮助我们按照实际情况或按我们需要的样式对系统进行可视化; 提供一种详细说明系统的结构或行为的方法;给出一

33、个指导系统构造的模板;对我们所做出的决策进行文档化。在建模时应遵循以下原则: 选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响; 每一种模型可以在不同的精度级别上表示; 最好的模型是与现实相联系的;单个模型是不充分的。对每个重要的系统最好用一组几乎独立的模型去处理。第 3 章 RationalRose 概述1、 Rational Rose 可以建立的视图以及这些视图的作用 。使用Rational Rose建立的Rose模型中分别包括 4种视图,分别是用例视图、逻辑视图、构件视图和部署视图;用例视图关注的是系统功能的高层抽象, 适合于对系统进行分析和获取需求, 而不关注于

34、系统的具体实现方法;逻辑视图关注系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持,即在为用户提供服务方面系统所应该提供的功能;构件视图用来描述系统中的各个实现模块以及它们之间的依赖关系;部署视图显示的是系统的实际部署情况, 它是为了便于理解系统如何在一组处理节点上的物理分布。在系统中只包含有一个部署视图。2、 Rational Rose 的特点:( 1 ) 为大型软件工程提供了可塑性和柔韧性极强的解决方案。 ( 2) 支持多种语言。( 3) 为团队开发提供强有力的支持。 ( 4 ) 支持模型的 Internet 的发布。( 5 ) 具有生成使用简单且定制灵活的文档的功能。( 6)

35、 支持关系型数据库的建模。第 4 章 RUP 统一过程1. RUP 统一过程中的四个阶段?1) 初始阶段( 1分)2) 细化阶段( 1分)3) 构造阶段( 1分)4) 提交阶段( 1分)2、统一过程中有哪四个阶段,各阶段需要完成的主要工作有哪些?1)初始阶段:编制简要的愿景文档、 业务案例、 确定范围、 粗略评估成本。2)细化阶段:细化愿景文档、迭代地实现核心构架、 解决高风险的问题、 定义大多数的需求和范围、进一步评估成本。3)构造阶段:迭代地实现系统的其余部分、准备部署。4)提交阶段:beta 测试、部署。3、统一过程中的核心工作流有哪些?各有何作用?答: RUP 中有 9 个核心工作流,

36、分为 6 个核心过程工作流( Core Process Workflows )和 3个核心支持工作流( Core Supporting Workflows ) 。6 个核心过程工作流:商业建模;需求;分析和设计;实现;测试;部署。3 个核心支持工作流:配置和变更管理;项目管理;环境。商业建模( Business Modeling )工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程,角色和责任。需求( Requirement )工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取

37、、组织、文档化;最重要的是理解系统所解决问题的定义和范围。分析和设计( Analysis & Design )工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配, 优化其性能。 分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。实现 ( Implementation ) 工作流的目的包括以层次化的子系统形式定义代码的组织结构;以组件的形式(源文件、二进制文件、可执行文件)实现类和对象;将开发出的组件作为单元进行测试以及集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。测试(Test)工作流要验证对

38、象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。部署 (Deployment ) 工作流的目的是成功的生成版本并将软件分发给最终用户。 部署工作流描述了那些与确保软件产品对最终用户具有可用性相关的活动, 包括: 软件打包、 生成软件本身以外的产品、安装软件、为用户提供帮助。配置和变更管理工作流描绘了如何在多个成员组成的项目中控制大量的产物。 配置和变更管理工作流提供了准则来管理演化系统中的多个变体,跟踪软件创建过程中的版本。软件项目管理(Project Management)平衡各种可能产生冲突的目标,管理风险,克服各种约束

39、并成功交付使用户满意的产品。环境( Environment )工作流的目的是向软件开发组织提供软件开发环境,包括过程和工具。4、什么是增量开发?答:增量开发包括两层意思:1)对复杂的用例分多次迭代,一部分一部分地实现。2)将所有用例按其优先级分别安排在不同的迭代中实现。5、 RUP 的核心思想有哪些?答:短时间的迭代式开发;开发过程中不断进行调整;在早期的迭代中解决高风险和高价值的主要问题;不断与用户衔接,及时得到反馈意见;早期注意构造核心的体系结构 ;早期进入实现和测试,不断进行质量检验;使用用例(use case) ;可视化建模(用 UML ) ;仔细地管理需求;控制变更。6、说说敏捷UP

40、 方法从需求到设计的整个过程,要求说出主要步骤和产出工件?需求阶段:主要实践包括需求讨论会、设想包装练习、计点投票表决等。产出的制品有用例模型、设想、补充性规格材料、词汇表等。设计阶段:主要实践包括敏捷建模、测试驱动开发等。产出的制品有设计模型、软件架构文档、数据模型等。7、逻辑架构是什么?逻辑架构是软件类的宏观组织结构,它将软件类组织为包(或命名空间) 、子系统和层等。 之所以称其为逻辑架构, 是因为并未决定如何在不同的操作系统进程或网络中物理的计算机上对这些元素进行部署(后一种决定是部署架构的一部分) 。8、什么是敏捷开发?敏捷开发是一种以人为核心、迭代、 循序渐进的开发方法。在敏捷开发中

41、, 软件项目的构建被切分成多个子项目, 各个子项目的成果都经过测试, 具备集成和可运行的特征。 换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目, 并分别完成,在此过 程中软件一直处于可使用状态。敏捷开发方法通常应用时间定量的迭代和进化式开发、 使用自适应计划、 提倡增量交付并包含其他提倡敏捷性(快速和灵活的响应变更)的价值和实践9、 MVC 有哪些优点?答:( 1 )各施其职,互不干涉。( 2)有利于开发中的分工。( 3 )有利于组件的重用。10、什么是RUP ,与 UML 什么关系?RUP 描述了如何有效地利用商业的、 可靠的方法开发和部署软件, 是一种开发过程, 特 别适

42、用于大型软件团队开发大型项目。UML 是一种语言,用来描述软件生产过程中要产生的文档,而RUP 则是指导如何产生这些文档以及这些文档要讲述什么的方法。11、 “论述”基于UML 的软件开发的一般过程。答: UML 是按 OO 思想进行系统建模时使用的一组表示法,它并不对采用何种 OO 分 析、 设计以及 开发过程模型构成限制。 基于 UML 的软件开发通常是以体系结构为中心, 用 例驱动的迭代和增量式开发, 并结合职责分配模式进行具体设计。 开发过程可以包括计划和 细化、 迭代的构造和实施3 大阶段。 在经过一个初步的计划和细化阶段后, 进入若干迭代构造开发周期,每个周期都包含分析、设计、构造

43、和测试步骤。( 1)计划和细化:通过各种传统的需求获取手段(调查、访谈、原型等)得出系统目标、系统功能和系统属性,撰写系统规格说明。基于参与者和外部事件(动宾词组)构建用例,以增进对领域过程和功能需求的理解做什么 。按照风险、业务主线及对体系结构 的影响程度(系统属性)划分用例的优先级,并据此决定用例的时间调度。对高优先用例采用扩展格式细化。同时建立概念模型草案、系统体系结构草案。( 2)分析阶段:根据当前周期的用例描述,采用概念目录列表、非正式分析或事务模式,识别出相关概念,建立初始概念模型,根据通用关联列表和信息存储的需要,为概念模型添加关联和属性。将用例分解为系统事件,并对应系统操作,建

44、立系统顺序图;分析系统操作被调用后系统状态(概念)的变化,为系统操作建立契约,进一步理解系统行为做的效果。( 3)设计阶段:设计一个合理的体系结构,建立真实用例。针对每个系统操作,使用操 作契约和契约的后置条件以及用例描述文档作为起点,按照职责分配模式或 BCE 模式为 对象 (来自概念模型) 分配职责, 通过协作图体现对象间的交互 怎么做 。 同时参照概念模型和协作图中的消息,建立设计类图,并根据可见性要求设计关联 。( 4) 构造和测试阶段:从设计类图创建类的定义(属性和方法原型) ,根据协作图创建方 法实现。用 OOPL 实现设计制品到代码的映射,对系统进行相关的测试。进入下一个迭代周期

45、,在制品同步以后, 识别更多的需求,选取所需开发的用例, 更新用例图,扩展概念模型, 并运用泛化、包和聚合等技术概括日益增多新概念,拓展系统顺序图和 系统操作契约;运用更多的职责分配模式进行设计(并根据需要设计与外部系统、其他子系统、持久化设施的交互机制) ;进一步构造并测试。第 5 章 用例图1. 简述用例模型的组成元素以及建模步骤组成元素有:参与者,用例,通信关联,用例规约 (每个0.5)建立用例模型步骤:1) 根据系统边界确定参与者( 1 分)2) 根据每个参与者确定与之相关联的用例( 1 分)3) 对每个用例写出用例规约文档,调整用例模型(优化参与者与参与者之间的关系,用例与用例之间的

46、关系) ( 1 分)2什么是用例图?用例图有什么作用?定义:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的图称为用例图。 ( 2 分)作用: 用例图是从软件需求分析到最终实现的第一步, 它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通( 1 分) 。用例图可视化的表达了系统的需求,具有直观、规范等优点,克服了纯文字性说明的不足( 1 分) 。用例方法是完全从外部来定义系统的,它把需求和设计完全分离开来( 1 分) ,使用户不用关心系统内部是如何完成各种功能的。3、设计一个饮料自动售货机系统,其主要功能是向顾客出售饮料,同时供

47、应商需要向其中 放置饮料,收银员需要向其中放置零钱和收回营业收入。画出该系统的用例图。收回营业收入4、网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的远程网络教学系统”诞生了。远程网络教学系统”的功能需求如下:学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改 教学心得。批准用户注册。系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、1)学生需要登录 远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码, 可与通过 找回密码”功能恢复密码。请画出学生参与者的用例图。

48、2)教师如果忘记密码,可以通过找回密码”功能找回密码。请画出教师参与者的用例图。5、阐述用例对于系统开发人员来说的价值。是用来从用户的观察角度收集系统需求的一项技术,便于分析员与客户和用户交流,使系统更符合用户的需求。6、什么是Use Case间的扩展关联关系?请举例说明。答:扩展关联的基本含义与泛化关联类似, 但是对于扩展Use Case有更多的规则限制, 即基本的Use Case必须声明若干个 扩展点”,而扩展Use Case只能在这些扩展点上增加新 的行为。7、什么是Use Case间的包含关联关系?请举例说明。答:是指一个基本 Use Case的行为包含了另一个 Use Case的行为

49、。8、用例和使用场景之间是什么关系?与协作又是什么关系?用例就是一组相关的成功和失败场景集合,用来描述参与者如何使用系统来实现其目 标。用例实例也就是常说的使用场景”,而协作是用例的实现。9、在用例图中参与者是什么,它属于系统范围之内吗?参与者不是特指人, 是指系统以外的、在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。它不属于系统范围之内。10、用例之间的主要关系。用例之间的关系有包含、扩展和泛化等3种;包含关系:是指用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为自身行为的一部分;扩展关系:在一定条件下,把新的行为加入到已有的用

50、例中,获得的新用例叫做扩展用例,原有的用例叫做基础用例,从扩展用例到基础用例的关系就是扩展关系;泛化关系:用例的泛化指的是一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系。11、请列举出两种以上现代需求分析技术,并简要地说明它们的特点。用例:描绘一个系统外在可见的需求情况,是代表系统中各个项目相关人员(风险承担人,Stakeholder)之间就系统的行为所达成的契约。用户故事:由客户参与编写,说明他们需要系统为他们做什么,一般用客户的术语编写,其长度约为三句话左右。12、为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用

51、的信息管理系统。 主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期 用户管理、房源组合查询等功能。 通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,图是一个用例模型的局部:打开房源信息页闻I登录信息房产经纪人录入房源信息确认提交信息修改房源信息图6-14物业管理系统用例投型局部(1)该模型不符合“用例建模”的思想,存在明显的错误。说明错误所在,并说明应该如 何修改。1)主要错误:用例的分解太细,并没有遵从每个用例为用户传递一个有价值的结果的 原则。在原设计中“打开房源信息页面”、“录入房源信息”、“确认提

52、交信息”都只是一个操作步骤,因此不适合作为用例。2)修改方法:将“打开房源信息页面”、“录入房源信息”、“确认提交信息”合并为“新 增房源信息”。(2)在上图中构造型“include”表示的是什么意思,它与“ extend”之间的区别是什 么?在用例模型中,构造型“include”是用来表示包含关系。它通常用来表示被包含用 例是被多包含用例使用的一个可复用模块,而 extend且通常用来表示对用例的扩展。13、需求分析的目的是什么?需求分析中的典型活动有哪些?答:需求分析的目的是获取需求,得到描述系统所需的用例、业务流程或清晰的正文。需求分析中的典型活动有:(1)获取领域知识。 (2)定义系统

53、功能。 (3)寻找合适的类。(4)建立类的静态模型。 (5)描述对象的动态行为。 (6)验证。(7)给出基 本的用户界面原型。14、用例建模的主要目标有哪些?答:(1)将需求规约变为可视化模型,并得到客户确认。(2)给出清晰、一致的关于系统“做什么”的描述,确定系统的功能要求。(3)提供从功能需求到系统分析、设计、实现各阶段的度量标准。(4)为最终系统测试提供给制,据此验证系统是否达到功能要求。5)为项目目标进度管理和风险管理提供依据。15、用例建模的步骤包括哪些工作?答:( 1 )确定系统的范围、边界、用例、执行者。( 2 )描述用例。( 3 )用例分类、确定用例之间的关联。( 4 )建立用

54、例图。( 5 )定义用例图的层次结构。( 6 )审核用例模型。16、用例与用例图的区别。用例可以是一组连续的操作, 也可以是一个特定功能的模块。 它是一个叙述型的文档, 来 描述参与者使用系统完成的事件。用例图描述的是系统的参与者与系统用例之间的关系。17、用例图说明了什么?它出现在Unified Process 的哪个阶段?用例图说明了系统参与者与系统用例之间的关系,主要在需求分析阶段使用。18、用例图的4 个主要组成部分。用例、参与者、系统、关系 。19、参与者表示什么?参与者是系统外的一个实体,它代表了与系统交互的用户、设备或另一个系统。20、用例表示什么?用例可以是一组连续的操作,也可

55、以是一个特定功能的模块,用来描述参与者使用系 统 完成的事件,是系统期望系统具备的功能,它定义了系统的行为特征。21、解释和比较用例图中的 和 两种关系。包含关系:指一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。扩展用例:它是一种依赖关系,它指定了一个用例可以增强另一个用例的功能,是把新的行为插入到已有用例中的方法。基用例即使没有扩展用例也是完整的,这点与包含关系有所不同。第 6 章 类图1、找出下面场景中的概念类。( 1 ) .顾客带着购买的商品或服务来到 POS 收款台;( 2 ) .收款员启动一次销售;4) 3) .收款员输入商品标识;( 4 ) .系统记录商品,并且显示该商品说明,价格,并计算总金额。按一组计价规则计算单价。答案:顾客、POS收款台、收款员、销售、商品标识、商品、商品说明。2、请判断以下类图中的类关系是否合适,并说明理由。参考答案:(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论