第三讲可视化建模技术_第1页
第三讲可视化建模技术_第2页
第三讲可视化建模技术_第3页
第三讲可视化建模技术_第4页
第三讲可视化建模技术_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

1、第三讲可视化建模技术学习路线图OOUMLOOPDP Case-Study 学 习 路 线 图234567891011第3讲 可视化建模技术3.1 可视化建模基础3.2 统一建模语言(UML)3.3 UML2组成结构3.4 UML2概念建模3.5 应用UML2建模传统的软件建模方法建立数据模型、功能模型和行为模型,并坚持分解原则。回顾一下,支持结构化分析(SA)和结构化设计(SD)的建模方法主要有哪些?数据流图(Data Flow Diagram, DFD)实体关系图(Entity Relationship Diagram, ER)结构图(Structure Chart, SC)流程图(Flow

2、 Diagram, FD)系统和程序还有:IPO图、层次图、层次方框图、状态图 等什么是可视化建模?以图形的方式描述待开发业务系统的业务工作处理过程。可视化建模允许你提出一个复杂问题的必要处理细节(做什么、怎么做?),过滤不必要的设计与实现细节(如何做?)。模型模型是对现实世界的简化,且非常普遍模型是对系统的完整的抽象表示建模是在不同层次上对系统的描述。建筑模型其他常见的模型生活相关:气象图、道路交通图、交通标志展示相关:建筑物模型、沙盘、公司总部的3D复制品数据分析相关:条形图、饼状图业务分析相关:组织结构图、跨职能流程图设计相关:建筑平面图、管线图、电路板设计图 模型的重要性纸飞机战斗机不

3、重要非常重要描绘真实业务的模型非常重要为什么要建模?设计一个软件的模型就像是建造一幢大楼需要蓝图一样重要降低复杂度鉴于软件系统的复杂性和规模的不断增大,需要建立不同的模型对系统的各层次进行描述。交流工具业务沟通基础便于开发人员与用户的交流。可视化方便沟通标准的图示或符号说明系统的结构或行为,可改进跨团队的沟通。建立什么模型?模型的种类模型的用途业务模型需求模型设计模型数据库模型实现模型对业务过程、工作流、组织的建模,描述业务对捕获的需求进行整理和分析的工具,辅助开发人员与用户进行沟通,分析业务包含高层设计(架构模型)和详细设计模型,用于统一开发人员、沟通设计信息,设计软件设计数据库的结构、表结

4、构以及与应用系统的交互,管理数据用来理清软件的组成、部署方案,为安装与维护人员的工作提供指导,系统实施各阶段建模包含哪些人员?业务建模:领域专家为主,需求分析人员是主力 需求模型:以需求分析人员为主,系统分析员是主力,领域专家提供指导 设计模型 高层设计模型以架构师为主,系统分析员,资深开发人员 详细设计模型则以资深开发人员为主,架构师提供指导实现模型 :设计人员为主,架构师提供总体指导。思考: 数据库模型需要哪些人员?第3讲 可视化建模技术3.1 可视化建模基础3.2 统一建模语言(UML)3.3 UML2组成结构3.4 UML2概念建模3.5 应用UML2建模What Is the UML

5、?是对象管理组织(OMG)制定的一个通用的、可视化的建模语言标准,可用来:Visualizing(可视化)Specifying(描述)Constructing(构造)Documenting(文档化) 是软件密集型系统的各种工件(Artifacts)成本高、风险大、具有完整的软件生命周期UML是标准的符号 1. 用UML画图很容易摆脱符号烦恼全心面对问题2. UML仅仅是一种表达形式用好UML首先需要掌握OOA&OOD的基本原则和方法,并在一定的软件开发过程(如统一过程UP/USDP/RUP、XP等)的指导下进行有取舍的运用但知道要画什么是困难的!UML发展历程UMLPartners Exper

