软件建模软件工程专业课件_第1页
软件建模软件工程专业课件_第2页
软件建模软件工程专业课件_第3页
软件建模软件工程专业课件_第4页
软件建模软件工程专业课件_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、1软件工程软件工程 2软件工程软件工程软件建模软件建模3主要讲解内容主要讲解内容1 1、UMLUML的建模思想的建模思想2 2、UMLUML的的7 7种结构事物种结构事物3 3、UMLUML中中5 5种关系种关系4 4、UMLUML的的9 9种图种图5 5、UMLUML的的5 5种规则种规则6 6、UMLUML的公共机制的公共机制7 7、UMLUML的的5 5张视图张视图8 8、UMLUML的微观建模内容的微观建模内容9 9、UMLUML的软件开发生存周期的软件开发生存周期1010、UMLUML的缺点与不足的缺点与不足1111、三个模型的建模思想、三个模型的建模思想4 软件建模软件建模导读导读

2、: : 软件开发的主要工作是软件需求和软件设计,软件开发的主要工作是软件需求和软件设计,其关键问题是软件建模。软件建模的思想与方式很其关键问题是软件建模。软件建模的思想与方式很多,但是最时尚的是多,但是最时尚的是UMLUML的建模思想和的建模思想和Rational Rational RoseRose的建模实现方式。的建模实现方式。本章重点讲述本章重点讲述“业务模型、功能模型、数据模型业务模型、功能模型、数据模型”这三个模型的建模思想与建模方法。这三个模型的建模思想与建模方法。705 软件建模软件建模要要 求求具体内容具体内容了了 解解 1) 1)软件建模的概念软件建模的概念 2)UMl2)UM

3、l对软件工程发展的影响对软件工程发展的影响 3)UML3)UML中面向对象的基本中面向对象的基本“构造块构造块”,支配这些构造块,支配这些构造块放在一起建模的放在一起建模的UMLUML“规则规则”,运用于整个,运用于整个UMlUMl的的“公共机制公共机制” 4)UML4)UML的宏观建模思想和微观建模思想的宏观建模思想和微观建模思想 5)UML5)UML的的“统统软件开发过程软件开发过程”理理 解解 1)UML 1)UML的支撑环境的支撑环境Rose Rose 2)UML 2)UML建模思想的优缺点建模思想的优缺点 3)3)三个模型建模思想的优缺点三个模型建模思想的优缺点掌掌 握握 1) 1)

4、业务模型的概念及表示方式业务模型的概念及表示方式 2)2)功能模型的概念及表示方式功能模型的概念及表示方式 3)3)数据模型的概念及表示方式数据模型的概念及表示方式6 UML的建模思想的建模思想UMLUML对软件工程的重大影响对软件工程的重大影响 模型是系统分析、设计、实现、测试的蓝图,可模型是系统分析、设计、实现、测试的蓝图,可视化统一建模语言视化统一建模语言UML(Unified Modeling Language)UML(Unified Modeling Language)将模型中的信息用标准图形元素直观地表示出来,实将模型中的信息用标准图形元素直观地表示出来,实现模型内部及外部的各种通

5、信。虽然利用非可视信息现模型内部及外部的各种通信。虽然利用非可视信息也能对系统进行描述与通信,但是图形比文字更容易也能对系统进行描述与通信,但是图形比文字更容易帮助人们理解系统的结构与层次。帮助人们理解系统的结构与层次。 UMLUML是一种面向对象的图形化的建模语言,主要是一种面向对象的图形化的建模语言,主要用于软件的分析与设计。用于软件的分析与设计。 7 UML的建模思想的建模思想 UML UML是是RationalRoseRationalRose的理论基础,的理论基础,RoseRose是是UMLUML的实的实现工具。现工具。UMLUML和和RoseRose的组合已构成了一种新的软件建的组合

6、已构成了一种新的软件建模思想和开发方式,势必会对软件工程的发展与创模思想和开发方式,势必会对软件工程的发展与创新产生重大影响,主要表现在如下新产生重大影响,主要表现在如下4 4个方面:个方面: (1)(1)软件生存周期:软件生存周期:UMLUML用统一的软件开发生存用统一的软件开发生存周期来替代原有的软件生存周期。周期来替代原有的软件生存周期。 (2)(2)软件建模方式:软件建模方式:UMLUML用可视化的语言实现软用可视化的语言实现软件整个生存周期各个阶段的建模。件整个生存周期各个阶段的建模。 (3)(3)软件文档规范:正向工程和逆向工程的文档软件文档规范:正向工程和逆向工程的文档全部由全部

7、由UMLUML建模工具自动产生。建模工具自动产生。 (4)(4)软件人员分工:软件人员分工:UMLUML使得分析、设计、实现、使得分析、设计、实现、维护的岗位界线逐渐趋向模糊。维护的岗位界线逐渐趋向模糊。8 UML的建模思想的建模思想 对于对于UMLUML,一直存在争议,但是多数组织和个人看,一直存在争议,但是多数组织和个人看好好UMLUML。目前对。目前对UMLUML和和RoseRose的学习与研究,已经成为软的学习与研究,已经成为软件工程界的热点。由于件工程界的热点。由于UMLUML结构复杂,内容丰富,牵涉结构复杂,内容丰富,牵涉的知识面十分广泛,所以本节不可能详细介绍,而只的知识面十分广

