软件工程第五章结构化设计课件.ppt

软件工程第五章结构化设计课件.ppt

ID:57180177

大小:1.30 MB

页数:103页

时间:2020-08-02

软件工程第五章结构化设计课件.ppt_第1页
软件工程第五章结构化设计课件.ppt_第2页
软件工程第五章结构化设计课件.ppt_第3页
软件工程第五章结构化设计课件.ppt_第4页
软件工程第五章结构化设计课件.ppt_第5页
资源描述:

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

1、第三部分软件设计与建模结构化软件设计阳王东回答问题什么是软件设计?有哪些阶段和任务?什么是模块化设计?有哪些原理?什么是软件结构和体系结构?二者有什么区别?数据流有哪些类型?如何区分?数据流映射的步骤是什么?什么是结构化程序设计?有哪些工具?什么是JSD方法?具体步骤是什么?第8章软件设计软件设计模块化设计软件架构设计软件结构软件设计概述软件设计阶段的基本目标是构造系统“怎么做”的模型描述。“设计先于编码”,这是软件工程“推迟实现”基本原则软件系统设计是把软件需求“变换”为用于构造软件的蓝图。“输入”是需

2、求分析各种模型元素“输出”是软件设计模型和表示软件设计的目标是对将要实现的软件系统的体系结构、系统的数据、系统模块间的接口,以及所采用的算法给出详尽的描述。软件设计三类活动总体设计,也称为概要设计,软件结构设计,或高层设计。分析需求规格说明模块划分,形成具有预定功能的模块组成结构表示出模块间的控制关系给出模块之间的接口软件详细设计,也称为(模块)过程设计,或低层设计。设计模块细节确定模块所需的算法和数据结构等测试和复审软件设计质量原则设计过程要有全局观念设计对于分析模型应该是可跟踪的设计不应该从头做起设计

3、应该是可实现的设计应该表现出一致性和集成性设计应该能够适应修改设计不是编码应该复审每一步设计,以减少语义性错误软件模块化设计模块是一个独立命名的,拥有明确定义的输入、输出和特性的程序实体。软件的模块化设计(ModularDesign)。系统是有一个个模块组装而成。软件模块化设计优点可以简化软件的设计和实现提高软件的可理解性和可测试性软件更容易得到维护。软件模块化设计缺点模块划分的数量越多,模块间的联系也越多模块的接口工作量却随着模块数增加而增大模块数与开发工作量开发工作量模块数最小成本区模块成本接口成本总

4、成本软件模块化设计的指导思想分解抽象逐步求精信息隐蔽模块独立性分解与抽象分解必然需要抽象的支持。抽象是抓住主要问题,隐藏细节,这样才能容易分解。抽象具有不同的级别。人类解决复杂问题的基本方法之一。只有抓住事物的本质,才能准确分析和处理问题,找到合理的解决方案。逐步求精逐步求精,或称逐步细化,是一种自顶向下的设计策略。逐步求精是人类采用抽象到具体的过程把一个复杂问题趋于简单化控制和管理的有效策略。抽象和精化是互补的概念。信息隐藏信息隐蔽原则建议模块应该具有的特征是:每个模块对其他所有模块都隐蔽自己的设计决策

5、。信息隐蔽意味着通过一系列独立的模块可以得到有效的模块化。独立的构件或模块之间的“接口”简单而清晰。模块的独立性模块独立性是指开发具有独立功能而和其他模块没有过多关联的模块。模块独立性两大优点:独立的模块由于分解了功能,简化了接口,使得软件比较容易开发;独立的模块比较容易测试和维护。模块独立性由两个定性标准度量:模块自身的内聚(Cohesion)),也称为块内联系或模块强度,模块之间的耦合(Coupling),也称为块间联系。模块独立性愈高,则块内联系越强,块间联系越弱。模块内聚性内聚性是从功能的角度对模

6、块内部聚合能力的量度。高内聚是模块独立性追求的目标。分类:偶然性内聚逻辑性内聚时间性内聚过程性内聚通信性内聚顺序性内聚功能性内聚内聚性分类偶然性内聚弱逻辑性内聚时间性内聚过程性内聚通信性内聚顺序性内聚功能性内聚强低内聚中内聚高内聚模块耦合性耦合性是对一个软件结构内不同模块之间互连程度的度量。耦合性的强弱取决于模块间接口的复杂程度,以及通过接口的数据类型和数目。分类:非直接耦合数据耦合控制耦合外部耦合公共耦合内容耦合耦合性分类非直接耦合弱数据耦合特征耦合控制耦合外部耦合公共耦合内容耦合强弱耦合中耦合强耦合较

7、强耦合模块化设计的优化改进软件结构提高模块独立性在满足模块化要求的前提下尽量减少模块数量,在满足信息需求的前提下尽可能减少复杂的数据结构模块规模应适中软件结构的深度、宽度、扇入数和扇出数都要适当模块的作用域应该在控制域之内力求降低模块接口的复杂程度,设计单入口、单出口的模块概要设计概要设计主要包括三个方面的设计。首先是系统构架设计,然后是软件结构设计与数据结构设计。软件架构设计(体系结构)软件体系结构是一种总体表达。大型软件系统总是被分解成一系列子系统,由子系统提供一些相关的服务。软件架构设计过程就是识别

8、出这些子系统,并建立子系统控制和通信的框架,最后给出软件体系结构的一个描述。系统构架设计可以按照以下步骤进行定义子系统定义子外部接口定义系统构成模型定义系统控制模型系统架构设计主要内容子系统划分方法前台业务办理和后台数据管理数据采集、数据处理和数据管理界面、控制和实体外部接口通信协议SDK消息分布式访问系统构成模型以数据为中心的结构模型客户机/服务器结构模型抽象机结构模型以数据为中心的结构模型由一组子系统构成,子系统交换信息,

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

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

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