第14章软件设计ppt课件.ppt

第14章软件设计ppt课件.ppt

ID:59494776

大小:716.00 KB

页数:139页

时间:2020-09-13

第14章软件设计ppt课件.ppt_第1页
第14章软件设计ppt课件.ppt_第2页
第14章软件设计ppt课件.ppt_第3页
第14章软件设计ppt课件.ppt_第4页
第14章软件设计ppt课件.ppt_第5页
资源描述:

《第14章软件设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件设计1软件设计概述软件设计分为两个阶段概要设计(又称总体设计):确定软件系统的总体结构详细设计(又称过程设计):详细设计则是对概要设计结果进一步细化,给出目标系统的精确描述。软件设计的目标软件需求:解决“做什么”软件设计:解决“怎么做”2软件设计的任务问题结构(软件需求)软件结构从软件需求规格说明书出发,形成软的具体设计方案。映射3软件设计的任务数据流图数据字典加工策略数据设计体系结构设计接口设计过程设计4软件设计的任务分析模型设计模型目标系统逻辑模型目标系统物理模型5系统概要设计6概要设计概要设计的过程需求文档概要设计文档设计软件结构设计系统构架设计数据结

2、构需求框架系统构架数据环境子系统功能需求数据需求软件结构数据结构图14.1概要设计过程7概要设计概要设计的内容制订规范系统构架设计软件结构设计公共数据结构设计安全性设计故障处理设计可维护性设计编写文档概要设计评审8概要设计软件的构架设计概要设计通过需求框架来映射系统构架。例如:利用需求分析中的高层数据流程图对系统基本工作流程的描述来映射系统的基本结构,使得需求分析中对系统的逻辑描述转换为概要设计中对系统的物理描述。系统构架设计的步骤定义子系统。定义子系统外部接口。定义系统物理构架。9软件设计概念与原则10主要内容模块与模块化抽象与逐步求精信息隐蔽与局部化模块独立

3、性软件结构的设计原则11模块化(Modularity)模块:独立命名和独立编址调用的一组程序语句,即数据说明、可执行语句等程序对象的集合。模块化:把软件系统划分为若干个模块,每一个模块完成一个相对独立的子功能,把这些模块组合起来,满足问题的求解需求。把问题/子问题的分解与软件开发中的系统/子系统或系统/模块对应起来,就能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。12模块化模块化是好的软件设计的一个基本准则复杂问题较小问题分解可减小解题所需的总的工作13为什么要模块化设函数C(x)定义问题x的复杂程度函数E(x)确定解决问题x需要的工作量1.一

4、个问题越复杂,解决它所需要的工作量就越大。即:C(P1)>C(P2),则E(P1)>E(P2)14为什么要模块化2.如果把一个大而复杂的问题分解成一些容易处理的小问题后,所需工作量会减少。即:C(P1+P2)>C(P1)+C(P2),且E(P1+P2)>E(P1)+E(P2)。3.影响软件的总的工作量的因素有两个:模块复杂性成本,模块接口成本。15为什么要模块化模块化和软件成本成本或工作量模块数量软件总成本集成成本成本/模块M最小成本区域16抽象化软件系统进行模块设计时,可有不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。因此

5、,描述问题时,可以使用面向问题的术语。在较低的抽象层次上,则采用过程化的方法。实现时,采用能够直接实现的方式描述。17过程的抽象在软件计划阶段,将软件当作整个计算机系统中的一个元素来看待。在软件需求分析阶段,用“问题所处环境的为大家所熟悉的术语”来描述软件的解决方法。在从概要设计到详细设计的过程中,抽象化的层次逐次降低。当产生源程序时到达最低抽象层次。18信息隐蔽每个模块的实现细节对于其它模块来说是隐蔽的。也就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。信息隐蔽的目的:提高模块的独立性,减少修改或维护时的影响面。19信息局部化把

6、关系密切的软件元素物理地放得彼此靠近。优点:可维护性好可靠性好可理解性好20模块独立性模块独立性:软件系统中每个模块只涉及软件要求的具体的子功能(功能是单一的),而和软件系统中其它的模块的接口是简单的。模块完成独立的功能符合信息隐蔽和信息局部化原则模块间关连和依赖程度尽量小衡量模块独立性的准则耦合性:模块之间的互相联系的紧密程度的度量。内聚性:是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模块独立性比较强的模块应是高内聚低耦合的模块。21模块间的耦合低低耦合无直接耦合强耦合性数据耦合模块独立性标记耦合中等程度耦合控制耦合较强耦合外部耦合公共耦合

7、高强耦合内容耦合弱22非直接耦合(NondirectCoupling)如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最强。23数据耦合(DataCoupling)如果一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。数据耦合属松散耦合。开发票计算水费单价数量金额24标记耦合(StampCoupling)如果一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量“住

8、户情况”是一个数据结构,

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

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

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