《软件工程》教学课件CH9-UML概述.ppt
《《软件工程》教学课件CH9-UML概述.ppt》由会员分享,可在线阅读,更多相关《《软件工程》教学课件CH9-UML概述.ppt(99页珍藏版)》请在三一办公上搜索。
1、UML面向对象分析与设计,UML把Booch,Rumbaugh和Jacobson等各自独立的OOA和OOD方法中最优秀的特色组合成一个统一的方法。UML的特点:统一标准面向对象可视化,表示能力强大独立于过程容易掌握使用,UML的定义,UML定义有两个主要组成部分:语义:用自然语言描述 表示法:定义UML的可视化标准表示符号使用 UML 时,要从不同的角度观察系统,为此定义了概念“视图”。视图是对系统的模型在某方面的投影,注重于系统的某个方面。,结构视图,行为视图,实现视图,环境视图,用例视图,为最终用户做什么,系统静态结构,程序员提供什么,软件组织与管理,系统集成人员如何组织与控制系统,系统工
2、程师如何配置和运行系统,系统拓扑、交付、安装、操作、通信,分析员或测试员,系统任务控制与管理(性能,可伸缩性,吞吐量),行为,结构视图:描述系统的静态结构,可根据它确定重要的设计:类、包和子系统。实现视图:描述处于开发环境中的静态软件成分的组织(源程序、构件、数据文件、可执行程序等)。行为视图:描述系统在运行时的并发性,包括任务、线程、进程及其相互作用。,软件体系结构的 4+1 视图模型,环境视图:描述处于运行环境中的各种可执行程序是如何映射到底层平台或计算结点上的。用例视图:包括若干关键场景或用例。在初始和细化阶段用来帮助发现和设计体系结构。在构造阶段用来验证各种不同视图。在文档中用来表明其
3、他视图是如何工作的。UML分析建模着重系统的用例模型和结构模型,设计建模着重行为模型,实现模型和环境模型上。,体系结构中主要的元素包括:主要的类,如为业务实体建模的类。将行为赋予类的机制,如协同。模式与框架。层次与子系统。接口以及主要的进程控制或线程控制。UML 的三个主要组成元素 基本构造块 组织构造块的规则 运用于整个 UML 的公共机制,UML的构成,UML包括三种基本构造块:事物、关系和图。,UML事物结构事物,类,接口 描述一个类或构件的服务(操作)。协作 描述合作完成某个特定任务的一组类及其关联的集合,用于对使用情形的实现建模。用例 表示系统想要实现的行为,不关心这些行为是怎样实现
4、的。,主动类 它至少拥有一个进程或线程,故能够启动控制活动。,构件 系统中物理 的、可替代的部件。节点 系统在运行 时存在的物理元素。,UML 事物行为事物,交互 由在特定环境中共同完成一定任务的一组对象之间交换的消息组成。,状态机 描述了一个对象或一个交互在生存周期内响应事件所经历的状态序列。,UML 事物分组事物,包,UML 事物注释事物,注释 依附于一个元素或一组元素之上,对其进行约束或解释的简单符号。,UML 关系,依赖 两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。,关联 一种描述一组对象之间连接的结构关系。聚合是一种特殊类型的关联,描述了整体和部分间的结构关系
5、。泛化 一种一般化特殊化的关系。,实现 类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。两种情况出现实现关系:在接口和实现它们的类或构件之间;用例和它们的协作之间。,模型中主要的图形元素,UML 模型的图形,1.用例图,用例图展现了一组用例、参与者以及它们间的关系。可以用用例图描述系统的静态使用情况,它定义了系统的功能需求,但这是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。在对系统行为组织和建模方面,用例图的是相当重要的。,用例规格说明:销售商品,2.类图,类图展示了一组类、接口和协作及它们间的关系。类图没有时间概念,是概念数据模型(如E-R 图)的一种延伸。用类
6、图说明系统的静态结构视图,包含主动类的类图专注于系统的静态处理视图。系统可有多个类图,单个类图仅表达了系统的一个方面,要在高层给出类的主要职责,在低层给出类的属性和操作。,类图是从系统构成角度来描述系统。类的表示:,限定关联,聚合、引用和重复度,关联名,类 1,类 2,角色 1,角色 2,关联类,泛化关系,3.对象图,对象图展示了一组对象及它们间的关系。用对象图说明类图中类的对象实例的数据结构和静态快照,即在某一时刻,一组对象的状态及其关系。对象图表达了系统的静态设计视图或静态过程视图,除了现实和原型的方面因素外,它与类图作用是相同的。,4.包图,包图表明包及其之间的依赖类图。包是对模型中涉及
7、的元素分组所得的结果,是具有特定语义的一个子集,必须保证低耦合、高内聚。广义地讲,包可以包含类、接口、构件、节点、协作、用例等,还可以内嵌其他子包。包之间的访问权限通过输出(输出品)和导入(进口货)设置,虚箭头 从源包到目标包。,5.构件图,构件图展现了一组构件之间的组织和依赖,用于对源代码、可执行的发布、物理数据库等的系统建模。构件图表示系统的静态实现视图。,6.部署图,部署图展现了对运行时处理节点以及其中构件的配置每一节点代表一个计算单元。它描述系统硬件的物理拓扑结构(包括网络布局和构件在网络上的位置),以及在此结构上执行的软件(即运行时软构件在节点中的分布情况)。用部署图说明系统结构的静
8、态环境视图,即说明分布、交付和安装的物理系统。,8.活动图,活动图是一种特殊的状态图,描述要做的活动、执行这些活动的顺序以及工作流。它对于系统的功能建模特别重要,强调对象间的控制流程。高层活动图用于表示任务。即用于分析用例,理解涉及多个用例的工作流、多线程及并行,显示相互联系的行为整体,还可用于业务过程建模,对系统的功能建模。低层活动图用于表示类的方法。,9.状态图,状态图展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。一个状态图描述了一个状态机,用状态图说明系统的动态视图。状态图对于接口、类或协作的行为建模尤为重要,可用它描述用例实例的生存周期。,Project对
9、象的状态图,10.交互图,交互图展现了按一定的目的进行一种交互,它由在一个上下文中的一组对象及它们之间交互的信息组成。交互图可用于描述一个用例的行为。顺序图和协作图都是交互图,它们可以相互转换。如果希望查看单个对象跨用例的行为,要使用状态图。如果希望查看跨用例跨线程的行为,要使用活动图。,10-1 顺序图,顺序图展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。对象表述为虚垂线顶端的矩形小框。垂线是对象的生命线,说明对象的生命。生命线之间的箭头表示消息。消息出现的次序自上而下。消息箭头可以回到同一条生命线,指明自调用,即对象发给自己的消息。,移动电话系统的用例图,移动电话系统的
10、顺序图,10-2 协作图,协作图展现了一组对象,这组对象之间的连接以及这组对象收发的消息。它强调收发消息的对象结构组织,按组织结构对控制流建模。协作图中的协作不是参与者与系统之间的交互,而是系统内部某一个用例中各个对象之间信息传递的方式。消息上所附编号指明执行顺序。,移动电话系统的协作图,*RUP(Rational Unified Process统一开发过程)的分析/设计工作流,分析和设计工作流的目的是研究欲采用的实现环境和系统构件的效用,定义软件的组织结构,把需求获取结果转化为实现规格。为实现这种转化,必须理解需求,采用最佳实现策略将其翻译为系统设计。为此,首先是建立健壮的软件体系结构,设计
11、出易于理解、开发和演进的系统,然后调整这个设计,使之适应实现环境。最后结果是产生一个对象模型,即设计模型。,定义一个初始的体系结构建立一个初始的系统体系结构草图。定义一组初始的重要体系结构元素。一组初始分析机制。系统的初始分层和组织。在当前迭代过程中处理的用例实现。从重要的构件用例中确定类。确定类之间的交互作用,修改用例实现。细化体系结构,建立从分析到设计的自然转移,并标识:从分析元素中确定适当的设计元素。从相关分析机制中确定适当的设计机制。保持体系结构的一致性和完整性,确保:将当前迭代中标识的新的设计元素与已有的设计元素集成在一起。在设计中尽早地、最大限度地复用可获得的构件和设计元素。描述系
12、统运行的组织和实施体系结构。组织实现模型以实现设计到实现无缝转移。,分析行为将用例提供的行为描述转变为一系列可作为设计基础的元素。在分析行为时,主要注重于如何能够提供要求的功能,较少关心系统的非功能需求。设计构件找出设计元素如何实现要求行为的细节,细化设计元素的定义。根据新的设计元素来细化和更新用例实现。当设计演进后,进行设计评审。,设计实时构件在实时的或交互式的上下文中,使用封装制品作为主要的设计元素。设计实时构件与设计构件有相似的活动,但增加了封装设计活动,定义系统的并发控制线程和它们之间的协议。设计数据库在设计中标识永久类并设计适当的数据库结构来存储永久类。定义一种存储和检索永久数据的机
13、制和策略,以满足系统的性能需求。,分析和设计工作流中的关键制品:设计模型 由类的协作构成。这些类的协作可能集成为包或子系统。包是对类的逻辑分组,是为了减少系统的复杂性。分析模型 是设计的抽象和泛化,它提供系统的功能描述,忽略了系统如何工作的细节。软件体系结构文档 涵盖系统不同的体系结构视图。,实现工作流,实现工作流的目的是 建立代码的分层结构;从构件(源文件、二进制文件、可执行文件或其他文件)角度来实现类和对象;对开发出来的构件进行单元测试;将个人和开发团队开发的结果集成到可执行系统中。单元测试仅对单个构件进行。集成测试和系统测试在测试工作流中执行。,实现模型是在细化阶段通过不断迭代,不断使用
14、更大规模的集成构造建立起来的。对于每一次迭代,要求做到:确定要实现哪一个子系统,以及在当前迭代中子系统的集成顺序。对于每一个子系统,确定实现每个类的顺序,以及子系统集成的计划。实现设计模型中的类和对象,包括编写源代码、改写已有构件、编译、链接和执行,及时反馈设计中可能的缺陷。,修改有缺陷的源代码,进行单元测试以验证这些变更。最后进行代码评审。指定专人负责将所有新的和已变更的构件集成为一个新的实现子系统版本。在团队环境,集成将产生一系列构造,对每个构造由集成测试员进行集成测试。将发布的子系统集成到系统。最终的构造即为系统。由系统测试员进行系统测试。,实现工作流的关键制品有:实现子系统 构件和其他
15、实现子系统的集成。它是将实现模型细分为更小的部分,并使其构造化。构件 可以是一块程序代码,或是包含信息的文件。构件可以由其他构件聚合而成。集成构造计划 定义构件和子系统的实现顺序,详细描述系统集成时要建立的构造。实现与设计的关系紧密。在设计元素和实现元素之间有非常明显的跟踪链接。,创建良好设计的原则,设计原则1:分治软件系统分解为子系统 分布式系统可以分解为客户机和服务器;系统可以分解为一系列子系统;子系统可以分解为一个或多个包;包可以分解为类;类可以分解为方法。,设计原则2:尽可能增加内聚不同内聚类型:优先级从高到低排序功能内聚:模块只执行单一计算并返回结果,没有副作用。如函数过程。层内聚:
16、相关服务放在一起,并有严格的层次结构,高层服务可访问低层服务,反之不可。如分层结构。通信内聚:访问或操作同一数据的过程放在一个类中,这些过程可以互相通信。如某个类设计。,顺序内聚:存在一系列过程,其中一个过程向另一个过程提供输入,这些过程放在一起,形成顺序内聚。如消息序列。过程内聚:几个一次调用的过程放在一起,但其中一个过程的输出不一定是另一个过程的输入,形成过程内聚。如调用结构。时间内聚:程序执行过程中同一阶段内完成的操作放在一起,达到时间内聚。实用程序内聚:逻辑上不能纳入其他内聚类型的相关实用程序放在一起,形成实用程序内聚。如可复用的过程或类。,设计原则3:尽可能降低耦合模块间存在相互依赖
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 教学 课件 CH9 UML 概述
链接地址:https://www.31ppt.com/p-6291582.html