第软件的设计原理ppt课件.ppt

第软件的设计原理ppt课件.ppt

ID:58729779

大小:380.50 KB

页数:87页

时间:2020-10-04

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

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

1、第三章软件设计原理计算机信息工程学院2019年9月现代软件工程授课教师:戴庆光计算机网络教研室第四章软件设计主要内容:▲软件设计的目标和任务▲软件设计基础▲模块的独立性▲结构化设计方法▲数据设计及文件设计▲过程设计讨论要点(1)如何将分析模型转换为软件设计?(2)作为软件工程师在软件设计方面应使用哪些基本原则和概念?§4.1软件设计的目标和目的软件需求:解决“做什么”软件设计:解决“怎么做”4.1.1软件设计的任务问题结构(软件需求)软件结构从软件需求规格说明书出发,形成软件的具体设计方案。映射将分析模型转换为软件设计数据字典数

2、据流图E-R图状态变迁图加工规约控制规约数据对描述象数据设计体系结构设计接口设计过程设计分析模型设计模型1.软件的总体结构主要回答的问题软件的组成部分软件的层次关系模块的内部处理逻辑模块之间的界面2.软件设计的问题工具—如何描述软件的总体结构方法—用什么方法由问题结构导出软件结构评估准则—什么样的软件结构是“最优的”3.软件设计方法结构化设计方法(SD)面向数据结构的设计方法(JSD方法)面向对象的设计方法(OOD)4.软件设计分为两个阶段:(1)概要设计(总体设计)确定软件的结构以及各组成成分(子系统或模块)之间的相互关系。(

3、2)详细设计确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。§4.1软件设计的原则Davis提出的软件设计原则:Thedesignprocessshouldnotsufferfrom“tunnelvision.(视野狭隘)”Thedesignshouldbetraceabletotheanalysismodel.Thedesignshouldnotreinventthewheel.Thedesignshould“minimizetheintellectualdistance”betweenthesoftwarea

4、ndtheproblematitexistsintherealworld.Thedesignshouldexhibituniformityandintegration.Thedesignshouldbestructuredtoaccommodatechange.Thedesignshouldbestructuredtodegradegentle,evenwhenaberrantdata,evens,oroperatingconditionsareencountered.Designisnotcoding,codingisnotd

5、esign.Thedesignshouldbeassessed(评估)forqualityasitisbeingcreated,notafterthefact.Thedesignshouldbereviewedtominimizeconceptual(semantic)errors.§4.2软件设计的概念和原理1.软件结构2.软件过程3.模块化4.抽象5.信息隐蔽6.信息局部化4.2.1软件体系结构软件体系结构包括两部分:(1)过程构件(模块)的层次结构(2)数据构件控制结构(程序结构)控制结构是软件模块间关系的表示控制结构图示

6、:1.控制结构的层次规则只有一个顶层(0层)模块0层外任一模块都会在它的邻层存在一模块与它有关同层模块间不发生联系2.软件结构度量术语深度宽度扇出扇入(模块的层数)(同一层最大模块数)(一个模块直接调用的模块数)(调用一个给定模块的模块个数)程序的系统结构图4.2.2软件过程软件过程用以描述各模块的处理细节(算法的详细描述),包括对下层模块控制的操作细节。4.2.3模块化(Modularity)模块化是好的软件设计的一个基本准则高层模块从整体上把握问题,隐蔽细节复杂问题较小问题分解可减小解题所需的总的工作分解例:将问题(P1+

7、P2)分解为P1,P2设函数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)>E(P1)+E(P2)"各个击破"理论模块化和软件成本成本或工作量模块数量软件总成本集成成本成本/模块M最小成本区域分解、信息隐藏和模块独立性,是实现模块化设计的重要指导思想。4.2.4抽象(Abstraction)抽象原则应用举例WindowsNT一体化的I/O系统设计文件管理网络管理设备管理高速缓

8、冲存储器OS对虚拟文件的字节流,虚拟文件可为任何设备和实体抽象抽象化软件系统进行模块设计时,可有不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。在较低的抽象层次上,则采用过程化的方法。(1)过程的抽象在软件工程中,从系统定义到

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

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

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