欢迎来到天天文库
浏览记录
ID:52101287
大小:1.93 MB
页数:121页
时间:2020-03-31
《《结构化设计方法》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章结构化设计方法第4章结构化设计方法软件设计的概念及原则结构化设计体系结构设计接口设计数据设计过程设计软件设计规格说明4.1软件设计的概念及原则软件设计的概念设计是一项核心的工程活动。在20世纪90年代早期,Lotus1-2-3的发明人MitchKapor在Dr.Dobbs杂志上发表了“软件设计宣言”,其中指出:“什么是设计?设计是你站在两个世界——技术世界和人类的目标世界——而你尝试将这两个世界结合在一起……”。4.1软件设计的概念及原则软件设计的概念罗马建筑批评家Vitruvius提出了这样一个观念
2、:“设计良好的建筑应该展示出坚固、适用和令人赏心悦目”。4.1软件设计的概念及原则软件设计的原则(1)分而治之分而治之是人们解决大型复杂问题时通常采用的策略。将大型复杂的问题分解为许多容易解决的小问题,原来的问题也就容易解决了。软件的体系结构设计、模块化设计都是分而治之策略的具体表现。分而治之尽管模块分解可以简化要解决的问题,但模块分解并不是越小越好。模块规模的减小,虽然可使开发单个模块的成本减少,但随着模块数目增加,模块之间关系的复杂程度也会增加,设计模块间接口所需要的工作量也将增加,如图所示:4.1软件
3、设计的概念及原则(2)模块独立性模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。例如,一个模块只具有单一的功能且与其他模块没有太多的联系,那么,我们则称此模块具有模块独立性。一般采用两个准则度量模块独立性。即模块间的耦合和模块的内聚。耦合与内聚耦合:是模块间相对独立性(互相连接的紧密程度)的度量。模块之间连接越紧密、联系越多,耦合性就越高,则独立性就越弱。内聚:是模块功能强度(模块内部元素彼此结合的紧密程度)的度量。一般,模块内部各元素间内聚性越高,相
4、对与其它模块的耦合性就会降低,而独立性就越强。问题:模块和包是什么关系?4.1软件设计的概念及原则(3)提高抽象层次抽象是指忽视一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。当我们进行软件设计时,设计开始时应尽量提高软件的抽象层次,按抽象级别从高到低进行软件设计。4.1软件设计的概念及原则(4)复用性设计复用是指同一事物不做修改或稍加修改就可以多次重复使用。将复用的思想用于软件开发,称为软件复用。我们将软件的可重用部分称为软件构件。构造新的软件系统时不必从零做起,可以直接使用已有
5、的软构件即可组装(或加以合理修改)成新的系统。4.1软件设计的概念及原则(5)灵活性设计保证软件灵活性设计的关键是抽象。面向对象系统中的类结构类似一座金字塔,越接近金字塔的顶端,抽象程度就越高。“抽象”的反义词是“具体”。理想情况下,一个系统的任何代码、逻缉、概念在这个系统中都应该是唯一的,也就是说不存在重复的代码。4.1软件设计的概念及原则在设计中引入灵活性的方法有:降低耦合并提高内聚(易于提高替换能力);建立抽象(创建有多态操作的接口和父类);不要将代码写死(消除代码中的常数);抛出异常(由操作的调用者
6、处理异常);使用并创建可复用的代码。4.2结构化设计结构化设计的任务结构化设计与结构化分析的关系模块结构及表示数据结构及表示4.2.1软件设计的任务软件设计的主要任务是要解决如何做的问题。在需求分析的基础上,建立各种设计模型,并通过对设计模型的分析和评估,来确定这些模型是否能够满足需求。软件设计是将用户需求准确地转化成为最终的软件产品的唯一途径,在需求到构造之间起到了桥梁作用。在设计阶段,往往存在多种设计方案,通常需要在多种设计方案之中进行决策和折中。4.2.1软件设计的任务软件设计的阶段与任务从工程管理的
7、角度,可以将软件设计分为概要设计阶段和详细设计阶段。从技术的角度,传统的结构化方法将软件设计划分为体系结构设计、数据设计、接口设计和过程设计4部分;面向对象方法则将软件设计划分为体系结构设计、类设计/数据设计、接口设计和构件级设计4部分。4.2.1软件设计的任务软件设计的阶段与任务从管理和技术两个不同的角度对设计的认识。4.2.1软件设计的任务软件设计的阶段与任务体系结构设计:体系结构设计定义软件的主要结构元素及其之间的关系。接口设计:接口设计描述用户界面,软件和其他硬件设备、其他软件系统及使用人员的外部接
8、口,以及各种构件之间的内部接口。数据设计:传统方法主要根据需求阶段所建立的实体—关系图(ER图)来确定软件涉及的文件系统的结构及数据库的表结构。4.2.1软件设计的任务软件设计的阶段与任务过程设计:过程设计的主要工作是确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法。4.2.2结构化设计与结构化分析的关系结构化分析的结果为结构化设计提供了最基本的输入信息。两者的关系如图所示。4.
此文档下载收益归作者所有