软件工程概论1O-2-UML及面向对象的建模过程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程概论1O-2-UML及面向对象的建模过程课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 概论 O_2_UML 面向 对象 建模 过程 课件
- 资源描述:
-
1、第10章 面向对象的开发过程2/1102023-1-2610.2 UML及面向对象的建模过程及面向对象的建模过程n1 建模过程框架建模过程框架n2 建模语言建模语言UML及及Case工具工具n3 UML模型树型组织结构模型树型组织结构n4 UML对模型内容的表述对模型内容的表述3/1102023-1-2610.2.1 面向对象的建模过程框架面向对象的建模过程框架n 1 建模过程比较n 2 建模过程框架n 3 迭代策略n 4 人员分工与职责4/1102023-1-261.建模过程比较需求调查需求调查 需求分析需求分析 概要设计概要设计 详细设计详细设计 编程编程 系统流程图;系统流程图;高层数据
2、流图;高层数据流图;文档等文档等数据流程图;数据流程图;数据字典;数据字典;处理逻辑表达工处理逻辑表达工具;具;功能结构图;功能结构图;两个设计策略;两个设计策略;结构优化(独立结构优化(独立性);性);程序结构;程序结构;数据库;数据库;代码;代码;用原代码按用原代码按程度框图写程度框图写程度程度用例图;用例图;用例报告;用例报告;其他文档等其他文档等定义类属性定义类属性和方法;和方法;实现类的方实现类的方法;法;有哪些类?有哪些类?类应该有哪些属性?类应该有哪些属性?类应该有哪些操作?类应该有哪些操作?按责任识别一些类;按责任识别一些类;构造交互场景,实现用构造交互场景,实现用例描述的功能
3、;例描述的功能;根据交互中,请求与响根据交互中,请求与响应消息的情况,为类归应消息的情况,为类归纳责任;纳责任;将与应用相关的类的责将与应用相关的类的责任细化为操作;任细化为操作;为使用软件方式实现系为使用软件方式实现系统功能,再引入一些类,统功能,再引入一些类,并归纳操作;并归纳操作;细化属性;细化属性;细化操作;细化操作;5/1102023-1-262.面向对象的建模过程框架面向对象的建模过程框架图图10.1 建模过程框架建模过程框架6/1102023-1-263建模过程中的迭代策略建模过程中的迭代策略n 支持迭代策略是软件工程过程的基本要求。支持迭代策略是软件工程过程的基本要求。n 图图
4、10.1所示的建模过程与所示的建模过程与Rational统一过程体现了同统一过程体现了同样的核心思想原则,即以样的核心思想原则,即以Use Case 驱动、以体系构驱动、以体系构架为核心的迭代化开发。架为核心的迭代化开发。7/1102023-1-26n 前两项任务以分析为核心,目的是抽取设计要素;后三前两项任务以分析为核心,目的是抽取设计要素;后三项任务以设计为核心,目的是构造设计方案。项任务以设计为核心,目的是构造设计方案。n 五项任务中包括五项任务中包括14个活动,个活动,14个活动进一步可以细化为个活动进一步可以细化为若干个步骤,建模实践中可以灵活运用。若干个步骤,建模实践中可以灵活运用
5、。8/1102023-1-26迭代策略的体现迭代策略的体现n 由于在全局分析任务中引入了由于在全局分析任务中引入了“选定分析局部选定分析局部”活动,活动,建模过程可以充分地支持迭代化开发的策略,如图建模过程可以充分地支持迭代化开发的策略,如图10.1所示。所示。n 通常,全局分析任务中前几项活动在后续迭代中可以被通常,全局分析任务中前几项活动在后续迭代中可以被略去。略去。9/1102023-1-26n 理解迭代策略的关键是领会迭代化开发策略的思想。理解迭代策略的关键是领会迭代化开发策略的思想。n 迭代化方法中通常不作过多的假设,尽量降低对既往工作迭代化方法中通常不作过多的假设,尽量降低对既往工
6、作结果进行大面积否定的可能。结果进行大面积否定的可能。n 因为在实践中,前期活动中过度的假设往往会导致后续工因为在实践中,前期活动中过度的假设往往会导致后续工作不得不将错就错,表面上还能满足要求,但暗中牺牲了作不得不将错就错,表面上还能满足要求,但暗中牺牲了整体的质量和持续演进的能力。整体的质量和持续演进的能力。10/1102023-1-264.建模活动中人员的分工与职责建模活动中人员的分工与职责n 参与建模过程的技术人员主要是系统分析师和设计师参与建模过程的技术人员主要是系统分析师和设计师n(注意:系统分析师也就是系统分析员,设计师也就是注意:系统分析师也就是系统分析员,设计师也就是软件工程
7、师。为便于讨论问题,本书后面章节中统一使软件工程师。为便于讨论问题,本书后面章节中统一使用分析师与设计师的叫法用分析师与设计师的叫法)。)。11/1102023-1-26n 在个人综合素质方面,分析师应该具有领导才能,能够在个人综合素质方面,分析师应该具有领导才能,能够在压力下做出关键性的决策,并善始善终;能够赢得项在压力下做出关键性的决策,并善始善终;能够赢得项目经理、用户、用户群体以及管理团队的认同和尊敬,目经理、用户、用户群体以及管理团队的认同和尊敬,尤其善于和项目经理紧密协作;在各个方面都能表现出尤其善于和项目经理紧密协作;在各个方面都能表现出面向目标的实干作风。面向目标的实干作风。1
8、2/1102023-1-26n 在专业技能方面,与其他角色相比,分析师一般具有全在专业技能方面,与其他角色相比,分析师一般具有全方位的技能,他对相关知识的见解重在广度,而不是深方位的技能,他对相关知识的见解重在广度,而不是深度。度。n 分析师不仅需要具备软件工程师的各项技能,而且应该分析师不仅需要具备软件工程师的各项技能,而且应该具有用户专业领域和软件开发领域的实践经验,从而有具有用户专业领域和软件开发领域的实践经验,从而有能力在无法获得完整信息的情况下迅速领悟问题,并根能力在无法获得完整信息的情况下迅速领悟问题,并根据经验做出审慎的判断。据经验做出审慎的判断。13/1102023-1-26n
9、 分析师有可能是一个团队,但其中应有一人具有足分析师有可能是一个团队,但其中应有一人具有足够的权威。够的权威。n 设计师关注的焦点主要在系统的局部或细节上。设计师关注的焦点主要在系统的局部或细节上。14/1102023-1-26n 设计师应该掌握的技能包括:设计师应该掌握的技能包括:v 理解以理解以Use Case建模技术捕获和描述的软件需求;建模技术捕获和描述的软件需求;v 在分析师的统一协调下,应用在分析师的统一协调下,应用UML进行局部的面向进行局部的面向对象分析和设计;对象分析和设计;v 了解主流的实施技术,如设计语言和开发环境。了解主流的实施技术,如设计语言和开发环境。15/1102
10、023-1-26n 从图从图10.1中不难看出,分析师负责全局性的分析和设计中不难看出,分析师负责全局性的分析和设计问题,设计师负责局部性的分析和设计问题以及细节性问题,设计师负责局部性的分析和设计问题以及细节性的设计问题。的设计问题。n 按照图按照图10.1所示,建模的迭代过程中部署了两次全局到所示,建模的迭代过程中部署了两次全局到局部的过渡,每一次过渡都为分析师和设计师之间提供局部的过渡,每一次过渡都为分析师和设计师之间提供了沟通的机会,这为提升设计方案的质量和完整性创造了沟通的机会,这为提升设计方案的质量和完整性创造了有利条件。了有利条件。16/1102023-1-262建模过程的框架图
11、11.1 建模过程框架图图10.117/1102023-1-2610.2.2 建模语言建模语言UML及及Case工具工具n UML,全称是,全称是Unified Modeling Language,为统一建为统一建模语言。模语言。n 1 UML的来历的来历n 2 UML的优势的优势n 3 掌握掌握UML的学习方法的学习方法n 4 Rational Rose软件(建模工具)软件(建模工具)18/1102023-1-261 UML的来历 n 20世纪世纪90年代初,很多面向对象的方法已经拥有自己的年代初,很多面向对象的方法已经拥有自己的符号体系,其中有三种比较突出:符号体系,其中有三种比较突出:v
12、 James Rumbaugh博士的博士的OMT方法,方法,v Grady Booch的的Booch方法方法v Ivar Jacobson博士的博士的OOSE方法。方法。19/1102023-1-26James Rumbaugh 博士博士 Ivar Jacobson雅各布森博士雅各布森博士 Grady Booch科德布奇科德布奇 20/1102023-1-26n 不同的方法和符号体系各有所长:不同的方法和符号体系各有所长:v OMT擅长分析擅长分析v Booch擅长设计擅长设计v OOSE则擅长业务建模则擅长业务建模n 那个时期,为了建立比较丰满的模型并进行有效的沟通,那个时期,为了建立比较丰
13、满的模型并进行有效的沟通,需要掌握不同的符号体系,并且花费一些精力去翻译和需要掌握不同的符号体系,并且花费一些精力去翻译和转述模型。转述模型。21/1102023-1-26UML的来历n 后来,上述三位大师在各自的著作中自然而然地融入了后来,上述三位大师在各自的著作中自然而然地融入了其他两种方法的技术内容其他两种方法的技术内容n Jim Rumbaugh于于1994年离开年离开GE加入加入Grady Booch所所在的在的Rational公司,开始和公司,开始和Grady Booch协同研究一种协同研究一种统一的方法。统一的方法。n 一年后,一年后,Unified Method 0.8诞生了。
14、诞生了。n 同年,同年,Rational收购了收购了Ivar Jacobson所在的所在的Objectory公司,公司,Ivar Jacobson从此也成为从此也成为Rational的一员。的一员。n Unified Method不久更名为不久更名为UML。22/1102023-1-26UML的由来?n Jim Rumbaugh是IBM杰出的工程师,如今他正领导IBM Rational分部的软件建模工作。他和Grady Booch、Ivar Jacobson并称为发明UML的“三友”n UML在1997年被国际对象组织接收为建模标准。23/1102023-1-262 UML的优势n 统一建模语
15、言,顾名思义有三个要点:统一(Unified)、建模(Modeling)和语言(Language)。24/1102023-1-26理解UML的优势n(1)“统一统一”是是UML的核心的核心n UML它提升了开发团队的沟通效率,节约了以往用于翻它提升了开发团队的沟通效率,节约了以往用于翻译和转述的开销,屏蔽了藏匿于含糊语义中的风险。译和转述的开销,屏蔽了藏匿于含糊语义中的风险。v 符号系统不统一,是长期以来潜在的沟通壁垒,而使符号系统不统一,是长期以来潜在的沟通壁垒,而使用用UMLUML表述的内容能被各类人员所理解,包括用户、表述的内容能被各类人员所理解,包括用户、领域专家、分析师、设计师、程序
16、员、测试人员和培领域专家、分析师、设计师、程序员、测试人员和培训师等。训师等。v 通过通过UMLUML,他们可以充分地理解并表述自己所关注的,他们可以充分地理解并表述自己所关注的那部分内容。那部分内容。25/1102023-1-26(2)“建模建模”体现了体现了UML的使用价值的使用价值n UML在制定过程中汲取了多种建模方法的精华,包括业在制定过程中汲取了多种建模方法的精华,包括业务建模和数据建模等。务建模和数据建模等。v UMLUML的使用价值体现在特定类型的建模活动中的使用价值体现在特定类型的建模活动中,学习者,学习者,如果以掌握如果以掌握UMLUML的符号和规则为最终目的,那将所获的符
17、号和规则为最终目的,那将所获甚微。甚微。v 尽管尽管UMLUML所表述的内容可以贯穿系统开发的整个生命所表述的内容可以贯穿系统开发的整个生命周期,但周期,但UMLUML不同于普通的程序设计语言,所以仅仅不同于普通的程序设计语言,所以仅仅掌握掌握UMLUML的符号和规则并不能得到实际的解决方案。的符号和规则并不能得到实际的解决方案。26/1102023-1-26(3)“语言语言”是是UML的普遍价值的表现的普遍价值的表现v 语言的一层基本含义是一套按照特定规则和模式组成的语言的一层基本含义是一套按照特定规则和模式组成的符号系统,被拥有相同传统和习惯的人群所使用。符号系统,被拥有相同传统和习惯的人
18、群所使用。v 语言是有效沟通工具。近年来,软件开发所涉及的技术语言是有效沟通工具。近年来,软件开发所涉及的技术飞速发展,不同技术门类所使用的建模语言自成体系,飞速发展,不同技术门类所使用的建模语言自成体系,同时也具有很大的局限性,表现形式的差异往往掩盖了同时也具有很大的局限性,表现形式的差异往往掩盖了本质内容的相通。本质内容的相通。UMLUML打通了这种壁垒。打通了这种壁垒。27/1102023-1-263 掌握掌握UML的学习方法的学习方法n 通常,我们没必要在掌握所有的词汇和语法之后才开始通常,我们没必要在掌握所有的词汇和语法之后才开始使用一种语言。使用一种语言。n 掌握语言的关键在于有目
19、的地使用,学习掌握语言的关键在于有目的地使用,学习UML的情况很的情况很类似。类似。n 在开始阶段,基于一个明确目标,集中精力理解一些必在开始阶段,基于一个明确目标,集中精力理解一些必要的词汇和语法,在使用中深入体会才是事半功倍的做要的词汇和语法,在使用中深入体会才是事半功倍的做法。法。28/1102023-1-264 Rational Rose软件(建模工具)n UML语言规定了统一的建模符号与规则,在具体建模实语言规定了统一的建模符号与规则,在具体建模实践活动中,常借助于软件工具完成建模活动。践活动中,常借助于软件工具完成建模活动。n 常用的建模工具常用的建模工具Rosen 演示演示Ros
20、e安装与使用安装与使用29/1102023-1-2610.2 UML及建模过程及建模过程n1 建模过程框架建模过程框架n2 建模语言建模语言UML及及Case工具工具n3 UML模型树型组织结构模型树型组织结构n4 UML对模型内容的表述对模型内容的表述30/1102023-1-2610.2.3 UML模型的树型组织结构模型的树型组织结构n 下面以实用为目标,简单介绍一些使用UML建立的面向对象的模型基本情况31/1102023-1-26n 总体上,模型的内容通过“包”以及“包”的层层嵌套组织在一起,构成树型结构。v 模型中的“包”类似于Windows系统管理磁盘文件的目录结构,如图4.3所示
21、。包将一堆零散的模型内容简单地组织在一起,目的是更易于理解和管理。32/1102023-1-26用用“包包”组织模型内容组织模型内容图图10.3 模型的组织结构模型的组织结构 33/1102023-1-26第一层“包”,被称为“视图view”n 在需求定义阶段,从调查与分析用户需求的视角,得到在需求定义阶段,从调查与分析用户需求的视角,得到的就是需求模型的就是需求模型n 在设计阶段,从实现用户需求的视角,得到的就是设计在设计阶段,从实现用户需求的视角,得到的就是设计模型模型n 模型应该能够反映建模者和使用者的特定视角,它就是模型应该能够反映建模者和使用者的特定视角,它就是建模动机,表现为的模型
22、中的建模动机,表现为的模型中的“构架视图构架视图”(Archiecture View)。)。34/1102023-1-26n 在模型中,构架视图用包的形式表达。每一种特定的在模型中,构架视图用包的形式表达。每一种特定的“视角视角”对应一种类型的构架视图,在对应一种类型的构架视图,在Rational Rose建模工具中:建模工具中:n 用用“用例视图用例视图”(Use Case View)描述需求模型;)描述需求模型;n 用用“逻辑视图逻辑视图”(Logical View)描述设计模型。)描述设计模型。n 还有组件视图和部署视图分别用于描述实施模型和系统整体还有组件视图和部署视图分别用于描述实施
23、模型和系统整体部署。部署。35/1102023-1-26图图10.3 模型的树型组织结构模型的树型组织结构 36/1102023-1-26n 演示树型结构的模型中,每个演示树型结构的模型中,每个“包包”中存放的具体模型中存放的具体模型内容。内容。n 解释解释“包包”的构造型(的构造型(Stereotype)v“视图视图”、“层层”的本质上也是的本质上也是“包包”。n“构造型构造型”UML提供的语义扩展机制,在随后的内容中,提供的语义扩展机制,在随后的内容中,我们还会见到我们还会见到“类类”的构造型,的构造型,“Use case的构造型等。的构造型等。37/1102023-1-2610.2 UM
24、L及建模过程及建模过程n1 建模过程框架建模过程框架n2 建模语言建模语言UML及及Case工具工具n3 UML模型树型组织结构模型树型组织结构n4 UML对模型内容的表述对模型内容的表述38/1102023-1-2610.2.4 UML对模型内容的表述对模型内容的表述n 概念上,概念上,UML用于描述模型的基本词汇有三类:用于描述模型的基本词汇有三类:v“要素要素”v“关系关系”v“图图”39/1102023-1-261.UML中的要素中的要素n“要素要素”是是UML提供的一些基本符号提供的一些基本符号v 如如“Use Case”“角色角色”“”“类类”“”“接口接口”“”“子系子系统统”“
25、”“包包”等等40/1102023-1-262.UML中的中的“关系关系”n“关系关系”是是UML对各种要素之间不同类型关联关系的表对各种要素之间不同类型关联关系的表述述n UML对对“要素要素”之间的关系表述为四种类型之间的关系表述为四种类型41/1102023-1-26(1)关联关系()关联关系(Association)n 表达两个类的实例之间存在连接表达两个类的实例之间存在连接v 聚集关系(聚集关系(Aggregation)和组合关系)和组合关系(Composition)是关联关系的两种强化形式)是关联关系的两种强化形式v UML中,将二者合称为中,将二者合称为“聚合聚合”关系,不加区别
展开阅读全文