第7章 面向对象分析
关联
构件 泛化
包
接口
角色
依赖
聚集
UML模型结构
四个抽象层次:
元元模型:定义了描述元模型的语言 元模型:定义了元类、元属性、元操作等一些概念 模型:定义了描述信息领域的语言 用户模型:模型的实例,用于表达一个模型的特定情况
用户模型
模型 元模型 元元模型
事物
链接 n 相关 1..n 对象
n
n
动态模型
动态模型表示瞬间的、行为化的系统“控制”性质,它规 定了对象模型中对象的合法变化序列。
对象运行周期中的阶段就是对象的状态。 对象状态是对对象属性的一种抽象。 对象之间相互触发/作用的行为(称为事件),引起了一系
列的状态变化。 事件是某个特定时刻所发生的一个系统行为,它是对引起
对象从一种状态转换到另一个状态的现实世界事件的抽象。 对象对事件的响应,取决于接受该触发的对象当时所处的
用例建模
需求捕获的目标:
发现真正的需求 以适用于用户、客户和开发人员的方式加以表示
系统用户表示为一个参与者 参与者在与用例进行交互时使用系统 用例向参与者提供某些有价值结果而执行一些动作序
列
编写用例
用例着眼于为用户增加价值,提供了一种捕获功能需 求的系统且直观的方法,可驱动整个开发过程。
用例从某个特定参与者的角度用简单易懂的语言说明 一个特定的使用场景。
要开始开发用例,应列出特定参与者执行的功能或者 活动。
用例模型帮助客户、用户和开发人员在如何使用系统 方面达成共识。
用例图描述部分用例模型,显示带有联系的用例和参 与者的集合
POS机系统部分用例图
用例图
用例图包括:参与者、用例、关联和边界四个要素。
杂项
未决问题等
POS机系统中处理销售的场景
用例名称:处理销售 范围:POS机应用 级别:用户目标 主要参与者:收银员 涉众及其关注点:
收银员:希望能够准确、快速地输入,而且没有支付错误,因为如果少收货款,将从其薪水 众扣除。
售货员:希望自动更新销售提成 顾客:希望以最小代价完成购买活动并得到快速服务。希望便捷、清晰地看到所输入的商品
实例
实例
1 关联
1..n
n 相关 1..n 类
UML模型视图
UML主要是用来描述模型的。它可以从不同视角为系统建模, 形成不同的视图(View)。每个视图是系统完整描述中的一个 抽象,代表该系统一个特定的方面;每个视图又由一组图 (Diagram)构成,图包含了强调系统某一方面的信息。
两类图:
面向对象建模
面向对象模型
对象模型:定义了“做什么”的实体 动态模型:规定在何种状态下,接受什么事件的触发而
“做什么” 功能模型:指明了系统应该“做什么”
对象模型
对象模型可以看成是数据流和语义数据模型的结合 对象模型表示静态的、结构化系统的“数据”性质。 它是对模拟客观世界实体的对象,以及对象彼此间的关系
第7章 面向对象分析
面向对象建模 面向对象分析
面向对象分析(OOA,Object-Oriented Analysis)是 一种半形式化的规格说明技术。
目前,最流行的技术是OMT和Booch开发技术 面向对象的最大特点是面向用例 在用例的描述中引入了外部角色的概念
的映射,描述了系统的静态结构。 对象模型是一个类(包括其属性和行为)、对象(类的实
例)、类和(或)对象之间关系的定义集。 类名是一类对象的抽象命名,其命名是否恰当对系统的可
理解性影响相当大。 对象模型还必须表示类/对象之间的结构关系。类/对象之
间的关系一般可概括为关联、归纳(泛化)、组合(聚集) 三类。
状态,其响应包括改变自己的状态,或者是形成一个新的 触发行为(事件)。 动态模型描绘了对象的状态,触发状态转换的事件,以及 对象行为(对事件的响应)。
功能模型
功能模型表示变化的系统的“功能”性质,指明了系 统应该“做什么”。
它更直接地反映了用户对目标系统的需求。
面向对象是以用例驱动的。用例站在用户的角度描述 用户的交互过程,有助于软件开发人员更深入地理解 问题域,改进和完善自己的分析和设计。
主要参与者
调用系统,使之交付服务
渋众及其关注点 关注该用例的人,及其需要
前置条件
开始前必须为真的条件
成功保证
成功完成必须满足的条件
主成功场景
典型的、无条件的、理想方式的成功
场景
扩展
成功或失败的替代场景
特殊需求
相关的非功能性需求
技术和数据 变 元 不同的I/O方法和数据格式 素
发生频率
影响对实现的调查、测试和时间安排
参与者:用小人形表示 用例:用椭圆表示 关联:用直线表示说明参与者驱动某个用例 边界:用矩形框表示,说明系统关注点。
开发用例
用用 例例用名不例称同部使分用非说以正动明式词开的始描描述述用性例风名称格编写, 范围也可以使用要某设个计的结系构统 化的格式编写, 级别有些格式更“强用调户目描标述”或的者直是观“子性功。能”
静态图:包括用例图、类图、对象图、构件图和部署图 动态图:包括状态图、时序图、协作图和活动图
五种视图:
用例视图从用户角度表达系统功能; 结构视图主要使用类图和对象图描述系统静态结构; 行为视图展示系统动态行为及其并发性; 实现视图展示系统实现的结构和行为特征; 部署视图展示系统的实现环境和构件是如何在物理结构中部署的
对象模型、动态模型和功能模型相辅相承,使得对系 统的需求分析和设计描述更加直观、全面。
对象模型是最基本、最重要的,它为其他两种模型奠 定了基础。
统一建模语言UML
统一建模语言(UML,Unified Modeling Language)是一 种基于面向对象的可视化建模语言。
UML用丰富的图形符号隐含表示了模型元素的语法,而用 这些图形符号组成元模型表达语义,组成模型描述系统结 构(或称为静态特征)以及行为(或称为动态特征)。
UML的模型元素:
一类模型元素用于表示模型中的某个概念,如类、对象、用 例、结点、构件、包、接口等;
另一类模型元素用于表示模型元素之间相互连接的关系,主 要有关联、泛化(表示一般与特殊的关系)、依赖、聚集 (表示整体与部分的关系)等。
UML模型元素
注解
类 属性 操作
对象 属性 操作
状态
用例
结点