面向对象分析-第三节:面向对象分析之建立动态模型和功能模型
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象分析-第三节:面向对象分析之建立动态模型和功能模型相关的知识,希望对你有一定的参考价值。
文章目录
一:建立动态模型
(1)概念
A:适用性
- 对于仅存储静态数据的系统来说,动态模型并没有什么意义
- 在开发交互式系统时,动态模型却起着很重要的作用
- 收集输入信息是系统的主要工作时,则在开发时建立正确的动态模型是至关重要的
B:步骤
- 编写典型交互行为的脚本
- 从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象
- 排列事件发生的次序,确定每个对象的状态及状态间的转换关系,用状态图描绘
- 比较各个对象的状态图,确保事件之间的匹配
(2)编写脚本
A:定义
脚本是指系统在某一执行期间内出现的一系列事件。脚本描述用户与目标系统之间的一个或多个典型的交互过程。编写脚本的过程,就是分析用户对系统交互行为的要求的过程
B:目的
保证不遗漏重要的交互步骤,有助于确保交互过程的正确性、清晰性
C:内容
脚本描写的范围主要由编写脚本的具体目的决定,既可以包括系统中发生的全部事件,也可以只包括由某些特定对象触发的事件
D:方法
- 编写正常情况的脚本
- 考虑特殊情况
- 考虑出错情况
(3)设想用户界面
大多数交互行为都可以分为应用逻辑和用户界面两部分,通常,系统分析员首先集中精力考虑系统的信息流和控制流,而不是首先考虑用户界面
A:重要性
用户界面的美观程度、方便程度、易学程度以及效率等,是用户使用系统时最先感受到的。用户界面的好坏往往对用户是否喜欢、是否接受一个系统起很重要的作用
B:目的
这个阶段用户界面的细节并不太重要,重要的是在这种界面下的信息交换方式。目的是确保能够完成全部必要的信息交换,而不会丢失重要的信息
C:方法
快速地建立起用户界面的原型,供用户试用与评价
(4)画事件跟踪图
A:必要性
用自然语言书写的脚本往往不够简明,而且有时在阅读时会有二义性。为了有助于建立动态模型,需要画出事件跟踪图
B:步骤
①:确定事件
1.提取出所有外部事件
- 找出正常事件、异常事件和出错条件(传递信息的对象的动作也是事件)
- 把对控制流产生相同效果的事件组合为一类事件,并取一个唯一的名字
2.画出事件跟踪图
- 一条竖线代表一个对象
- 每个事件用一条水平的箭头线表示
- 箭头方向从事件的发送对象指向接受对象
- 时间从上向下递增
- 用箭头线在垂直方向上的相对位置表示事件发生的先后,不表示事件间的时间差
(5)画状态图
A:定义
状态图描绘事件与对象状态的关系。当对象接受了一个事件以后,它的下个状态取决于当前状态及所接受的事件。由事件引起的改变称为“转换”。一张状态图描绘了一类对象的行为,它确定了由事件序列引出的状态序列
B:适用性
对于仅响应与过去历史无关的那些输入事件,或者把历史作为不影响控制流的参数类的对象,状态图是不必要的
C:方法
- 仅考虑事件跟踪图中指向某条竖线的那些箭头线。把这些事件作为状态图中的有向边,边上标以事件名
- 两个事件之间的间隔就是一个状态,每个状态取个有意义的名字。从事件跟踪图中当前考虑的竖线射出的箭头线,是这条竖线代表的对象达到某个状态时所做的行为。
- 根据一张事件跟踪图画出状态图后,再把其他脚本的事件跟踪图合并到该图中
- 考虑完正常事件后再考虑边界情况和特殊情况,包括在不适当时候发生的事件
(6)审查动态模型
- 检查系统级的完整性和一致性
- 审查每个事件,跟踪它对系统中各对象所产生的效果,保证与每个脚本都匹配
二:建立功能模型
(1)定义
功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成。在建立了对象模型和动态模型之后再建立功能模型
(2)画出基本系统模型图
基本的系统模型有下述两部分组成:
- 数据源点/终点:数据源点输入的数据和输出到数据终点的数据,是系统与外部世界间交互事件的参数
- 处理框:代表了系统加工、变换数据的整体功能
(3)画出功能级数据流图
把基本系统模型中单一的处理框分解成若干个处理框,以描述系统加工、变换数据的基本功能,就得到功能级数据流图
(4)描述处理框功能
A:要点
着重描述每个处理框所代表的功能,而不是实现功能的具体算法
B:分类
- 说明性描述(更为重要):规定了输入值和输出值之间的关系,以及输出值应遵循的规律
- 过程性描述:通过算法说明“做什么”
以上是关于面向对象分析-第三节:面向对象分析之建立动态模型和功能模型的主要内容,如果未能解决你的问题,请参考以下文章