软件工程-UML

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

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

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

资源描述

UMLUnifiedModelingLanguage统一建模语言参考文献UML参考手册(第2版)JamesRumbaugh,IvarJacobson,GradyBooch机械工业出版社UML用户指南(第2版)GradyBooch,JamesRumbaugh,IvarJacobson人民邮电出版社UML精粹:标准对象语言简明指南MartinFowler清华大学出版社产生背景面向对象的分析与设计(OOA&D)方法的发展在80年代末至90年代中出现了一个高潮UML是这个高潮的产物统一了Booch、Rumbaugh和Jacobson的表示方法Booch1993OMT-2OOSEOOA/OODCoad/Yourdon统一为大众所接受的统一建模语言发展历程什么是UML?通用的可视化建模语言用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档它记录了对必须构造的系统的决定和理解用于对系统的理解、设计、浏览、配置、维护和信息控制UML的适用范围各种软件开发方法软件生命周期的各个阶段各种应用领域UML描述能力静态结构动态行为模型分解成包的结构用于显示系统实现和组织运行的成分UML是什么语言?不是一门程序设计语言不是一种可用于定理证明的高度形式化的语言是一种通用建模语言是一种离散的建模语言不适合对诸如工程和物理学领域中的连续系统建模是一个综合的通用建模语言适合对诸如由计算机软件、固件或数字逻辑构成的离散系统建模UML概念域静态结构动态行为实现构造模型组织扩展机制静态结构静态视图用类构造模型来表达应用类继承和子类关联:对象与其他对象之间也具有运行时间连接依赖:包括在抽象级上进行模型转换、模板参数的捆绑、授予许可以及通过一种元素使用另一种元素等动态行为描述和时间相关的交互图状态图活动图模型组织子系统包图实现结构组件图部署图扩展机制构造性标记值约束UML视图视图来划分UML概念和组件视图只是表达系统某一方面特征的UML建模组件的子集三个视图域结构分类动态行为模型管理类元classifier各种视图的组成用类元(classifier)表示描述事物的建摸工具是描述结构和行为特性的一种机制类元为研究系统动态行为奠定了基础结构分类描述了系统中的结构成员及其相互关系类元视图静态视图用例视图实现视图动态行为描述了系统随时间变化的行为行为用从静态视图中抽取的瞬间值的变化来描述动态行为视图状态机视图活动视图交互视图模型管理说明了模型的分层组织结构包是模型的基本组织单元UML视图表主要的域视图图主要概念结构静态视图类图类、关联、泛化、依赖关系、实现、接口用例视图用例图用例、参与者、关联、扩展、包括、用例泛化实现视图构件图构件、接口、依赖关系、实现部署视图部署图节点、构件、依赖关系、位置动态状态机视图状态机图状态、事件、转换、动作、活动视图活动图状态、活动、完成转换、分叉、结合交互视图顺序图交互、对象、消息、激活协作图协作、交互、协作角色、消息模型管理模型管理视图包图包、子系统、模型可扩展性所有所有约束、构造型、标记值UML视图用例视图被称为执行者的外部用户所能观察到的系统功能的模型图用例是系统中的一个功能单元,可以被描述为执行者与系统之间的一次交互作用用例模型的用途是列出系统中的用例和执行者,并显示哪个执行者参与了哪个用例的执行。例子公用电话亭ClerkBuyticketsBuySubscription信用卡服务商Makecharges监督员Surveysales参与者includeinclude用例BoxOffice系统关系交互图描述了执行系统功能的各个角色之间相互传递消息的顺序关系类元是对在系统内交互关系中起特定作用的一个对象的描述,这使它区别于同类的其他对象互视图显示了跨越多个对象的系统控制流程交互视图可用两种图来表示顺序图协作图(通信图)定时timing交互概图顺序图表示了对象之间传送消息的时间顺序每一个类元角色用一条生命线来表示用垂直线代表整个交互过程中对象的生命期用来进行一个场景说明—即一个事务的历史过程用来表示用例中的行为顺序当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件例子CreditCardServicekjoskBoxOfficeRequest(count,performance)ShowAvailable(seat-list)SelectSeatsDemandPayment(cost)InsertCard(CardNumber)charge(cardnumber,cost)authorizedprinttickets(performance,seats)ejectcard生命线(活动的)消息通信图(协作图)对在一次交互中有意义的对象和对象间的链建模对象和关系只有在交互的才有意义类元角色描述了一个对象关联角色描述了协作关系中的一个链一个用途是表示一个类操作的实现可以说明类操作中用到的参数和局部变量以及操作中的永久链例子ticketsellerdb:performanceDBperformanceGudie:performanceDBkjiosk主动对象被动对象消息暂时链localdb链多对象2:db:=findDB(performance)3:seat-list:=lock(count)6:claim(seats)7:unlock(seats)1:request(count,perormance)4:offer(seat-list)5:buy(seats)8:confirm(seats,cost)dbs顺序图VS通信图都可以表示各对象间的交互关系侧重点不同顺序图用消息的几何排列关系来表达消息的时间顺序,各角色之间的相关关系是隐含的协作图用各个角色的几何排列图形来表示角色之间的关系,并用消息来说明这些关系状态机视图是一个类对象所可能经历的所有历程的模型图状态机由对象的各个状态和连接这些状态的转换组成每个状态对一个对象在其生命期中满足某种条件的一个时间段建模当一个事件发生时,它会触发状态间的转换,导致对象从一种状态转化到另一新的状态与转换相关的活动执行时,转换也同时发生例子AvailableLockedSold初始状态assignedtosubscriptionlocktimeoutunlockbuy状态exchange转换触发器事件活动视图是状态机的一个变体用来描述执行算法的工作流程中涉及的活动活动状态代表了一个活动一个工作流步骤或一个操作的执行描述了一组顺序的或并发的活动例子pickshowscheduleshowpublicizeshowbuyscriptandmusichireartistsrehearsebuildsetsdesignlightingmakecostumessellticketsdressrehearsalperform完成转换分叉活动结合模型管理视图对模型自身组织建模一系列由模型元素(如类、状态机和用例)构成的包组成了模型一个包(package)可能包含其他的包整个模型实际上可看成一个根包,它间接包含了模型中的所有内容子系统是另一种特殊的包包图扩展机制约束用某种形式化语言或自然语言表达的语义关系的文字说明构造型由建模者设计的新的模型元素标记值附加到任何模型元素上的命名的信息块例子各种视图间的关系元素元素关系类拥有状态机操作交互实现用例合作实现用例交互实例样本场景组件实例节点实例位置动作操作调用动作信号发送活动操作调用消息动作激发包类拥有角色类分类用例视图用例模型由IvarJacobson在开发AXE系统中首先使用加入由他所倡导的OOSE和Objectory方法中描述的是外部执行者(Actor)所理解的系统功能是获取系统功能需求的一种技术用例视图的作用它描述了待开发系统的功能需求它将系统看作黑盒,从外部执行者的角度来理解系统它驱动了需求分析之后各阶段的开发工作不仅在开发过程中保证了系统所有功能的实现被用于验证和检测所开发的系统影响到开发工作的各个阶段和UML的各个模型用例视图的适用范围用于需求分析阶段它的建立是系统开发者和用户反复讨论的结果表明了开发者和用户对需求规格达成的共识用例模型的组成用例模型由若干个用例图描述用例图中显示执行者、用例和用例之间的关系用例图包括三种模型元素系统执行者用例系统System用例模型的一个组成部分代表的是一部机器或一个业务活动不是真正实现的软件系统系统的边界用来说明构建的用例模型的应用范围自动售货机准确定义系统的边界并不总是容易的事自动还是手工?系统规模有多大?定义系统的一般方法先识别出系统的基本功能然后以此为基础定义一个稳定的、精确定义的系统架构以后再不断地扩充系统功能,逐步完善术语和定义在建模初期要定义一些术语和定义在描述系统、用例或进行作用域分析时采用统一的术语和定义能够规范表述系统的含义,不致于出现误解USECASE用例代表的是一个完整的功能是活动序列的集合系统执行该活动序列来为执行者产生一个可观察的结果活动是系统的一次执行一个用例是用户与计算机之间的一次典型交互作用系统中的每种可执行情况就是一个活动,每个活动由许多步骤组成用例的图示用例名称用例A用例B用例C用例图示例自动售货机系统用例图客户供货人收银员卖饮料供货取货款自动售货系统图3-12自动售货机系统用例图关联Association用例和执行者之间的连接关系表示哪种执行者能与该用例通信关联关系是双向的多对多关系一个执行者可以与多个用例通信一个用例也可以与多个执行者通信用例的情景Scenario用例表示的也是一个类,而不是某个具体的实例用例的实例(也是一种动作)代表系统的一种实际使用方法这个实例通常叫作情景(scenario)情景是系统的一次具体执行路线用例的特点用例总由执行者初始化用例为执行者提供值用例具有完全性用例规格说明用例规格说明不是UML的一部分很多开发方法都需要对用例进行文字说明都有一个用例规格说明的模板目的是详细描述用例用例规格说明模板用例:用例名用例标示:用例标示符号执行者:执行者1。。。。。。执行者n先决条件(preconditions):事件流:后置条件(postconditions):执行者ActorActor指用户在系统中所扮演的角色是与系统交互的人或事其图形化的表示是一个小人状图案执行者是一个群体概念代表的是一类能使用某个功能的人或事执行者不是指某个个体执行者可以是人,也可以是外界系统执行者对提供用例是非常有用的主要执行者和次要执行者主要执行者(primaryactor)指的是执行系统主要功能的执行者次要执行者指的是使用系统次要功能的执行者次要功能是指一般完成维护系统的功能例如管理数据库通信备份等将执行者分级的目的是保证把系统的所有功能表示出来执行者的泛化关系执行者是一个类,它拥有与类相同的关联描述使用泛化(generalization)关系描述若干执行者之间的关系(is-a)将某些执行者的共同行为抽取出来表示成泛化的行为,且将它们描述为超类泛化的例子客户个人登记客户电话登记客户图3-13执行者之间的泛化关系用例间的关联extendinclude关系功能表示法关联参与者与其参与执行的用例之间的通信途径扩展在基础用例上插入基础用例不能说明的扩展部分用例泛化用例之间的一般和特殊关系,其中特殊用例继承了一般用例的特性并增加了新的特性包括在基础用例上插入附加的行为,并且具有明确的描述用例的泛化关系像类之间的泛化关系一样子用例继承超用例的行为和含义子用例还可以增加或覆盖新的行为也可以重置超用例

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

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

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

×
保存成功