最新安徽工业大学《UML系统建模与分析设计》复习资料

  • 格式:doc
  • 大小:957.50 KB
  • 文档页数:45

《论述》基于UML的软件开发的一般过程答:UML是按OO思想进行系统建模时使用的一组表示法,它并不对采用何种OO分析、设计以及开发过程模型构成限制。

基于UML的软件开发通常是以体系结构为中心,用例驱动的迭代和增量式开发,并结合职责分配模式进行具体设计。

开发过程可以包括计划和细化、迭代的构造和实施3大阶段。

在经过一个初步的计划和细化阶段后,进入若干迭代构造开发周期,每个周期都包含分析、设计、构造和测试步骤。

(1)计划和细化:通过各种传统的需求获取手段(调查、访谈、原型等)得出系统目标、系统功能和系统属性,撰写系统规格说明。

基于参与者和外部事件(动宾词组)构建用例,以增进对领域过程和功能需求的理解《做什么》。

按照风险、业务主线及对体系结构的影响程度(系统属性)划分用例的优先级,并据此决定用例的时间调度。

对高优先用例采用扩展格式细化。

同时建立概念模型草案、系统体系结构草案。

(2)分析阶段:根据当前周期的用例描述,采用概念目录列表、非正式分析或事务模式,识别出相关概念,建立初始概念模型,根据通用关联列表和信息存储的需要,为概念模型添加关联和属性。

将用例分解为系统事件,并对应系统操作,建立系统顺序图;分析系统操作被调用后系统状态(概念)的变化,为系统操作建立契约,进一步理解系统行为《做的效果》。

(3)设计阶段:设计一个合理的体系结构,建立真实用例。

针对每个系统操作,使用操作契约和契约的后置条件以及用例描述文档作为起点,按照职责分配模式或BCE模式为对象(来自概念模型)分配职责,通过协作图体现对象间的交互《怎么做》。

同时参照概念模型和协作图中的消息,建立设计类图,并根据可见性要求设计关联(4)构造和测试阶段:从设计类图创建类的定义(属性和方法原型),根据协作图创建方法实现。

用OOPL实现设计制品到代码的映射,对系统进行相关的测试。

进入下一个迭代周期,在制品同步以后,识别更多的需求,选取所需开发的用例,更新用例图,扩展概念模型,并运用泛化、包和聚合等技术概括日益增多新概念,拓展系统顺序图和系统操作契约;运用更多的职责分配模式进行设计(并根据需要设计与外部系统、其他子系统、持久化设施的交互机制);进一步构造并测试。

《论述》:请谈一谈对OOD中“一个中心”:开闭原则(OCP),“两个基本点”:高内聚,低耦合,“四项基本原则”:Liskov替换原则(L SP),依赖倒置原则(DIP),接口分离原则(ISP),单一职责原则(SRP)的理解开闭原则(OCP)OO中最重要的设计原则,指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的低耦合度:是在设计过程要记住的一个原则,它是一个时刻需要注意的隐含设计目标。

是一个检验标准。

高聚合度:确保将复杂性保持在可控制的范围内,也是一个检验标准。

Liskov替换原则子类可以替换父类出现在父类能出现的任何地方. 软件实体如果使用的是一个基类,那么一定适用于其子类,而且它根本不能察觉出基类对象和子类对象的区别。

依赖倒置原则–依赖关系应该是尽量依赖接口(或抽象)类,而不是依赖于具体类. 即针对接口编程,不要针对实现编程。

接口分离原则一个类对另外一个类的依赖是建立在最小的接口上。

设计时采用多个与特定客户类(Client)有关的接口比采用一个通用接口更好.单一职责原则:就一个类而言,应该有且仅有一个引起它变化的原因。

《论述》前5个常用GRAS P职责分配模式的名称、要点或意图专家(expert):将职责分配给信息专家——掌握为了履行职责所必需的信息的类(谁懂的多就让谁干)创建者(creator):大的对象有责任创建小的对象,这是OOD/P中最常见的任务。

高聚合度或高内聚(high cohesion):是一个检验标准,用于判断一个类中的各个职责之间相关程度和集中程度(可重用性的内因)。

低耦合度或低耦合(low coupling):是一个检验标准,用于判断类间依赖程度是否较小(可重用性的外在表现)。

控制者(controller):谁来统一协调处理一个用例的各个系统事件,以使状态信息保持一致?《论述》后4个常用GRAS P职责分配模式的名称、要点或意图•多态:当相关的可选择的方法或行为随着类型变化时,将行为的职责——使用多态(Polymorphism)的操作——分配给那些行为变化的类型•纯虚构:给一个人造类分配一组高度内聚的职责。

人造类不代表问题领域的任何事物——它只是纯虚构的,为了支持高度的内聚性、低耦合和重用。

这个虚构物的设计是非常干净的或纯的——因此这是一个纯虚构。

如持久存储代理。

•中介者:将职责分配给一个中间对象以便在其他构件或服务之间进行仲裁,这样这些构件或服务没有被直接耦合。

这个中间对象(intermediary) 在其他构件或服务间创建一个中介者(Indirection)。

