文档介绍:软件设计
第一页,课件共120页
1
设计的目的,任务,原则
体系结构的设计
结构化设计的基础-模块化
面向数据流的设计方法,设计过程
数据库的设计
人机交互设计
目的:解决“怎么做”的问题
内 容
第二页,课件共120页
2
软件设计概述
软件设计的含义
软件设计的类型
软件设计的任务
软件设计的原则
第三页,课件共120页
3
软件设计的含义
软件设计是把软件需求规格说明
转为软件过程性的表示。
解决“怎么做”的问题。
解决问题,就需要做出“设计决策”
分离客户机
的用户界面
客户机-服务器
胖客户
瘦客户
用户界面
不独立
用Java编程
用VB编程
用C++编程
单户
需求知识
设计知识
可用技术
设计原则
最佳实践
成功案例
优先级分析
成本效益
分析
第四页,课件共120页
4
将需求分析模型转换为软件设计模型
图 6-1 分析模型转换为设计模型
数据
词典
数
据
流
图
实
体
关
系
图
状态转换图
加
工
控
制
规
规
格
格
说
说
明
明
数
据
对
象
描
述
过程设计
接口设计
结构设计
数据设计
第五页,课件共120页
5
软件设计的类型
从工程管理的角度
软件设计包括:
概要设计
详细设计
图 6-2 软件设计类型
数据及数据结构
系统体系结构设计
过程设计
接口设计
概 要 设 计
详 细 设 计
√
√
√
√
√
第六页,课件共120页
6
软件设计的任务
(1) 制定规范
确定设计的目标,及优先顺序。
确定合适的设计方法
规定设计文档的编制标准
规定编码的信息形式
接口规约,命名规则
第七页,课件共120页
7
设计的任务
(2) 软件系统的结构设计
将系统按功能划分成模块的层次结构。
确定模块的功能,及与软件需求的对应关系。
确定模块间的接口关系,调用关系。
评估模块划分的质量。
第八页,课件共120页
8
设计的任务
(3) 处理方式设计
确定为实现系统的功能需求所必需的算法
评估算法的性能
确定为满足系统的性能需求所必需的算法
模块间的控制方式
周转时间
响应时间
吞吐量
精度
确定外部信号的接收发送形式
第九页,课件共120页
9
设计的任务
(4) 数据结构设计
确定文件系统的结构以及数据库的模式、子模式
确定输入,输出文件的数据结构
确定算法所必需的逻辑数据结构及其操作
确定对逻辑数据结构所必需的程序模块
限制和确定各个数据设计决策的影响范围
确定其详细的数据结构和使用规则
数据的完整性、安全性、一致性、冗余性设计
(5)人机交互的设计
第十页,课件共120页
10