- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程——原理、方法和工具 Ch.4 软件总体设计 第 4章 软件总体设计 4.1 软件总体设计的目标和任务 4.2 软件设计的概念和原理 4.2.1 模块和模块化 4.2.2 抽象 4.2.3 信息隐蔽和局部化 4.2.4 模块独立性及其度量 4.2.4 模块独立性及其度量 4.2.4 模块独立性及其度量 4.3 软件结构设计准则 4.3 软件结构设计准则 4.3 软件结构设计准则 4.3 软件结构设计准则 4.3 软件结构设计准则 4.4 软件结构设计的图形工具 4.4.1 软件结构图 4.4.1 软件结构图 4.4.1 软件结构图 4.4.2 层次图 4.4.3 HIPO图 4.5 结构化设计方法 4.5.1 数据流图的类型 4.5.1 数据流图的类型 4.5.1 数据流图的类型 4.5.2 结构化设计方法的步骤 4.5.3 变换型分析设计 4.5.3 变换型分析设计 4.5.3 变换型分析设计 4.5.4 事务型分析设计 习题 Q A 总体设计阶段的主要目的和任务是什么? 为每种类型的模块耦合和模块内聚各举一个具体例子。 模块的耦合性和软件的可移植性有什么关系?说明理由。 如果区分数据流图的类型?试述“变换型数据流图”和“事务型数据流图”的设计步骤。 画出习题3中的第8题的软件结构图。 试将下面的变换型数据流图转换成软件结构图。 工资管理系统中的一个子系统有如下功能: 由基本工资计算应扣除(例如水电气费等)的部分; 根据职工的出勤情况计算奖金部分; 根据输入的扣除额及奖金计算工资总额部分; 由工资总额计算应扣除税金部分; 根据计算总额部分和计算税金部分传递来的有关职工工资详细信息生成工资表。 试根据需求画出该问题的数据流图,并将其转换为软件结构图。 8.比较软件结构图和层次图的异同。 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 * tyutli@163.com * 4.1 软件总体设计的目标和任务 4.2 软件设计的概念和原理 4.3 软件结构设计准则 4.4 软件结构设计的图形工具 4.5 结构化设计方法 总体设计阶段的基本目标就是回答“概括地说,系统应该如何实现?”这个问题 。 总体设计的另一项任务是设计软件的总体结构,即确定系统中的每个程序是由哪些模块组成的,每个模块的功能以及模块和模块之间的接口、调用关系等。 4.2.1 模块和模块化 4.2.2 抽象 4.2.3 信息隐蔽和局部化 4.2.4 模块独立性及其度量 模块是软件结构的基础,是软件元素,是能够单独命名、独立完成一定功能的程序语句的集合。 模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。 模块数目和成本的关系 抽象是人类认识自然界中的复杂事物和复杂现象过程中使用的一种思维工具。 在模块化问题求解时,可以提出不同层次的抽象 。 信息隐蔽意味着有效的模块化可以通过定义一组独立的模块来实现,这些模块彼此之间仅仅交换那些为了完成系统功能所必需交换的信息。 局部化就是指把一些关系密切的软件元素物理地放的彼此靠近。 模块的独立性是一个好的软件设计的关键。 模块的独立性可以从两个方面来度量,即模块之间的耦合和模块本身的内聚。 耦合是指模块之间相互独立性的度量; 内聚则是指模块内部各个成分之间彼此结合的紧密程度的度量。 模块的耦合性有以下几种类型: 无直接耦合 数据耦合 标记耦合 控制耦合 公共环境耦合 内容耦合 模块的内聚性有以下几种类型: 偶然内聚 逻辑内聚 时间内聚 通信内聚 顺序内聚 功能内聚 软件结构设计准则: 降低模块之间的耦合性,提高模块的内聚性 模块结构的深度、宽度、扇出和扇入应适当 模块的作用范围应该在控制范围内 模块接口设计要简单,以便降低复杂程度和冗余度 设计功能可预测并能得到验证的模块 适当划分模块规模,以保持其独立性 降低模块之间的耦合性,提高模块的内聚性 : A B C A B C D E F A BCD EF 图4.2 模块的分解和合并 模块结构的深度、宽度、扇出和扇入应适当 : 深度指软件结构中模块的层次数,它表示控制的层数,在一定意义能粗略地反映系统的规模和复杂程度。 宽度指同一层次中最大的模块个数。它表示控制的总分布。 扇出是一个模块直接调用的模块数目。经验证明,好的系统结构的平均扇出数一般是3-4,不能超过5-9。 扇入指有多少个上级模块直接调用它。 一般设计的比较好的软件结构,顶层扇出高,中层扇出较少,底层模块有高扇入。 模块的作用范围应该在控制范围内 :
文档评论(0)