8、泛,所以本节不可能详细介绍,而只能对几个能对几个“关键问题关键问题”进行初步分析,使读者对进行初步分析,使读者对UMLUML的的概貌有所了解,为以后的深入学习与应用打下基础。概貌有所了解,为以后的深入学习与应用打下基础。如果读者感兴趣,最好的学习方法还是上机学习,用如果读者感兴趣,最好的学习方法还是上机学习,用RoseRose解决某个具体问题,哪怕这个具体问题很小,这解决某个具体问题,哪怕这个具体问题很小,这样由感性到理性的认识过程,没有这种上机实践经验,样由感性到理性的认识过程,没有这种上机实践经验,光看书学习很难掌握光看书学习很难掌握UMLUML。就像学游泳一样,不下水是。就像学游泳一样,

9、不下水是不行的不行的! !下水是学习,而且是更重要的学习。下水是学习,而且是更重要的学习。9 UML的建模思想的建模思想 我们将了解我们将了解UMLUML的如下几个的如下几个“关键问题关键问题”是:是: (1)UML(1)UML的概念模型的概念模型 (2)UML(2)UML的建模思想的建模思想 (3)UML(3)UML的软件开发生存周期的软件开发生存周期 (4)UML(4)UML的缺点与不足的缺点与不足 (5)UML(5)UML的支撑环境的支撑环境RoseRose (6)UML (6)UML的发展方向的发展方向7010 UML的建模思想的建模思想 UMLUML的概念模型的概念模型 统一建模语言

10、统一建模语言UMLUML是一种可视化的图形符号是一种可视化的图形符号建模语言,利用它可以进行需求分析、概要设计、建模语言,利用它可以进行需求分析、概要设计、详细设计、编程实现、项目计划、测试、原型迭详细设计、编程实现、项目计划、测试、原型迭代、产品发布和产品维护。对象管理组织于代、产品发布和产品维护。对象管理组织于19971997年年1111月月1414日采纳了日采纳了UMLl.1UMLl.1版本。此后又不断改进、版本。此后又不断改进、升级。升级。19981998年年6 6月发布了月发布了UMLl.2UMLl.2版本,版本,20002000年通年通过了最新的过了最新的UMLlUMLl3 3版本

11、。版本。11 UML的建模思想的建模思想 目前,计算机技术发达国家已有大量的软件组织开始用目前,计算机技术发达国家已有大量的软件组织开始用UMLUML进行系统建模,学习和使用进行系统建模,学习和使用UMLUML已经成为一种潮流。我国已经成为一种潮流。我国软件界对软件界对UMLUML也相当关注,也相当关注,19981998年初就开始了对年初就开始了对UMLUML和和RoseRose的的学习、研究和应用。由于学习、研究和应用。由于UMLUML的复杂性,掌握它不是一件轻的复杂性,掌握它不是一件轻松的事。松的事。(UML(UML用户指南用户指南) )和和UMLUML与与Rational Rose 20

12、02Rational Rose 2002从从入门到精通入门到精通等技术参考书的中文版本已先后出版。使用等技术参考书的中文版本已先后出版。使用UMLUML的关键是用它来简明、准确地建立模型。的关键是用它来简明、准确地建立模型。 下面将对下面将对UMLUML中实质性内容的几个要点做一个简明扼要的中实质性内容的几个要点做一个简明扼要的介绍。只要抓住这些要点,介绍。只要抓住这些要点,UMLUML入门并不太难。为了理解入门并不太难。为了理解UMLUML的建模元素,关键是要学习它的三个要素:的建模元素,关键是要学习它的三个要素:12 UML的建模思想的建模思想1 1、UMLUML中面向对象的基本中面向对象

13、的基本“构造块构造块”2 2、支配这些构造块放在一起建模的、支配这些构造块放在一起建模的UMLUML“规则规则”3 3、运用于整个、运用于整个UMLUML的的“公共机制公共机制” 通俗地讲,通俗地讲,“构造块构造块”就是就是UMLUML建模的积木块;建模的积木块; “规则规则”就是就是UMLUML建模的粘合剂;建模的粘合剂; “公共机制公共机制”就是就是UMLUML模型的图纸说明,模型的图纸说明, 它们都是它们都是UMLUML建模的元素。由此可见,所谓建模的元素。由此可见,所谓UMLUML建模,就是用粘合剂将积木块粘合起来,附以模型建模,就是用粘合剂将积木块粘合起来,附以模型的图纸说明。遗憾的

14、是,的图纸说明。遗憾的是,UMLUML中的积木块太多,可中的积木块太多,可能会给学习带来困难。下面对积木块、粘合剂、图能会给学习带来困难。下面对积木块、粘合剂、图纸说明逐一予以简单介绍。纸说明逐一予以简单介绍。 13 UML的建模思想的建模思想 1 1UMLUML的的“构造块构造块” UMLUML中有中有3 3种基本构造块,分别是种基本构造块,分别是“事物事物”、“关系关系”和和“图图”,它们是,它们是UMLUML建模中的积木元素建模中的积木元素或积木组合体。或积木组合体。 第第1 1种构造块:事物。种构造块:事物。 事物是构造块,它们分别是结构事物、行为事事物是构造块,它们分别是结构事物、行

15、为事物、分组事物和注释事物。物、分组事物和注释事物。(1)(1)结构事物结构事物(StructuralThing)(StructuralThing),它是,它是UMLUML模型模型中的静态要素,包括类、接口、协作、用例、主动中的静态要素,包括类、接口、协作、用例、主动类、构件和节点类、构件和节点7 7种元素。种元素。7014 UML的的7种结构事物种结构事物 序号序号事物名称事物名称 结构事物语义结构事物语义1 1类类 它是一组具有相同属性、操作、关系、语义的对象模板。它是一组具有相同属性、操作、关系、语义的对象模板。它就是面向对象程序设计中的类,数据库中的实体或表。它就是面向对象程序设计中的

