- 1、本文档共106页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
04第四章软件设计概述软件工程教案海南大学共15章.ppt
软件工程(第二版) 齐治昌、谭庆平、宁洪 编著 高等教育出版社 主讲:陈明锐 教授 第四章 软件设计概述 软件设计的任务 软件设计的基本概念 模块化设计 设计需要处理的问题 设计文档及其复审 什么是设计? 把问题转化为解决方案的创造性过程;解决方案的描述也称为设计。 设计和需求有什么不同? 张君和李丽想做一栋新房子。他们的需求如下: 三个小孩有玩耍的空间,并独立拥有各自的睡房 一间主人卧房 一个厨房 冬天可取暖,夏天可制冷 室内通水通电 等等 设计和需求有什么不同? 设计师的方案: 屋子的楼上有四间睡房,楼下有一间客房,一间厨房,一个玩具房和一个杂物室等等。 还有其他方案吗? 软件设计的两个阶段 设计者必须同时满足用户和系统开发人员的要求 概要设计书 详细设计书 设计者迂回于各种活动中: 理解需求 提出可能的方案 测试方案的可能性 向用户描述各种可能 向编程人员提供设计文档 软件设计的内容 体系结构设计 定义软件部件间的关系 接口设计 软件内部、外部及与人之间的通信 数据设计 信息模型 软件数据结构 过程设计 软件组件的过程性描述 软件设计的任务 分析模型 设计模型 设计文档 回答How to do? 可以分为概要设计、详细设计 软件设计包括 数据设计 体系结构设计 接口设计 过程设计 分解和模块化 系统设计方法: 功能分解:将功能作为组件 面向数据的分解:基于外部数据结构 面向事件的分解:基于系统必须处理的事件 外部输入设计:基于系统的用户输入 面向对象设计:定义对象的类及其相互联系 模块和模块化 模块化:当系统的每项功能恰好由一个输入输出都明确定义的组件完成的时候,我们称这个系统模块化。 模块——表示能够用计算机程序代码实现的,相对独立的单一数据处理功能,所以模块有时也叫功能模块。 进一步明确模块是拥有明确定义的输入、输出和特性的程序实体。 设计方法的选择 应该允许不同的设计者使用他们喜欢的技巧,只要他们的文档能让其他设计者明白就可以了。 设计方法的选择又是取决于设计者的偏好,而更多的时候取决于系统要求的结构或数据。 软件设计中涉及的问题 抽象(abstract)与细化(refinement) 抽象:分层次考虑和处理问题(数据和过程) 细化:从高到低的逐步分解过程 信息隐藏 对其它模块隐藏模块内部的数据和过程 抽象 抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。 先注意问题的本质及描述,其次是实现过程或细节。 数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。 代码抽象:描述某类对象的共有的行为特征或具有的功能。 抽象的实现:通过类的声明。 模块化设计的好处 信息隐藏 从不同角度了解系统 将难以解决的问题独立出来;抽象层次通过逐层分析来了解问题 允许不同的模块采用不同的设计方法 模块化设计 把大型软件按照规定的原则划分成一个个较小的、相对独立但又相互关联的模块 重要指导思想: 分解 模块独立性 分解(Decomposition) 模块化是为了使一个复杂的大型程序能被人的智力所管理 设函数c(x)定义问题x的复杂程度,函数E(X)确定解决问题x需要的工作量(时间)。对于两个问题P1 和P2,如果 模块化的依据 人类解决一般问题时一个有趣的规律: C (P1+P2)C (P1)+C (P2) E (P1+P2)E (P1)+E (P2) 结论:各个击破——把复杂的问题分解成容易解决的小问题,原来的问题也就容易解决了 问题提出 如果无限的分割软件,最后为了开发软件而需要的工作量也就小得可以忽略了。 ? 模块数与开发工作量的关系 模块划分的基本原则 概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。 但是到目前为止,没有统一的标准判断一个系统化分成几个模块是最优的。 模块划分的四项基本原则 1.模块独立性强 块内联系强 块间联系弱 2.高内聚 模块内部各成分之间 3.低耦合 一个模块与其它模块之间 4.公共(共享)模块 多个模块公用 模块独立性 问什么模块的独立性很重要? 有效模块化的软件容易开发出来 独立的模块比较容易测试和维护 人的独立性强如何? 人没有独立性,什么都依赖别人如何? 内聚 内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。一个模块内部各个元素之间的联系越紧密,则它的内聚性就越高,相对地,它与其他模块之间的耦合就会减低,而模块独立性就越强。 内聚与耦合 内聚和耦合是相互关联的。在程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。但这也不是绝对的。软件概要设计的目标是力求
您可能关注的文档
- REXA执行机构西部管道培训教程调节型Xpac中文版.ppt
- Z41花香与次生代谢产生芳香气味物质概述.ppt
- H型钢支护软土深大基坑质量控制.ppt
- 04创建SQLServer数据库.ppt
- 04物流中心的搬运系统分析.ppt
- Z105第三讲角度测量.ppt
- 安装定额与预算基本.ppt
- 04章土壤氮和硫的测定.ppt
- 04软件设计实践.ppt
- 北京市景观设计常见树种.ppt
- 部编版一年级上册道德与法治期末测试卷汇总.docx
- 南京医药产业有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版汇编.docx
- 内蒙古蒙牛乳业股份有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版汇编.docx
- 逆行的愚公精神在成长中的作用分析教学教案.doc
- 南京银行股份有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版参考答案.docx
- 南京三龙水泥有限责任公司校园招聘模拟试题附带答案详解一套.docx
- 2024初级护士资格证基础知识考试题库(含答案).docx
- 内蒙古河套酒业集团股份有限公司校园招聘模拟试题附带答案详解学生专用.docx
- 升华集团校园招聘模拟试题附带答案详解一套.docx
- 八年级上册物理教学课件密度(人教版).pptx
最近下载
- 辩论赛培训PPT课件.pptx
- 2025年天津继续教育公需课考试答案-为中国式现代化提供强大动力和制度保障.docx VIP
- 一起非法运输烟花爆竹药料爆炸事故-事故案例-案例分析-爆炸事故.docx
- 11-《卓有成效的管理者》电子版.pdf
- 新青岛版六年级下册科学15太阳系(动画版).pptx
- Haier海尔241升风冷定频两门冰箱 BCD-241WDCV说明书用户手册.pdf
- 2025年部编版新教材语文小学一年级下册全册教案(含教学计划).docx
- 【高考生物】备战2025年高考易错题(新高考专用)易错点14 群落常见的“四个”理解误区(原卷版).docx
- 党风培训ppt课件.pptx VIP
- 领湃科技:衡阳弘新建设厂房和附属设施设备、机器设备租金价值资产评估报告.docx
文档评论(0)