欢迎来到天天文库
浏览记录
ID:59424028
大小:429.00 KB
页数:56页
时间:2020-09-19
《ch5软件设计概述ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章软件设计概述要点软件设计的任务软件设计的基本概念软件设计总体过程模块化设计设计需要处理的一些问题设计文档及其复审1软件设计的任务2软件设计的任务回答Howtodo?某种意义上,就是把软件需求说明转换为用适当手段表示的软件设计文档分析模型设计模型设计文档3正确的软件设计软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构4软件设计的任务可以分为概要设计、详细设计软件设计包括体系结构设计接口设计数据设计过程设计概要设计:将软件需求转化为软件的系统结构详细设计:即过程设计,得到软件的详细的数据结构和算法5软件设计的任务概要设计和详细设计是从工程管理的角度
2、来看的数据设计、过程设计等式从技术角度来看的6软件设计的任务数据设计信息模型软件数据结构体系结构设计定义软件部件间的关系接口设计软件内部、外部及与人之间的通信过程设计软件组件的过程性描述。在编码步骤,根据这种过程性描述,生成源程序代码7软件设计的任务:开发阶段的信息流8PSPEC结构化设计过程设计数据对象描述CFD,STDDFDE-RDDCSPEC接口设计体系结构设计数据设计9面向对象设计责任设计属性、操作、协作者对象-行为模型对象-关系模型类/对象模型使用实例消息设计类及对象设计子系统设计10软件设计的基本概念11软件设计的基本概念模块(module)与构件(component)模块:
3、定义输入、输出和特性的程序实体所有输入都是实现功能必不可少的所有输出都有动作产生构件:可重复使用的软件组件(模块)对象也是一种模块要求具有高内聚、低耦合等性质12软件设计的基本概念抽象(abstraction)与细化(refinement)抽象:分层次考虑和处理问题(数据和过程)细化:从高到低的逐步分解过程目的:控制复杂性软件设计其实就是在不同的抽象级别上考虑和处理问题的过程:面向问题域的描述不断具体化最后的形式的实现的源代码13软件设计的基本概念抽象(abstraction):两个部分过程抽象:把一个特定功能抽象为一个过程名和参数表数据抽象:把一个数据对象抽象为数据类型14软件设计的基
4、本概念细化(refinement):是指就是分解每一步分解较其前一步增加更多的细节应用在系统分析、系统设计中例如:DFD图N.Wirth:1971发表“用逐步细化的方法开发程序”的文章W.Jensen:认为逐步细化是“结构化程序设计的心脏”详细设计中的结构化设计(下一章)15例:开发一个CAD软件,实现一个二维绘图系统的全部功能,供计算机辅助设计使用。抽象层次1:用问题所处环境的术语来描述这个软件。该软件包括一个计算机绘图界面,所有直线、折线、矩形、圆及曲线的描画、所有的几何计算、所有的剖面图和辅助视图都可以用这个CAD软件实现……。抽象与细化示例抽象层次2:任务需求的描述。列出“Wha
5、t”而不是“How”。CADSOFTWARETASKS:userinteractiontask;2-Ddrawingcreationtask;graphicsdisplaytask;drawingfilemanagementtask;16抽象层次3:程序过程表示。以2-D绘图生成任务为例:PROCEDURE2-DdrawingcreationREPEATUNTILE(drawingcreationtaskterminates)DOWHILE(digitizerinteractionoccurs)Digitizerinterfacetask;DETERMINEdrawingrequestC
6、ASELine:linedrawingtask;Rectangle:rectangledrawingtask;Circle:circledrawingtask;……END;DOWHILE(keyboardinteractionoccurs)keyboardinteractiontask;PROCESSanalysis/computationCASEView:auxiliaryviewtask;Section:crosssectioningtask;……END;……ENDREPETITION;ENDPROCEDURE.17软件设计的基本概念信息隐藏对其它模块隐藏模块内部的数据和过程1972
7、年D.L.Parnas:对不需要了解模块内部数据的模块隐藏信息只对那些需要配合完成软件某个功能的模块允许传递信息优点:提高模块独立性,复用性好,易于测试、联调和维护软件复用:Designwithreuse,designforreuse数据封装和抽象数据类型18软件设计的基本概念模块结构图反映程序中模块之间的层次调用关系和联系(模块间信息的传递)模块:模块用矩形框表示,并用模块的名字标记它模块间的信息传递:当一个模块调用另一个模块时,
此文档下载收益归作者所有