4第5章-总体设计.pptVIP

  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文档。上传文档
查看更多
用户命令交互子系统的SC 用户执行模块 读用户命令 命令处理 密码处理 控制器 现用/非现用 系统 系统设置 控制器 读系统 数据 建立配 置文件 显示信息 与状态 * 用户命令交互子系统DFD 读用户 命令 密码命令 密码 显示信息 系统参数数据 用户 命令 读系统 数据 配置信息 显示信息 和状态 命令 分析处理 读 密码 命令类型 开/关 命令 建立配 置文件 原配置 数据 激活/非活动系统 与文件中 密码比较 格式化 配置数据 配置命令 检验信 息过程 重试信息 四位数字 检验信息 检验信息 A/D信息 格式化配置 数据 格式化 配置数据 * 用户命令交互子系统的SC 用户执行模块 读用户命令 命令处理 密码处理 控制器 现用/非现用 系统 系统设置 控制器 读系统 数据 建立配 置文件 显示信息 与状态 读 密码 用文件 比较密码 密码输出 控制器 产生 无效信息 * 思考 用面向数据流方法设计前面讲述的工资支付系统的软件结构。 * 需求分析 完整的数据流图 * 总结 总体设计的目的、任务、输出成果; 总体设计应遵循的原理---了解,但需会应用 模块独立性的度量标准; 耦合程度和内聚程度度量; 面向数据流的设计方法; * * 软件设计任务---- 1、制定规范:在进入软件开发阶段之处,首先应为软件开发组制定在设计时应该遵守的标准,以便协调组内各成员的工作。它包括: (1)阅读和理解SRS(软件需求说明书),在给定预算范围内和技术现状下,确认用户的要求能否实现; (2)根据目标确定合适的设计方法; 等; 2、软件系统结构的总体设计:在需求分析阶段,已经从系统开发的角度出发,把系统功能逐次分割成层次结构,使每一部分完成简单的功能且各个部分之间又保持一定的联系,这就是功能设计。在设计阶段,基于这个功能的层次结构把个各部分组合起来成为系统。它包括: (1)采用某种设计方法,将一个复杂的系统按功能划分成模块的层次结构。 (2)确定每个模块的功能,建立与已确定的软件需求的对应关系; (3)确定模块间的调用关系; (4)确定模块间的接口,即模块间传递的信息;设计接口的信息结构; 等。 3、处理方式设计: (1)确定为实现软件系统的功能需求所必须的算法,评估算法的性能; (2)确定满足软件系统的性能需求所必须的算法和模块间的控制方式。如,响应时间、吞吐量(即单位时间内能够处理的数据量)、精度(在进行科学计算或工程计算时的运算精度的要求)等。 4、数据结构设计:确定软件涉及的文件系统的结构以及数据库的模式,进行数据完整性和安全性的设计。它包括: (1)确定输入、输出文件的详细的数据结构; (2)结合算法设计、确定算法所必须的逻辑数据结构极其操作等; 5、 可靠性设计:也叫质量设计。在使用计算机的过程中,可靠性是很重要的,可靠性不高的软件会使得运行结果不能使用而造成严重损失。 模块AW之间为控制耦合因为两个模块间传递的Signal值是用作控制信号的开关量。改善方法就是把W模块调用的函数直接写入A模块中,然后删除B模块。 (1)将被调用模块内的判定上移到调用模块中进行 (2)被调用模块分解成若干单一功能模块 过程内聚性的例子:假设有一个子程序,它产生读取雇员的名字,然后是地址,最后是它的电话号码。这种顺序之所以重要,仅仅是因为它符合用户的要求,用户希望按这种顺序进行屏幕输入。另外一个子程序将读取关于雇员的其它信息。这个子程序是过程内聚性,因为是由一个特定顺序而不是其它任何原因,把这些操作组合在一起的。 与以前一样,如何把它变为功能内聚性的答案仍然是把它分为几个部分,并把这几部分分别放入程序中。要保证调用子程序的功能是单一、完善的。调用子程序应该是诸如GetEmployeeData()这样的子程序,而不该是像GetFirstPartofEmployeeData()这类的子程序。可能还要改动其余读取数据的子程序。为得到功能内聚性,改动几个子程序是很正常的。 假设有一个按给出的生日计算雇员年龄、退休时间的子程序,如果它是利用所计算的年龄来确定雇员将要退休的时间,那么它就具有顺序内聚性。而如果它是分别计算年龄和退休时间的,但使用相同生日数据,那它就只具有通讯内聚性。 确定程序存在哪种不良内聚性,还不如确定如何把它设计得更好重要。怎样使这个子程序成为功能内聚性呢?可以分别建立两个子程序,一个

文档评论(0)

精品报告 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档