16、类,数据库中的实体或表。 类用一个矩形表示,矩形中分为上、中、下三个部分,分类用一个矩形表示,矩形中分为上、中、下三个部分,分别表示类的名称、属性、操作。别表示类的名称、属性、操作。2 2接口接口 它是说明一个类或构件的一个服务的操作集。它是说明一个类或构件的一个服务的操作集。 接口用一个带有名称的圆表示接口用一个带有名称的圆表示3 3协作协作 它是多个元素的交互,它是多个元素的交互, 用一个仅包含名称的虚线椭圆表示用一个仅包含名称的虚线椭圆表示4 4用例用例 它是跟系统有关的参与者的一组动作序列,参与者可以是它是跟系统有关的参与者的一组动作序列,参与者可以是人、设备或其他系统。用一个仅包含名

17、称的实线椭圆表示。人、设备或其他系统。用一个仅包含名称的实线椭圆表示。5 5主动类主动类 它是拥有进程或线程的类,用一个外框线加粗的类表示它是拥有进程或线程的类,用一个外框线加粗的类表示6 6构件构件 它是物理上的可替代的软部件,用一个带有小方框的、包它是物理上的可替代的软部件,用一个带有小方框的、包含名称的矩形表示含名称的矩形表示7 7节点节点 它一般是网络中的一台服务器,就是网络中的节点,用包它一般是网络中的一台服务器,就是网络中的节点,用包含名称的立方体表示含名称的立方体表示15 UML的行为事物的行为事物(2)行为事物:行为事物:它是它是UMLUML模型中的动态元素模型中的动态元素序号

18、序号行为事物名称行为事物名称行为事物语义行为事物语义1 1交互交互 它是一组对象间的交换消息,它是一组对象间的交换消息, 用包含操作名的一条有向线段表示用包含操作名的一条有向线段表示 2 2状态书状态书 它是一个对象或一个交互在其生存周期它是一个对象或一个交互在其生存周期内响应其事件而经历的状态序列,内响应其事件而经历的状态序列, 用一个包含名称的圆角矩形表示用一个包含名称的圆角矩形表示(3)分组事物:它是)分组事物:它是UML模型的组织元素模型的组织元素 用一个包含名称,左上角带有一个小矩形的大矩形表示用一个包含名称,左上角带有一个小矩形的大矩形表示(4)注释事物:它是)注释事物:它是UML

19、模型的解释元素模型的解释元素 用一个包含注解内容的右上角为折角的矩形表示用一个包含注解内容的右上角为折角的矩形表示第第2 2种构造块:关系。种构造块:关系。16 UML中中5种关系种关系序号序号关系名称关系名称关系语义关系语义1 1依赖依赖 当一个独立的事物发生变化而影响另一个事物的语义时,当一个独立的事物发生变化而影响另一个事物的语义时,称为依赖。用一条可能有方向的虚线表示称为依赖。用一条可能有方向的虚线表示2 2关联关联 关联是对象间连接的结构关系,用一条实线表示关联是对象间连接的结构关系,用一条实线表示3 3泛化泛化泛化是指从特殊到一般的关系,如子元素与父元素的关系:泛化是指从特殊到一般

20、的关系,如子元素与父元素的关系:子元素共享父元素的结构和行为。子元素共享父元素的结构和行为。 用一条带空心的箭头且指向父元素的实线表示用一条带空心的箭头且指向父元素的实线表示4 4实现实现 实现是一个类元指定了由另一个类元保证执行的契约的语实现是一个类元指定了由另一个类元保证执行的契约的语义关系。如接口和实现接口的构件之间、用例和实现它的协义关系。如接口和实现接口的构件之间、用例和实现它的协作之间,就是作之间,就是“实现实现”关系。关系。 用一条带空心箭头的虚线表示用一条带空心箭头的虚线表示5 5累积累积 表示整体与部分关系,即表示整体与部分关系,即“部分部分”是是“整体整体”的一部分,的一部

21、分, 用一条实线表示,用一条实线表示,“部分部分”一端为箭头,一端为箭头,“整体整体”一端为一端为菱形菱形17第第3 3种构造块:图。种构造块:图。 图也是构造块,图也是构造块,UMLUML中有中有9 9种图,图是软种图,图是软件系统在不同角度上的投影,是一组元素的件系统在不同角度上的投影,是一组元素的表示,是包含事物及其关系的组合。表示,是包含事物及其关系的组合。 用代表事物的顶点和代表关系的连通图用代表事物的顶点和代表关系的连通图表示图,表示图, 18 UML的的9种图种图 序号序号图名称图名称规则语义规则语义1 1 类图类图 类图展示了一组类、接口和协作及它们之间的关系。在建模中所建立的

22、最类图展示了一组类、接口和协作及它们之间的关系。在建模中所建立的最常见的图就是类图。包含主动类的类图是专注于系统的静态进程视图。系统常见的图就是类图。包含主动类的类图是专注于系统的静态进程视图。系统可有多个类图,单个类图仅表达了系统的一个方面。要在高层给出类的主要可有多个类图,单个类图仅表达了系统的一个方面。要在高层给出类的主要职责,在低层给出类的属性和操作职责,在低层给出类的属性和操作2 2对象图对象图 对象图展示了一组对象及它们之间的关系。用对象图说明类图中所反映的对象图展示了一组对象及它们之间的关系。用对象图说明类图中所反映的事物实例的数据结构和静态快照。对象图表达了系统的静态设计视图或

23、静态事物实例的数据结构和静态快照。对象图表达了系统的静态设计视图或静态过程视图,除了现实和原型方面的因素外,它与类图作用是相同的过程视图,除了现实和原型方面的因素外,它与类图作用是相同的3 3用例图用例图 用例图展现了一组用例、参与者以及它们之间的关系。可以用用例图描述用例图展现了一组用例、参与者以及它们之间的关系。可以用用例图描述系统的静态使用情况。在对系统行为组织和建模方面,用例图是相当重要的系统的静态使用情况。在对系统行为组织和建模方面,用例图是相当重要的4 4顺序图顺序图 顺序图展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制顺序图展现了一组对象和由这组对象收发的消息,用于按

