(软件工程复习核心重点)第四章总体设计-第一节:总体设计基本概念和设计过程
文章目录
- 一:总体设计的概念
- (1)定义
- (2)主要任务
- (3)步骤
- (4)必要性(了解)
- 二:设计过程
- (1)系统设计阶段
- 1:设想供选择的方案
- 2:选取合理的方案
- 3:推荐最佳方案
- (2)结构设计阶段
- 4:功能分解
- 5:设计软件结构
- 6:设计数据库
- 7:制定测试计划
- 8:书写文档
- 9:审查和复查
一:总体设计的概念
(1)定义
总体设计的基本目的就是回答“系统应该如何实现”这个问题,又称为概要设计或初步设计
(2)主要任务
- 划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计
- 设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系
(3)步骤
- 寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础
- 分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划
- 进行必要的数据库设计,确定测试要求并且制定测试计划
(4)必要性(了解)
可以站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。
二:设计过程
设计过程包括系统设计阶段和结构设计阶段
(1)系统设计阶段
1:设想供选择的方案
在总体设计阶段应该考虑各种可能的实现方案,并且力求从中选出最佳方案。在总体设计阶段开始时只有系统的逻辑模型,分析员有充分的自由分析比较不同的物理实现方案,一旦选出了最佳的方案,将能大大提高系统的性能/价格比需求分析阶段得出的数据流图是总体设计的极好的出发点
常用的方法是:
- 设想把数据流图中处理分组的各种可能的方法
- 拋弃在技术上行不通的分组方法
- 余下的分组方法代表可能的实现策略,并且可以启示供选择的物理系统
2:选取合理的方案
应该从前一步得到的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中等成本和高成本的3种方案
对于每个合理的方案,都应该准备下列4份材料
- 系统流程图
- 组成系统的物理元素清单
- 成本/效益分析
- 实现这个系统的进度计划
3:推荐最佳方案
应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并且为推荐的方案制定详细的实现计划。用户和有关的技术专家应该认真审查分析员所推荐的最佳系统,如果该系统确实符合用户的需要,并且是在现有条件下完全能够实现的,则应该提请使用部门负责人进一步审批。在使用部门的负责人也接受了分析员所推荐的方案之后,将进入总体设计过程的下一个重要阶段一结构设计阶段
(2)结构设计阶段
4:功能分解
为确定软件结构,需要从实现角度把复杂的功能进一步分解。需要结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能
5:设计软件结构
把模块组织成良好的层次系统,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能。软件结构,即由模块组成的层次统可以用层次图或结构图来描绘
6:设计数据库
对于需要使用数据库的那些应用系统,应该在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库
7:制定测试计划
在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性
8:书写文档
主要有以下几种:
- 系统说明
- 用户手册
- 测试计划
- 详细实现计划
- 数据库设计结果
9:审查和复查
最后对总体设计结果进行严格的技术审查,在技术审查通过后再由客户从管理角度进行复审
(软件工程复习核心重点)第四章总体设计-第一节:总体设计基本概念和设计过程相关推荐
- (软件工程复习核心重点)第二章可行性研究-第一节:可行性研究基本介绍
文章目录 一:可行性研究的目的 二:可行性研究的本质 三:可行性研究的任务 (1)最根本任务 (2)具体任务 二:可行性研究过程(步骤) 一:可行性研究的目的 可行性研究的目的:用最小的代价在最小的时 ...
- (软件工程复习核心重点)第二章可行性研究习题
文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 四:简答题 (1)必考 1. 关于可行性研究 2. 关于数据流图 3. 关于数据字典 (2)了解 五:应用题/画图题 一:选择题 二:填空题 ...
- (软件工程复习核心重点)第二章可行性研究-第四节:数据字典
文章目录 一:相关概念 (1)定义 (2)作用 (3)意义(了解) 二:内容 三:定义数据的方法 (1)数据元素组成数据的方式 (2)符号表示 四:数据字典示例 五:用途 一:相关概念 (1)定义 数 ...
- (软件工程复习核心重点)第二章可行性研究-第三节:数据流图
文章目录 一:数据流图的定义(DFD) 二:数据流图的特点 三:数据流图的符号 (1)符号 (2)注意(了解) 四:数据流图示例 (1)示例1 A:首先从题目中提取四种成分 B:画数据流图 (2)示例 ...
- (软件工程复习核心重点)第九章软件项目管理
文章目录 一:估算软件规模 (1)代码行技术 (2)功能点技术 二:工作量估算 三:进度计划 (1)甘特图(Cantt图) (2)工程网络 四:人员组织 五:质量保证 六:软件配置管理 七:能力成熟度 ...
- (软件工程复习核心重点)第九章面向对象分析-第二节:面向对象分析之建立对象模型
文章目录 一: 基本概念 (1)对象模型 (2)先建立对象模型的原因 (3)信息来源 (4)典型的建模步骤 二:确定类与对象 (1)找出候选的类与对象 A:客观事物分类 B:非正式分析 C:提取隐含的 ...
- (软件工程复习核心重点)第九章面向对象分析-第三节:面向对象分析之建立动态模型和功能模型
文章目录 一:建立动态模型 (1)概念 A:适用性 B:步骤 (2)编写脚本 A:定义 B:目的 C:内容 D:方法 (3)设想用户界面 A:重要性 B:目的 C:方法 (4)画事件跟踪图 A:必要性 ...
- (王道408考研操作系统)第四章文件管理-第一节7:文件共享
文章目录 一:基于索引结点的共享方式(硬链接) (1)介绍 (2)Linux演示 二:基于符号链的共享方式(软链接) (1)介绍 (2)Linux演示 所谓文件共享就是指 使多个用户(进程)共享同一个 ...
- (软件工程复习核心重点)第十二章软件项目管理-第三节:人员组织和质量保证
文章目录 一:人员组织 (1)必要性 (2)典型的组织方式 A:民主制程序员组 ①:定义 ②:要求 ③:优点 ④:缺点 B:主程序员组 ①:定义 ②:核心人员及其分工 ③:特点(优点) ④:缺点 ⑤: ...
最新文章
- 一站式了解多模态、金融、事理知识图谱构建指南 | AI ProCon 2020
- 剑桥 2020 人工智能全景报告,未来 8 项AI趋势预测
- 【计算理论】计算复杂性 ( 阶段总结 | 计算理论内容概览 | 计算问题的有效性 | 语言与算法模型 | 可计算性与可判定性 | 可判定性与有效性 | 语言分类 ) ★
- 来自iSpy整理的最全海康大华IPC的RTSP连接地址
- SpringBoot同时集成Redis和Guava作为缓存组件--进一步分析代码
- 计算机安全设,默认的安全性还不够!这几个保护计算机的步骤要设置好
- linux中postscript如何生成,【转载】如何为Linux生成和打上patch
- how is Java Bean object created
- rc时间常数公式_你知道RC电路和RL电路中时间常数的来源以及和时间的关系吗?...
- 接口implements(Java)
- Android 操作权限大全 (android.permission)
- javascript常用函数大全
- 根据 Excel 整理好的文件夹名称批量给文件夹重命名
- 使用facebook账号登录
- tk.mybatis.mapper.MapperException: 无法获取 com.zhao.mapper.BIllTypeMapper.selectCountByExample 方法的泛型信息
- 计算机毕业设计Python+uniapp学生考勤系统小程序(小程序+源码+LW)
- day36-MySQL基本SQL语句(下)
- 强化学习笔记-01强化学习介绍
- HCIP第九天笔记(OSPF的路由回馈、路由策略、以及配置指南)
- ctf show-web入门 php特性篇部分题解
热门文章
- 前端开发 “性能”有多重要
- 苹果开发者用计算机语言,苹果的编程语言 Swift 是用什么开发的?
- 临床外显子组测序分析中的那些坑(中)
- 遇到这个工具前我都是建议文章写好就先投Cell?
- 这些基因的名字太有才了,研究一下都可以发10分文章
- AE对口型动画脚本插件Lipsyncr Mac
- 农产品加工进销存单_农产品进销存ERP—物资的内部腾挪转换也是交易的一种形式...
- 测试页打印失败.是否参阅打印疑难解答以获得帮助_使用DeepState对API进行模糊测试(上)...
- 【Ant Design Vue】之Grid栅格和Space间距
- 基于php的选课系统设计(含源文件)