第4章总体设计

第4章总体设计

ID:42608946

大小:996.43 KB

页数:24页

时间:2019-09-18

第4章总体设计_第1页
第4章总体设计_第2页
第4章总体设计_第3页
第4章总体设计_第4页
第4章总体设计_第5页
资源描述:

《第4章总体设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、幻灯片1软件工程概论第五章总体设计幻灯片2总体设计需求分析解决“系统必须做什么(what)”的问题,软件设计解决“怎样做(how)即从技术角度考虑如何实现用户需求。需求解决“做正确的事”,设计解决“正确地做事”。软件设计是把软件需求变换成软件表示的过程。最初这种表示只是描述出软件的总框架,然后进一步细化,在此框架中填入细节,把它加工成在程序细节上非常接近于源程序的表示。因此软件设计分两步进行:1.将系统划分成相互联系的逻辑单元一总体上应该怎样做——总体设计、概要设计、初步设计。2、逻辑单元实现的设计一具体应该怎样做一详细设计。幻灯片3总体设计过程一、系统体系结构设计二、软件结构

2、设计三、数据库设计四、制定测试计划五、书写文档六、审核和复审幻灯片4软件结构设计软件结构:以模块为单位的层次结构。即:上层模块调用它的下层模块以实现程序的完整功能;每个下层模块再调用更下层模块完成程序的一个子功能;最下层的模块完成最具体的功能。方法:根据数据流图的层次关系导出软件结构。任务:划分程序模块确定模块间的逻辑关系及接口参数如果数据流图设计得好,数据流图和软件结构具有极强的对应关系。幻灯片5数据结构设计1、文件系统的数据结构设计确定输入、输出文件的详细的数据结构。确定算法所需的逻辑数据结构及其操作规则。确定逻辑数据结构所涉及的程序模块2、数据库设计如杲目标系统以数据库为

3、基础,则要进行数据库设计。总体设计阶段的数据库设计包括:数据库管理系统的选择模式设计:确定有那些基木表组成和每个表的结构。子模式设计:具体应用所能看到的数据库内容。物理模式设计:确定数据的存储结构和存取路径(存储方式,建立索引)。数据库完整性和安全性设计。幻灯片6制定测试计划确定对各模块和系统联调的测试方案。在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。幻灯片7书写文档1•系统说明:概要设计说明书1.用户手册2.测试计划3.详细的实现计划4.数据库设计结果幻灯片8审核和复审最后应该对总体设计的结果进行严格的技术审查,通过之后再由使用部门从管

4、理角度进行复审。幻灯片9软件设计原理•抽象•求精•模块化•信息隐蔽(和局部化)•模块独立主要內容幻灯片10抽象在现实世界中,一定事物、状态或过程之间总存在着某些相似的方面(共性)。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。抽出事物的本质特征而暂不考虑它们的细节。解决复杂问题的唯一有效的方法就是运用抽象的思维方式,首先用一些高级的抽象概念构造和理解它;这些高级概念又可以用一些较低级的概念构造和理解,如此进行下去,直到最低层次的具体元素。幻灯片11抽象软件工程过程的每一步都是对软件解法的抽象层次的一次求精。软件开发的三种抽象形式:1、过程抽象:对过程的任务

5、采用逐步求精的解法;2、数据抽象:通过层次结构来描述数据对象。3、控制抽象:描述程序控制机制而无须规定内部细节。模块化就是一种程序设计的抽象机制。抽象和求精是一对互补的概念。求精则是帮助设计者逐步揭示出低层细节。这两个概念都有助于帮助设计者在设计演化过程中构造出完整的设计模型。幻灯片12模块化模块:一组有序操作的总称,它可以单独的名字存在,单独编译,可以通过名字来访问。一个函数、一个过程就是一个模块。模块基本属性:(1)功能:模块做什么;(2)逻辑:描述模块内部怎么做;(3)状态:模块使用时的环境和条件。模块的外部属性:模块名功能参数(输入参数和输出参数)。模块的内部特性:完成

6、模块功能的代码和局部数据。幻灯片13模块化模块化:以模块作为程序设计的基本单位,把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集成起来,并通过模块间的调用关系把它们组成一个完整的整体,完成指定的功能。幻灯片14采用模块化的依据容易被理解。使问题复杂度降低,容易被实现。设函数C(x)定义问题x的复杂程度,函数E(x)确定解决问题x需要的工作量(时间),对于两个问题pl和p2,如果C(pl)>C(p2)贝!):E(pl)>E(p2)规律:C(pl+p2)>C(P1)+C(p2)必有:E(pl+p2)>E(pl)+E(p2)幻灯片15模块化与软件成本▲图4・2幻灯片16模

7、块化结论1、采用模块化,是使软件设计从难到易的基本方法。2、模块分解应适度。模块规模太小,完成每个模块的工作量很小,但设计和调试模块间的接口工作量随之增加。幻灯片17信息的隐蔽和局部化信息隐蔽:模块内部的信息(处理过程和数据〉,应对不需要了解这些信息的模块隐蔽起来,使它们不能访问。信息隐蔽是模块设计的基本原则。意味着在进行模块划分时,应保证模块的独立性,使组成程序的模块之间只需交换完成软件功能所必需的信息。将信息隐蔽作为模块化设计标准,为软件测试和维护对模块的修改带来了极大的方便,使得修改时

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

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

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