如适配器、、观察者模式。

•“不要和陌生人讲话”:分配职责给一个客户端的直接对象以使它与一个间接对象进行协作,这样客户端就无需知道这个间接对象。

目的是为了避免将一个客户端同间接对象发生信息耦合和避免直接对象的内部描述。

第1章系统建模与分析设计技术的演变**************一、选择题ACDB1.封装是指把对象的( A )结合在一起,组成一个独立的对象。

A.属性和操作B.信息流C.消息和事件D.数据的集合2.封装是一种( C )技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。

A.工程化B.系统维护C.信息隐蔽D.产生对象3.面向对象方法中的( D )机制使子类可以自动地拥有(复制)父类全部属性和操作。

A.约束B.对象映射C.信息隐蔽D.继承4.使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是( B )。

A.继承 B. 多态性 C. 约束 D. 接口二、填空题6.软件生存周期由(软件定义)、(软件开发)和(软件使用与维护)三部分组成。

8.面向对象技术采用以类为中心的(封装)、(继承)、(多态)等不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造。

《简答》软件过程模型的含义软件过程(Software Engineering Process)是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

《套路》通常使用生命周期模型简洁地描述软件过程。

生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。

请指出三种以上现实生活中的常用模型,并说明它们分别在各自的领域中发挥了什么样的作用。

1)电路图:电子产品设计、生产、维修2)园区沙盘:直观、立体化地展示园区的景观、布局3)地图:导航、指路等请简要说明建模的意义和建模的原则。

建议能够帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化在建模时应遵循以下原则:选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型是不充分的。

对每个重要的系统最好用一组几乎独立的模型去处理__________________________________________________ 第2章统一建模语言UML *******************一、选择题ABCDB__________________________________________________1.UML的软件以( A )为中心,以系统体系结构为主线,采用循环、迭代、渐增的方式进行开发。

A.用例B.对象C.类D.程序2.UML的( B )模型图由类图、对象图、包图、构件图和配置图组成。

A.用例B.静态C.动态D.系统3.UML的( C )模型图由活动图、顺序图、状态图和合作图组成。

A.用例B.静态C.动态D.系统4.UML的最终产物就是最后提交的可执行的软件系统和( D )。

A.用户手册B.类图C.动态图D.相应的软件文档资料5.在UML的需求分析建模中,( B )模型图必须与用户反复交流并加以确认。

A.配置B.用例C.包D.动态二、填空题6.UML分析和设计模型由三类模型图表示。

三类模型图是:(用例)模型图、(静态)模型图和(动态)模型图。

8.UML开发过程是一种二维结构软件开发过程,软件项目开发过程流包括的核心工作内容是:(分析)、(设计)、(实现)、(测试)和(配置)。

9.UML中的五个不同的视图可以完整地描述出所建造的系统,这五种视图是(用例)视图、(逻辑)视图、(构件)视图、(进程)视图和(配置)视图10.UML中有10种基本图可以完整地描述出所建造的系统,这10种图是(用例图;;;类图、对象图、包图、构件图、配置图;;;;活动图、顺序图、状态图,合作图)四、综合(22、24、33)《简答》22.UML软件开发过程的特征是什么?UML软件开发的基本特征是:以用例驱动开发过程,以系统体系结构为中心,以质量控制和风险管理为目标,采用反复(迭代、循环)、渐增式的螺旋上升式开发过程。

《简答》24.UML中的类图建模的目的与意义是什么? 《名正言顺》《事物是普遍联系的》类图是用类和它们之间的关系描述系统的一种图示,展示了系统中类的静态结构和类与类之间的相互联系,表示一个系统的逻辑结构。

类图是构件其他图的基础,没有类图,也就没有状态图、合作图等其他图,也就无法表示系统的其他各个方面。

《简答》33.UML中的顺序图建模目的与意义是什么?顺序图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。

作为动态模型制品之一,顺序图可以描述系统的动态行为和控制结构。

通过描述对象间动态合作关系,显示对象之间的交互过程以及交互顺序,同时描述了为满足用例要求所进行的活动以及活动间的约束关系。

《简答》请说明蓝图和草图的区别,并简单描述其适用的场景。

蓝图一般是指采用CASE工具绘制的、正式的、规范的UML模型;而草图则通常是指手工绘制的、规范度较低的在纸张的UML模型。

对于局部的、重要性不高的、共享范围较小的UML模型,直接将草图扫描到电脑存档即可;对于全局的、重要性高的、高度共享的,在草图的基础上用CASE工具绘制成为正式的蓝图,并将其纳入统一的模型管理中第3章需求分析与用例建模************一、选择BACDDAA1.可行性研究分析包括经济可行性分析、技术可行性分析和( B )。

A.风险可行性分析B.法律可行性分析C.资源可行性分析D.效益可行性分析2.UML的客户需求分析模型包括( A )模型、类图、对象图和活动图组成。

A.用例B.静态C.动态D.系统3.UML客户需求分析使用的CRC卡上“责任”一栏的内容主要描述类的( C )和操作。