- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 7 讲 设计概念与原理 内容提要 软件设计的重要性、过程及其基本原则 设计的相关概念 模块化设计 模块设计的启发规则 概述 软件设计:应用各种技术和原理,对一个软件系统做出足够详细的决策,使之有可能在物理上得以实现的过程。软件设计是一个迭代的过程。 设计目标:将需求分析的结果(分析模型与需求分析规约)转化为实际软件系统的一个模型或软件表达式,即用于构造软件的“蓝图”。 最终产品:设计规约,包括描述体系结构、数据、过程和界面设计模型。 评审:清晰性、正确性、完整性。 软件设计与程序设计不同。 开发阶段的信息流 翻译需求模型到软件设计 翻译分析模型到软件设计 数据设计将分析时创建的信息域模型变换为软件所需的数据结构,侧重于数据结构的定义。 体系结构设计定义软件系统各主要结构构件之间的关系。 过程设计则是把结构构件转换成软件的过程性描述。在编码步骤,根据这种过程性描述,生成源程序代码,然后通过测试最终得到完整有效的软件。 接口设计是建立软件内部的关系以及软件人-机之间的交互机制。 软件设计的重要性可以用“质量”表达。 1.软件设计的重要性 软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构。 设计和软件质量 指导性原则 设计应该展示一种层次性结构。 设计应该模块化。 设计应该包括数据、体系结构、接口和模块(构件)的清楚的表示。 设计应有性质不同的可区分的数据结构和过程。 设计应该具有独立功能特征的模块。 设计应该降低模块和外部环境之间接口的复杂性。 设计应该利用需求分析中获得的信息和可重复的方法。 2.设计过程 从项目管理的角度来看,软件设计分两步完成。 概要设计,将软件需求转化为数据结构和软件体系结构。 详细设计,即过程设计。通过对体系结构表示进行细化,得到软件的详细的数据结构和算法。 总体设计 从回答“做什么”到回答“怎样做” 划分出组成系统的物理元素——程序、文件、数据库、过程和文档等等 每个元素还是黑盒子 ---“全局高度,抽象层次” 3.设计基本原理 1.模块化:Modularity 模块是数据说明、可执行语句等程序对象的集合,是单独命名的并且可以通过名字来访问,例如过程、函数、子程序、宏、modula等。 软件被划分成独立命名和可独立访问的被称作模块的构件,每个构件完成一个子功能,它们集成到一起满足问题需求。 模块化 模块化论据: C(x)定义为问题x的复杂性 E(x)定义为解决问题x所需要的工作量 对p1和p2两个问题, 若 C(p1) C(p2),则 E(p1) E(p2) C(p1 + p2) C(p1) + C(p2) E(p1 + p2) E(p1) + E(p2) 不要过度模块化!每个模块的简单性将被集成的复杂性所掩盖。 模块化 模块化和软件成本 如何确定地预测最小成本区? 模块化 如何确定模块的大小: 模块可分解性 模块可组装性 模块可理解性 模块的连续性 模块的可保护性 设计基本原理 2.抽象 Abstraction: 忽略细节,分层理解问题,自顶向下层层细化,包括对过程、数据和控制的抽象。 过程抽象:一个命名的指令序列,具有特定和有限的功能。 数据抽象是命名的数据集合,描述一个数据对象。 控制抽象隐含了不必说明的内部细节的程序控制机制。 是实现模块化的手段之一。 过程抽象 在这个抽象层次上,给出了初步的过程表示,所用的术语都已面向软件,而且模块化的工作已经开始显露。 逐步细化和模块化的概念与抽象紧密相连。 数据抽象 定义“绘图 drawing”数据对象作为一种抽象数据类型。 TYPE drawing IS STRUCTURE DEFINED number IS STRING LENGTH (12) geometry DEFINED … notes IS STRING LENGTH (256) … ENF drawing TYPE; Blueprint IS INSTANCE OF drawing; Schematic IS INSTANCE OF drawing; 设计基本原理 3.求精Refinement 自顶向下的设计策略。 求精 设计的求精过程与需求分析的划分类似,只是考虑的细节层次不同。 求精实际是一个详细描述的过程。 抽象与求精是互补的概念。 设计基本原理 4.信息隐藏 information hiding 信息隐藏:在设计和确定模块时,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不可访问的。 每个客户只能通过接口来了解该模块,而所有的实现都隐藏起来。 隐藏就是有效的模块化可以通过定义一组独立模块来实现。 信息隐
您可能关注的文档
最近下载
- 《劝学》-高中语文课内文言文挖空训练与重点知识归类(统编版新教材)解析版.docx
- 人教版英语八年级上册期中综合素质评价卷(含答案及听力原文).doc VIP
- 2023年内蒙古蒙智资本运营研究有限公司人员招聘考试参考题库及答案解析.docx
- 歌德学院德语A2样卷.pdf
- 新瑞鹏南京区助理入职考核试题及答案.docx
- 苏教版小学数学六年级上册教学设计 6.1《百分数的认识》.docx VIP
- 人教版数学二年级上册《一遍过一课一练答案》(24秋).pdf
- 值机 查验旅客旅行文件 旅客乘机证件的查验.pptx
- 2024年上饶职业技术学院单招职业技能测试题库及答案解析.pdf VIP
- 扩展语句和压缩语段 (课件30张).ppt
文档评论(0)