24、时间顺序对控制流建模。用顺序图说明系统的动态视图流建模。用顺序图说明系统的动态视图5 5协作图协作图 协作图展现了一组对象,这组对象间的连接以及这组对象收发的消息。它协作图展现了一组对象,这组对象间的连接以及这组对象收发的消息。它强调收发消息的对象的组织结构,按组织结构对控制流建模强调收发消息的对象的组织结构,按组织结构对控制流建模6 6状态图状态图 状态图展现了一个特定的对象的所有可能状态,以及各种事件的发生而引状态图展现了一个特定的对象的所有可能状态,以及各种事件的发生而引起的状态间的转移。一个状态图描述了一个状态机,用状态图说明系统的动起的状态间的转移。一个状态图描述了一个状态机,用状态

25、图说明系统的动态视图。它对于接口、类或协作的行为建模尤为重要,可用它描述用例实例态视图。它对于接口、类或协作的行为建模尤为重要,可用它描述用例实例的生存周期的生存周期19 UML的的9种图种图序号序号图名称图名称规则语义规则语义7 7活动图活动图活动图是一种特殊的状态图,描述需要做的活动、执行这些活动的活动图是一种特殊的状态图,描述需要做的活动、执行这些活动的顺序(多为并行的)以及工作流(完成工作所需要的步骤)。它对顺序(多为并行的)以及工作流(完成工作所需要的步骤)。它对于系统功能建模特别重要,强调对象之间的控制流程。高层活动图于系统功能建模特别重要,强调对象之间的控制流程。高层活动图用于表

26、示需要完成的一些任务,即用于分析用例,理解涉及多个用用于表示需要完成的一些任务,即用于分析用例,理解涉及多个用例的工作流、多线程及并行,显示相互联系的行为整体,它还可用例的工作流、多线程及并行,显示相互联系的行为整体,它还可用于对企业过程建模,对系统功能建模。低层活动图用于表示类的方于对企业过程建模,对系统功能建模。低层活动图用于表示类的方法。但活动图不适用于描述动作与对象间的关系、显示对象间的协法。但活动图不适用于描述动作与对象间的关系、显示对象间的协作,以及显示对象在生存周期内的运转情况作,以及显示对象在生存周期内的运转情况8 8构件图构件图构件图展现一组构件之间的组织和依赖关系,用于对源

27、代码、可执构件图展现一组构件之间的组织和依赖关系,用于对源代码、可执行的发布、物理数据库和可调整的系统建模行的发布、物理数据库和可调整的系统建模9 9实施图实施图实施图展现运行时处理节点,以及其中构件的部署。它描述系统硬实施图展现运行时处理节点,以及其中构件的部署。它描述系统硬件的物理拓扑结构(包括网络布局和构件在网络上的位置),以及件的物理拓扑结构(包括网络布局和构件在网络上的位置),以及在此结构上执行的软件(即运行时软构件在节点中的公布情况)。在此结构上执行的软件(即运行时软构件在节点中的公布情况)。用实施图还可用来说明系统结构的静态实施视图,即说明分布、交用实施图还可用来说明系统结构的静

28、态实施视图,即说明分布、交付和安装的物理系统付和安装的物理系统20 1 1、类图、类图212 2、对象图、对象图223 3、用例图用例图70234、顺序图、顺序图245 5、协作图、协作图256 6、状态图、状态图267 7、活动图、活动图278 8、构件图、构件图289 9、 配置(实施)图配置(实施)图7029 UML的的5种规则种规则序号序号规则名称规则名称规则语义规则语义1 1命名命名为事物、关系和图命名为事物、关系和图命名2 2范围范围给一个名字以特定含义的语境,即范围给一个名字以特定含义的语境,即范围3 3可见性可见性怎样使用或看见名字,即可见性怎样使用或看见名字,即可见性4 4完

29、整性完整性事物如何正确、一致地相互联系,即完整性事物如何正确、一致地相互联系,即完整性5 5执行执行运行或模拟动态模型的含义是什么,即执行运行或模拟动态模型的含义是什么,即执行 另外,另外,UMLUML还允许在一定阶段隐藏模型的某些元素、遗漏还允许在一定阶段隐藏模型的某些元素、遗漏某些元素,以及不保证模型的完整性,但模型逐步地要达到某些元素,以及不保证模型的完整性,但模型逐步地要达到完整和一致。完整和一致。2.UML运用构造块的运用构造块的“规则规则” 为了将为了将UML的构造块有机地组装在一起形成一个结构良的构造块有机地组装在一起形成一个结构良好的模型,好的模型,UML需要描述下列事物的语义

30、规则,需要描述下列事物的语义规则, 30 UML的公共机制的公共机制3UML的公共的公共机制序号序号机制名称机制名称机制内容机制内容1 1规格説明规格説明UMLUML的图形表示法的每一部分都有説明,提供对的图形表示法的每一部分都有説明,提供对UMLUML构造块的语构造块的语法、语义的文字描述。法、语义的文字描述。UMLUML为规格説明书提供语义底板。为规格説明书提供语义底板。2 2修饰修饰UMLUML表示法中的每一个元素都有一个基本符号,这些符号对元表示法中的每一个元素都有一个基本符号,这些符号对元素的最重要的方面提供了可视化表示,对元素的描述还包含其素的最重要的方面提供了可视化表示,对元素的

