软件设计概述(精)培训资料.ppt

软件设计概述(精)培训资料.ppt

ID:59927291

大小:255.50 KB

页数:85页

时间:2020-11-28

软件设计概述(精)培训资料.ppt_第1页
软件设计概述(精)培训资料.ppt_第2页
软件设计概述(精)培训资料.ppt_第3页
软件设计概述(精)培训资料.ppt_第4页
软件设计概述(精)培训资料.ppt_第5页
资源描述:

《软件设计概述(精)培训资料.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件设计概述(精)§5.1软件设计的目标和任务§5.2软件设计基本概念§5.3模块化设计§5.4其他设计问题的处理§5.5设计文档及其复审教学内容:教学目的及要求:深刻理解软件设计阶段的概念和任务;掌握模块化设计的思想;§5.1软件设计的任务软件需求:解决“做什么”软件设计:解决“怎么做”软件设计的任务问题结构(软件需求)软件结构;从软件需求规格说明书出发,形成软件的具体设计方案。映射1.软件的总体结构主要回答的问题软件的组成部分软件的层次关系模块的内部处理逻辑模块之间的界面2.软件设计的问题工具—如何描述软件

2、的总体结构方法—用什么方法有问题结构导出软件结构评估准则—什么样的软件结构是“最优的”3.软件设计方法结构化设计方法(SD)面向数据结构的设计方法(JSD方法)面向对象的设计方法(OOD)4.软件设计分为两个阶段:(1)概要设计(总体设计)确定软件的结构以及各组成成分(子系统或模块)之间的相互关系。(2)详细设计确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。结构化设计方法模块设计体系结构设计软件设计的任务----确定系统怎么做•结构化设计活动划分为两个阶段:确定系统的整体体系结构----总体设

3、计确定各模块的具体实现----详细设计界面设计构件级程序设计•表示工具:总体设计详细设计层次图(Hierarchy)IPO图(Input-Process-Output)模块说明程序框图盒图(N-S图)决策表PDL语言§5.2软件设计的基本概念1.模块与构件2.抽象与细化3.信息隐蔽4.软件复用1.模块与构件模块化:把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,满足问题的功能。模块:一个拥有明确定义的输入、输出和特性的程序实体。1.模块与构件构件:可重复使用的

4、软件组件。经过适当设计和实现的类也可以称为构件,他们在某个领域中具有一定的通用性,可以在不同的计算机软件系统中复用。将这些构件储存起来变成一个构件库,就为基于构件的软件开发模型提供了技术基础。模块模块是具有一定功能的可以用名词调用的程序语句集合,如:独立的汇编程序COBOL的段和节Pascal过程FORTRAN的子程序结构化设计的适用范围尤其适用于采用结构化程序设计实现的系统;结构化设计并不是一种广泛适用的系统设计技术;结构化设计的结果。SA与SD的关系结构化分析的结果结构化设计的工具数据流图初始结构图数据字典

5、设计数据字典伪码实现方面伪码实体关系图数据库设计事务框图分层、细化事务模型SD来源于SA来源:结构化分析来源:结构化分析来源:结构化分析数据流图字典项伪码实体关系图事务框图环境的限制质量的标准转化分析细化设计进入实现阶段初始结构框图概要设计的基本概念将系统划分成模块决定每个模块的功能决定模块的调用关系决定模块的界面,即模块间传递的数据结构化设计(SD方法)概要相对独立、单一功能的模块块间联系和块内联系描述方法步骤2.抽象(Abstraction)与细化抽象:解决问题时只考虑与问题有关的方面,不考虑与问题无关的方

6、面。即抽出事物的本质特性而不考虑细节。抽象(Abstraction)抽象原则应用举例WindowsNT一体化的I/O系统设计文件管理网络管理设备管理高速缓冲存储器OS对虚拟文件的字节流,虚拟文件可为任何设备和实体抽象细化:即分解。在逐步细化中,特别强调这种分解的“逐步”性质,即每一部分仅较其前一部增加“少量”的细节。这样,在相邻两部之间就只有微小的变化,不难验证它们的内容是否等效。3.信息隐蔽(InformationHiding)信息隐蔽的含义:有效的模块化可以通过定义一组独立模块来实现,这些模块相互之间只交流

7、软件功能必需的信息。换句话说:模块所包含的信息,不允许其它不需要这些信息的模块访问,独立的模块间仅仅交换为完成系统功能而必须交换的信息。信息隐蔽:对模块内部信息访问的约束信息隐蔽的基本原则:功能独立,高内聚且低耦合高可复用性的期望:•功能复用是代码级的,它基于必要的功能理解,而功能的语义是不一致的、多理解的。•希望软件复用是全方位的,不但是代码级的复用,还应该有源程序级的复用。面向对象方法的高可复用性:对象的语义表示是唯一的,这使得代码级的复用简单且自然。类的继承性是源程序级的复用机制,它允许用已有的程序构架来

8、简单地构造新的应用。并且仍保持高维护性,这种技术带来复用概念的新突破。4.软件复用:利用已有的现成构件,不必一切都从头做起。§5.3模块化设计1.分解2.模块独立性内聚耦合自顶向下与自底向上设计模块化(Modularity)模块化是好的软件设计的一个基本准则高层模块从整体上把握问题,隐蔽细节复杂问题较小问题分解可减小解题所需的总的工作分解C(p1)>C(p2)则E(p1)>E(p2)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。