用例建模步骤

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章 面向对象分析
• 面向对象软件开发技术
– 面向对象分析(OOA) – 面向对象设计(OOD) – 面向对象实现(OOP)
分析建模方法与分析模型
结构化分析(传统建模方法)方法
分析模型:数据流图(DFD) 数据字典(DD) 小说明 E-R图(ERD) 状态变迁图(STD)
面向对象分析方法
分析模型:用例模型(需求模型) 对象模型(概念模型)

详细的动态模型

详细的功能模型

面向对象技术是一个有全新概念 的开发模式,其特点是:
(1)方法是对软件开发过程所有阶段进 行综合考虑而得到的;
(2)从生存期的一个阶段到下一个阶段 所使用的方法与技术具有高度的连 续性;
(3)将OOA、OOD、OOP集成到生存
期的相应阶段.
面向对象分析 Object-Oriented Analysis
功能模型(行为模型)
状态模型
分析模型
•对象模型: 描述静态结构, 定义做
事情的实体
•功能模型: 描述处理(数据变换),
指明系统应“做什么”
•动态模型: 描述交互过程, 规定什么
时候做
OMT模型系统分析和设计过程概观图
产生需求

问题描述

建立模型
阶 段
对象模型、动态模型、功能模型
结构及对象

设计
详细的对象模型
整体—部分结构反映了类间的整体与部分关 系。值得注意的是,整体—部分关系是对对象 而言的,而不是对类的。整体—部分关系是一 种“has a ”的关系,如“汽车”有“发动机”。 同样,整体—部分结构也具有层次结构。
有的面向对象方法中,把互相协作以完 成一组紧密结合在一起的责任的类的集合定 义为主题(subject)或子系统(subsystem)。 主题和子系统都是一种抽象,从外界观察系 统时,主题或子系统可看作黑盒,它有自己 的一组责任和协作者,观察者不必关心其细 节。观察一个主题或子系统的内部时,观察 者可以把注意力集中在系统的某一个方面。 因此,主题或子系统实际上是系统更高抽象 层次上的一种描述。
功能模型:模型
类图:视图
对象模型:模型
顺序图:视图 状态图:视图 活动图:视图
动态模型:模型
分析模型的构成
分析模型:模型
用例建模——功能模型
用例建模是用于描述一个系统应该做什么的建模技 术,用例建模不仅用于新系统的需求获取,还可用于 已有系统的升级。用例模型用用例图来描述。
面向对象分析的一般步骤如下: 1. 获取客户对系统的需求:包括标识场景(scenario)
和用例(use case也称用况),以及建造需求模型 2. 用基本的需求为指南,来选择类和对象(包括属性
和操作)。 3. 定义类的结构和层次。 4. 建立功能模型。 5. 建立对象模型。 6. 建立动态模型。 7. 利用用例/场景来复审分析模型。
分析过程
1. 获取客户对系统的需求
需求获取必须让客户与开发者充分地交流,这里 介绍一种采用用例来收集客户需求的技术。分析员 首先标识使用该系统的不同的执行者(actor), 这些执行者代表使用该系统的不同的角色。每个执 行者可以叙述他如何使用系统,或者说他需要系统 提供什么功能。执行者提出的每一个使用场景(或 功能)都是系统的一个用例的实例,一个用例描述 了系统的一种用法(或一个功能),所有执行者提 出的所有用例构成系统的完整的需求。
类之间的关系有关联、依赖、泛化、实现 等。
6. 建立动态模型
• 明确规定了什么时候做(即在何种状态下 接受了什么事件的触发),描述系统的控 制结构,即:描述类的对象的状态和事件 的正确次序。
• 每个类的动态行为用一张状态图来描绘, 各个类的状态图通过共享事件合并起来, 从而构成系统的动态模型。
三种模型的关系
• 非正式分析法
用自然语言书写的需求陈述为依据确定的候选者 。
3. 定义类的结构和层次Biblioteka Baidu
类的结构主要有两种:一般—特殊 (generalization—specialization)结构和整 体—部分(whole—part)结构。
•1. 分类结构
获得类—成员组织,用于刻画对象之间的层次 关系,它通过搜集公共特性并把这种特性扩充至特 例之中来显示现实世界事件的通用性及专用性。
三种模型的关系
4. 功能模型中的数据存储,以及数据的源点/终点, 通常是对象模型中的对象。 5. 功能模型中的数据流,往往是对象模型中的属性值, 也可能是整个对象。 6. 功能模型中的处理可能产生动态模型中的事件。 7. 对象模型描述了功能模型中的动作对象、数据存储 以及数据流的结构。
用例图:视图
一般—特殊结构是一种分类结构,反映 了类间的一般与特殊的关系。一般类与特殊类 之间是一种“is a”的关系,如:汽车是一种交 通工具。同样,特殊类还可以分为更特殊的类, 这样可形成类的层次结构。
• 2. 组装结构 刻画整体—部分组织,表达了自然的整体和部分的结构 关系,从而把一些部分的聚合构造成整体。
4. 建立功能模型
• 功能模型 说明发生什么,它只关心系统做什么,
而不考虑怎么做,描述系统的功能结构。
5. 建立对象模型
定义了做事情的实体,描述系统的数据结 构,包括对象之间的关系、对象的属性和操 作,用对象图表示。
对象模型描述了系统的静态结构,它指出 了类间的关系(relationship)。
注意,执行者与用户是不同的两个概念, 一个用户可以扮演几个角色(执行者),一 个执行者可以是用户,也可以是其他系统 (应用程序或设备)。得到的用例必须进行 复审,以使需求完整。
2. 标识类和对象
类和对象来自问题领域。
可以先标识候选类,然后进行筛选
• 参照常见事物找出在当前问题域中的候选对 象。
(1)可感知的物理实体 (2)人或组织的角色 (3)应该记忆的事件 (4)两个或多个对象的相互作用 (5)需要说明的概念
在面向对象方法学中,对象模型是最基本的、最 重要的,它为其他两种模型奠定了基础,我们依靠对 象模型完成三种模型的集成。
1. 针对每个类建立的动态模型,描述了类实例的生命 周期或运行周期。 2. 状态转换驱使行为发生,这些行为在数据流图中被映 射成处理,它们同时与对象模型中的服务相对应。 3. 功能模型中的处理,对应于对象模型中类-&-对象所 提供的服务。
相关文档
最新文档