6、tiseUML 1.0(Jan. 97)UML 1.1(Sept. 97)UML 1.5(March, 03)UML 2.0(2005)Other MethodsBooch 91OMT - 1OOSEBooch 93OMT - 2Public FeedbackUnified Method 0.8(OOPSLA 95)UML 0.9(June 96)UML 0.91(Oct. 96)and工业化标准化统一化分散的各部分(2011)UML的统一统一了什么?开发生命周期应用领域实现语言和平台开发过程本身的内部概念第3讲 可视化建模技术3.1 可视化建模基础3.2 统一建模语言(UML)3.3 UML

7、2组成结构3.4 UML2概念建模3.5 应用UML2建模UML基础结构和上层结构UML基础结构(Infrastructure)UML的元模型,即构造UML模型的基本元素使之更加模块化,更易于扩展与UML其它规范更加保持一致(如元对象设施MOF、公共仓库元模型CWM)UML上层结构(Superstructure)是指普通用户使用的UML语法、语义以及符号表示,详见3.4节介绍使UML更具可用性UML基础结构和上层结构UML2组成结构核心建模元素,基础结构的主体建模元素的通用扩展机制建模元素的基本数据类型使用基本元素进行扩展UML基础结构中的Core包Core定义了核心的建模元素,是UML基础结

8、构的主体内容;Primitive Types包则定义了这些模型元素的通用扩展机制,如模型中使用的5个基本数据类型。其中UnlimitedNatural为“无限制自然数”抽象元类具体元类生成XMI标准的构造元素UML基于源对象设施(MOF)的四层元模型结构元元模型层(M3)定义建模语言所需的元素(UML基础结构)如:MetaClass, MetaAttribute, MetaOperation元模型层(M2)定义了一种建模语言的结构和语法(UML上层结构)如: Class, Attribute, Operation模型层(M1)由用户定义了一个具体的系统的模型如采用UML表示的某系统模型运行时(

9、M0)包含了一个模型的对象在运行时的状态等如某系统运行时的对象和数据模型采用分层抽象的思想四层元模型结构实例抽象Class抽象Class具体化用户所设计的某个具体系统的模型系统运行期间的实例即类的实例UML的应用领域:UML是一个通用的标准建模语言,可对任何具有静态结构和动态行为的任何软件系统进行建模。UML适用于系统开发的不同阶段:需求阶段用用例;分析与设计阶段用类图;实现阶段用交互图;构造阶段用OO编程语言。UML常应用在以下领域。(1)信息系统(2)嵌入式系统(3)分布式系统(4)商业系统它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及具有实时要求的工业系统或工业

10、过程等,应用领域非常广泛。第3讲 可视化建模技术3.1 可视化建模基础3.2 统一建模语言(UML)3.3 UML2组成结构3.4 UML2概念模型3.5 应用UML2建模UML2概念模型UML上层结构Superstructure构造块building blocks通用机制common mechanisms构架architecture基本UML建模元素、关系和图达到特定目标的通用UML方法系统构架的UML视图例如MVC架构构造块构造块(building blocks)事物(things)结构、行为、分组、注释关系(relationships)依赖、关联、泛化、实现图(diagram)静态模型(

11、系统结构,7种):类图、对象图、构件图、部署图、包图、组合结构图、外廓图动态模型(系统行为,7种):顺序图、通信图、时间图、交互纵览图、活动图、状态机图、用例图通用机制规格说明(Specifications)图形、文本维度的模型描述修饰(Adornments)描述建模元素的细节信息通用划分(Common Divisions)建模时对事物的划分方法扩展机制(Extensibility Mechanisms)构造型、约束、标记值Window通用划分类元(classifier)和实例的划分类元表示一种抽象实例则是这种抽象的一个具体表现例:类/对象、用例/场景、构件/构件实例接口和实现的分离接口声明行

12、为的契约(做什么)实现表示对该契约的具体实现细节(如何做)例:接口/子系统、用例/用例实现、操作/方法扩展机制构造型(stereotypes)基于已有的建模元素引入新的建模元素标记值(tagged value)扩展UML构造型的特性,可以用来创建构造型的详细信息约束(constraint)扩展UML构造块的语义,可以用来增加新的规则或修改现有的规则示例:扩展机制类图中的authored是构造型,表明该类不同于其他类信息的细节标记值增加的约束,表明在插入数据时需要排序构造型(stereotypes)构造型(stereotypes,衍型)是一种使用非常广泛的扩展机制。其目标主要为:根据已有的模型元

