软件工程 结构法方法 第2篇随笔
3、软件开发方法
3.1、结构法方法 --- 一种特定的软件开发方法学
1.结构法分析方法
分析是系统化地使用信息,给出一个问题估算
分析的三要素:
- 需要使用哪些信息
- 如何系统化的使用信息
- 估算算法
什么是结构化分析?
就软件需求分析而言,即为:系统化地使用问题域术语,给出该问题的模型
2.需求层的确定 --- 术语
五个术语:
其中:
- 数据流、数据存储--支持数据抽象,加工--支持过程/功能的抽象,用于表达系统内涵
- 数据源、数据潭--支持系统边界抽象,用于表达系统外延
- 是完备
例题
问题1:建立一个简化的商业自动化系统,其中:
- 营业员通过该系统记录每日销售的商品(商品名,商品编号,单价,数量,销售时间);
- 收款员通过该系统记录收到的现金数额以及购物余额;
- 商店经理每日统计销售额,并在必要时查看某种商品的销售情况(商品名,商品编码,金额).
-
建立系统的功能模型图
首先:建立系统环境图,确定系统边界
其中: 数据流为:销售的商品,日销售额等;三个输入流,三个输出流
数据源为:营业员,经理,收款员
数据潭为:经理,收款员
加工名:简化的商业自动化系统
继之:自顶向下,逐层分解
A、按人或者部门的功能要求,将加工“打碎”,形成:
B、“分派”数据流,形成:
其中:要根据特定的加工要求分派
保持与顶层数据流一致
可以引入数据流和数据潭
C、引入文件,使之形成一个有机整体——系统:
注意:若一个文件,既有输入流,又有输出流,则可简化为<——>,并可不给出标识
继续A、B、C:自顶向下,逐层分解。
分解加工3
3.建立数据字典
定义数据流 定义数据存储 定义数据项
-
数据流:
销售的商品 = 商品名+商品编号+单价+数量+销售时间
现金额 = 余额 = 日销售额 = 非负实数
查询要求 = [商品编号|日期]
查询要求1 = 商品编号
查询要求2 = 日期
销售情况 = 商品名+商品编号+金额
-
数据存储
销售文件 =
-
数据项
给出加工小说明 ——判断树
判断表:
例如: