软件设计概要讲义36162.pptx
《软件设计概要讲义36162.pptx》由会员分享,可在线阅读,更多相关《软件设计概要讲义36162.pptx(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 概要设计概要设计1一、软件设计的目标和任务一、软件设计的目标和任务1 1、目标、目标 软件设计的目标是根据用信息域常用的表示方法把软软件设计的目标是根据用信息域常用的表示方法把软软件设计的目标是根据用信息域常用的表示方法把软软件设计的目标是根据用信息域常用的表示方法把软件需求件需求件需求件需求,功能和性能等需求规格说明书中计算机语言功能和性能等需求规格说明书中计算机语言功能和性能等需求规格说明书中计算机语言功能和性能等需求规格说明书中计算机语言描述的用户的需求完全地翻译成计算机程序设计语言描述的用户的需求完全地翻译成计算机程序设计语言描述的用户的需求完全地翻译成计算机程序设计语言
2、描述的用户的需求完全地翻译成计算机程序设计语言能看懂的东西。能看懂的东西。能看懂的东西。能看懂的东西。数据设计数据设计侧重于数据结构的定义,就是把需求分侧重于数据结构的定义,就是把需求分侧重于数据结构的定义,就是把需求分侧重于数据结构的定义,就是把需求分析里面的层次方框图或析里面的层次方框图或析里面的层次方框图或析里面的层次方框图或warnierwarnierwarnierwarnier图表示的数据结构图表示的数据结构图表示的数据结构图表示的数据结构以及参考数据字典里面的内容从程序设计角度上看以及参考数据字典里面的内容从程序设计角度上看以及参考数据字典里面的内容从程序设计角度上看以及参考数据字
3、典里面的内容从程序设计角度上看怎样设计数据结构更合理。怎样设计数据结构更合理。怎样设计数据结构更合理。怎样设计数据结构更合理。2一、软件设计的目标和任务一、软件设计的目标和任务1 1、目标目标 系统结构设计系统结构设计定义软件系统各主要成份之间的关定义软件系统各主要成份之间的关定义软件系统各主要成份之间的关定义软件系统各主要成份之间的关系。系。系。系。过程设计。过程设计。把结构成份转换成软件的过程性描述。把结构成份转换成软件的过程性描述。把结构成份转换成软件的过程性描述。把结构成份转换成软件的过程性描述。3开发阶段的信息流把需求翻把需求翻译成文档译成文档452 2、软件设计的任务、软件设计的任
4、务概要设计概要设计概要设计概要设计(系统设计系统设计系统设计系统设计),将软件需求转化为数据结构,将软件需求转化为数据结构,将软件需求转化为数据结构,将软件需求转化为数据结构和软件的系统结构。和软件的系统结构。和软件的系统结构。和软件的系统结构。概要设计由技术总监,部门经概要设计由技术总监,部门经概要设计由技术总监,部门经概要设计由技术总监,部门经理和项目经理来做的,有可能会加一两个核心程序理和项目经理来做的,有可能会加一两个核心程序理和项目经理来做的,有可能会加一两个核心程序理和项目经理来做的,有可能会加一两个核心程序员。员。员。员。一、软件设计的目标和任务一、软件设计的目标和任务62 2、
5、软件设计的任务、软件设计的任务 详细设计详细设计(过程设计过程设计),通过对结构表示进行细,通过对结构表示进行细化,得到软件的详细的数据结构和算法。化,得到软件的详细的数据结构和算法。一、软件设计的目标和任务一、软件设计的目标和任务78具体设计过程设计阶段高层设计阶段架构设计用户界面设计数据库设计模块设计实现与测试需求开发概要设计详细设计9角色名称角色名称主要职责主要职责项目总监负责审批设计的相关文档,在公司级别协调设计过程中需要的技术支持项目经理负责分配设计任务,追踪设计阶段进度,在项目组内协调设计过程中所需资源,参与设计文档的同行评审系统分析员完成相关的设计任务,编写设计文档,修改设计评审
6、中发现的问题项目组开发人员代表参与设计文档的同行评审其他项目经理参与设计文档的同行评审其他项目系统分析员参与设计文档的同行评审质量保证员检查设计过程及设计阶段产生的文档,跟踪发现的问题的解决情况10软件设计过程软件设计过程1 1、制定规范、制定规范 在进入软件开发阶段之初,首先应为软件开发在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组制定在设计时应该共同遵守的标准,以便协调组内各成员的工作。组内各成员的工作。n n 阅读和理解软件需求说明书,确认用户要求阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的条件,从而确定设计的能否实现,明确实现的条件,
7、从而确定设计的目标,以及它们的优先顺序。目标,以及它们的优先顺序。n n 根据目标确定最合适的设计方法。根据目标确定最合适的设计方法。n n 规定设计文档的编制标准。规定设计文档的编制标准。n n 规定编码的信息形式,与硬件,操作系统的规定编码的信息形式,与硬件,操作系统的接口规约,接口规约,112.2.软件系统结构的总体设计软件系统结构的总体设计 采用某种设计方法,将系统按功能划分成模块的采用某种设计方法,将系统按功能划分成模块的采用某种设计方法,将系统按功能划分成模块的采用某种设计方法,将系统按功能划分成模块的层次结构层次结构层次结构层次结构 确定每个模块的功能。确定每个模块的功能。确定每
8、个模块的功能。确定每个模块的功能。建立与已确定的软件需求的对应关系建立与已确定的软件需求的对应关系建立与已确定的软件需求的对应关系建立与已确定的软件需求的对应关系 确定模块间的调用关系确定模块间的调用关系确定模块间的调用关系确定模块间的调用关系 确定模块间的接口确定模块间的接口确定模块间的接口确定模块间的接口 评估模块划分的质量评估模块划分的质量评估模块划分的质量评估模块划分的质量软件设计过程软件设计过程123.3.处理方式设计处理方式设计确定实现系统功能需求所必需的算法,评估算法的确定实现系统功能需求所必需的算法,评估算法的确定实现系统功能需求所必需的算法,评估算法的确定实现系统功能需求所必
9、需的算法,评估算法的性能。性能。性能。性能。确定满足系统性能需求所必需的算法和模块间的控确定满足系统性能需求所必需的算法和模块间的控确定满足系统性能需求所必需的算法和模块间的控确定满足系统性能需求所必需的算法和模块间的控制方式。制方式。制方式。制方式。a.a.a.a.周转时间周转时间周转时间周转时间b.b.b.b.响应时间响应时间响应时间响应时间c.c.c.c.吞吐量吞吐量吞吐量吞吐量d.d.d.d.精度精度精度精度确定外部信号的接收发送形式。确定外部信号的接收发送形式。确定外部信号的接收发送形式。确定外部信号的接收发送形式。软件设计过程软件设计过程134.4.数据结构设计数据结构设计确定软件
10、涉及的文件系统的结构以及数据库的模式、确定软件涉及的文件系统的结构以及数据库的模式、确定软件涉及的文件系统的结构以及数据库的模式、确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计。子模式,进行数据完整性和安全性的设计。子模式,进行数据完整性和安全性的设计。子模式,进行数据完整性和安全性的设计。确定输入,输出文件的详细的数据结构。确定输入,输出文件的详细的数据结构。确定输入,输出文件的详细的数据结构。确定输入,输出文件的详细的数据结构。结合算法设计,确定算法所必需的逻辑数据结构及结合算法设计,确定算法所必需的逻辑数据结构及结合算法设计,确定算法所必需的逻辑数据结
11、构及结合算法设计,确定算法所必需的逻辑数据结构及其操作。其操作。其操作。其操作。确定对逻辑数据结构所必需的那些操作的程序模块确定对逻辑数据结构所必需的那些操作的程序模块确定对逻辑数据结构所必需的那些操作的程序模块确定对逻辑数据结构所必需的那些操作的程序模块(软件包软件包软件包软件包)软件设计过程软件设计过程14限制和确定各个数据设计决策的影响范围限制和确定各个数据设计决策的影响范围限制和确定各个数据设计决策的影响范围限制和确定各个数据设计决策的影响范围若需要与操作系统或调度程序接口所必须的控制表等数据时,若需要与操作系统或调度程序接口所必须的控制表等数据时,若需要与操作系统或调度程序接口所必须
12、的控制表等数据时,若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则确定其详细的数据结构和使用规则确定其详细的数据结构和使用规则确定其详细的数据结构和使用规则数据的保护性设计数据的保护性设计数据的保护性设计数据的保护性设计a.a.a.a.防卫性设计:在软件设计中就插入自动检错,报错和纠错防卫性设计:在软件设计中就插入自动检错,报错和纠错防卫性设计:在软件设计中就插入自动检错,报错和纠错防卫性设计:在软件设计中就插入自动检错,报错和纠错的功能的功能的功能的功能b.b.b.b.一致性设计:一致性设计:一致性设计:一致性设计:a)a)a)a)保证软件运行过程中所使用
13、的数据的类型和取值范围不保证软件运行过程中所使用的数据的类型和取值范围不保证软件运行过程中所使用的数据的类型和取值范围不保证软件运行过程中所使用的数据的类型和取值范围不变变变变b)b)b)b)在并发处理过程中使用封锁和解除封锁机制保持数据不在并发处理过程中使用封锁和解除封锁机制保持数据不在并发处理过程中使用封锁和解除封锁机制保持数据不在并发处理过程中使用封锁和解除封锁机制保持数据不被破坏被破坏被破坏被破坏c.c.c.c.冗余性设计:针对同一问题,由两个开发者采用不同的程序冗余性设计:针对同一问题,由两个开发者采用不同的程序冗余性设计:针对同一问题,由两个开发者采用不同的程序冗余性设计:针对同一
14、问题,由两个开发者采用不同的程序设计风格不同的算法设计软件,当两者运行结果之差不在允设计风格不同的算法设计软件,当两者运行结果之差不在允设计风格不同的算法设计软件,当两者运行结果之差不在允设计风格不同的算法设计软件,当两者运行结果之差不在允许范围内时,利用检错系统予以纠正,或使用表决技术决定许范围内时,利用检错系统予以纠正,或使用表决技术决定许范围内时,利用检错系统予以纠正,或使用表决技术决定许范围内时,利用检错系统予以纠正,或使用表决技术决定一个正确结果。一个正确结果。一个正确结果。一个正确结果。15数据库设计数据库设计设计准备逻辑设计物理设计安全性设计撰写文档保护性设计设计优化设计评审迭代
15、16数据库设计举例说明用户角色权限1-n1-n所属平台部门或岗位人员角色权限岗位角色对应角色权限对应人员角色对应人员权限对应(平台)人员平台对应人员岗位授权业务范围具体业务人员岗位对应灵活权限分配灵活权限分配改变以前业务绑定人的改变以前业务绑定人的模式模式17数据库设计(续)185.5.可靠性设计可靠性设计可靠性设计也叫做质量设计可靠性设计也叫做质量设计可靠性设计也叫做质量设计可靠性设计也叫做质量设计在运行过程中,为了适应环境的变化和用户新的要求,在运行过程中,为了适应环境的变化和用户新的要求,在运行过程中,为了适应环境的变化和用户新的要求,在运行过程中,为了适应环境的变化和用户新的要求,需经
16、常对软件进行改造和修正。在软件开发的一开始就需经常对软件进行改造和修正。在软件开发的一开始就需经常对软件进行改造和修正。在软件开发的一开始就需经常对软件进行改造和修正。在软件开发的一开始就要确定软件可靠性和其它质量指标,考虑相应措施,以要确定软件可靠性和其它质量指标,考虑相应措施,以要确定软件可靠性和其它质量指标,考虑相应措施,以要确定软件可靠性和其它质量指标,考虑相应措施,以使得软件易于修改和易于维护使得软件易于修改和易于维护使得软件易于修改和易于维护使得软件易于修改和易于维护6.6.编写概要设计阶段的文档编写概要设计阶段的文档 概要设计说明书概要设计说明书概要设计说明书概要设计说明书 数据
17、库设计说明书数据库设计说明书数据库设计说明书数据库设计说明书 用户手册用户手册用户手册用户手册 制定初步的测试计划制定初步的测试计划制定初步的测试计划制定初步的测试计划软件设计过程软件设计过程19概要设计说明书1、引言编写目的背景参考资料2、结构模型 架构描述3、功能设计 模块子模块操作流程图4、数据结构 数据库设计 数据字典207.7.概要设计评审概要设计评审可追溯性:确认该设计是否复盖了所有已确定的软件需求,软可追溯性:确认该设计是否复盖了所有已确定的软件需求,软可追溯性:确认该设计是否复盖了所有已确定的软件需求,软可追溯性:确认该设计是否复盖了所有已确定的软件需求,软件每一成份是否可追溯
18、到某一项需求件每一成份是否可追溯到某一项需求件每一成份是否可追溯到某一项需求件每一成份是否可追溯到某一项需求接口:确认该软件的内部接口与外部接口是否已经明确定义。接口:确认该软件的内部接口与外部接口是否已经明确定义。接口:确认该软件的内部接口与外部接口是否已经明确定义。接口:确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足高内聚和低耦合的要求。模块作用范围是否在其模块是否满足高内聚和低耦合的要求。模块作用范围是否在其模块是否满足高内聚和低耦合的要求。模块作用范围是否在其模块是否满足高内聚和低耦合的要求。模块作用范围是否在其控制范围之内控制范围之内控制范围之内控制范围之内风险:确认该
19、设计在现有技术条件下和预算范围内是否能按时风险:确认该设计在现有技术条件下和预算范围内是否能按时风险:确认该设计在现有技术条件下和预算范围内是否能按时风险:确认该设计在现有技术条件下和预算范围内是否能按时实现实现实现实现实用性:确认该设计对于需求的解决方案是否实用实用性:确认该设计对于需求的解决方案是否实用实用性:确认该设计对于需求的解决方案是否实用实用性:确认该设计对于需求的解决方案是否实用技术清晰度:确认该设计是否以一种易于翻译成代码的形式表技术清晰度:确认该设计是否以一种易于翻译成代码的形式表技术清晰度:确认该设计是否以一种易于翻译成代码的形式表技术清晰度:确认该设计是否以一种易于翻译成
20、代码的形式表达达达达软件设计过程软件设计过程217.7.概要设计评审概要设计评审可维护性:确认该设计是否考虑了方便未来的维护可维护性:确认该设计是否考虑了方便未来的维护可维护性:确认该设计是否考虑了方便未来的维护可维护性:确认该设计是否考虑了方便未来的维护质量:确认该设计是否表现出良好的质量特征质量:确认该设计是否表现出良好的质量特征质量:确认该设计是否表现出良好的质量特征质量:确认该设计是否表现出良好的质量特征各种选择方案:看是否考虑过其它方案,比较各种选择方案的各种选择方案:看是否考虑过其它方案,比较各种选择方案的各种选择方案:看是否考虑过其它方案,比较各种选择方案的各种选择方案:看是否考
21、虑过其它方案,比较各种选择方案的标准是什么标准是什么标准是什么标准是什么限制:评估对该软件的限制是否现实,是否与需求一致限制:评估对该软件的限制是否现实,是否与需求一致限制:评估对该软件的限制是否现实,是否与需求一致限制:评估对该软件的限制是否现实,是否与需求一致其它具体问题:对于文档、可测试性、设计过程其它具体问题:对于文档、可测试性、设计过程其它具体问题:对于文档、可测试性、设计过程其它具体问题:对于文档、可测试性、设计过程.等进行评估等进行评估等进行评估等进行评估8 8、在详细设计、在详细设计确定软件各个组成部分内的算法以及各部分的内部数据组织确定软件各个组成部分内的算法以及各部分的内部
22、数据组织确定软件各个组成部分内的算法以及各部分的内部数据组织确定软件各个组成部分内的算法以及各部分的内部数据组织选定某种过程的表达形式来描述各种算法。选定某种过程的表达形式来描述各种算法。选定某种过程的表达形式来描述各种算法。选定某种过程的表达形式来描述各种算法。进行详细设计的评审进行详细设计的评审进行详细设计的评审进行详细设计的评审软件设计过程软件设计过程22二、概要设计的过程1.1.设想供选择的方案。设想供选择的方案。设想供选择的方案。设想供选择的方案。技术上最高层的几个人,考技术上最高层的几个人,考虑需求规格说明书,以及之前的可行性报告里虑需求规格说明书,以及之前的可行性报告里面都提到几
23、个可行性的方案,做总体设计的人面都提到几个可行性的方案,做总体设计的人是一个公司里面技术最强的人。是一个公司里面技术最强的人。2.2.选取合理的方案选取合理的方案选取合理的方案选取合理的方案系统流程图。系统流程图。系统流程图。系统流程图。完全从软件角度来画系统的流程。完全从软件角度来画系统的流程。完全从软件角度来画系统的流程。完全从软件角度来画系统的流程。组成系统的物理元素清单。组成系统的物理元素清单。组成系统的物理元素清单。组成系统的物理元素清单。物理元素一般是系统,物理元素一般是系统,物理元素一般是系统,物理元素一般是系统,子系统,模块,子模块,函数,子函数子系统,模块,子模块,函数,子函
24、数子系统,模块,子模块,函数,子函数子系统,模块,子模块,函数,子函数成本成本成本成本/效益分析。效益分析。效益分析。效益分析。就是有不同的开发路线,选择那就是有不同的开发路线,选择那就是有不同的开发路线,选择那就是有不同的开发路线,选择那一条开发路线安全性要好,开发软件质量也还可以,一条开发路线安全性要好,开发软件质量也还可以,一条开发路线安全性要好,开发软件质量也还可以,一条开发路线安全性要好,开发软件质量也还可以,最省钱。最省钱。最省钱。最省钱。开发进度和计划。开发进度和计划。开发进度和计划。开发进度和计划。23二、概要设计的过程二、概要设计的过程3.3.推荐最佳方案。推荐最佳方案。4.
25、4.功能分解。功能分解。把一个功能分成多个小模块,然后把一个功能分成多个小模块,然后每一个块之间怎么样进行沟通。每一个块之间怎么样进行沟通。5.5.设计软件结构设计软件结构。6.6.数据库设计。数据库设计。7.7.制定测试计划。制定测试计划。8.8.书写文档书写文档系统说明系统说明 用户手册用户手册 测试计划测试计划 详细的实现计划详细的实现计划 数据库设计结果数据库设计结果9.9.审查和复查审查和复查24三、软件设计的概念和原理三、软件设计的概念和原理1.1.1.1.自顶向下,逐步细化自顶向下,逐步细化自顶向下,逐步细化自顶向下,逐步细化2.2.2.2.软件结构软件结构软件结构软件结构(搭出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 概要 讲义 36162
限制150内