13、素定义一个新元素建立在UML已定义好的模型元素基础之上可以用于所有的UML模型元素,如类、关联、用例、构件等UML规范提供了一些预定义的构造型构造型的三种表现形式标准类图右上角用特殊的图标直接采用不同的图形,很直观部署视图Deployment View系统的拓扑结构 移交, 安装通信系统工程师进程视图Process View性能可扩展性吞吐率系统集成人员实现视图Implementation View编码人员 系统的组装和配置管理逻辑视图Logical View分析/设计人员软件结构 构架:4+1视图(from RUP)Use Case View最终用户功能性需求第3讲 可视化建模技术3.1 可

14、视化建模基础3.2 统一建模语言(UML)3.3 UML2组成结构3.4 UML2概念模型3.5 应用UML2建模UML1.x中 5类9种图类 图:类以及类之间的相互关系对象图:对象以及对象之间相互关系构件图:构件及其相互依赖关系部署图:构件在各节点上的部署顺序图:强调时间顺序的交互图通信图:强调对象间协作的交互图状态机图:类所经历的各种状态活动图:对工作流建模用例图:需求捕获,测试依据结构行为用例图静态图实现图交互图行为图包图:用来组织建模元素的图形UML2.4中的14种图UML2.4-图Diagrams类图Class Diagrams对象图Object Diagrams构件图Compone

15、nt Diagrams部署图Deployment Diagrams用例图Use Case Diagrams顺序图Sequence Diagrams通信图Communication Diagrams状态机图State Machine Diagrams活动图Activity Diagrams静态模型(系统结构)动态模型(系统行为)包图Package Diagrams组合结构图Composite Structure Diagrams时间图Timing Diagrams交互纵览图Interaction Overview Diagrams外廓图Pro交互图38示例:图书馆管理系统某图书馆管理系统是一个基

16、于Web的计算机应用系统读者可以查询图书信息以及借阅信息读者可以通过系统预约所需的图书图书馆工作人员利用该系统完成读者的借书、还书业务图书馆工作人员可以对图书信息、读者信息等进行维护对于到期的图书,系统会自动向读者发送催还信息管理员会定期进行系统维护思考:该系统需要完成哪些业务处理工作? 谁来参与对应的业务处理工作?如何建模?用例图(Use Case Diagram)用例图是被称为参与者(Actor)的外部用户所能观察到的系统功能的模型图需求捕获列出系统中的用例和参与者表明了哪个参与者参与了哪个用例的执行核心概念用例:系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用,每次交互过

17、程就是一个场景参与者、参与者之间的关系是泛化用例与参与者之间的关系:关联(单向、双向)用例之间关系:扩展、包括、泛化推荐使用场合业务建模、需求获取、业务功能定义与描述、验证业务用例图元素图书馆管理系统用例图从用例图中我们得到了什么信息?(用户使用情况)得不到什么信息?(具体的使用过程,需提供用例文档)活动图(Activity Diagram)活动图通过动作来组织,主要用于描述某一方法、机制或用例的内部行为(活动过程)核心概念活动、组合活动对象、对象流转移、分支,并发、同步分区(泳道)推荐使用场合业务建模、需求描述、类设计活动图元素“借书”业务的活动图静态结构图软件的核心类图(Class Dia

18、gram)是软件的蓝图,详细描述了系统内各个对象的相关类,以及这些类与类之间的静态关系对象图(Object Diagram)表示在某一时刻类的对象静态结构和行为包图(Package Diagram)展现由模型本身分解而成的组织单元(包、子系统)以及它们的依赖关系组合结构图(Composite Structure Diagram)描述系统中某一部分(组合结构)的内部结构,包括该部分与系统其它部分的交互点静态结构图(续)核心概念类图:类、接口、依赖、关联、泛化、实现对象图:对象、链接、多重性包图:包(框架、层、子系统) 、依赖组合结构图:组合结构、部件、端口、协议推荐使用场合系统静态结构建模的核心

