6结构化开发知识
结构化开发(5-6分):14-19题或15-19题
-
系统分析
-
抽象
-
模块化
-
信息隐蔽
-
模块独立
-
耦合性(7)
各模块之间接口的复杂程度、调用模块的的方式以及通过接口的信息类型
-
无直接耦合
- 无直接联系
-
数据耦合
- 传简单数据值
-
标记耦合
- 传数据结构
-
控制耦合
- 传控制变量
-
外部耦合
- 通过软件外的环境联结
-
公共耦合
- 通过一个公共数据环境相互作用
-
内容耦合
- 直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部
-
-
内聚性(8)
-
偶然内聚(巧合内聚)
- 模块内各处理元素无任何联系
-
逻辑内聚
- 模块内执行若干逻辑相似功能,通过参数确定模块完成哪一个
-
时间内聚
- 把需要同时执行的动作组合在一起形成的模块
-
过程内聚
- 一个模块完成多个任务,这些任务必须按指定的过程执行
-
通信内聚
- 指模块内的所有处理元都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据
-
顺序内聚
- 指一个模块中的各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入
-
功能内聚
- 最强内聚,模块内的所有元素共同作用完成一个功能,缺一不可
-
-
-
-
系统结构设计原则
-
分解-协调原则
- 根据系统总体协调各部门的关系
-
自顶向下原则
- 抓住系统总的功能目的,然后逐层分解,先确定上层模块,再确定下层模块
-
信息隐蔽、抽象原则
- 上层只规定下层模块做什么和所数模块间的协调关系,不规定怎么做,保证个模块的相对独立性和内部结构的合理性,使得模块与模块之间的层次分明,易于理解、实施和维护
-
一致性原则
- 要保证整个软件设计中具有统一的规范、统一的标准和统一的文件模式
-
明确性原则
- 要保证整个软件必须功能明确、接口明确,清楚多重功能和无用接口
-
高内聚低耦合
-
扇入扇出系数合理
-
扇出系数
- 一个模块直接调用其他模块的个数
-
扇入系数
- 一个模块被其他模块调用时,直接调用它的模块个数
-
-
模块规模适当
- 不大不小
-
模块作用范围应在其控制范围之内
-
-
系统文档
-
用户-系统分析人员
- 可行性研究报告
- 总体规划报告
- 系统开发合同
- 系统方案说明书
-
系统开发人员-项目管理人员
-
系统开发计划
-
工作任务分解表
-
PERT图
- (Program Evaluation and Review Technique)即计划评估和审查技术
-
甘特图(Gantt图)
-
预算分配表
-
-
项目管理文件
- 系统开发月报
- 系统开发总结报告
-
-
系统测试人员-系统开发人员
- 系统方案说明书
- 系统开发合同
- 系统设计说明书
- 测试计划
- 系统测试报告
-
系统开发人员-用户
- 用户手册
- 操作指南
-
系统开发人员-系统维护人员
-
系统设计说明书
-
系统开发总结报告
-
研制报告
-
技术报告
-
技术手册
- 主要技术细节
-
-
-
用户-维修人员
-
系统运行报告
- 记载运行过程中的问题
-
维护修改建议
-
-
-
数据流图DFD(Data Flow Diagram)
-
四大组成元素
-
外部实体(External Agent)
-
形状
- 矩形
-
定义
- 当前系统之外的人、物、外部系统
-
举例
- 人:学生、老师、员工、主观、医生、客户、供应商…
物:传感器、控制器、单车、车辆、采购部门…
外部系统:支付系统、车辆交易系统、库存管理系统、道闸控制系统…
- 人:学生、老师、员工、主观、医生、客户、供应商…
-
-
加工(Process)
-
形状
- 圆角矩形或圆形
-
定义
-
将输入数据处理后得到输出数据
-
一个加工至少有一个输入数据流和一个输出数据流
-
黑洞
- 只有输入没有输出
-
白洞
- 只有输出没有输入
-
灰洞
- 输入数据不足以产生输出数据
-
-
举例
- 数据采集、信息维护、数据处理、远程控制…
-
-
数据存储(Data Store)
-
形状
- 平行线或半包围结构
-
定义
- 存储加工的输出数据和提供加工的输入数据
-
举例
- 客户表、订单表、学生表、巴士列表文件、维修记录文件、课表文件
-
-
数据流(Data Flow)
-
形状
- 实线实心箭头
-
定义
-
由一组固定成分的数据组成,表示数据的流向
-
流向
-
一个加工流向另一个加工
-
从加工流向数据存储
- 写
-
从数据存储流向加工
- 读
-
从外部实体流向加工
- 输入
-
从加工流向外部实体
- 输出
-
-
-
-
-
匹配数据流方法
-
父图子图平衡
-
父图
- 上下文数据流图
-
子图
- 0层数据流图
-
-
加工既有输入数据流也有输出数据流
-
数据平衡
- 根据文章说明对应数据流图
-
-
数据字典(DD)
-
定义
- 数据流图描述了系统的分解,但没有对图中各成分进行说明。数据字典就是为数据流图中的每个数据流、文件、加工,以及组成数据流或文件的数据项做出说明。其中,对加工的描述称为“小说明”,也可以称为“加工逻辑说明”。
-
数据字典的内容
源点、终点不在系统之内,故一般不在字典中说明
-
数据流
-
数据项
- 组成数据流和数据存储的最小元素
-
数据存储
-
基本加工
-
-
数据字典管理
- 词典管理主要是把词典条目按照某种格式组织后存储在词典中,并提供排序、查找和统计等功能。如果数据流条目包含了来源和去向,文件条目包含了读文件和写文件,还可以检查数据词典与数据流图的一致性。
-
加工逻辑的描述
-
结构化语言
-
外层
- 顺序结构
- 选择结构
- 重复结构
-
内层
- 一般采用祈使语句的白然语言短语,使用数据字典中的名词和有限的自定义词,其动词含义要具体,尽量不用形容词和副词来修饰,还可使用一些简单的算法运算和逻辑运算符号。
-
-
判定表
-
定义
- 在些情况下,数据流图中某个加工的一组动作依懒于多个逻辑条件的取值。这时,用自然语言或结构化语言都不易于清楚地描述出来,而用判定表能够清楚地表示复杂的条件组合与应做的动作之间的对应关系。
-
结构
-
-
判定树
- 判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用。
-
-
-
构造分层DFD时需要注意问题
- 适当命名
- 画数据流而不是控制流
- 避免一个加工有过多的数据流
- 分解基本上可能均匀
- 先考虑确定状态,忽略琐碎的细节
- 随时准备重画
-
-
数据流图到软件体系结构的映射
-
信息流的类型
-
变换型数据流图
- 信息沿着输入通路进入系统,同时将信息的外部形式转换成内部表示,然后通过变换中心(也称主加工)处理,再沿着输出通路转换成外部形式离开系统。具有这种特性的信息流称为变换流。变换流型的DD可以明显地分成输入、变换(主加工)和输出三大部分。
-
事务型数据流图
- 信息沿着输入通路到达一个事务中心,事务中心根据输入信息(即事务)的类型在若干个动作序列(称为活动流)中选择一个来执行,这种信息流称为事务流。事务流有明显的事务中心,各活动流以事务中心为起点呈辐射状流出。
-
-
-
模块类型
-
传入模块
- 取得数据或输入数据,经过某些处理,再将其传送给其他模块
-
传出模块
- 输出数据,在输出之前可能进行某些处理,数据可能被输出到系统的外部,或者会输出到其他模块进行进一步处理。
-
变换模块
- 从上级调用模块得到数据,进行特定的处理,转换成其他形式,在将加工结果返回给调用模块。
-
协调模块
- 协调模块一般不对数据进行加工,主要是通过调用、协调和管理其他模块来完成特定的功能。
-
-
结构化开发
- 面向数据流的开发
-
子系统结构设计
- (1)每个子系统如何划分成多个模块
- (2)如何确定子系统之间、模块之间传送的数据及其调用关系
- (3)如何评价并改进模块结构的质量
- (4)如何从数据流图导出模块结构图
-
结构化设计
-
体系结构设计
- 定义软件的主要结构元素及其关系
-
数据设计
-
基于实体联系图确定软件涉及的文件系统的结构及数据库的表结构
- 数据字典
- 实体关系图
-
-
接口设计
-
描述用户界面,软件和其他硬件设备、其他软件系统及使用人员的外部接口,以及各种构件之间的内部接口
- 数据流图
-
-
过程设计
-
确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表远形式来描述各种算法
- 加工规格说明
- 控制规格说明
-
-
-
结构化分析
- 数据流图
- 实体联系图
- 状态迁移图
- 数据字典
-
结构图
- 模块
- 调用
- 数据
- 控制信息
- 转接符号
-
界面设计“黄金原则”
- 用户操纵控制
- 减少用户的记忆负担
- 保持界面一致