- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件概要设计讲义
4.1软件概要设计的基本任务 4.2 软件设计的基本原理 4.3 软件结构准则 4.4 面向结构化的设计方法 4.5 基于IDEF0图的设计方法 4.6 表示软件结构的图形工具—HIPO图 图 4.11 主图事务型, 子图变换型 4.4.6 SD方法应用示例 将3.3.3中的销售管理系统的DFD转换为软件结构图。 分析该系统的0层图, 它有 4 个主要功能, 即订货处理、 进货处理、缺货处理和销售统计。其中,订货处理包括订单处理和供货处理两部分。 这 4 个处理可平行工作,因此从整体上分析可按事务型数据流图来设计,根据功能键来选择 4 个处理中的一个。设计出的软件结构如图4.12所示。 图 4.12 销售管理系统软件结构图 4.4.7 设计的后处理 由设计的工作流程可知,经过变换分析或事务分析设计, 形成软件结构并经过优化和改进后,还要做以下工作: (1)为每个模块写一份处理说明: 从设计的角度描述模块的主要处理任务、条件抉择等,以需求分析阶段产生的加工逻辑的描述为参考。 这里的说明应该是清晰、无二义性的。 (2) 为每个模块提供一份接口说明: 包括通过参数表传递的数据、外部的输入/输出和访问全局数据区的信息等, 并指出它的下属模块与上属模块。 为清晰易读, 对以上两个说明可用设计阶段常采用的图形工具——IPO图(见4.6节)来表示。 (3) 数据结构说明: 软件结构确定之后, 必须定义全局的和局部的数据结构,因为它对每个模块的过程细节有着深远的影响。 数据结构的描述可用伪码(如PDL语言、类Pascal 语言)或Warnier图、 Jackson图等形式表达。 (4) 给出设计约束或限制: 如数据类型和格式的限制, 内存容量的限制,时间的限制,数据的边界值,个别模块的特殊要求等。 (5) 进行设计评审:软件设计阶段, 不可避免地会引入人为的错误,如果不及时纠正,就会传播到开发的后续阶段中去,并在后续阶段引入更多的错误。 因此一旦设计文档完成以后,就可进行评审,有效的评审可以显著地降低后续开发阶段和维护阶段的费用。在评审中应着重评审软件需求是否得到满足,即软件结构的质量、 接口说明、数据结构说明、实现和测试的可行性以及可维护性等。 (6) 设计优化:应贯穿整个设计的过程。 设计的开始就可以给出几种可选方案,进行比较与修改,找出最好的。设计中途的每一步处处考虑软件结构的简明、合理及高效等性能, 以及尽量简单的数据结构。 (1) 模块:用方框表示,并用名字标识该模块,名字应体现该模块的功能。 (2) 模块的控制关系: 两个模块间用单向箭头或直线连接起来表示它们的控制关系,如图 3.2 所示。按照惯例, 总是图中位于上方的模块调用下方的模块,所以不用箭头也不会产生二义性。调用模块和被调用模块的关系称为上属与下属的关系,或者称为“统率”与“从属”的关系。如图 3.4 所示, 模块M统率模块A、 B、 C, 模块D从属于模块A,也从属于M。 (3) 模块间的信息传递: 模块间还经常用带注释的短箭头表示模块调用过程中来回传递的信息。有时箭头尾部带空心圆的表示传递的是数据, 带实心圆的表示传递的是控制信息,如图 3.2 所示。 图 4.2 模块间的控制关系及信息传递 (4) 两个附加符号: 表示模块有选择调用或循环调用, 如图 3.3 所示。 (5) 结构图的形态特征。 结构图的形态特征包括: ① 深度:指结构图控制的层次, 也是模块的层数, 见图 3.4,结构图的深度为5。 ② 宽度:指一层中最大的模块个数,如图 3.4 所示,宽度为 8。 ③ 扇出:一个模块直接下属模块的个数, 如图 3.4 所示, 模块M的扇出为 3。 4.3 选择调用和循环调用的表示 (a) 选择调用; (b) 循环调用 图 4.4 结构图示例 ④ 扇入: 指一个模块直接上属模块的个数, 如图 3.4 所示,模块T的扇入为 4。 (6) 画结构图应注意的事项如下: ① 同一名字的模块在结构图中仅出现一次。 ② 调用关系只能从上到下。 ③ 不严格表示模块的调用次序,习惯上从左到右。有时为了减少连线的交叉,适当地调整同一层模块左右位置, 以保持结构图的清晰性。 4.3.2软件结构设计优化准则
原创力文档


文档评论(0)