UML联合重点

UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。不是一种可视化编程语言,而是一种可视化建模语言。不是工具或知识库的规格说明,而是建模语言的规格说明,是一种面向对象分析与设计的表示标准。不是过程,也不是方法,但是允许任何一种过程和方法使用它。可视化建模就是将模型中的信息用标准的图形元素直观地显示出来。模型是对现实世界的简化和抽象。模型是沟通的手段。模型是系统的蓝图,可以帮你规划要开发的系统。
UML建模的目的
1. 使用模型可以更好地理解问题
2. 使用模型可以加强人员之间的沟通
3. 使用模型可以更早地发现错误或疏漏的地方
4. 使用模型可以获取设计结果
5. 模型为最后的代码生成提供依据
UML中有3类主要元素
1. 基本构造块(basic building block)包括3种类型:事物(thing)、关系(relationship)、图(diagram)
2. 规则(rule)UML定义了5个方面的语义规则:命名(name)、范围(scope)、可见性(visibility)、完整性(integrity)和执行(execution)
3. 公共机制(common mechanism)包括4种类型:规范说明(specification)、修饰(adornment)、通用划分(common division)和扩展机制(extensibility mechanism)。其中扩展机制包括版型、标记值和约束3种类型。
事物(thing)分4种类型
1. 结构事物(structural  thing)包括类、接口、协作、用例、主动类、构件和结点
2. 行为事物(behavioral  thing)包括交互、状态机和活动
3. 分组事物(grouping thing)包
4. 注释事物(annotational thing)注解
关系有4种类型
1. 依赖(dependency)
2. 关联(association)
3. 泛化(generalization)
4. 实现(realization)
1. 类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
2. 对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
3. 用例图是从用户角度描述系统功能,并指出各功能的操作者
土钻4. 状态图是对类图的补充。在使用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。
5. 顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。
6. 协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。
7. 活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
8. 构件图显示一组构件以及它们之间的相互关系,包括编译、链接或执行时构件之间的依赖关系。构件图可以对源代码文件之间的相互关系建模,并且可以对可执行文件之间的相互关系建模。
9. 部署图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。一个系统模型只有一个部署图,部署图常常用于帮助理解分布式系统。
用例图
需求
类图(复杂)
状态图
顺序图
类图(简单)
活动图
协作图
需求获取阶段
需求分析阶段
设计阶段
UML应用领域最常用的是为软件系统建模,但不限于软件系统建模。UML还可用来描述其他非软件系统,如一个机构的组成或机构中的工作流程等。
1. 需求获取阶段 UML的用例视图可以表示客户的需求,通过用例建模可以对外部的角以及它们所需要的系统功能建模。
2. 分析阶段 分析阶段主要考虑所要解决的问题。可用UML的逻辑视图和动态视图来描述,类图描述系统的静态结构;协作图、状态图、顺序图和活动图描述系统的动态特征。在分析阶段,只为问题领域的类建模,不定义软件系统的解决方案的细节(如用户接口的类数据库等)。
3. 设计阶段 在设计阶段把分析阶段的结果扩展成技术解决方案,引入具体的类来处理用户接口、数据库操作等。
4. 分析阶段的领域问题类被嵌入在这个技术基础结构中,设计阶段的结果是构造阶段的详细的规格说明。
5. 构造阶段 在构造(或程序设计)阶段把设计阶段的类转换成某种面向对象程序设计语言的代码。
6. 测试阶段 对系统的测试通常分为单元测试、集成测试、系统测试和接受测试几个不同级别。
不同的测试小组使用不同的UML图作为他们工作的基础。单元测试使用类图和类的规格说明;集成测试典型地使用组件图和协作图;而系统测试使用用例图来确认系统的行为是否符合这些图中的定义。
用例是对一个活动者(actor)使用系统的一项功能时所进行的交互过程的一个文字描述序列。用例是系统、子系统或类和外部的参与者(actor)交互的动作序列的说明,包括可选
的动作序列和会出现异常的动作序列。用例是代表系统中各个项目相关人员之间就系统的行为所达成的契约。它有如下一些特点:
1. 用例描述了用户提出的一些可见的需求,对应一个具体的用户目标。
2. 用例从使用系统的角度描述系统中的信息,即站在系统外部察看系统功能,而不考虑系统内部对该功能的具体实现形式。
3. 用例是对系统行为的动态描述,属于UML的动态建模部分。
4. 用例并不是系统的全部需求,用例描述的只是功能性方面的需求。
石榴套袋技术软件开发过程以用例驱动。用例是与实现无关的关于系统功能的描述,可以用协作来说明对用例的实现。协作用虚线椭圆表示。在大多数情况下一个用例由一个协作实现,这时可以不用在模型中显式指明这种实现关系。参与者是指系统以外的、需要使用系统或与系统交互的东西,包括人、设备、外部系统等。通过系统边界与系统进行有意义交互。参与者未必是人,可以是设备、外部系统等。一个参与者可以执行多个用例,一个用例也可以由多个参与者使用。参与者并不是系统的一部分,尽管在模型中会使用参与者。用例描述了
系统的功能需求,是系统的一组动作序列的描述。用例的本质是用户与计算机之间的一次交互作用。
参与者识别思路
1. 谁使用该系统
2. 谁改变系统的数据
3. 谁从系统获取信息
4. 谁需要系统的支持以完成日常工作任务
5. 声波识别谁负责维护、管理并保持系统正常运行
6. 谁对系统运行产生的结果感兴趣
7. 系统需要应付那些硬件设备
8. 系统需要和那些外部系统交互
识别用例的策略
1. 参与者希望系统提供什么功能?
2. 系统是否存储和检索信息?如果是,这个行为由哪个参与者触发?
3. 当系统改变状态时,通知参与者吗?
4. 存在影响系统的外部事件吗?
5. 是哪个参与者通知系统这些事件?
在UML中,脚本指贯穿用例的一条单一路径,用来显示用例中的某种特殊情况。脚本是用例的实例,脚本与用例的关系相当于对象和类的关系。每个用例都有一系列的脚本,包括一个主要脚本和多个次要脚本。次要脚本描述了执行路径中的异常或可选择的情况。
参与者与用例之间是关联关系
用例与用例之间
1. 包含关系 (include)
2. 扩展关系 (extend)
3. 泛化关系 (generalization)
参与者与参与者之间
1. 泛化关系 (generalization)
2. 关联关系 描述参与者与使用用例之间的关系。在UML中,关系用实线表示,实线可以有箭头,也可以没有箭头。
包含关系(include)包含关系指两个用例之间的关系,其中一个用例(即基本用例)的行为包含了另一个用例(即包含用例)的行为。包含关系中箭头的方向是从基本用例到包含用例。
扩展关系(extend)扩展关系允许一个用例(可选)扩展另一个用例的功能。扩展只能发生在基本用例的序列中某个特定的点上,这个点叫扩展点。扩展关系中基本用例本身是完整的。在扩展关系中,箭头的方向是从扩展用例到基本用例。
电机支架
泛化关系其实是子类与父类的关系。和类之间的泛化关系一样,用例和参与者也可以继承另一个用例和参与者。
用例的粒度指用例所包含的系统服务或功能单元的多少。用例的粒度越大,用例包含的功能越多,反之包含的功能越少。
一般说来,用例采用自然语言描述参与者与系统进行交互时双方的行为,不追求形式化的语言表达(面向不同人员)。
用例的目标。用例是怎么启动的。参与者和用例之间的消息是如何传送的。用例中除了主路径外,其他路径是什么。用例结束后的系统状态。其他需要描述的内容。用例描述原则是尽可能写的充分,而不是追求写的形式化、完整或漂亮。
常见错误
1. 碗公只描述系统的行为,没有描述参与者的行为
2. 只描述参与者的行为,没有描述系统的行为
3. 在用例描述中就设定对用户界面设计的详细要求
4. 描述过于冗长
建立用例图分为以下几个步骤:
1. 确定参与者(Actors
2. 创建用例(Use Caseits测试
3. 创建参与者(Actors用例(Use Case)关系图
事件流的目的是建立使用用例中的逻辑流程,详细描述系统的工作。
交互图(interaction diagram)是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。交互图描述的是对象之间的消息发送关系,而不是类之间的消息发送关系。交互图包括顺序图(sequence diagram)和协作图(collaboration diagram)两种形式。顺序图着重描述对象按时间顺序的消息交换。协作图着重描述系统成分如何协同工作。顺序图也称时序图,是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象以及对象之间消息交互的顺序。顺序图的作用是表示用例的行为顺序,描述对象之间以及对象与Actor之间的消息发送关系;发现类并依据其职责构建类的属性和方法。顺序图是一个二维图形。在顺序图中水平方向为对象维,沿水平方向排列的是参与交互的对象。顺序图中的垂直方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出和接收的消息。
同步消息/调用消息是发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制。同步消息必有一个配对的返回消息,在图中可以不用画出。异步消息的发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接收者返回消息或控制。异步消息的发送者和接收者是并行工作的。返回消息表示从过程调用返回,以虚线箭头表示。阻止消息是指消息发送者发出消息给接收者,若接收者无法立即接收消息,则发送者放弃此消息。Rose中用折回的箭头表示阻止消息。超时消息是指消息发送者发出消息给接收者并按指定时间等待。若接收者无法在指定时间内接收消息,则发送者放弃此消息。

本文发布于:2024-09-21 13:54:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/329730.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   用例   描述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议