结构化分析法(SA法)
结构化分析法际遇问题分解与抽象的观点,讲任何信息处理过程看作是将输入数据变换成所要求的输出信息的装置,因此数据流分析是需求分析的出发点.SA方法采用"自顶向下,由外及里,逐步求精"的策略对问题进行分析.绝提做法是首先将整个系统看作一个加工(黑盒子),标识出系统边界和所有输入/输出数据流.然后再对加工内部进行细化分解,将复杂功能分解为若干简单功能的有机组合,并逐步补充细节描述.描述SA结构的主要手段是数据流图和数据字典.
步骤有三:
- 确定系统边界,画出顶层数据流图
- 自顶向下,对每个加工进行内部分解,画出分层数据流图(DFD)
- 对数据流图进行复审求精
画分层DFD图的指导原则有四:
- 注意父图和子图的平衡.
- 区分局部文件和外部项.
- 掌握分解的速度.
- 遵守加工编号规则.
由于最底层DFD图包含了系统的全部数据和加工,同时终点的数据代表系统的输出,要求明确,一般应该从数据的终点开始,沿着DFD图一步步向数据源点回溯,较易看清楚数据流中的每一个数据项的来龙去脉,有利于减少错误和遗漏.
面向对象的分析方法(OOA)
先说说我对面向对象基本知识的理解.按照面向对象=对象+类+继承+通信的说法,对象就是现实世界的抽象表示,我们知道对象具有属性,事件和方法.若很多个对象具有共同的属性,那么它们就成为一类,类是具有相同数据和相同操作的一组相似对象的集合.等腰三角形是一个对象,那么等腰三角形和直角三角形同属于三角形的一种,三角形就是一个类.三角形和等腰三角形之间的关联关系,就是继承.继承是使用已存在的定义为基础,建立新定义的技术.同样地,客轮是轮船的一个特殊类.我们定义客轮时就会说,客轮是具有什么什么特点的一种轮船.我们把重点放到客轮在轮船基础上的特殊之处而不用再解释轮船的概念.
面向对象以模块封装和内部信息隐蔽为主要特征.面向对象分析中,对象作为现实世界的抽象表示,使系统分析员将注意力集中于对问题空间的理解,最终产生一个可见的,可复审的和可管理的稳定的层次模型.对象是外界实体的属性和容许服务的抽象.访问属性的唯一方式是通过一个服务.属性和他们的服务在面向对象分析方法中被看成是一个固有的整体即对象.具有相同的属性和服务抽象的一系列对象便组成对象类.在面向对象模型中,可以包含若干对象类,它对应于生成模型不同层次上的抽象.这样的抽象类具有一定的层次关联和属性继承关系.
步骤有五:
- 标识对象(类).
- 标识结构.
- 标识主题.
- 定义属性.
- 定义服务. 作者信息详见谷海燕的博客