第六章 结构化开发

1.耦合

耦合是模块之间的相对独立性的度量

耦合取决于各个模块之间接口的复杂程度、调用模块的方式以及接口的信息类型等。

耦合

  1. 无直接耦合
    1. 指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调
      用,它们之间不传递任何信息。因此,模块间耦合性最弱,模块独立性最高。
  2. 数据耦合
    1. 指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中
      的值传递。
  3. 标记耦合
    1. 指两个模块之间传递的是数据结构
  4. 控制耦合
    1. 指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控
      制变量的值有选择地执行模块内的某一功能。因此,被调用模块应具有多个功能,哪
      个功能起作用受调用模块控制。
  5. 外部耦合
    1. 模块间通过软件之外的环境联结(如I/O将模块耦合到特定的设备、格式、
      通信协议上)时称为外部耦合。
  6. 公共耦合
    1. 指通过一个公共数据环境相互作用的那些模块间的耦合。
  7. 内容耦合
    1. 当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另- -
      个模块内部时,这种模块之间的耦合称为内容耦合。

2.内聚

内聚是对一个模块内部各个元素彼此结合的紧密程度的度量。一个内聚程度高的模块应当只做一件事。
在这里插入图片描述

  1. 偶然内聚
    1. 一个模块内的各处理元素之间没有任何联系
  2. 逻辑内聚
    1. 模块内执行若干个逻辑上相似的功能,通过参数确定模块该完成哪一个功能
  3. 时间内聚
    1. 需要同时执行的动作组合在一起形成的模块
  4. 过程内聚
    1. 一个模块完成多个任务,这些任务必须按指定的过程执行
  5. 通信内聚
    1. 模块内所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据
  6. 顺序内聚
    1. 模块内各个处理元素都密切相关于同一功能且必须顺序执行前一功能元素的输出就是下一功能元素的输入
  7. 功能内聚
    1. 模块内所有元素共同作用完成一个功能,缺一不可

划分模块原则:”高内聚,低耦合“,提高模块的独立性。

3.系统结构设计原则

  1. 分解-协调原则
  2. 自顶向下的原则
  3. 信息隐藏、抽象的原则
    1. 上层模块只规定下层模块做什么和所属模块间的协调关系,但不规定怎么做,以保证各模块的相对独立性和内部结构的合理性,使得模块与模块之间层次分明,易于理解、实施和维护。
  4. 一致性原则
  5. 明确性原则
    1. 每个模块必须功能明确、接口明确,消除多重功能和无用接口。
  6. 模块之间的耦合尽可能小,模块的内聚性尽可能高高内聚、低耦合
  7. 模块的扇入系数和扇出系数要合理
  8. 模块的规模适当
    1. 过大的模块常常使系统分解得不充分,其内部可能包含了若干部分的功能,因此有必要进一步把原有的模块分解成若干功能尽可能单一的模块。但分解也必须适度,因为过小的模块有可能降低模块的独立性,造成系统接口的复杂性。
  9. 模块的作用范围要在其控制范围之内

4.系统文档

规范的文档意味着系统时按照工程化开发的,意味着信息系统的质量有了形式上的保障。

  1. 用户与系统分析人员在系统规划和系统分析阶段通过文档进行沟通
    1. 这里的文档主要包括可行性研究报告、总体规划报告、系统开发合同和系统方案说明书
    2. 项目开发计划=系统开发合同+系统方案说明书
  2. 系统开发人员与项目管理人员通过文档在项目期内进行沟通
    1. 这里的文档主要有系统开发计划(包括工作任务分解表、PERT图、甘特图和预算分配表等)、系统开发月报以及系统开发总结报告等项目管理文件
  3. 系统测试人员与系统开发人员通过文档进行沟通
    1. 系统测试人 员可以根据系统方案说明书、系统开发合同、系统设计说明书和测试计划等文档对系统开发人员所开发的系统进行测试。系统测试人员再将评估结果撰写成系统测试报告
  4. 系统开发人员与用户在系统运行期间进行沟通用户通过系统开发人员撰写的文档运行系统
  5. 系统开发人员与系统维护人员通过文档进行沟通
    1. 这里的文档主要有系统设计说明书和系统开发总结报告
  6. 用户与维修人员在运行维护期间进行沟通

5.数据流图

1.基本图形元素

数据流图的基本图形元素包括 数据流(Data Flow)加工(Process)数据存储(Data Store)和外部实体(External Agent)

数据流图

① 数据流

数据流的起点或终点必须有一个是加工

数据流由一组固定成分的数据组成,表示数据的流向。
在DFD中,数据流的流向可以有以下几种:
从一个加工流向另一个加工;
从加工流向数据存储(写);
从数据存储流向加工(读);
从外部实体流向加工(输入);
从加工流向外部实体(输出)。
DFD中的每个数据流用一个定义明确的名字表示。除了流向数据存储或从数据存储流出的数据流不必命名外,每个数据流都必须有一个合适的名字,以反映该数据流的含义。

② 加工

  • 加工只有输入没有输出:黑洞
  • 加工只有输出没有输入:白洞
  • 加工的输入数据不足以产生输出数据:灰洞

加工描述了输入数据流到输出数据流之间的变换,也就是输入数据流经过什么处理后变成了输出数据流。每个加工都有一一个名字和编号。编号能反映出该加工位于分层DFD中的哪个层次和哪张图中,也能够看出它是哪个加工分解出来的子加工。
一个加工可以有多个输入数据流和多个输出数据流,但至少有一个输入数据流和一个输出
数据流。

③ 数据存储

数据存储用来存储数据、提供数据

存储加工的输出数据和提供加工的输入数据

④ 外部实体

外部实体是指存在于软件系统之外的人或组织,它指出系统所需要数据的发源地和系统所产生的数据的归宿地。

外部实体:当前系统之外的 人、物、外部系统

  • 人:学生、老师、员工、主管、客户、供应商…
  • 物:传感器、控制器、单车、车辆、采购部门…
  • 外部系统:支付系统、车辆交易系统、库存管理系统…

2. Skill of solve the questions

① 父图子图平衡

② 加工既有输入数据流,也有输出数据流

③ 数据守恒

6.数据字典

数据字典就是为数据流图中的每个数据流、文件、加工,以及组成数据流或文件的数据项做出说明。其中,对加工的描述称为“小说明”,也可以称为“加工逻辑说明”

1.数据字典的内容

数据字典有以下4类条目:数据流、数据项、数据存储和基本加工。
数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,故-般不在字典中说明。

2.加工逻辑的描述

加工逻辑中给出 加工将输入数据流变换为输出数据流的说明
加工逻辑也称为“小说明”。常用的加工逻辑描述方法有结构化语言、判定表和判定树3种

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值