《软件工程导论》PPT课件

《软件工程导论》PPT课件

ID:39724378

大小:785.10 KB

页数:76页

时间:2019-07-10

《软件工程导论》PPT课件_第1页
《软件工程导论》PPT课件_第2页
《软件工程导论》PPT课件_第3页
《软件工程导论》PPT课件_第4页
《软件工程导论》PPT课件_第5页
资源描述:

《《软件工程导论》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、总体设计5.1设计过程5.2设计原理5.3启发规则5.4描绘软件结构的图形工具5.5面向数据流的设计方法5.6小结习题5.1设计过程设想供选择的方案选取合理的方案推荐最佳方案功能分解设计软件结构设计数据库制定测试计划书写文档个人成果,妥善保存,请勿传播分析模型和设计模型的转换将分析模型转换为软件设计个人成果,妥善保存,请勿传播软件设计是后续开发步骤及软件维护工作基础 如果没有设计,只能建立一个不稳定的系统结构个人成果,妥善保存,请勿传播软件设计的任务从工程管理的角度来看,软件设计分两步完成总体设计(

2、概要设计),将软件需求转化为数据结构和软件的系统结构。详细设计,即过程设计。通过对结构表示进行细化,得到软件详细的数据结构和算法。5.1设计过程设想供选择的方案提出各种可能的实现方案以需求分析阶段的数据流图为出发点,画自动化边界,形成不同的实现系统方案设想把数据流图中的处理分组的各种可能方法,抛弃在技术上行不通的分组方法余下的分组方法代表可能的实现策略,并且可以启示供选择的物理系统5.1设计过程选取合理的方案从前一步得到的一系列供选择的方案中选取若干个合理的方案通常至少选取低成本、中等成本和高成本的

3、三种方案在此基础上分析员对每种方案准备四份文档:系统流程图组成系统的物理元素清单成本/效益分析实现这个系统的进度计划5.1设计过程推荐最佳方案综合分析对比各种合理方案的利弊,从中选出一种自己认为是最理想的方案推荐用户和技术专家应认真审查所推荐的最佳系统如果该系统确实符合用户的需要,并且是在现有条件下完全能够实现的,则应该提请使用部门负责人进一步审批在使用部门的负责人也接受了分析员所推荐的方案之后,将进入总体设计过程的下一个重要阶段结构设计功能分解首先是进行结构设计,确定系统是由哪些模块组成的,

4、以及这些模块之间的关系确定软件体系结构、数据结构其次是过程设计,确定每个模块的处理过程确定详细的数据结构、算法为确定软件结构首先需要从实现角度把复杂的功能进一步分解用算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能应该使每个功能对大多数程序员而言都是明显易懂的工具:系统层次图SystemDesignHierarchy及(输入/输出图)HIPO设计软件结构任务:确定模块组织成良好的层次系统,顶层模块调用它的下层模块以实现程序的完整功能,每

5、个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能:方法:层次图结构图面向数据流的设计方法设计数据库任务:在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库模式设计:确定数据库的逻辑结构,常见的数据库形式有关系、层次或网状等子模式设计:为系统中各用户设计出各自的数据视图存储模式设计:确定数据库的空间需求、存储格式、索引组成等制定测试计划优点:早期阶段考虑测试问题促使软件设计人员在设计时注意提高软件的可测试性书写文档系统说明主要内容系统流程图:描绘系统构成方

6、案、组成系统的物理元素成本/效益分析对最佳方案的概括描述、精化的数据流图用层次图或结构图描绘的软件结构用IPO图或其它工具简要描述各个模块的算法模块间接口关系、建立需求、功能和模块三者之间的交叉参照关系用户手册根据总体设计阶段的结果,修改更正在需求分析阶段产生的初步的用户手册。测试计划包括测试策略,测试方案,预期的测试结果,测试进度计划等等。详细的实现计划数据库设计结果审查和复审技术审查管理复审:部门的负责人从事5.2设计原理5.2.1模块化5.2.2抽象5.2.3逐步求精5.2.4信息隐藏和局部化

7、5.2.5模块独立5.2.1模块化模块:由边界元素限定的相邻程序元素(例如,数据说明,可执行的语句)的序列,而且有一个总体标识符代表它模块化:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。模块化依据:设函数C(x)定义问题x的复杂程度,函数E(x)确定解决问题x需要的工作量(时间)。对于两个问题P1和P2如果C(P1)>C(P2),显然E(P1)>E(P2)C(P1+P2)>C(P1)+C(P2)E(P1+P2)>

8、E(P1)+E(P2)结论:如果一个问题由P1和P2两个问题组合而成,那么它的复杂程度大于分别考虑每个问题时的复杂程度之和,即把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了模块化和软件成本关系说明当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本(工作量)确实减少了但是,随着模块数目增加,设计模块间接口所需要的工作量也将增加模块化优点软件结构清晰使软件容易测试和调试,提高软件的可靠性模块化能够提高软件的可修改性5.2.2抽象定义:抽出事物的

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

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

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