文档介绍:第十章面向对象分析(Object-Oriented Analysis)
§1. 基本过程:
Requirement statement Rapid prototype Models
其中model 有三个:
① Object model:最重要,开发任何系统都需要;
② Dynamic model:对于开发交互式系统(interactive system)很重要;
③ Function model:对于开发大运算量问题(如科学计算、编译系统等)很重要。
主题
结构
1+
1+
属性
方法
§1. 基本过程
Object model 由五个层次组成(Coad&Yourdon, 1991),相当于把五张透明胶片(transparencies)叠在一起,每一层显示更多的细节。
类与对象
主题是指导读者(包括系统分析员、软件设计人员、领域专家、管理人员、用户等)理解大型、复杂模型的一种机制。也就是说,通过划分主题把一个大型、复杂的对象模型分解成几个不同的概念范畴。
它可以从一个相当高的层次描述总体模型,并对读者的注意力加以指导。
5个层次对应着在面向对象分析过程中建立对象模型的5项主要活动:找出类与对象,识别结构,识别主题,定义属性,定义服务
“5项活动”,而不是5个步骤,这5项工作完全没有必要顺序完成,也无须彻底完成一项工作以后再开始另外一项工作。
面向对象分析大体上按照下列顺序进行:寻找类与对象,识别结构,识别主题,定义属性,建立动态模型,建立功能模型,定义服务。
分析不可能严格地按照预定顺序进行,大型、复杂系统的模型需要反复构造多遍才能建成。
通常,先构造出模型的子集,然后再逐渐扩充,直到完全、充分地理解了整个问题,才能最终把模型建立起来。
§
第三章中已介绍过,需求陈述的内容包括:
问题范围、功能需求、性能要求、应用环境、假设条件等等。陈述方式可繁可简,说明What 而不是 How。
例: - 227,对Automated Teller Machine (ATM) 的需求陈述。
自动取款机(ATM)系统:
某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。ATM和中央计算机由总行投资购买。总行拥有多台ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。
ATM系统
银行柜员使用柜员终端处理储户提交的储蓄事务。
一个储户可能拥有多个账户。
储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。储户也可以从自己的账户中取款。
柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。
柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。
拥有银行账户的储户有权申请领取现金兑换卡。
使用现金兑换卡可以通过ATM访问自己的账户。
目前仅限于用现金兑换卡在ATM上提取现金(即取款),或查询有关自己账户的信息(例如,某个指定账户上的余额)。
将来可能还要求使用ATM办理转账、存款等事务。