第三章软件的设计原理.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章软件的设计原理

第三章 软件设计原理 计算机信息工程学院 2004年9月 1.软件的总体结构主要回答的问题 软件的组成部分 软件的层次关系 模块的内部处理逻辑 模块之间的界面 2. 软件设计的问题 4. 软件设计分为两个阶段: (1)概要设计(总体设计) 确定软件的结构以及各组成成分 (子系统或模块)之间的相互关系。 (2)详细设计 确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。 4.2.1 软件体系结构 软件体系结构包括两部分: (1)过程构件(模块)的层次结构 (2)数据构件 控制结构(程序结构) 控制结构是软件模块间 关系的表示 控制结构图示: 1. 控制结构的层次规则 只有一个顶层(0层)模块 0层外任一模块都会在它 的邻层存在一模块与它有关 同层模块间不发生联系 2. 软件结构度量术语 4.2.2 软件过程 软件过程用以描述各模 块的处理细节(算法的详 细描述),包括对下层模 块控制的操作细节。 4.2.3 模块化 (Modularity) 模块化是好的软件设计的一个基本准则 高层模块 从整体上把握 问题,隐蔽细节 复杂问题 较小问题 分解 可减小解题所需的总的工作 模块化和软件成本 分解、信息隐藏和模块独立性,是实现模块化设计的重要指导思想。 4.2.4 抽象(Abstraction) 抽象化 软件系统进行模块设计时,可有不同的抽象层次。 在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。 在较低的抽象层次上,则采用过程化的方法。 (1) 过程的抽象 在软件工程中,从系统定义到实现,每进展一步都可以看做是对软件解决方法的抽象化过程的一次细化。 ? 在软件需求分析阶段,用“问题所处环境的为大家所熟悉的术语”来描述软件的解决方法。 ? 在从概要设计到详细设计的过程中,抽象化的层次逐次降低。当产生源程序时到达最低抽象层次。 例: 开发一个CAD软件的三层抽象 抽象层次Ⅰ. 用问题所处环境的术语来描述这个软件: 该软件包括一个计算机绘图界面,向绘图员显示图形,以及一个数字化仪界面,用以代替绘图板和丁字尺。所有直线、折线、矩形、圆及曲线的描画、所有的几何计算、所有的剖面图和辅助视图都可以用这个CAD软件实现……。 抽象层次Ⅱ. 任务需求的描述。 CAD SOFTWARE TASKS user interaction task; 2-D drawing creation task; graphics display task; drawing file management task; end. 在这个抽象层次上,未给出“怎样做”的信息,不能直接实现。 抽象层次Ⅲ. 程序过程表示。以2-D (二维)绘图生成任务为例: PROCEDURE:2-D drawing creation REPEAT UNTIL (drawing creation task terminates) DO WHILE (digitizer interaction occurs) digitizer interface task; DETERMINE drawing request CASE; line: line drawing task; rectangle:rectangle drawing task; circle: circle drawing task; …… (2) 数据抽象 在不同层次上描述数据对象的细节,定义与该数据对象相关的操作。 例如,在CAD软件中,定义一个叫做drawing的数据对象。可将drawing规定为一个抽象数据类型,定义它的内部细节为: TYPE drawing IS STRUCTURE DEFIND number IS STRING LENGTH(12); geometry DEFIND …… notes IS STRING LENGTH(256); BOM DEFIND END drawing TYPE; 数据抽象drawing本身由另外一些数据抽象,如geometry、BOM (bill of materials) 构成 定义drawing的抽象数据类型之后,可引用它来定义其它数据对象,而不必涉及drawing的内部细节 例如,定义: blue-print IS INSTA

文档评论(0)

bokegood + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档