软件工程讲稿05

软件工程讲稿05

ID:45211415

大小:326.00 KB

页数:44页

时间:2019-11-10

软件工程讲稿05_第1页
软件工程讲稿05_第2页
软件工程讲稿05_第3页
软件工程讲稿05_第4页
软件工程讲稿05_第5页
资源描述:

《软件工程讲稿05》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四章软件设计1软件设计的目标和任务2软件设计基础3模块的独立性4结构化设计方法5数据设计及文件设计6过程设计主要内容包括:讨论要点:(1)如何将分析模型转换为软件设计?(2)作为软件工程师,在软件设计方面应使用哪些基本原则和概念?第四章软件设计§1软件设计的目标和目的软件需求:解决“做什么”软件设计:解决“怎么做”1.1软件设计的任务问题结构(软件需求)软件结构从软件需求规格说明书出发,形成软件的具体设计方案。映射将分析模型转换为软件设计数据字典数据流图E-R图状态变迁图加工规约控制规约数据对描述象过程设计接口设计数据设计体

2、系结构设计分析模型设计模型第四章软件设计1.软件的总体结构主要回答的问题软件的组成部分软件的层次关系模块的内部处理逻辑模块之间的界面第四章软件设计2.软件设计的问题工具—如何描述软件的总体结构?方法—用什么方法由问题结构导出软件结构?评估准则—什么样的软件结构是“最优的”?3.软件设计方法结构化设计方法(SD)面向数据结构的设计方法(JSD方法)面向对象的设计方法(OOD)主要讲述这三种方法4.软件设计分为两个阶段:(1)概要设计(总体设计)确定软件结构及各组成成份(子系统或模块)间的相互关系,确定系统的整体数据结构。(2)详

3、细设计(过程设计)确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。第四章软件设计5.软件设计的主要过程1)依据需求分析的基础,设想解决问题的最佳方案,并制订相应的详细执行计划。在方案中,准备如下四份资料:系统流程图;组成系统的物理元素清单;成本和效益分析;实现系统的进度计划。(将书上的过程简化了。简化后更接近实际。)2)功能分解,设计软件结构,并对每个模块的功能加以描述。主要方法如下(包括结构设计和过程设计):(1)采用某设计方法,将一个复杂系统按功能划分成模块。(2)确定每个模块的功能。(3)确定模块之间的调

4、用关系。(4)确定模块之间的接口,即模块之间传递的信息。(5)评价模块结构的质量。(6)确定每个模块的内部处理过程。3)设计数据库结构。包括如下几个内容:模式设计;子模式设计;完整性与安全性设计;优化。第四章软件设计4)制定测试计划。在软件开发早期制定测试计划,能够促使设计人员在设计软件时就充分注意到提高软件的可测试性。5)书写文档。(完成下列文档的书写)系统说明书:主要包括系统流程图、系统构成方案、组成系统的物理元素清单、成本/效益分析;方案描述及细化的DFD;软件结构图;用IPO图或其他工具(如PDL语言)简要描述的各个模

5、块算法;模块间接口关系,以及需求、功能和模块三者间的交叉参照关系等。用户手册:修改在系统分析阶段所形成的用户手册。测试计划:包括测试策略、测试方案、预期测试结果、测试进度计划等。详细实施计划:里程表,进度管理工具。数据库设计:包括数据库管理系统的选择、模式、子模式、完整性和安全性、以及优化方法,DD等。6)审查与复审:技术人员的技术审查与管理人员的复审。第四章软件设计§2软件设计的概念和原理1.软件结构2.软件过程3.模块化4.抽象5.信息隐蔽6.信息局部化第四章软件设计1.软件体系结构软件体系结构包括两部分:(1)过程构件(

6、模块)的层次结构(2)数据构件第四章软件设计控制结构是模块间关系的表示, 也叫程序结构。控制结构的图例控制结构的层次规则:只有一个顶层(0层)模块;0层外任一模块都会在它的邻层存在一个模块与它有关;同层模块间不发生联系;第四章软件设计软件结构度量术语:宽度深度深度:模块的层数;宽度:同层模块的最多个数;扇入:调用同一个模块的模块个数扇出:模块所直接调用的模块个数扇出扇入2.软件过程第四章软件设计软件过程用以描述各模块的处理细节,即算法的详细描述,包括对下层模块控制的操作细节等。3.模块化(Modularity)模块化是好的软件

7、设计的一个基本准则。高层模块从整体上把握问题,隐蔽细节。分解复杂问题较小问题分解可减少求解问题时所需要的总的工作量。例:将问题(P1+P2)分解为P1、P2,结果如何?设函数C(x)定义为问题x的复杂程度,函数E(x)确定解决问题x需要的工作量。对问题P1和P2,若C(P1)>C(P2),则E(P1)>E(P2)成立。(解决复杂问题的工作量较大)对于给定问题(P1+P2),显然有C(P1+P2)>C(P1)+C(P2)所以也有E(P1+P2)>E(P1)+E(P2)“各个击破”理论(分而治之)第四章软件设计模块化和软件成本成

8、本或工作量模块数量软件总成本集成成本成本/模块M最小成本区域第四章软件设计4.抽象(Abstraction)抽象原则应用举例WindowsNT一体化的I/O系统设计文件管理网络管理设备管理高速缓冲存储器OS对虚拟文件的字节流,虚拟文件可为任何设备和实体。抽象第四章软件设计5.

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

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

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