19、模型软件的核心业务建模、分析、设计、实现,贯穿于整个软件生命周期类图、对象图、包图元素组合结构图元素类图展示实体类的静态关系图书馆静态结构图对象图展示某职工当前借书情况类的实例包图展示系统分层结构按层次划分按主题划分组合结构图展示借书内部结构端口部件借书处理过程顺序图(Sequence Diagram)顺序图用于显示多个对象间的交互活动关注对象之间消息传送的时间顺序 核心概念对象、生命线、激活条(控制焦点)、交互、消息交互片段(Interaction Frame)推荐使用场合用例分析、用例设计只针对用例顺序图元素“借书”用例实现的顺序图自反消息“借书”的顺序图(UML2表示)交互纵览图交互纵览

20、图(Interaction Overview Diagram)活动图和顺序图的混合物直观地表达一组相关顺序图之间的流转逻辑核心概念交互片段分支、转移 推荐使用场合用例分析、用例设计的交互过程交互纵览图元素交互纵览图组织多个顺序图sd Overview 查询图书信息ref没找到预约图书ref借 书ref找到所需图书书已借出该书可借交互片段ref可以进一步细化分解片段的内部活动过程交互纵览图交互纵览图是将活动图和顺序图嫁接在一起的图。交互纵览图有两种形式:一种是以活动图为主线,对活动图中某些重要活动节点进行细化,即用一些小的顺序图对重要活动节点进行细化,描述活动节点内部对象之间的交互;另一种是以顺

21、序图为主线,用活动图细化顺序图中某些重要对象,即,用活动图描述重要对象的活动细节。以活动图为主线的示例通信图通信图(Communication Diagram)UML 1.x中称为协作图(Collaboration Diagram)表示两个对象间关系以及交互活动(两两协作)核心概念对象、协作角色协作、交互、消息 推荐使用场合用例分析、用例设计中的两两对象间的交互过程通信图元素“借书”用例实现的通信图时间图(Timing Diagram)时间图也是一种交互图,展现了通信的消息跨越不同对象或角色的实际时间信息可描述单个或多个对象状态变化的时间点以及维持特定状态的时间片段是表示交互时间的主要手段(如

22、:PLC中的T型图)核心概念时间约束、持续时间约束、生命线状态、条件、事件时间图元素“打 ”顺序图的时间约束=30sec利用时间图描述时间约束=30secsd User_DialPhoneIdleTonedDialingConnectingCallingtiming rulerLiftDigitDialOKHang :Switchsd User_DialPhoneIdleTonedDialingConnectingCallingIdle=30sec:Switch 区域方式直线方式时间图示例用时间图表示一个电子门禁系统的控制逻辑,该门禁系统包括门(物理的门),智能读卡器(读取用户的IC卡信息),

23、处理器(用来处理是否开门的判断)。时间图表示时间图从上面例子中不难看出,时间图所包含的图元并不多,主要包括:生命线,状态,状态变迁,消息,时间刻度。状态机图状态机图(State Machine Diagram)UML1.x为状态图(Statechart Diagram)利用状态和事件描述对象本身的行为主要概念状态、初态、终态、复合状态事件、转移、动作并发 推荐使用场合只用于类设计,用来描述每个对象的状态状态机图元素“图书”类的状态机图构件图构件图(Component Diagram)封装类为构件描述在系统实现环境中的软件构件和构件之间的关系主要概念构件、工件、接口(所供接口、所需接口)构件之间的关系:依赖、实现推荐使用场合系统设计、实现、部署构件图元素构件图描述类的实现环境表示构件图(UML2新特性)OrderOrderEntryAccountPayablePersonOrderHeaderLineItemOrder.jarOrderHeaderLineI

温馨提示

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

评论

0/150

提交评论