31、描述还包含其他细节。例如,一个类是否是抽象类(没有实例),或它的属他细节。例如,一个类是否是抽象类(没有实例),或它的属性和操作是否可见。要把这样的修饰细节加到基本符号上性和操作是否可见。要把这样的修饰细节加到基本符号上3 3通用划分通用划分UMLUML有两种通用划分方法:一是可同时对类和对象建模有两种通用划分方法:一是可同时对类和对象建模; ; 二是可同时对接口和实现建模。二是可同时对接口和实现建模。4 4扩展机制扩展机制UMLUML的扩展机制包括的扩展机制包括3 3种类型:种类型: 1 1)构造型:)构造型:UMLUML允许创造新的构造块,可以从现有的构造块允许创造新的构造块,可以从现有的

32、构造块派生,又可以针对读者要解决的问题派生,又可以针对读者要解决的问题 2 2)标记值:)标记值:UMLUML允许创建详述元素的新信息允许创建详述元素的新信息 3 3)约)约 束:束:UMLUML允许增加新的规则或修改现有的规则。允许增加新的规则或修改现有的规则。31 UML的建模思想的建模思想 UML UML 是一种用不同图形、从不同角度来描述系是一种用不同图形、从不同角度来描述系统的建模语言,尽管它的功能覆盖了整个软件开发统的建模语言,尽管它的功能覆盖了整个软件开发生存周期,从需求分析、设计、实现、测试、实施、生存周期,从需求分析、设计、实现、测试、实施、配置管理、维护直到环境部署,但是目

33、前应用较多配置管理、维护直到环境部署,但是目前应用较多的还是需求分析与设计阶段的建模。的还是需求分析与设计阶段的建模。 UMLUML的建模思想相当复杂,为了使复杂问题的建模思想相当复杂,为了使复杂问题“简简单化单化”,我们从宏观和微观两个方面,来观察和分,我们从宏观和微观两个方面,来观察和分析析UMLUML的建模思想,以求在宏观上摸清它的的建模思想,以求在宏观上摸清它的“纲纲”,在微观上理清它的在微观上理清它的“目目”。7032 UML的建模思想的建模思想1 1、UMLUML的宏观建模思想的宏观建模思想 UMLUML的宏观建模思想,表现在的宏观建模思想,表现在“9 9个模型、个模型、9 9种图

34、、种图、5 5张视图张视图”。 由于大型软件系统的复杂性,很难用一个模型、由于大型软件系统的复杂性,很难用一个模型、一种图、一张视图来描述清楚,所以在一种图、一张视图来描述清楚,所以在UMLUML中出现了中出现了许多的模型、图和视图。当然,对于同一个软件系许多的模型、图和视图。当然,对于同一个软件系统,没有必要同时使用统,没有必要同时使用“9 9个模型、个模型、9 9种图、种图、5 5张视张视图图”,正确的原则是,正确的原则是“精兵简政、实事求是、按需精兵简政、实事求是、按需使用使用”。33 UML的建模思想的建模思想 9 9个模型是:业务模型、领域模型、用例模型个模型是:业务模型、领域模型、

35、用例模型( (需求模需求模型型) )、分析模型、设计模型、过程模型、部署模型、分析模型、设计模型、过程模型、部署模型( (实施实施模型模型) )、实现模型和测试模型。、实现模型和测试模型。 9 9种图是:类图、对象图、用例图、顺序图、协作图、种图是:类图、对象图、用例图、顺序图、协作图、状态图、活动图、构件图、部署图状态图、活动图、构件图、部署图( (实施图实施图) )。 9 9种视图是:用例视图、设计视图、进程视图、实现种视图是:用例视图、设计视图、进程视图、实现视图和实施视图。视图和实施视图。 我们可以从不同的角度,来分析与设计软件系统,进我们可以从不同的角度,来分析与设计软件系统,进行系

36、统建模。行系统建模。7034 UML 9 UML 9 个个 模模 型型序号序号模型名称模型名称模型定义模型定义对模型通俗解释对模型通俗解释1 1业务模型业务模型建立组织的一个抽象建立组织的一个抽象业务操作流程业务操作流程2 2领域模型领域模型建立系统的语境建立系统的语境业务操作规则业务操作规则3 3用例模型用例模型建立系统的功能需求建立系统的功能需求用户功能需求列表用户功能需求列表4 4分析模型分析模型建立概念设计建立概念设计系统的逻辑设计系统的逻辑设计5 5设计模型设计模型建立问题的词汇及解决方案建立问题的词汇及解决方案物理设计(含字典设计物理设计(含字典设计) )6 6过程模型过程模型建立

37、系统的并发和同步机制建立系统的并发和同步机制系统的进程设计系统的进程设计7 7部署模型部署模型建立系统硬件拓扑网络结构建立系统硬件拓扑网络结构系统的网络节点设计系统的网络节点设计8 8实现模型实现模型建立实施和发布系统各部件建立实施和发布系统各部件系统的软硬件配置设计系统的软硬件配置设计9 9测试模型测试模型建立验证和校验系统的路径建立验证和校验系统的路径系统的测试计划设计系统的测试计划设计35 UML UML 的的 9 9 种种 图图序 号图 名 称 图 定 义 图 性 质1类图显示一组类、接口、协作以及它们的关系表示结构2对象图显示一组对象以及它们的关系表示结构3用况图显示一组用况、参与者

38、以及它们的关系表示行为4时序图 强调消息的时间排序表示行为5协作图强调消息发送和接收的对象的结构组织表示行为6状态图强调事件的排序从状态到状态的控制流表示行为7 活动图 强调从活动到活动的流动表示行为8构件图 显示一组构件以及它们的关系表示结构9实施图 显示一组节点以及它们的关系表示结构36 UMLUML的的5 5张视图张视图序号序号视图名称视图名称视图内容视图内容静态表现静态表现动态表现动态表现观察角度观察角度1 1用况视图用况视图( (用户模型视图用户模型视图) )系统行为、动力系统行为、动力用况图用况图交互图、交互图、状态图、状态图、活动图;活动图;用户、分析用户、分析员、测试员员、测试

