- 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章 软件设计 本章主要内容 软件设计的概念和原则 软件设计的基本过程 总体设计的主要内容 面向数据流的设计方法 详细设计的任务与原则 详细设计的表达工具 软件设计说明书的编制与评审 第4章 软件设计 本章结构: 4.1 软件设计的基础知识 4.2 软件设计的基本过程 4.3 总体设计 4.4 详细设计 4.5 实例分析 4.1 软件设计的基础知识 4.1.1 软件设计概述 软件设计是一个将软件需求变换成软件表示的过程。软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,即确定系统的物理模型,解决软件“怎么做”的问题。 从技术的角度来看,软件设计可分为软件结构设计、数据设计、接口设计和过程设计。 从工程管理的角度来看,软件设计可分为总体设计和详细设计两个步骤。 4.1 软件设计的基础知识 4.1.2 软件设计的任务和原则 在设计阶段,系统设计人员和程序设计人员应该在反复理解软件需求的基础上,提出多个设计方案,分析每个设计方案能实现的功能并进行相互比较,最后确定一个设计方案,包括该软件的结构、模块的划分、功能的分配以及处理流程。 在一般情况下,应完成的文档包括:总体设计说明书、详细设计说明书和测试计划初稿。 软件设计中一般应遵循以下原则:模块化、抽象、信息隐蔽与局部化、一致性、完整性和可验证性。 4.1 软件设计的基础知识 1.模块化 (1)模块的含义 (2)模块化的依据 (3)模块化与软件成本 (4)定义模块大小的标准 2.抽象 3.信息隐蔽和局部化 4.一致性、完整性和可验证性 4.2 软件设计的基本过程 4.2.1 软件设计的基本过程 1.在总体设计过程中需要完成以下工作: (1)确定最佳方案 (2)功能分解 (3)体系结构设计 (4)模块设计 (5)数据结构和数据库设计 (6)用户界面设计 (7)编写总体设计文档 (8)评审 2.在详细设计过程中需要完成以下工作: (1)设计软件各组成部分的内部算法和数据组织; (2)选择某种表达方式来描述各种算法; (3)进行详细设计评审。 4.2 软件设计的基本过程 4.2.2 数据设计和文件设计 进行数据设计时一般应遵循以下原则: (1)用于功能和行为的系统分析原则也可以应用于数据设计; (2)应该标识所有数据结构以及在每个数据结构上所施加的操作; (3)应建立数据词典,并应用于数据设计和程序设计; (4)采用自顶向下、逐步求精的方法完成数据设计,低层的设计决策应该推迟到设计过程的后期; (5)应该开发一个由有用的数据结构和应用于其上的操作组成的库; (6)数据结构的表示应做到:只有那些需要直接使用数据结构、内部数据的模块才能看到该数据的表示; (7)软件设计和程序设计语言应该支持抽象数据类型的规格说明和实现。 4.3 总体设计 4.3.1 数据设计和文件设计 常见的体系结构有两大类:层次结构和客户机/服务器结构。 1.层次结构图 层次结构是在系统功能分解的基础上提出的,即将一个大的任务分解成若干小的任务分层次来完成。常见的层次结构有树状层次结构和相邻关系的层次结构。 (1)树状层次结构 (2)相邻关系的层次结构 2.客户机/服务器结构 3. 浏览器/服务器结构 4.3 总体设计 4.3.2 模块设计 评价模块独立性的两个度量准则是耦合和内聚(或称聚合),耦合是模块之间相互依赖的紧密程度的度量,内聚是一个模块内部各个元素之间彼此结合的紧密程度的度量。一个模块内部各个元素之间的联系越紧密,则模块的内聚度就越高(强),相对地,它与其他模块之间的耦合就越低(弱),模块的独立性就越强。一个优秀的软件设计,应尽量做到高内聚、低耦合,从而提高模块的独立性。 1.耦合(coupling) (1)非直接耦合 (2)数据耦合 (3)标记耦合 (4)控制耦合 (5)外部耦合 (6)公共耦合 (7)内容耦合 4.3 总体设计 2.内聚(cohesion) (1)偶然内聚 (2)逻辑内聚 (3)时间内聚 (4)过程内聚 (5)通信内聚 (6)顺序内聚 (7)功能内聚 4.3 总体设计 3.启发式设计规则 (1)消除重复功能,改进软件结构,提高模块独立性降低耦合,提高内聚。 (2)模块规模应该适中,一般不超过60行语句。 (3)深度、宽度、扇出和扇入都应适当。 (4)模块的作用范围应该在控制范围之内。 (5)力争降低模块接口的复杂程度。 (6)设计单入口、单出口的模块。 (7)模块功能应该可以预测。 4.3 总体设计 4.3.3 数据结构和数据库设计 1.数据结构设
您可能关注的文档
- 软件测试基础教程杜文洁电子教案 第十章 软件测试质量保证.ppt
- 软件测试基础教程杜文洁电子教案 第四章 软件测试环境的搭建.ppt
- 软件测试基础教程杜文洁电子教案 第五章 软件测试用例设计.ppt
- 软件测试基础教程杜文洁电子教案 第一章 软件测试的基础理论.ppt
- 软件测试技术 第2版 教学课件 作者 佟伟光 软件测试技术01.ppt
- 软件测试技术 第2版 教学课件 作者 佟伟光 软件测试技术02.ppt
- 软件测试技术 第2版 教学课件 作者 佟伟光 软件测试技术03.ppt
- 软件测试技术 第2版 教学课件 作者 佟伟光 软件测试技术04.ppt
- 软件测试技术 第2版 教学课件 作者 佟伟光 软件测试技术05.ppt
- 软件测试技术 第2版 教学课件 作者 佟伟光 软件测试技术06.ppt
- 软件工程( 第三版) 高职软件专业 高树芳米昶 课件 第5章 面向对象方法概述.ppt
- 软件工程( 第三版) 高职软件专业 高树芳米昶 课件 第6章 面向对象建模技术.ppt
- 软件工程( 第三版) 高职软件专业 高树芳米昶 课件 第7章 编码.ppt
- 软件工程( 第三版) 高职软件专业 高树芳米昶 课件 第8章 软件测试.ppt
- 软件工程( 第三版) 高职软件专业 高树芳米昶 课件 第9章 软件维护.ppt
- 软件工程( 第三版) 高职软件专业 高树芳米昶 课件 第10章 软件项目管理.ppt
- 软件工程( 第三版) 高职软件专业 高树芳米昶 课件 第11章 软件设计过程的技术与方法.ppt
- 软件工程( 第三版) 高职软件专业 高树芳米昶 习题答案 软件工程( 第3版)习题答案.doc
- 软件工程( 第四版) 高职软件专业 高树芳 课件 第1章 软件工程概述.ppt
- 软件工程( 第四版) 高职软件专业 高树芳 课件 第2章 软件的定义及可行性研究.ppt
最近下载
- 关于印发《关于推动中央企业加快司库体系建设进一步加强资金管理的意见》的通知.docx VIP
- 转炉和阳极炉讲解.ppt VIP
- 往届二外小升初分班数学测试卷(有答案).pdf VIP
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案.pdf VIP
- 《水利水电工程施工监理规范sl288-2014表格》2016年1月更新.docx VIP
- 线路题库维护考试题库汇总.docx VIP
- 轮毂设计验证计划和报告(DVP&R).xls VIP
- 2025年国家低压电工作业证理论考试题库(含答案).pdf
- 新版GMP口服固体制剂多品种共线生产风险评估报告.pdf VIP
- 重庆某220kv变电站工程施工组织设计(精品).doc VIP
文档评论(0)