第3讲 可视化建模技术

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

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

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

资源描述

高级软件工程兰州理工大学计算机与通信学院张秋余zhangqylz@163.com学习路线图OOUMLOOPDP…Case-Study…学习路线图::……………………234567891011第3讲可视化建模技术3.1可视化建模基础3.2统一建模语言(UML)3.3UML2组成结构3.4UML2概念建模3.5应用UML2建模传统的软件建模方法建立数据模型、功能模型和行为模型,并坚持分解原则。回顾一下,支持结构化分析(SA)和结构化设计(SD)的建模方法主要有哪些?数据流图(DataFlowDiagram,DFD)实体关系图(EntityRelationshipDiagram,ER)结构图(StructureChart,SC)流程图(FlowDiagram,FD)——系统和程序还有:IPO图、层次图、层次方框图、状态图等什么是可视化建模?以图形的方式描述待开发业务系统的业务工作处理过程。可视化建模允许你提出一个复杂问题的必要处理细节(做什么、怎么做?),过滤不必要的设计与实现细节(如何做?)。模型模型是对现实世界的简化,且非常普遍模型是对系统的完整的抽象表示建模是在不同层次上对系统的描述。建筑模型其他常见的模型•生活相关:气象图、道路交通图、交通标志…•展示相关:建筑物模型、沙盘、公司总部的3D复制品…•数据分析相关:条形图、饼状图…•业务分析相关:组织结构图、跨职能流程图……•设计相关:建筑平面图、管线图、电路板设计图模型的重要性纸飞机战斗机不重要非常重要描绘真实业务的模型非常重要为什么要建模?设计一个软件的模型就像是建造一幢大楼需要蓝图一样重要•降低复杂度•鉴于软件系统的复杂性和规模的不断增大,需要建立不同的模型对系统的各层次进行描述。•交流工具——业务沟通基础•便于开发人员与用户的交流。•可视化——方便沟通•标准的图示或符号说明系统的结构或行为,可改进跨团队的沟通。建立什么模型?模型的种类模型的用途业务模型需求模型设计模型数据库模型实现模型对业务过程、工作流、组织的建模,描述业务对捕获的需求进行整理和分析的工具,辅助开发人员与用户进行沟通,分析业务包含高层设计(架构模型)和详细设计模型,用于统一开发人员、沟通设计信息,设计软件设计数据库的结构、表结构以及与应用系统的交互,管理数据用来理清软件的组成、部署方案,为安装与维护人员的工作提供指导,系统实施各阶段建模包含哪些人员?•业务建模:领域专家为主,需求分析人员是主力•需求模型:以需求分析人员为主,系统分析员是主力,领域专家提供指导•设计模型高层设计模型以架构师为主,系统分析员,资深开发人员详细设计模型则以资深开发人员为主,架构师提供指导•实现模型:设计人员为主,架构师提供总体指导。思考:数据库模型需要哪些人员?第3讲可视化建模技术3.1可视化建模基础3.2统一建模语言(UML)3.3UML2组成结构3.4UML2概念建模3.5应用UML2建模WhatIstheUML?是对象管理组织(OMG)制定的一个通用的、可视化的建模语言标准,可用来:Visualizing(可视化)Specifying(描述)Constructing(构造)Documenting(文档化)是软件密集型系统的各种工件(Artifacts)成本高、风险大、具有完整的软件生命周期UML是标准的符号1.用UML画图很容易摆脱符号烦恼全心面对问题2.UML仅仅是一种表达形式用好UML首先需要掌握OOA&OOD的基本原则和方法,并在一定的软件开发过程(如统一过程UP/USDP/RUP、XP等)的指导下进行有取舍的运用但知道要画什么是困难的!UML发展历程UMLPartners’ExpertiseUML1.0(Jan.‘97)UML1.1(Sept.‘97)UML1.5(March,‘03)UML2.0(2005)OtherMethodsBooch‘91OMT-1OOSEBooch’93OMT-2PublicFeedbackUnifiedMethod0.8(OOPSLA’95)UML0.9(June‘96)UML0.91(Oct.‘96)and工业化标准化统一化分散的各部分UML2.4.1(2011)UML的统一统一了什么?开发生命周期应用领域实现语言和平台开发过程本身的内部概念第3讲可视化建模技术3.1可视化建模基础3.2统一建模语言(UML)3.3UML2组成结构3.4UML2概念建模3.5应用UML2建模UML基础结构和上层结构UML基础结构(Infrastructure)UML的元模型,即构造UML模型的基本元素使之更加模块化,更易于扩展与UML其它规范更加保持一致(如元对象设施MOF、公共仓库元模型CWM)UML上层结构(Superstructure)是指普通用户使用的UML语法、语义以及符号表示,详见3.4节介绍使UML更具可用性UML基础结构和上层结构UML2组成结构核心建模元素,基础结构的主体建模元素的通用扩展机制建模元素的基本数据类型使用基本元素进行扩展UML基于源对象设施(MOF)的四层元模型结构元元模型层(M3)定义建模语言所需的元素(UML基础结构)如:MetaClass,MetaAttribute,MetaOperation元模型层(M2)定义了一种建模语言的结构和语法(UML上层结构)如:Class,Attribute,Operation模型层(M1)由用户定义了一个具体的系统的模型如采用UML表示的某系统模型运行时(M0)包含了一个模型的对象在运行时的状态等如某系统运行时的对象和数据模型采用分层抽象的思想四层元模型结构实例抽象Class抽象Class具体化用户所设计的某个具体系统的模型系统运行期间的实例即类的实例UML的应用领域:UML是一个通用的标准建模语言,可对任何具有静态结构和动态行为的任何软件系统进行建模。UML适用于系统开发的不同阶段:需求阶段用用例;分析与设计阶段用类图;实现阶段用交互图;构造阶段用OO编程语言。UML常应用在以下领域。(1)信息系统(2)嵌入式系统(3)分布式系统(4)商业系统它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及具有实时要求的工业系统或工业过程等,应用领域非常广泛。第3讲可视化建模技术3.1可视化建模基础3.2统一建模语言(UML)3.3UML2组成结构3.4UML2概念模型3.5应用UML2建模UML2概念模型UML上层结构Superstructure构造块buildingblocks通用机制commonmechanisms构架architecture基本UML建模元素、关系和图达到特定目标的通用UML方法系统构架的UML视图结构事务行为事务分组事务注释事务依赖关联泛化实现类图对象图包图组合结构图构件图部署图外廓图交互图活动图状态机图用例图顺序图通信图时间图交互概览图事务关系图结构图行为图构造块通用机制构架规格说明修饰通用划分扩展机制UML2概念模型例如MVC架构构造块构造块(buildingblocks)事物(things)结构、行为、分组、注释关系(relationships)依赖、关联、泛化、实现图(diagram)静态模型(系统结构,7种):类图、对象图、构件图、部署图、包图、组合结构图、外廓图动态模型(系统行为,7种):顺序图、通信图、时间图、交互纵览图、活动图、状态机图、用例图通用机制规格说明(Specifications)图形、文本维度的模型描述修饰(Adornments)描述建模元素的细节信息通用划分(CommonDivisions)建模时对事物的划分方法扩展机制(ExtensibilityMechanisms)构造型、约束、标记值Window+size:Area#visibility:Boolean-xptr:XWindow+create:void+hide:void-attachXWindow:voidWindow通用划分类元(classifier)和实例的划分类元表示一种抽象实例则是这种抽象的一个具体表现例:类/对象、用例/场景、构件/构件实例…接口和实现的分离接口声明行为的契约(做什么)实现表示对该契约的具体实现细节(如何做)例:接口/子系统、用例/用例实现、操作/方法…扩展机制构造型(stereotypes)基于已有的建模元素引入新的建模元素标记值(taggedvalue)扩展UML构造型的特性,可以用来创建构造型的详细信息约束(constraint)扩展UML构造块的语义,可以用来增加新的规则或修改现有的规则示例:扩展机制类图中的《authored》是构造型,表明该类不同于其他类信息的细节标记值增加的约束,表明在插入数据时需要排序构造型(stereotypes)构造型(stereotypes,衍型)是一种使用非常广泛的扩展机制。其目标主要为:根据已有的模型元素定义一个新元素建立在UML已定义好的模型元素基础之上可以用于所有的UML模型元素,如类、关联、用例、构件等UML规范提供了一些预定义的构造型构造型的三种表现形式标准类图右上角用特殊的图标直接采用不同的图形,很直观部署视图DeploymentView系统的拓扑结构移交,安装通信系统工程师进程视图ProcessView性能可扩展性吞吐率系统集成人员实现视图ImplementationView编码人员系统的组装和配置管理逻辑视图LogicalView分析/设计人员软件结构构架:4+1视图(fromRUP)UseCaseView最终用户功能性需求第3讲可视化建模技术3.1可视化建模基础3.2统一建模语言(UML)3.3UML2组成结构3.4UML2概念模型3.5应用UML2建模UML1.x中5类9种图类图:类以及类之间的相互关系对象图:对象以及对象之间相互关系构件图:构件及其相互依赖关系部署图:构件在各节点上的部署顺序图:强调时间顺序的交互图通信图:强调对象间协作的交互图状态机图:类所经历的各种状态活动图:对工作流建模用例图:需求捕获,测试依据结构行为用例图静态图实现图交互图行为图包图:用来组织建模元素的图形UML2.4中的14种图-38-UML2.4-图Diagrams类图ClassDiagrams对象图ObjectDiagrams构件图ComponentDiagrams部署图DeploymentDiagrams用例图UseCaseDiagrams顺序图SequenceDiagrams通信图CommunicationDiagrams状态机图StateMachineDiagrams活动图ActivityDiagrams静态模型(系统结构)动态模型(系统行为)包图PackageDiagrams组合结构图CompositeStructureDiagrams时间图TimingDiagrams交互纵览图InteractionOverviewDiagrams外廓图ProfileDiagrams交互图示例:图书馆管理系统某图书馆管理系统是一个基于Web的计算机应用系统读者可以查询图书信息以及借阅信息读者可以通过系统预约所需的图书图书馆工作人员利用该系统完成读者的借书、还书业务图书馆工作人员可以对图书信息、读者信息等进行维护对于到期的图书,系统会自动向读者发送催还信息管理员会定期进行系统维护思考:该系统需要完成哪些业务处理工作?谁来参与对应的业务处理工作?如何建模?用例图(UseCaseDiagram)用例图是被称为参与者(Actor)的外部用户所能观察到的系统功能的模型图——需求捕获列出系统中的用例和参与者表明了哪个参与者参与了哪个用例的执行核心概念用例:系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用,每次交互过程就是一个场景参与者、参与者之间的关系是泛化用例与参与者之间的关系:关联(单向、双向)用例之间关系:扩展、包括、泛化

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

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

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

×
保存成功