39、员2 2设计视图设计视图( (结构模型视图结构模型视图) )问题及其解决问题及其解决方案的术语词汇方案的术语词汇类、对象图类、对象图类、接口、类、接口、协作协作3 3进程视图进程视图( (行为模型视图行为模型视图) )性能、可伸缩性、性能、可伸缩性、吞吐量吞吐量类、对象图类、对象图线程、进程线程、进程4 4实现视图实现视图( (模型视图模型视图) )构件、文件构件、文件构件图构件图配置、发布配置、发布5 5实施视图实施视图( (环境模型视图环境模型视图) )部件的发布、交部件的发布、交付、安装付、安装实施图实施图拓扑结构的拓扑结构的节点节点372 2UMLUML的微观建模思想的微观建模思想 U

40、MLUML的微观建模思想,表现在它的基本结构模型、的微观建模思想,表现在它的基本结构模型、高级结构模型、基本行为模型、高级行为模型、体高级结构模型、基本行为模型、高级行为模型、体系结构模型系结构模型5 5个方面上,共计有个方面上,共计有6666个微观建模。这些个微观建模。这些具体的建模种类及内容,不要求读者完全理解与记具体的建模种类及内容,不要求读者完全理解与记忆,也不是对每一个软件都要做这忆,也不是对每一个软件都要做这6666个微观建模,个微观建模,只要求在微观上理解只要求在微观上理解UMLUML的建模思想。的建模思想。7038 UML的微观建模内容的微观建模内容模型模型名称名称建模内容建模

41、内容建模说明建模说明基本基本结构结构模型模型(16(16个个建模建模) )对类建模对类建模(4(4个个) ) 类是对一组具有相同属性、操作、关系和语义的对象的描述。因类是对一组具有相同属性、操作、关系和语义的对象的描述。因此要对系统的事物词汇建模此要对系统的事物词汇建模( (如顾客、产品、发票如顾客、产品、发票) )、对系统中的职、对系统中的职责分布建模责分布建模 ( (使类的职责均衡使类的职责均衡) )、对非软件事物建模、对非软件事物建模( (如硬件设备如硬件设备) )、对简单类型建模对简单类型建模( (如整数、字符如整数、字符) )对关系建模对关系建模(3(3个个) ) 对依赖关系建模、继

42、承关系建模、结构关系对依赖关系建模、继承关系建模、结构关系( (关联关联) )建模建模对公共机制对公共机制建模建模(4(4个个) ) 对注释建模、新构造块建模、新特性建模、新语义建模对注释建模、新构造块建模、新特性建模、新语义建模对图建模对图建模 (3(3个个) )对静态结构图建模:包括对类图、对象图、构件图、实施图建模对静态结构图建模:包括对类图、对象图、构件图、实施图建模对动态行为图建模:用例图、顺序图、协作图、状态图、活动图对动态行为图建模:用例图、顺序图、协作图、状态图、活动图对复杂视图建模对复杂视图建模对类图建模对类图建模(2(2个个) ) 对类图建模:包括对简单协作建模对类图建模:

43、包括对简单协作建模 对数据库逻辑模型建模对数据库逻辑模型建模39 UML的微观建模内容的微观建模内容模型名模型名称称建模内容建模内容建模说明建模说明高级结高级结构模型构模型(10(10个个建模建模) )对高级类建对高级类建模模(1(1个个) )对类的语义建模:类元是一种描述结构特征和行为特征的对类的语义建模:类元是一种描述结构特征和行为特征的机制,它包括类、接口、数据类型、信号、构件、用例、机制,它包括类、接口、数据类型、信号、构件、用例、节点、子系统节点、子系统对高级关系对高级关系建模建模(1(1个个) )对关系网建模:事物间的高级关系是依赖、泛化、累积、对关系网建模:事物间的高级关系是依赖

44、、泛化、累积、关联和实现,多个事物在一起将组成关系网关联和实现,多个事物在一起将组成关系网对接口、类对接口、类型和角色建型和角色建模模(3(3个个) ) 因为接口是表示系统中的一个接缝,它把使用和实现分因为接口是表示系统中的一个接缝,它把使用和实现分离,所以要对系统中的接缝建模、对静态类型建模、对动离,所以要对系统中的接缝建模、对静态类型建模、对动态类型建模态类型建模对包建模对包建模(2(2个个) ) 包是把元素组织成组的机制,系统由包组成,包由元素包是把元素组织成组的机制,系统由包组成,包由元素组成。对成组的元素建模,使其成为包;对体系结构视图组成。对成组的元素建模,使其成为包;对体系结构视

45、图建模,使其成为子系统建模,使其成为子系统 40 UML的微观建模内容的微观建模内容模型名称模型名称建模内容建模内容 建模说明建模说明对实例建对实例建模模(2(2个个) ) 实例就是对象,它有名称、操作、状实例就是对象,它有名称、操作、状态等特征,实例分为具体实例和原型实态等特征,实例分为具体实例和原型实例,前者出现在静态场合,后者出现在例,前者出现在静态场合,后者出现在动态场合。要对具体实例建模、对原型动态场合。要对具体实例建模、对原型实例建模实例建模对对象图对对象图建模建模(1(1个个) ) 对象图包括对象、链、注解和约束,对象图包括对象、链、注解和约束,它表示动态场景它表示动态场景( (

46、交互图交互图) )中的中的个静态个静态画面,因此要对对象结构画面,因此要对对象结构( (静态设计视静态设计视图或静态进程视图图或静态进程视图) )建模建模41 UML的微观建模内容的微观建模内容模型名称模型名称建模内容建模内容 建模说明建模说明基本行为基本行为模型模型(8 8个建个建模模) )对交互建模对交互建模(1(1个个) ) 交互是为实现某一目标的交互是为实现某一目标的组对象之间交换一组消息所产生的组对象之间交换一组消息所产生的行为。对象、消息和行为表现在控制流中,因此要对表示时间或行为。对象、消息和行为表现在控制流中,因此要对表示时间或组织的控制流建模组织的控制流建模对用例建模对用例建

