《软件工程》教学课件CH9-UML概述

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《软件工程》UML概述陈巧丽UML面向对象分析与设计UML把Booch,Rumbaugh和Jacobson等各自独立的OOA和OOD方法中最优秀的特色组合成一个统一的方法。UML的特点:统一标准面向对象可视化,表示能力强大独立于过程容易掌握使用UML的定义UML定义有两个主要组成部分:语义:用自然语言描述表示法:定义UML的可视化标准表示符号使用UML时,要从不同的角度观察系统,为此定义了概念“视图”。视图是对系统的模型在某方面的投影,注重于系统的某个方面。结构视图行为视图实现视图环境视图用例视图为最终用户做什么系统静态结构程序员提供什么软件组织与管理系统集成人员如何组织与控制系统系统工程师如何配置和运行系统系统拓扑、交付、安装、操作、通信分析员或测试员系统任务控制与管理(性能,可伸缩性,吞吐量)行为1)结构视图:描述系统的静态结构,可根据它确定重要的设计:类、包和子系统。2)实现视图:描述处于开发环境中的静态软件成分的组织(源程序、构件、数据文件、可执行程序等)。3)行为视图:描述系统在运行时的并发性,包括任务、线程、进程及其相互作用。软件体系结构的4+1视图模型4)环境视图:描述处于运行环境中的各种可执行程序是如何映射到底层平台或计算结点上的。5)用例视图:包括若干关键场景或用例。在初始和细化阶段用来帮助发现和设计体系结构。在构造阶段用来验证各种不同视图。在文档中用来表明其他视图是如何工作的。UML分析建模着重系统的用例模型和结构模型,设计建模着重行为模型,实现模型和环境模型上。体系结构中主要的元素包括:主要的类,如为业务实体建模的类。将行为赋予类的机制,如协同。模式与框架。层次与子系统。接口以及主要的进程控制或线程控制。UML的三个主要组成元素基本构造块组织构造块的规则运用于整个UML的公共机制UML的构成UML包括三种基本构造块:事物、关系和图。UML事物—结构事物类名属性操作open()close()move()display()originsizeWindow1)类2)接口—描述一个类或构件的服务(操作)。3)协作—描述合作完成某个特定任务的一组类及其关联的集合,用于对使用情形的实现建模。4)用例—表示系统想要实现的行为,不关心这些行为是怎样实现的。ISpellingPlaceOrderOrderManagement用例协作实现5)主动类—它至少拥有一个进程或线程,故能够启动控制活动。suspend()flush()EventManager6)构件—系统中物理的、可替代的部件。7)节点—系统在运行时存在的物理元素。Orderform.java数据库服务器应用服务器课程管理成绩管理UML事物—行为事物8)交互—由在特定环境中共同完成一定任务的一组对象之间交换的消息组成。p:Person:CompanyAssign(development)消息有名对象匿名对象9)状态机—描述了一个对象或一个交互在生存周期内响应事件所经历的状态序列。initializingcommandidleKeypressFinishedExitUML事物—分组事物10)包用户接口包业务对象包数据库包应用包UML事物—注释事物11)注释—依附于一个元素或一组元素之上,对其进行约束或解释的简单符号。CashAccountpresentValue()Seepolicy8-5-96.docfordetailsaboutthesealgorithms.UML关系1)依赖—两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。CourseScheduleadd(c:Course)remove(c:Course)CourseIteratorfriend2)关联—一种描述一组对象之间连接的结构关系。聚合是一种特殊类型的关联,描述了整体和部分间的结构关系。3)泛化—一种一般化—特殊化的关系。employeremployee0..1*EventConsoleWindowDialogBoxControl依赖泛化关联Windowopen()close()move()display()handleEvent()4)实现—类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。两种情况出现实现关系:a.在接口和实现它们的类或构件之间;b.用例和它们的协作之间。PlaceOrderOrderManagement用例协作实现类属性操作对象属性操作接口用例构件节点状态机包注释依赖关联泛化实现聚合复合模型中主要的图形元素UML模型的图形UseCaseDiagramsUseCaseDiagrams用例图ScenarioDiagramsScenarioDiagrams协作图StateDiagramsStateDiagrams构件图ComponentDiagramsComponentDiagrams部署图StateDiagramsStateDiagrams对象图ScenarioDiagramsScenarioDiagrams状态图UseCaseDiagramsUseCaseDiagrams顺序图StateDiagramsStateDiagrams类图活动图模型1.用例图用例图展现了一组用例、参与者以及它们间的关系。可以用用例图描述系统的静态使用情况,它定义了系统的功能需求,但这是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。在对系统行为组织和建模方面,用例图的是相当重要的。查询商品价格顾客库存系统售货员总账系统查询商品信息预售商品网上销售商品打折销售商品出售商品查询商品成分商品查询售货管理说明顾客持所欲购买的商品至收银台结帐,店员刷商品条码后,根据数量及单价计算总金额商品售出后,商品编码、单价、总金额存入电脑,数据记载到“库存系统”和“总帐系统”中(含预售、网络购物、打折销售)。。事件流基本事件流刷条码?结算金额?付款?扣库存?记入日记账?打印发票异常事件流第一异常事件流顾客结帐后更换商品第二异常事件流顾客将已售商品退回特殊需求第一个特殊需求允许退货,并将退回商品加回库存第二个特殊需求记录顾客的性别,年龄,供后续统计分析用用例规格说明:销售商品2.类图类图展示了一组类、接口和协作及它们间的关系。类图没有时间概念,是概念数据模型(如E-R图)的一种延伸。用类图说明系统的静态结构视图,包含主动类的类图—专注于系统的静态处理视图。系统可有多个类图,单个类图仅表达了系统的一个方面,要在高层给出类的主要职责,在低层给出类的属性和操作。类图是从系统构成角度来描述系统。类的表示:类的名称属性属性:数据类型属性:数据类型=初值操作操作(参数表):结果类型限定关联类1类2限定词关联名称角色1角色2聚合、引用和重复度0..*0..10..*整体类名部分类名2部分类名10..1聚合简单引用复合聚合双方捆绑关联名类1类2关联类名属性操作角色1角色2关联类泛化关系超类子类1子类2操作抽象类操作雇员雇员标识:char姓名:char职务:char工资:long项目项目标识项目名称参与开始日期结束日期任务任务标识任务名称任务费用技能技能标识技能名称团队团队标识承担工作部门部门标识部门名称客户客户标识客户名称客户地址客户电话客户代表0..*0..*10..*1..*10..*1..*1..*110..*11..*0..*1..*3.对象图对象图展示了一组对象及它们间的关系。用对象图说明类图中类的对象实例的数据结构和静态快照,即在某一时刻,一组对象的状态及其关系。对象图表达了系统的静态设计视图或静态过程视图,除了现实和原型的方面因素外,它与类图作用是相同的。c:公司名称=“研发”d2:部门d1:部门名称=“销售”d3:部门名称=“打印机销售”:联系信息地址=“清华产业楼411”p:人员姓名=“郑人杰”雇员标识=6037职务=“销售副总”经理连接link属性值对象匿名对象4.包图包图表明包及其之间的依赖类图。包是对模型中涉及的元素分组所得的结果,是具有特定语义的一个子集,必须保证低耦合、高内聚。广义地讲,包可以包含类、接口、构件、节点、协作、用例等,还可以内嵌其他子包。包之间的访问权限通过输出(输出品)和导入(进口货)设置,虚箭头从源包到目标包。年个控制器微软窗口基本图形窗口系统窗口核心基本图形核心图形核心图组件见、、、编辑器图组件见、、、5.构件图构件图展现了一组构件之间的组织和依赖,用于对源代码、可执行的发布、物理数据库等的系统建模。构件图表示系统的静态实现视图。CourseCourseOfferingStudentProfessorCourse.dllPeople.dll课程用户Register.exeBilling.exe课表系统6.部署图部署图展现了对运行时处理节点以及其中构件的配置每一节点代表一个计算单元。。它描述系统硬件的物理拓扑结构(包括网络布局和构件在网络上的位置),以及在此结构上执行的软件(即运行时软构件在节点中的分布情况)。用部署图说明系统结构的静态环境视图,即说明分布、交付和安装的物理系统。注册服务器数据库宿舍客户机图书馆客户机主排课客户机8.活动图活动图是一种特殊的状态图,描述要做的活动、执行这些活动的顺序以及工作流。它对于系统的功能建模特别重要,强调对象间的控制流程。高层活动图用于表示任务。即用于分析用例,理解涉及多个用例的工作流、多线程及并行,显示相互联系的行为整体,还可用于业务过程建模,对系统的功能建模。低层活动图用于表示类的方法。按订单供货接订单开发票结清订单快速交付正常交付收款起点分叉活动分支合并汇合结束[紧急订单][非紧急订单]变迁9.状态图状态图展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。一个状态图描述了一个状态机,用状态图说明系统的动态视图。状态图对于接口、类或协作的行为建模尤为重要,可用它描述用例实例的生存周期。Project对象的状态图注册预售开发系统分析系统设计程序编码软件测试系统部署单元测试与调试维护新projectproject完开始结束10.交互图交互图展现了按一定的目的进行一种交互,它由在一个上下文中的一组对象及它们之间交互的信息组成。交互图可用于描述一个用例的行为。顺序图和协作图都是交互图,它们可以相互转换。如果希望查看单个对象跨用例的行为,要使用状态图。如果希望查看跨用例跨线程的行为,要使用活动图。10-1顺序图顺序图展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。对象表述为虚垂线顶端的矩形小框。垂线是对象的生命线,说明对象的生命。生命线之间的箭头表示消息。消息出现的次序自上而下。消息箭头可以回到同一条生命线,指明自调用,即对象发给自己的消息。移动电话系统的用例图移动用户移动网络与对方通话下载图符下载铃声管理电话本移动电话系统的顺序图:移动用户:移动按键:移动显示:移动手机:移动基站按数字键显示按键号码按发送键连接基站建立连接连接成功显示连接成功10-2协作图协作图展现了一组对象,这组对象之间的连接以及这组对象收发的消息。它强调收发消息的对象结构组织,按组织结构对控制流建模。协作图中的协作不是参与者与系统之间的交互,而是系统内部某一个用例中各个对象之间信息传递的方式。消息上所附编号指明执行顺序。移动电话系统的协作图:移动用户1:按数字键3:按发送键:移动按键2:显示按键号码:移动显示:移动手机:移动基站4:连接基站5:建立连接6:连接成功7:显示连接成功*RUP(RationalUnifiedProcess统一开发过程)的分析/设计工作流分析和设计工作流的目的是研究欲采用的实现环境和系统构件的效用,定义软件的组织结构,把需求获取结果转化为实现规格。为实现这种转化,必须理解需求,采用最佳实现策略将其翻译为系统设计。为此,首先是建立健壮的软件体系结构,设计出易于理解、开发和演进的系统,然后调整这个设计,使之适应实现环境。最后结果是

1 / 99
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功