软件工程—第7章 统一建模语_lyh.ppt





《软件工程—第7章 统一建模语_lyh.ppt》由会员分享,可在线阅读,更多相关《软件工程—第7章 统一建模语_lyh.ppt(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章第七章 统一建模语言统一建模语言(Unified Modeling Language UML)Unified Modeling Language UML)UMLUML是一种定义良好,易于表达,功能强大且普遍实是一种定义良好,易于表达,功能强大且普遍实用的用的建模语言,不是一种方法建模语言,不是一种方法,它独立于过程。利用,它独立于过程。利用它建模时,可遵循任何类型的建模过程。它建模时,可遵循任何类型的建模过程。UML的的主要内容主要内容 (1)UML融合了Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同;(2)UML不仅仅是上述方法的简
2、单汇合,而是扩展了现有方法的应用范围;(3)UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程。UML的的定定义义(1)UML的语义 描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。(2)UML表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义
3、上它是UML元模型的实例。7.1 UML7.1 UML的组成、特点及应用的组成、特点及应用7.2 7.2 静态建模静态建模7.3 7.3 动态建模动态建模7.4 7.4 物理架构建模物理架构建模7.5 7.5 基于基于UMLUML的统一建模过程的统一建模过程-RUP-RUP教学内容:教学内容:教学目的及要求:教学目的及要求:了解统一建模语言;了解统一建模语言;了解统一建模语言;了解统一建模语言;了解静态建模,动态建模和物理架构建模的方法。了解静态建模,动态建模和物理架构建模的方法。了解静态建模,动态建模和物理架构建模的方法。了解静态建模,动态建模和物理架构建模的方法。统一建模语言统一建模语言
4、UMLUML是通用的模型语言,可用于确定、表示、和记录软件系统,是通用的模型语言,可用于确定、表示、和记录软件系统,它提供的模型符号标记,尤其适用于面向对象的软件分析和设计。它提供的模型符号标记,尤其适用于面向对象的软件分析和设计。UMLUML是用是用Grady Grady BoochBooch、IvarIvar Jacobson Jacobson、Jim Jim RumbaughRumbaugh三位三位面向对象方法的专家,在多家软件公司组成的国际对象管理组织面向对象方法的专家,在多家软件公司组成的国际对象管理组织(OMG)OMG)标准下研制的,从标准下研制的,从19971997年的年的1.0
5、1.0版到现在的版到现在的1.41.4版,经历逐版,经历逐步完善的过程。目前步完善的过程。目前,UML,UML是业界共识的标准。是业界共识的标准。7.1 UML的组成,特点与应用的组成,特点与应用1.UML的组成的组成UML的模型元素的模型元素 一类模型元素用于表示模型中的某个概念:一类模型元素用于表示模型中的某个概念:类,对象,构件,用例,结点,接口,包和类,对象,构件,用例,结点,接口,包和注释等注释等 一类用于表示模型元素之间相互连接的关系:一类用于表示模型元素之间相互连接的关系:关联,泛化,依赖和聚集等。关联,泛化,依赖和聚集等。几种主要连接的含义:几种主要连接的含义:关联:关联:连接
6、模型元素及链接实例;连接模型元素及链接实例;泛化:泛化:表示一般与特殊的关系,即表示一般与特殊的关系,即“一般一般”元素是元素是“特殊特殊”元素的泛化,元素的泛化,“特殊特殊”元素是元素是“一般一般”元素的特化;元素的特化;依赖:依赖:表示一个元素以某种方式依赖于另一个元素;表示一个元素以某种方式依赖于另一个元素;聚集:聚集:表示整体与部分的关系,即表示整体与部分的关系,即“部分部分”元素是元素是“整体整体”元素的一部分。元素的一部分。UML的元模型结构的元模型结构 按照按照UML的语义,的语义,UML模型可定义为模型可定义为4个抽象层次。个抽象层次。从低到高分别为从低到高分别为 元元模型,元
7、模型,模型和用户模型。元元模型,元模型,模型和用户模型。下一层是上一层的基础,上一层是下一层的实下一层是上一层的基础,上一层是下一层的实 例。例。元元模型层:定义了用于描述元模型的语言,它是任何元元模型层:定义了用于描述元模型的语言,它是任何模型的基础。模型的基础。元模型层:定义了用于描述模型的语言,它组成了元模型层:定义了用于描述模型的语言,它组成了UML的基本元素,包括面向对象和构件的概念。的基本元素,包括面向对象和构件的概念。模型层:定义了用于描述信息领域的语言,他组成了模型层:定义了用于描述信息领域的语言,他组成了UML的模型。模型是对现实世界的抽象,无论是问题与的模型。模型是对现实世
8、界的抽象,无论是问题与还是解决方案,都可以抽象成模型。还是解决方案,都可以抽象成模型。用户模型层:是模型的实例,它用于表达一个模型的特用户模型层:是模型的实例,它用于表达一个模型的特定情况。定情况。UML模型模型图图静态图(用例图,类图,对象图,构件图,部署图)静态图(用例图,类图,对象图,构件图,部署图)用例图描述系统的功能;用例图描述系统的功能;类图描述系统的静态结构;类图描述系统的静态结构;对象图描述系统在某个时刻的静态结构;对象图描述系统在某个时刻的静态结构;构件图描述实现系统的元素的组织;构件图描述实现系统的元素的组织;部署图描述系统环境元素的配置。部署图描述系统环境元素的配置。动态
9、图(状态图,时序图,协作图和活动图)动态图(状态图,时序图,协作图和活动图)状态图描述系统元素的状态条件和响应;状态图描述系统元素的状态条件和响应;时序图按时间顺序描述系统元素间的交互;时序图按时间顺序描述系统元素间的交互;协作图按照时间和空间的顺序描述系统元素间的交互和关系;协作图按照时间和空间的顺序描述系统元素间的交互和关系;活动图描述系统元素的活动。活动图描述系统元素的活动。显示使用案例与角色之间的交互,从用户的角度对系统的要求。使用案例:表示功能 角色:表示系统功能的直接使用者。可换成 关系说明:use使用关系 include包含关系 extend扩展关系 关系连线:Use Case
10、框图使用场景图 UML模型符号对象类之间的关系,只反映静态的结构,用关联来表示 关联:表示对象类之间固有的联系 关联表示的图符:对象是所有参与系统的实体,用 或 表示 (短式)(长式)对象和类的关系:类是对象的抽象概括 继承关系:对象是类的实例 从若干对象中提取类Class框图类图UML模型符号Component框图构件图 表示程序组装的情况。一个应用程序的划分,以及组装大致分为三部分:图符表示:程序体 程序头 执行文件 (.CPP)(.h)UML模型符号Deployment框图部置图软件组件的划分和部署示意图,属于软件体系结构的部置 例如:UML模型符号 数据库 服务器 打印机自动取款机 A
11、TM自动取款机 ATM专用网专用网Sequence框图顺序图轨迹图对应每个对象 每个使用案例所涉及对象之间的事件轨迹表示用确定对象的事件来提取对象类的操作:事件轨迹 UML模型符号UML模型符号Collaboration框图合作图以不同方式表示的顺序图,强调每个对象(类)的事件,清楚地表示出每个类上的作用事件,以及发出事件。表示图符为:(Sequence 对象(类)的另一种表示)对象 A对象 B发出方接受方事件1事件2.事件n自作用事件iState Transition框图状态转换图一个对象(类)的所有状态转换描述 状态是属性的值,可以刻划一个对象属性的值域 一个对象的状态图:状态1状态2状态
12、3始点 终点UML模型符号视图视图用例视图表达从用户角度看到的系统应有的外部功能,有用例视图表达从用户角度看到的系统应有的外部功能,有时也叫用户模型视图;用用例图来描述。时也叫用户模型视图;用用例图来描述。逻辑视图主要用类图和对象图来描述系统的静态结构,它逻辑视图主要用类图和对象图来描述系统的静态结构,它同时也描述对象间为实现给定功能发送消息时出现的动态同时也描述对象间为实现给定功能发送消息时出现的动态协作关系,故称结构模型视图。它用状态图,时序图,协协作关系,故称结构模型视图。它用状态图,时序图,协作图和活动图来描述。作图和活动图来描述。并发视图用于展示系统的行为及其并发性。也称模型视图。并
13、发视图用于展示系统的行为及其并发性。也称模型视图。它用状态图,时序图,协作图,活动图,构件图和部署图它用状态图,时序图,协作图,活动图,构件图和部署图来描述。来描述。构件视图展示系统实现的结构和行为特征,包括实现模块构件视图展示系统实现的结构和行为特征,包括实现模块和他们之间的依赖关系,也称模型视图。构件视图用构件和他们之间的依赖关系,也称模型视图。构件视图用构件图来描述。图来描述。部署视图显示系统地实现环境和构件被部署到物理结构中部署视图显示系统地实现环境和构件被部署到物理结构中的映射。它用部署图来描述。的映射。它用部署图来描述。2.UML的特点的特点统一标准;统一标准;面向对象;面向对象;
14、表达能力强大,可视化。表达能力强大,可视化。3.UML3.UML的应用的应用 UML的目标是以面向对象图的方式来描述任何类型的的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的件系统的模型,但它同样可以用于描述非软件领域的系统。系统。UML是一个通用的标准建模语言,可以对任何具有静是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。态结构和动态行为的系统进行建模。UML适用于系统适用于系统开发过程中从需求规格描述到系统完成后测试的不同开发过程中
15、从需求规格描述到系统完成后测试的不同阶段。阶段。UML用于软件系统开发的不同阶段用于软件系统开发的不同阶段:用户需求:用户需求:可使用用例图来捕获用户可使用用例图来捕获用户 的需求,用例图从用户的的需求,用例图从用户的 角度来描述系统的功能,角度来描述系统的功能,表示了操作者与系统的一个表示了操作者与系统的一个 交互过程。交互过程。用例图举例用例图举例签定一份签定一份保险单保险单客户客户保险销保险销保险销保险销售人员售人员售人员售人员销售统计销售统计销售统计销售统计客户统计客户统计使用用例图举例(使用用例图举例(3)参与者参与者保险销售人员保险销售人员保险销售人员保险销售人员保险保险保险保险销
16、售人员销售人员销售人员销售人员AB客戶客戶亲自拜訪亲自拜訪的客戶的客戶电話客戶电話客戶参与参与者表示法者表示法 参与参与者之者之间间的的一般一般/特殊关系表示特殊关系表示 用例图用例图 类图类图 状态图状态图 顺序图顺序图 协作图协作图完整需求定义要用五种图完整需求定义要用五种图建立概念模型(建立概念模型(UML中的类图)中的类图)确定并定义类确定并定义类建立关联建立关联添加属性添加属性描述系统行为:系统顺序图等描述系统行为:系统顺序图等 建立关联建立关联 对象之间的静态联系称为实例连接对象之间的静态联系称为实例连接(Instance Instance Connection Connectio
17、n),它通过对象的属性来表现对象它通过对象的属性来表现对象 之间的依赖关系。之间的依赖关系。面向对象术语中把对象之间的实例连接称为面向对象术语中把对象之间的实例连接称为 链接链接(Link)(Link),把类之间的实例连接称为关联把类之间的实例连接称为关联 (Association)(Association)实例连接实例连接示例示例及表示及表示教师教师 指导论文指导论文0,m 1学生学生教师为学生教师为学生指导论文:指导论文:教师教师 教学教学0,m 0,n 学生学生教师为学生教师为学生授课:授课:关联关系关联关系(链属性链属性)的表示的表示 允许实例连接带有一组属性,这些属性通过关联允许实例
18、连接带有一组属性,这些属性通过关联 来描述来描述 类类 1 连接名称连接名称m n类类 1连接连接属性属性 关联关系关联关系 (链属性链属性)为之工作为之工作工资工资职务职务雇主雇主雇员雇员 个人个人名字名字身份证号身份证号公司公司名字名字地址地址题目题目答辩时间答辩时间成绩成绩 教师教师学生学生 指导论文指导论文0,m 1商店和销售领域的一个部分概念模型商店和销售领域的一个部分概念模型(UML的类图的类图)SalesLineItemquantitySaledatetimePaymentamoutItemquantityStoreAddressnamePOSRecords-sale-of0.1
19、11.*1111.*11*1Captured-on1Paid-byContainedStocked-inHouses属性属性关联关联概念概念(类类)UML用于软件系统开发的不同阶段用于软件系统开发的不同阶段:系统分析:系统分析:可使用可使用类图类图来描述系统的来描述系统的 静态模型。静态模型。为了实现用例,类之间需为了实现用例,类之间需 要协作,可用动态模型的要协作,可用动态模型的 状态图状态图、顺序图顺序图、协作图协作图 来描述。来描述。分析阶段只考虑问题域的分析阶段只考虑问题域的 对象建模。需要通过静态对象建模。需要通过静态 模型和动态模型来描述系模型和动态模型来描述系 统结构和系统行为。
20、统结构和系统行为。金融机构类图举例金融机构类图举例:所有人所有人财产财产人员人员金融机构金融机构信贷银行信贷银行银行银行抵押抵押本金本金利率利率到期到期*有次序的有次序的*借方借方债权人债权人房屋房屋保险机构类图举例保险机构类图举例:接电话的顺序图接电话的顺序图:受话者受话者交换机交换机远程交换机远程交换机受话者受话者拿起话筒拿起话筒听通话声听通话声拨号码拨号码.铃响信号铃响信号铃响铃响铃响停止信号铃响停止信号拿起话筒拿起话筒铃响停止铃响停止10 deabcb-a1e-d5c-b10路径路径 协作图举例协作图举例打印机忙打印机忙保存打印文件保存打印文件队列队列计算机计算机 打印机空闲打印机空闲
21、打印文件打印文件 打印机打印机打印服务器打印服务器打印文件打印文件 电梯电梯状态图举例状态图举例在一楼在一楼上升上升停滞停滞下降下降回到一楼回到一楼回一楼回一楼想要到想要到达楼层达楼层想要到想要到达楼层达楼层电梯行程电梯行程开始开始向上向上向上向上向下向下销售代表销售代表 0.1定货定货nameaddress顾客顾客creditRating():String产品产品雇员雇员1dataReceivedisPrepaidnumber:Stringprice:Money协作顾客协作顾客contactNamecreditRatingcreditLimitcreditCard#个人顾客个人顾客credi
22、tRating()=“poor”定货作业线定货作业线dispatch()close()remind()billForMonth()Quantity:Integerprice:MoneyisSatisfied:Boolean1 1*1 1物品物品网上商店对象模型网上商店对象模型(部分部分)示例示例(UML)UML用于软件系统开发的不同阶段用于软件系统开发的不同阶段:系统设计:系统设计:对类进行细化,如引入人对类进行细化,如引入人 机交互的接口类、处理数机交互的接口类、处理数 据类、处理通信类。据类、处理通信类。UML用于软件系统开发的不同阶段用于软件系统开发的不同阶段:系统实现:系统实现:用用构
23、件图构件图描述代码构件的描述代码构件的 物理结构以及构件之间的物理结构以及构件之间的 关系。关系。用用配置图配置图来描述和定义系来描述和定义系 统中软硬件的物理通信结统中软硬件的物理通信结 构。构。主机与外设配置图举例:主机与外设配置图举例:“TCP/IP”网络网络A 客户机客户机B 客户机客户机应用应用服务器服务器数据库数据库服务器服务器 ATMATM系统配置图:系统配置图:局域网局域网InternetInternetATMATM客户机客户机银行储户银行储户ATMATM应用应用服务器服务器ATMATM数据数据服务器服务器 UML用于软件系统开发的不同阶段用于软件系统开发的不同阶段:测试:测试
24、:可使用可使用类图类图进行单元测试;进行单元测试;可使用可使用构件图构件图、协作图协作图进行集进行集 成测试;成测试;可使用可使用用例图用例图进行确认测试,进行确认测试,构件图(物理模型)举例:构件图(物理模型)举例:财务系统财务系统.exe教学管理教学管理.exe 课程课程课程管理课程管理.dll成绩管理成绩管理.dll人事管理人事管理.dll开设课程开设课程选课注册选课注册教师教师学生学生包图举例:包图举例:MFC类类用户接口用户接口出错处理出错处理教学管理教学管理数据库数据库教学管理系统的包图教学管理系统的包图选课管理选课管理成绩管理成绩管理人事信息人事信息教学管理包教学管理包教学管理教
25、学管理课程课程学生登记学生登记课程登记课程登记开设课程开设课程选课统计选课统计学生成绩登记学生成绩登记成绩统计成绩统计学生学生教师教师身份验证身份验证包图举例:包图举例:subsystem课程注册子系统课程注册子系统系统与子系统包图系统与子系统包图subsystem成绩管理子系统成绩管理子系统 system 教学管理系统教学管理系统7.2 静态建模静态建模1.用例模型用例模型 用于把应满足需求的基本功能聚合起来表示。对用于把应满足需求的基本功能聚合起来表示。对于将要开发的新系统,用例描述系统应该做什么;于将要开发的新系统,用例描述系统应该做什么;对于已构造完毕的系统,用例则反映了系统能够对于已
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程第7章 统一建模语_lyh 软件工程 统一 建模 _lyh

限制150内