本系列文章为笔记,内容根据北京大学《软件工程》MOOC
结构化分析方法的概念
软件开发方法学
掌握并能正确运用开发方法,具有事半功倍的作用
软件开发方法
软件开发过程所遵循的办法和步骤
软件开发方法学
指规则、方法和工具的集成,既支持开发也支持以后的演化过程
结构化方法
一种特定的软件开发方法学,一种系统化的软件开发方法,包括:
- 结构化分析方法
1.提供一组术语(符号),指导需求抽象中需要关注的主要方面,并用于表达分析中所使用的信息。这些术语形成需求层
2.依据这些术语所形成的“空间”,给出表达模型的工具,支持表达系统功能的形态
3.给出过程指导,以支持系统化地使用相关信息建造系统模型
- 结构化设计方法
- 结构化程序设计方法
结构化分析模型
基本术语
模型表达工具
DFD图
数据字典
加工小说明
结构化分析过程
顶层数据流图
自顶向下,逐层分解
0层数据流
逐层分解
建立数据字典
数据流
销售的商品 = 商品名 + 商品编号 + 单价 + 数量 +销售时间
现金额 = 余额 = 日销售额 = 非负实数
查询要求 = [商品编号|日期]
查询要求1 = 商品编号
查询要求2 = 日期
销售情况 = 商品名 + 商品编号 + 金额
数据存储
销售文件 = {销售的商品}
数据项(数据流及数据存储的组成成分)
给出所有数据项的数据结构类型定义
注意
结构化分析方法是一种半形式化的规约方法,给出了一组特定的术语表和标准化的表达格式 - 数据流图,在表达上均必须遵循一些约定,即应以一种准确和一致方式使用之。
模型平衡问题
- 父图和子图的边界一致问题,即它们应有相同的边界;
- 数据流图中的数据流与数据字典的一致问题,即每个数据流和数据存储必须在数据字典中予以定义
- 数据流图中的“叶”加工(最低层)与小说明的一致问题,即必须给出“叶”加工的说明
- 小说明和数据流图的图形表示一致问题,即在小说明中,必须说明“输入数据流”如何使用,必须说明如何产生“输出数据流”;必须说明如何选取、使用、修改“数据存储”
信息组织复杂性控制问题
- 上层数据可以“打包”
上下层的数据流对应关系在数据字典中给出,但包内数据流的性质(输入、输出)必须一致。
- 一幅图中的图元个数应控制在 7+/-2 以内
- 与每一加工相关的数据流的树木适应中
- 分析数据内容,确定是否所有的输入信息都用于产生输出信息
- 分析加工,确定一个加工所产生的输出,是否都能由该加工的输入信息导出
需求规格说明书(XX系统需求规格说明书)
引言
概述
数据流图、数据字典、加工说明
接口
性能需求
属性
其他需求
数据库/操作/故障及处理