第06章面向过程的软件设计方法和总体设计.pptVIP

第06章面向过程的软件设计方法和总体设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 概要设计 一、软件设计的目标和任务 1、目标 软件设计的目标是根据用信息域常用的表示方法把软件需求,功能和性能等需求规格说明书中计算机语言描述的用户的需求完全地翻译成计算机程序设计语言能看懂的东西。 数据设计侧重于数据结构的定义,就是把需求分析里面的层次方框图或warnier图表示的数据结构以及参考数据字典里面的内容从程序设计角度上看怎样设计数据结构更合理。 一、软件设计的目标和任务 1、目标 系统结构设计定义软件系统各主要成份之间的关系。 过程设计。把结构成份转换成软件的过程性描述。 2、软件设计的任务 概要设计(系统设计),将软件需求转化为数据结构和软件的系统结构。概要设计由技术总监,部门经理和项目经理来做的,有可能会加一两个核心程序员。 2、软件设计的任务 详细设计(过程设计),通过对结构表示进行细化,得到软件的详细的数据结构和算法。 具体设计过程 软件设计过程 1、制定规范 在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组内各成员的工作。 阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的条件,从而确定设计的目标,以及它们的优先顺序。 根据目标确定最合适的设计方法。 规定设计文档的编制标准。 规定编码的信息形式,与硬件,操作系统的接口规约, 2. 软件系统结构的总体设计 采用某种设计方法,将系统按功能划分成模块的层次结构 确定每个模块的功能。 建立与已确定的软件需求的对应关系 确定模块间的调用关系 确定模块间的接口 评估模块划分的质量 3. 处理方式设计 确定实现系统功能需求所必需的算法,评估算法的性能。 确定满足系统性能需求所必需的算法和模块间的控制方式。 周转时间 响应时间 吞吐量 精度 确定外部信号的接收发送形式。 4. 数据结构设计 确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计。 确定输入,输出文件的详细的数据结构。 结合算法设计,确定算法所必需的逻辑数据结构及其操作。 确定对逻辑数据结构所必需的那些操作的程序模块(软件包) 限制和确定各个数据设计决策的影响范围 若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则 数据的保护性设计 防卫性设计:在软件设计中就插入自动检错,报错和纠错的功能 一致性设计: 保证软件运行过程中所使用的数据的类型和取值范围不变 在并发处理过程中使用封锁和解除封锁机制保持数据不被破坏 冗余性设计:针对同一问题,由两个开发者采用不同的程序设计风格不同的算法设计软件,当两者运行结果之差不在允许范围内时,利用检错系统予以纠正,或使用表决技术决定一个正确结果。 数据库设计 数据库设计举例说明 数据库设计(续) 5.可靠性设计 可靠性设计也叫做质量设计 在运行过程中,为了适应环境的变化和用户新的要求,需经常对软件进行改造和修正。在软件开发的一开始就要确定软件可靠性和其它质量指标,考虑相应措施,以使得软件易于修改和易于维护 6.编写概要设计阶段的文档 概要设计说明书 数据库设计说明书 用户手册 制定初步的测试计划 概要设计说明书 7.概要设计评审 可追溯性:确认该设计是否复盖了所有已确定的软件需求,软件每一成份是否可追溯到某一项需求 接口:确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足高内聚和低耦合的要求。模块作用范围是否在其控制范围之内 风险:确认该设计在现有技术条件下和预算范围内是否能按时实现 实用性:确认该设计对于需求的解决方案是否实用 技术清晰度:确认该设计是否以一种易于翻译成代码的形式表达 7.概要设计评审 可维护性:确认该设计是否考虑了方便未来的维护 质量:确认该设计是否表现出良好的质量特征 各种选择方案:看是否考虑过其它方案,比较各种选择方案的标准是什么 限制:评估对该软件的限制是否现实,是否与需求一致 其它具体问题:对于文档、可测试性、设计过程..等进行评估 8、在详细设计 确定软件各个组成部分内的算法以及各部分的内部数据组织 选定某种过程的表达形式来描述各种算法。 进行详细设计的评审 二、概要设计的过程 设想供选择的方案。技术上最高层的几个人,考虑需求规格说明书,以及之前的可行性报告里面都提到几个可行性的方案,做总体设计的人是一个公司里面技术最强的人。 选取合理的方案 系统流程图。完全从软件角度来画系统的流程。 组成系统的物理元素清单。物理元素一般是系统,子系统,模块,子模块,函数,子函数 成本/效益分析。就是有不同的开发路线,选择那一条开发路线安全性要好,开发软件质量也还可以,最省钱。 开发进度和计划。 二、概要设计的过程 推荐最佳方案。 功能

文档评论(0)

sdfgrt + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档