47、模(1(1个个) ) 用例是对一组动作序列用例是对一组动作序列( (行为行为) )的描述,动作序列表示系统外部的描述,动作序列表示系统外部的参与者与系统本身的交互。因此要刘。元素的行为建模的参与者与系统本身的交互。因此要刘。元素的行为建模对用例图建模对用例图建模(2(2个个) ) 用例图是表示一组用例、参与者以及它们之间的关系用例图是表示一组用例、参与者以及它们之间的关系( (依赖、依赖、泛化、关联泛化、关联) )的图。因此要对系统的语境建模的图。因此要对系统的语境建模( (将参与者划分到系将参与者划分到系统之外统之外) )、对系统的需求建模、对系统的需求建模 说明系统为参与者做什么说明系统为

48、参与者做什么) ) 对交互图建模对交互图建模(2(2个个) ) 交互图强调从对象到对象的控制流,它包括顺序图和协作图。交互图强调从对象到对象的控制流,它包括顺序图和协作图。顺序图强调消息的时间顺序,协作图强调发送和接收消息的对象顺序图强调消息的时间顺序,协作图强调发送和接收消息的对象的组织结构。因此要按时间顺序对控制流建模,按组织结构对控的组织结构。因此要按时间顺序对控制流建模,按组织结构对控制流建模制流建模对活动图建模对活动图建模(2 2个个) ) 活动图强调从活动到活动的控制流,它包括对计算过程的顺序活动图强调从活动到活动的控制流,它包括对计算过程的顺序和对操作的控制步骤,因此要对工作流建

49、模、对操作建模和对操作的控制步骤,因此要对工作流建模、对操作建模42 UML的微观建模内容的微观建模内容名称名称建模内容建模内容 建模说明建模说明高级高级行为行为模型模型(9个个建模建模)事件和信号建事件和信号建模模(2个个) 事件是在时空中占有位置、有意义和事情的规格说明,它事件是在时空中占有位置、有意义和事情的规格说明,它分信号、调用、时间延迟、状态改变分信号、调用、时间延迟、状态改变4种。种。 信号是由一个对象异步发送给另一个对象接收的命名对象。信号是由一个对象异步发送给另一个对象接收的命名对象。对信号族建模、对异常情况建模对信号族建模、对异常情况建模状态机建模状态机建模(1个个) 状态

50、机是对象在其生存期中响应事件的所经历的状态序列状态机是对象在其生存期中响应事件的所经历的状态序列及对事件的响应;及对事件的响应;进程和线程建进程和线程建模模(2个个) 进程是可并发执行的重量级控制流,线程是可并发执行的轻进程是可并发执行的重量级控制流,线程是可并发执行的轻量级控制流,量级控制流, 两者都是主动类。对多控制流建模、对进程通两者都是主动类。对多控制流建模、对进程通信建模信建模 时间和空间建时间和空间建模模(3个个) 为了处理实时系统为了处理实时系统(绝对时间、相对时间、需求时间绝对时间、相对时间、需求时间)和分布和分布式系统式系统(构件在节点上分布和移动构件在节点上分布和移动),必

51、须对时间约束建模、对,必须对时间约束建模、对对象分布建模、对移动对象建模;对象分布建模、对移动对象建模; 状态图建模状态图建模(1个个) 当系统的对象出现从状态到状态的控制流,或从事件到事件当系统的对象出现从状态到状态的控制流,或从事件到事件的控制流时,要对反应型对象建模的控制流时,要对反应型对象建模43 UML的微观建模内容的微观建模内容名称名称内容内容 建模说明建模说明体系结体系结构模型构模型(23个个建模建模)构件构件建模建模(7个个) 它分为实施构件它分为实施构件(如如.DLL和和.EXE)、产品构件和执行)、产品构件和执行构件构件(如如COM+对象对象)。对系统的可执行体建模、对系统

52、。对系统的可执行体建模、对系统的对象库、对表、对文件、对文档、对应用程序接口和的对象库、对表、对文件、对文档、对应用程序接口和对源代码建模。对源代码建模。实施实施建模建模(2个个) 节点是网络拓扑结构中的一台计算机或设备,一个节节点是网络拓扑结构中的一台计算机或设备,一个节点上可以部署多个构件,一个构件可以部署到多个节点点上可以部署多个构件,一个构件可以部署到多个节点上。对网络拓扑结构中的处理器和设备建模、对构件在上。对网络拓扑结构中的处理器和设备建模、对构件在节点上的分布建模节点上的分布建模协作协作建模建模(3个个) 协作是一组类、接口和其他元素的命名群体,它有结协作是一组类、接口和其他元素

53、的命名群体,它有结构构(类图类图)和行为和行为 (交互图交互图)两个部分。一个面向对象的系两个部分。一个面向对象的系统由一组协作组成,一个用例或一个操作要用一个或多统由一组协作组成,一个用例或一个操作要用一个或多个协作来实现。协作还可以作为系统的机制单独存在,个协作来实现。协作还可以作为系统的机制单独存在,机制是应用于一组类的群体的设计模式。对用例的实现机制是应用于一组类的群体的设计模式。对用例的实现建模、对操作的实现建模、对机制建模建模、对操作的实现建模、对机制建模7044 UML的微观建模内容的微观建模内容名称名称内容内容 建模说明建模说明体系体系结构结构模型模型(23个个建模建模)对模式

