总体设计

1:什么是模块和模块化思想?

采取自顶向下的方式,逐层把软件系统划分成若干可单独命名和可编址的部分--“模块”,每个模块完成一个特定的子功能;
所有模块按某种方法组成一个整体,完成整个系统所要求的功能。
软件系统就是通过这些模块的组合来实现。

2:模块化的优点

模块化是软件解决复杂问题所具备的手段,可降低软件复杂性,减少开发工作量,从而降低开发成本,提高软件生产率,
是模块化的依据。

3:模块的基本属性

接口:指模块的输入和输出。
功能:指模块实现什么功能。
逻辑:描述内部如何实现要求的功能及所需的数据。
状态:该模块的运行环境

什么是抽象?

认识复杂事物和现象时,抽出事物本质的共同特性而暂不考虑他们的细节。

软件开发中的抽象

过程的抽象
数据的抽象

自顶向下,逐步细化的基本思想

  • 将功能、信息的说明分为多个层次,最高层也是抽象–仅仅只是概念性地描述功能或信息,不提供
    功能的内部工作情况或信息的内部结构

  • 设计者从最高层开始,仔细推敲,进行功能和信息的细化,给出下层实现的细节

  • 随着每个后续细化逐步的完成,提供越来越多的细节,最终得出用程序设计语言表达的程序

信息隐蔽:在设计和确定模块时,使得一个模块内包含的信息(过程或数据),不允许其他不需要
这些信息的模块访问,独立的模块间仅仅交换为完成系统功能而必须交换的信息。

模块独立,耦合,内聚

1:什么是模块独立性
模块只完成系统要求的相对独立的功能
符合信息隐蔽原则
模块间关联和依赖程度尽量小
2:模块独立的优点
容易开发,测试和维护

衡量模块独立性的两个准则

耦合性
内聚性

耦合性:无直接耦合,数据耦合,控制耦合,特征耦合,公共耦合,内容耦合

降低耦合度的设计原则

  1. 根据问题特点,选择合适的耦合类型
  2. 降低模块接口的复杂性
  3. 把模块的通信信息放在缓冲区中

内聚性:巧合内聚,逻辑内聚,过程内聚,通信内聚,顺序内聚,功能内聚

耦合与内聚都是模块独立性的定性标准,都反映模块独立性的良好程度。
但耦合是直接的主导因素,内聚则辅助耦合共同对模块独立性进行衡量
设计要求:低耦合,高内聚

启发规则

  1. 改进软件结构,提高模块独立性
  2. 模块规模适中
  3. 深度、宽度、扇出和扇入适中
  4. 将模块的影响限制在控制范围内
  5. 降低模块接口的复杂性
  6. 模块功能可预测

面向数据流的设计方法

数据流可分为两种类型:变换型数据流和事务型数据流

变换型数据流基本模型
特点:具有明确的传入,变换和传入界面的DFD

事务型数据流基本模型
事务中心的任务:

  • 接受输入数据(事务)
  • 分析每个事务以确定它的类型
  • 根据事务类型选取一条活动通路
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值