软件工程--第五章-- 总体设计

系统的总体设计=概要设计/初步设计
这个阶段任务:划分出组成系统的物理元素——程序、文件、数据库、人工文档等;设计软件结构,系统之间的模块

总体设计主要由两个部分组成:系统设计阶段;结构设计阶段

步骤:
在这里插入图片描述

设计原理

模块化

含义:每个子模块实现一个子功能
依据:一个问题的复杂度 > 将其分解为若干子问题的复杂度

每个程序都有一个最适当的模块数量,使得系统开发成本最小。
在这里插入图片描述

模块独立性 (最重要的特性)

1.独立性很重要
在这里插入图片描述
模块独立程度可以由两个定性标准度量:耦合与内聚

2.耦合:指软件结构内不同模块彼此之间相互依赖(连接)的紧密程度。
分类:

  • 数据耦合低耦合,

在这里插入图片描述

  • 控制耦合 中耦合,增加系统复杂度,if数据冗余可以将模块分解之后用数据耦合来代替在这里插入图片描述

  • 公共耦合 问题:软件结构中存在大量的公用耦合时会给诊断错误带来困难
    在这里插入图片描述

  • 内容耦合:
    在这里插入图片描述
    ATT;在这里插入图片描述

应追求尽可能松散耦合,避免强耦合,这样模块间的联系就越小,模块的独立性就越强,对模块的测试、维护就越容易

因此建议:尽量使用数据耦合,少用控制耦合,限制公用耦合,完全不用内容偶合。


3.内聚(对于一个模块内部)
在这里插入图片描述

  • 功能内聚
    在这里插入图片描述

  • 顺序内聚
    在这里插入图片描述
    在这里插入图片描述

  • 通信内聚
    在这里插入图片描述

  • 过程内聚
    在这里插入图片描述
    后面会调用前面的

  • 时间内聚
    在这里插入图片描述
    在这里插入图片描述

  • 逻辑内聚

  • 在这里插入图片描述
    在这里插入图片描述

  • 偶然内聚
    如果一个模块由完成若干毫无关系的功能处理元素偶然组合在一起的,就叫偶然内聚。
    偶然内聚是最差的一种内聚。


软件设计中应该:力求做到高内聚,尽量少用中内聚,不用低内聚

抽象

逐步求精

启发式规则

  1. 改进软件结构提高模块独立性

  2. 模块规模应该适中

  3. 深度、宽度、扇出和扇入都应适当
    在这里插入图片描述
    在这里插入图片描述

  4. 模块的作用域应该在控制域之内
    作用域:受该模块内一个判定影响的所有模块的集合。
    控制域:模块本身以及所有从属于它的模块的集合。

  5. 力争降低模块接口的复杂度
    在这里插入图片描述

  6. 设计单入口、单出口的模块

  7. 模块功能应该可以预测

图形工具

  1. 层次图
    在这里插入图片描述
    自顶向下的设计思想

  2. HIPO图
    h是层次的意思
    然后每一张图都是一个ipo
    每一个都加编号
    在这里插入图片描述

  3. 结构图
    在这里插入图片描述
    每一个方块代表一个模块
    方框之间的连线表示调用模块的调用关系
    箭头尾部表示传递的是:数据信息(空心圆) 控制信息(实心圆)
    在这里插入图片描述

面向数据流的设计方法

信息流:
变换流—
具有较明确的输入、变换(或称主加工)和输出界面的数据流图称为变换型数据流图。
在这里插入图片描述

事务流—
存在一个事务中心(也就是数据处理、加工中心),它将输入分离成若干个发散的数据流,形成许多活动路径,并根据输入值选择其中一条路径
在这里插入图片描述
变换设计:
以变换为中心的设计
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
事务设计
为以事务为中心的设计。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

概要设计说明书

该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值