54、和对模式和框架建模框架建模(2个个) 模型是对应用系统提供的通用解决方案,框架是为某个专模型是对应用系统提供的通用解决方案,框架是为某个专业领域内的应用系统提供模板的体系结构模式。业领域内的应用系统提供模板的体系结构模式。对构件图对构件图建模建模(4个个)构件图是构件及其之间关系的组合图,用它对系统的实现构件图是构件及其之间关系的组合图,用它对系统的实现视图进行静态建模、对源代码产品、对可执行体的发布、视图进行静态建模、对源代码产品、对可执行体的发布、对物理数据库、对可适应的系统建模。对物理数据库、对可适应的系统建模。对实施图对实施图建模建模(3个个) 实施图是拓扑结构的节点及节点上的构件配置

55、图。对嵌入实施图是拓扑结构的节点及节点上的构件配置图。对嵌入式系统建模、对客户机服务器系统、对分布式系统建模。式系统建模、对客户机服务器系统、对分布式系统建模。对系统建对系统建模模(2个个)系统是元素的集合,它的体系结构由用例视图、设计视图、系统是元素的集合,它的体系结构由用例视图、设计视图、进程视图、实现视图、实施视图组成。一个良好的系统,进程视图、实现视图、实施视图组成。一个良好的系统,是以用例驱动、以体系结构为核心、以增量式迭代为开发是以用例驱动、以体系结构为核心、以增量式迭代为开发模式的系统。对体系结构建模、对于系统或系统建模模式的系统。对体系结构建模、对于系统或系统建模45 作为系统

56、分析、设计、实现、实施的作为系统分析、设计、实现、实施的建模工具,建模工具,UMLUML提供的模型、图、视图和提供的模型、图、视图和6666种微观建模方式,实在是太丰富多彩了,种微观建模方式,实在是太丰富多彩了,甚至会把读者吓倒。事实上,甚至会把读者吓倒。事实上,“只要用它只要用它20%20%的有用内容,就可以解决的有用内容,就可以解决70%70%的系统问的系统问题题” 。或者说,只要知道它。或者说,只要知道它20%20%的有用内的有用内容,通过了上机学习容,通过了上机学习RoseRose,就可以解决它,就可以解决它的的70%70%的问题。的问题。7046 UML的软件开发生存周期的软件开发生

57、存周期有说过:聪明的人善于将复杂问题简单化,愚蠢的有说过:聪明的人善于将复杂问题简单化,愚蠢的人习惯于将简单问题复杂化。既然生存周期与开发模人习惯于将简单问题复杂化。既然生存周期与开发模型如此复杂和多种多样,那么能否将它们简单化呢型如此复杂和多种多样,那么能否将它们简单化呢? ?为了解决这个问题,为了解决这个问题,RUPRUP试图集中所有的生存周期开试图集中所有的生存周期开发模型的优点,用统一的建模语言发模型的优点,用统一的建模语言UMLUML加以实现。加以实现。 一个软件有一个生存周期,它开始于软件项目的一个软件有一个生存周期,它开始于软件项目的“立项、需求和策划立项、需求和策划”之初,成长

58、于之初,成长于“设计、实现、设计、实现、实施、维护实施、维护”之中,终止于该软件退出市场之时。对之中,终止于该软件退出市场之时。对于用于用RUPRUP模型开发的软件来说,它成长于模型开发的软件来说,它成长于“初始、细初始、细化、构造、交付化、构造、交付”的迭代循环之中,这就是的迭代循环之中,这就是RUPRUP的软的软件开发生存周期。件开发生存周期。47RUPRUP的特点是:的特点是: 3 3个以个以:以用例为驱动、以体系结构为中心、以迭以用例为驱动、以体系结构为中心、以迭代和增量为开发过程。代和增量为开发过程。 4 4个阶段:初始、细化、构造、交付。个阶段:初始、细化、构造、交付。 9 9个工

59、作流:商业建模需求、分析和设计、实现、个工作流:商业建模需求、分析和设计、实现、测试部署、配置和变更、项目管理、环境。每个阶测试部署、配置和变更、项目管理、环境。每个阶段又分为若干次迭代,每次迭代都包括段又分为若干次迭代,每次迭代都包括9 9个工作流。个工作流。 用例驱动的优点是:在到达最终软件产品之前,用例驱动的优点是:在到达最终软件产品之前,每个阶段都可以回溯到用户的真正需求,因为用户每个阶段都可以回溯到用户的真正需求,因为用户需求是软件开发过程中最重要的一条基线。需求是软件开发过程中最重要的一条基线。48 UML的缺点与不足的缺点与不足 对对UMLUML的优点要讲透,对的优点要讲透,对U

60、MLUML的缺点要讲够,并跟踪的缺点要讲够,并跟踪UMLUML今今后的发展进程。后的发展进程。 UMLUML对系统模型的表达能力,超出了以往任何一种面向对对系统模型的表达能力,超出了以往任何一种面向对象的分析和设计工具,对它深入研究和全面理解之后,可能象的分析和设计工具,对它深入研究和全面理解之后,可能会认为它是一本面向对象的百科全书。随之出现的问题是,会认为它是一本面向对象的百科全书。随之出现的问题是,它的复杂性也超出了以往任何一种工具。它的复杂性也超出了以往任何一种工具。UMLUML还存在许多问还存在许多问题,自它产生之日起就从未离开过批评。题,自它产生之日起就从未离开过批评。(1)UML

温馨提示

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

评论

0/150

提交评论