可视化建模技术PPT课件.ppt_第1页
可视化建模技术PPT课件.ppt_第2页
可视化建模技术PPT课件.ppt_第3页
可视化建模技术PPT课件.ppt_第4页
可视化建模技术PPT课件.ppt_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

高级软件工程,1,学习路线图,-2-,第3讲可视化建模技术,3.1可视化建模基础3.2统一建模语言(UML)3.3UML2组成结构3.4UML2概念建模3.5应用UML2建模,-3-,传统的软件建模方法,建立数据模型、功能模型和行为模型,并坚持分解原则。回顾一下,支持结构化分析(SA)和结构化设计(SD)的建模方法主要有哪些?数据流图(DataFlowDiagram,DFD)实体关系图(EntityRelationshipDiagram,ER)结构图(StructureChart,SC)流程图(FlowDiagram,FD)系统和程序还有:IPO图、层次图、层次方框图、状态图等,-4-,什么是可视化建模?,以图形的方式描述待开发业务系统的业务工作处理过程。可视化建模允许你提出一个复杂问题的必要处理细节(做什么、怎么做?),过滤不必要的设计与实现细节(如何做?)。,-5-,模型,模型是对现实世界的简化,且非常普遍模型是对系统的完整的抽象表示建模是在不同层次上对系统的描述。,-6-,建筑模型,-7-,其他常见的模型,生活相关:气象图、道路交通图、交通标志展示相关:建筑物模型、沙盘、公司总部的3D复制品数据分析相关:条形图、饼状图业务分析相关:组织结构图、跨职能流程图设计相关:建筑平面图、管线图、电路板设计图,-8-,模型的重要性,纸飞机,战斗机,不重要,非常重要,描绘真实业务的模型非常重要,-9-,为什么要建模?,设计一个软件的模型就像是建造一幢大楼需要蓝图一样重要降低复杂度鉴于软件系统的复杂性和规模的不断增大,需要建立不同的模型对系统的各层次进行描述。交流工具业务沟通基础便于开发人员与用户的交流。可视化方便沟通标准的图示或符号说明系统的结构或行为,可改进跨团队的沟通。,-10-,建立什么模型?,业务模型,需求模型,设计模型,数据库模型,实现模型,对业务过程、工作流、组织的建模,描述业务,对捕获的需求进行整理和分析的工具,辅助开发人员与用户进行沟通,分析业务,包含高层设计(架构模型)和详细设计模型,用于统一开发人员、沟通设计信息,设计软件,设计数据库的结构、表结构以及与应用系统的交互,管理数据,用来理清软件的组成、部署方案,为安装与维护人员的工作提供指导,系统实施,各阶段建模包含哪些人员?,业务建模:领域专家为主,需求分析人员是主力需求模型:以需求分析人员为主,系统分析员是主力,领域专家提供指导设计模型高层设计模型以架构师为主,系统分析员,资深开发人员详细设计模型则以资深开发人员为主,架构师提供指导实现模型:设计人员为主,架构师提供总体指导。,思考:数据库模型需要哪些人员?,-12-,第3讲可视化建模技术,3.1可视化建模基础3.2统一建模语言(UML)3.3UML2组成结构3.4UML2概念建模3.5应用UML2建模,-13-,WhatIstheUML?,是对象管理组织(OMG)制定的一个通用的、可视化的建模语言标准,可用来:Visualizing(可视化)Specifying(描述)Constructing(构造)Documenting(文档化)是软件密集型系统的各种工件(Artifacts),成本高、风险大、具有完整的软件生命周期,-14-,UML是标准的符号,1.用UML画图很容易,摆脱符号烦恼,全心面对问题,2.UML仅仅是一种表达形式,用好UML首先需要掌握OOA&OOD的基本原则和方法,并在一定的软件开发过程(如统一过程UP/USDP/RUP、XP等)的指导下进行有取舍的运用,但知道要画什么是困难的!,-15-,UML发展历程,UMLPartnersExpertise,UML1.0(Jan.97),UML1.1(Sept.97),UML1.5(March,03),UML2.0(2005),OtherMethods,Booch91,OMT-1,OOSE,Booch93,OMT-2,PublicFeedback,UnifiedMethod0.8(OOPSLA95),工业化标准化统一化分散的各部分,UML2.4.1(2011),-16-,UML的统一,统一了什么?开发生命周期应用领域实现语言和平台开发过程本身的内部概念,-17-,第3讲可视化建模技术,3.1可视化建模基础3.2统一建模语言(UML)3.3UML2组成结构3.4UML2概念建模3.5应用UML2建模,-18-,UML基础结构和上层结构,UML基础结构(Infrastructure)UML的元模型,即构造UML模型的基本元素使之更加模块化,更易于扩展与UML其它规范更加保持一致(如元对象设施MOF、公共仓库元模型CWM)UML上层结构(Superstructure)是指普通用户使用的UML语法、语义以及符号表示,详见3.4节介绍使UML更具可用性,-19-,UML基础结构和上层结构,UML2组成结构,核心建模元素,基础结构的主体,建模元素的通用扩展机制,建模元素的基本数据类型,使用基本元素进行扩展,-20-,UML基础结构中的Core包,Core定义了核心的建模元素,是UML基础结构的主体内容;PrimitiveTypes包则定义了这些模型元素的通用扩展机制,如模型中使用的5个基本数据类型。其中UnlimitedNatural为“无限制自然数”,抽象元类,具体元类,生成XMI标准的构造元素,-21-,UML基于源对象设施(MOF)的四层元模型结构,元元模型层(M3)定义建模语言所需的元素(UML基础结构)如:MetaClass,MetaAttribute,MetaOperation元模型层(M2)定义了一种建模语言的结构和语法(UML上层结构)如:Class,Attribute,Operation模型层(M1)由用户定义了一个具体的系统的模型如采用UML表示的某系统模型运行时(M0)包含了一个模型的对象在运行时的状态等如某系统运行时的对象和数据模型,采用分层抽象的思想,-22-,四层元模型结构实例,抽象Class,抽象Class具体化,用户所设计的某个具体系统的模型,系统运行期间的实例即类的实例,-23-,UML的应用领域:,UML是一个通用的标准建模语言,可对任何具有静态结构和动态行为的任何软件系统进行建模。UML适用于系统开发的不同阶段:需求阶段用用例;分析与设计阶段用类图;实现阶段用交互图;构造阶段用OO编程语言。UML常应用在以下领域。(1)信息系统(2)嵌入式系统(3)分布式系统(4)商业系统,它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及具有实时要求的工业系统或工业过程等,应用领域非常广泛。,-24-,第3讲可视化建模技术,3.1可视化建模基础3.2统一建模语言(UML)3.3UML2组成结构3.4UML2概念模型3.5应用UML2建模,-25-,UML2概念模型,UML上层结构Superstructure,构造块buildingblocks,通用机制commonmechanisms,构架architecture,基本UML建模元素、关系和图,达到特定目标的通用UML方法,系统构架的UML视图,-26-,例如MVC架构,-27-,构造块,构造块(buildingblocks)事物(things)结构、行为、分组、注释关系(relationships)依赖、关联、泛化、实现图(diagram)静态模型(系统结构,7种):类图、对象图、构件图、部署图、包图、组合结构图、外廓图动态模型(系统行为,7种):顺序图、通信图、时间图、交互纵览图、活动图、状态机图、用例图,-28-,通用机制,规格说明(Specifications)图形、文本维度的模型描述修饰(Adornments)描述建模元素的细节信息通用划分(CommonDivisions)建模时对事物的划分方法扩展机制(ExtensibilityMechanisms)构造型、约束、标记值,-29-,通用划分,类元(classifier)和实例的划分类元表示一种抽象实例则是这种抽象的一个具体表现例:类/对象、用例/场景、构件/构件实例接口和实现的分离接口声明行为的契约(做什么)实现表示对该契约的具体实现细节(如何做)例:接口/子系统、用例/用例实现、操作/方法,-30-,扩展机制,构造型(stereotypes)基于已有的建模元素引入新的建模元素标记值(taggedvalue)扩展UML构造型的特性,可以用来创建构造型的详细信息约束(constraint)扩展UML构造块的语义,可以用来增加新的规则或修改现有的规则,-31-,示例:扩展机制,类图中的authored是构造型,表明该类不同于其他类,信息的细节标记值,增加的约束,表明在插入数据时需要排序,-32-,构造型(stereotypes),构造型(stereotypes,衍型)是一种使用非常广泛的扩展机制。其目标主要为:根据已有的模型元素定义一个新元素建立在UML已定义好的模型元素基础之上可以用于所有的UML模型元素,如类、关联、用例、构件等UML规范提供了一些预定义的构造型,-33-,构造型的三种表现形式,标准,类图右上角用特殊的图标,直接采用不同的图形,很直观,-34-,构架:4+1视图(fromRUP),UseCaseView,-35-,第3讲可视化建模技术,3.1可视化建模基础3.2统一建模语言(UML)3.3UML2组成结构3.4UML2概念模型3.5应用UML2建模,-36-,UML1.x中5类9种图,类图:类以及类之间的相互关系对象图:对象以及对象之间相互关系构件图:构件及其相互依赖关系部署图:构件在各节点上的部署顺序图:强调时间顺序的交互图通信图:强调对象间协作的交互图状态机图:类所经历的各种状态活动图:对工作流建模用例图:需求捕获,测试依据,结构,行为,用例图,静态图,实现图,交互图,行为图,包图:用来组织建模元素的图形,-37-,UML2.4中的14种图,-38-,UML2.4-图Diagrams,类图ClassDiagrams,对象图ObjectDiagrams,构件图ComponentDiagrams,部署图DeploymentDiagrams,用例图UseCaseDiagrams,顺序图SequenceDiagrams,通信图CommunicationDiagrams,状态机图StateMachineDiagrams,活动图ActivityDiagrams,静态模型(系统结构),动态模型(系统行为),包图PackageDiagrams,组合结构图CompositeStructureDiagrams,时间图TimingDiagrams,交互纵览图InteractionOverviewDiagrams,外廓图ProfileDiagrams,交互图,示例:图书馆管理系统,某图书馆管理系统是一个基于Web的计算机应用系统读者可以查询图书信息以及借阅信息读者可以通过系统预约所需的图书图书馆工作人员利用该系统完成读者的借书、还书业务图书馆工作人员可以对图书信息、读者信息等进行维护对于到期的图书,系统会自动向读者发送催还信息管理员会定期进行系统维护,思考:该系统需要完成哪些业务处理工作?谁来参与对应的业务处理工作?如何建模?,-39-,用例图(UseCaseDiagram),用例图是被称为参与者(Actor)的外部用户所能观察到的系统功能的模型图需求捕获列出系统中的用例和参与者表明了哪个参与者参与了哪个用例的执行核心概念用例:系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用,每次交互过程就是一个场景参与者、参与者之间的关系是泛化用例与参与者之间的关系:关联(单向、双向)用例之间关系:扩展、包括、泛化推荐使用场合业务建模、需求获取、业务功能定义与描述、验证业务,-40-,用例图元素,-41-,图书馆管理系统用例图,从用例图中我们得到了什么信息?(用户使用情况)得不到什么信息?(具体的使用过程,需提供用例文档),-42-,活动图(ActivityDiagram),活动图通过动作来组织,主要用于描述某一方法、机制或用例的内部行为(活动过程)核心概念活动、组合活动对象、对象流转移、分支,并发、同步分区(泳道)推荐使用场合业务建模、需求描述、类设计,-43-,活动图元素,-44-,“借书”业务的活动图,-45-,静态结构图软件的核心,类图(ClassDiagram)是软件的蓝图,详细描述了系统内各个对象的相关类,以及这些类与类之间的静态关系对象图(ObjectDiagram)表示在某一时刻类的对象静态结构和行为包图(PackageDiagram)展现由模型本身分解而成的组织单元(包、子系统)以及它们的依赖关系组合结构图(CompositeStructureDiagram)描述系统中某一部分(组合结构)的内部结构,包括该部分与系统其它部分的交互点,-46-,静态结构图(续),核心概念类图:类、接口、依赖、关联、泛化、实现对象图:对象、链接、多重性包图:包(框架、层、子系统)、依赖组合结构图:组合结构、部件、端口、协议推荐使用场合系统静态结构建模的核心模型软件的核心业务建模、分析、设计、实现,贯穿于整个软件生命周期,-47-,类图、对象图、包图元素,-48-,组合结构图元素,-49-,类图展示实体类的静态关系,图书馆静态结构图,-50-,对象图展示某职工当前借书情况,类的实例,-51-,包图展示系统分层结构,按层次划分,按主题划分,-52-,组合结构图展示借书内部结构,端口,部件,借书处理过程,-53-,顺序图(SequenceDiagram),顺序图用于显示多个对象间的交互活动关注对象之间消息传送的时间顺序核心概念对象、生命线、激活条(控制焦点)、交互、消息交互片段(InteractionFrame)推荐使用场合用例分析、用例设计只针对用例,-54-,顺序图元素,-55-,“借书”用例实现的顺序图,自反消息,-56-,“借书”的顺序图(UML2表示),-57-,交互纵览图,交互纵览图(InteractionOverviewDiagram)活动图和顺序图的混合物直观地表达一组相关顺序图之间的流转逻辑核心概念交互片段分支、转移推荐使用场合用例分析、用例设计的交互过程,-58-,交互纵览图元素,-59-,交互纵览图组织多个顺序图,交互片段ref可以进一步细化分解片段的内部活动过程,-60-,交互纵览图,交互纵览图是将活动图和顺序图嫁接在一起的图。交互纵览图有两种形式:一种是以活动图为主线,对活动图中某些重要活动节点进行细化,即用一些小的顺序图对重要活动节点进行细化,描述活动节点内部对象之间的交互;另一种是以顺序图为主线,用活动图细化顺序图中某些重要对象,即,用活动图描述重要对象的活动细节。,-61-,以活动图为主线的示例,-62-,通信图,通信图(CommunicationDiagram)UML1.x中称为协作图(CollaborationDiagram)表示两个对象间关系以及交互活动(两两协作)核心概念对象、协作角色协作、交互、消息推荐使用场合用例分析、用例设计中的两两对象间的交互过程,-63-,通信图元素,-64-,“借书”用例实现的通信图,-65-,时间图(TimingDiagram),时间图也是一种交互图,展现了通信的消息跨越不同对象或角色的实际时间信息可描述单个或多个对象状态变化的时间点以及维持特定状态的时间片段是表示交互时间的主要手段(如:PLC中的T型图)核心概念时间约束、持续时间约束、生命线状态、条件、事件,-66-,时间图元素,-67-,“打电话”顺序图的时间约束,-68-,利用时间图描述时间约束,区域方式,直线方式,-69-,时间图示例,用时间图表示一个电子门禁系统的控制逻辑,该门禁系统包括门(物理的门),智能读卡器(读取用户的IC卡信息),处理器(用来处理是否开门的判断)。,-70-,时间图表示,-71-,时间图,从上面例子中不难看出,时间

温馨提示

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

最新文档

评论

0/150

提交评论