功能模型:
功能模型表名,通过计算,从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行
功能模型由多个数据流图组成,它们指明从外部输入,通过操作和内部存储,直到外部输出,这整个的数据流情况
功能模型中所有的数据流图往往形成一个层次结构
在这个层次结构中,一个数据流图中的过程可以由下一层的数据流图做进一步的说明
数据流图中允许加入控制流,但这样做将与动态模型重复,不提倡夹带控制流
基于三个模型的分析过程:
功能模型着重于系统内部数据的传送和处理:
功能模型定义做什么
动态模型定义何时做
对象模型定义对谁做
Coad与Yourdon面向对象分析:
OOA有两个任务:形式的说明我们所面对的应用问题,最终成为软件系统基本构成的对象,还有系统所必须遵从的,由应用环境所决定的规则和约束
明确规定构成系统的对象如何协同合作,完成指定的功能
构造OOA概念模型的层次:
构造和评审OOA概念模型的顺序和由五个层次组成
这五个层次是分析过程中的层次
每个层次的工作都为系统的规格说明增加了一个组成部分
这五个层次是:类与对象、属性、服务、结构和主题
对象—类层:
① 对象—类层,表示待开发系统的基本构造块。这一层是整个OOA模型的基础。问题在于如何建立“现实世界中事物”的抽象表示,也就是如何建立基本块
② 信息建模,就是指从现实世界中捕捉并抽象出应用论域的基本结构的过程。这是OOA过程中最基本和最关键的活动之一
③ 应用论域是非常重要的,同一概念在不同论域中抽象出来的基本构造块是不同的
属性层:对象的属性和实例连接共同组成了OOA模型的属性层
服务层:对象的服务,加上对象实例之间的消息通信,共同组成了OOA模块的服务层,消息连接用有向箭头表示
结构层:该层负责捕捉特定应用论域中的结构关系
① 结构层的一种类型,描述了该系统的整体结构
② 结构层的另一种类型称为一般—特殊结构或泛化---特化结构,泛化—特化结构表名了类的继承性
主题层:OOA模型的结构庞大而复杂,可以将对象归类到各个主题中,把有关的对象用一个主题边框框起来
识别类和对象:
面向对象分析的第一个层次主要是识别类和对象
类和对象是对与应用有关的概念的抽象
这一层工作是整个分析模型的基础
选择类和对象的原则:
目标系统必须记住类和对象的某些事情
类和对象应当提供某些服务或处理
多属性
所有属性对于类中所有实例都应有意义
标识结构:面向对象分析的下一步是标识结构。典型的结构有两种:一般化—特殊化结构、整体—部分结构
标识Gen—Spec结构的方法和策略
对于每一个类和对象,将它看作是一个一般化的类,对它的所有特殊情况,考虑以下问题:
① 它是否在问题论域中?
② 他是否在系统的职责内?
③ 继承性是否存在?
④ 他是否能够符合选择类和对象的标准?
⑤ 应当寻找什么?--总体部分关联、包容内含关联、收集成员关联
表示属性:下一个层次成为属性层,对前面已识别的类和对象做进一步说明。
在这里,对象所保存的信息成为他的属性
类的属性所描述的是状态信息,每个实例的属性值表达了该实例的状态值