前言:
当需求已经明确确定,那么接下来就是设计了。就像盖大楼需要图纸一样,软件设计就是在为我们的程序打造图纸,先是大概的结构,然后再进行细化。然后剩下的,只要照图纸做就ok了。接下来,我们一起来看一下程序的图纸如何构造吧!
导图概览:
首先来看一下,设计在软件工程整个过程中的位置。
然后是就是设计这章的总览:
一 面向过程设计的基础
模块的逻辑设计:模块内部如何实现功能需求,输入参数,输出参数是什么
状态:该模块在何种条件下运行。
接口:将模块内的方法属性封装,让其他模块只能通过接口使用这些属性,起到了信息隐蔽的作用。
二、面向过程设计的流程
1. 制定规范
2. 软件结构总体设计
3. 处理方式
4. 数据结构
5. 可靠性设计
6. 编写概要
7. 概要设计
三、结构化设计方法
内容
1.模块设计
原则:高内聚 松耦合
高扇入 低扇出 (调用关系图——系统结构图)
大小 50-100行
设计功能可预测的模块
避免过分受限制
设计约束
可移植性
内聚与耦合:
设计后处理:
处理说明、接口说明、全局数据结构、局部数据、所有设计约束和限 制、进行概要设计评审。
2.数据设计
原则
a.确定所有数据结构和每种数据结构上施加的操作
b.建立数据词典,定于数据和软件设计
c.底层设计决策推迟到设计过程后期
d.数据结构表示只显示给必须直接使用该数据结构的模块
3.文件设计
流程
1. 整理必须数据元素
2. 理清数据关系
3. 逻辑设计
4. 理解文件特性
5. 确定组织形式:顺序、直接存取
6. 确定文件存储介质:虚拟存储
4.过程设计
图形工具
表格工具
语言工具
程序流程图
方法
1. 变换型分析
a. 重画数据流图
b. 区分有效输入、输出、中心变换
c. 一级分解,设计上层模块
d. 二级分解,设计输入输出,中心变换部分的中下层模块
2. 事务型分析
a. 识别事务源
b. 规定适当结构
c. 各种事务和他们定义的操作
d. 公共模块
e. 确定每一事务或一组事务
f. 规定全部下层操作。
g. 全部细节模式。
变换型进一个信息出一个信息,事务型会有调度中心同时调动多个事务
注意图示中的菱形
3. 模块结构改近
1. 执行功能
2. 处理出错
3. 给调用者返回一个结束状态
4. 消除重复功能
作用域控制域?
四、形成文档
概要设计说明书
详细设计说明书