资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一、总体设计基本任务(过程) 1、软件结构设计=模块设计+接口设计(5) 软件结构设计是以模块为基础,以需求分析的结果为依据,从实现的角度进一步划分模块,并组成模块的层次结构 (接口)。 (1)采用某种方法,将一个复杂的系统按功能划分成模块; (2)确定每个模块的功能; (3)确定模块之间的调用关系; (4)确定模块之间的接口(传递的信息); (5)评价模块结构的质量。,CH5 总体设计,3、书写文档(8) 总体设计说明书、数据库设计说明书、详细的实现计划 4、评审(9) 总体设计评价是对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性 ,关键的处理及内外部接口定义正确性 、有效性,各部分之间的一致性等都一一进行评审。,2、数据设计=数据结构设计+数据库设计设计(6) (1)根据需求分析阶段对系统数据的组成、操作约束和数据间关系的描述,确定数据结构特性。 (2)一般软件系统都有数据存储,存储要借助数据库技术。数据库的设计包括:概念设计、逻辑设计和物理设计。,二、软件设计的基本原理 1、抽象: 是认识复杂过程中使用的思维工具,即抽象出事物的本质共同特征而暂不考虑它的细节,不考虑其它因素。 2、逐步求精: 是在原始说明的基础上进行详细说明,随着不断细化给出更多的细节。 3、模块化: 模块是可组合、分解和更换的单元,具有:接口、功能、状态、逻辑4大特征。 4、信息隐藏: 指设计模块时,使一个模块内包含的信息,对不需要这些的其它模块来说,是不能访问的。通过信息隐藏可以定义和实施对模块的过程细节和局部数据结构的存取权限。 5、模块独立性: 指完成系统要求的独立的子功能,并且与其它模块的联系最少且接口简单。衡量独立性的标准:内聚性、耦合性。,(1)模块间耦合的类型,两个模块没有直接关系,一模块调用另一模块时,被调用模块的输入、输出都是简单的数据,如两个模块通过传递数据结构,一模块通过开关量、标志、名字等控制信息,明显地控制另一模块的功能,一组模块引用同一个公用数据区,一模块直接访问另一模块的内部信息,(2)模块的内聚性类型,模块内各部分间无联系,把几种相关功能(逻辑上相似的功能)组合在一模块内,每次调用由传给模块的参数确定执行哪种功能。,功能只因时间因素关联在一起,模块内各处理成分相关,且必须以特定次序执行,模块内各部分使用相同的输入数据,或产生相同的输出结果,模块内各部分使用相同的输入数据,或产生相同的输出结果,模块仅包括为完成某个功能所必须的所有成分,三、软件结构图 软件结构往往用树状和网状结构的图形来表示。结构图主要内容有:模块、模块的控制关、模块间的信息传递。具有如下形态特征:深度、宽度、扇入、扇出。,四、软件结构设计优化标准 1、模块独立性标准。高内聚、低耦合 2、控制与作用范围之间的标准。一个模块的作用范围应在其控制范围之内。 3、结构特征标准。从形态上看,应是顶层扇出较高一些,中间层扇出较低一些,底层扇入数较高一些。 4、模块接口标注。模块的接口要简单、清晰及含义明确,便于理解,易于实现、维护与测试。,五、面向数据流的设计方法 DFD软件结构 1、变换型数据流图:由输入、变换、输出三部分组成。形成顺序结构。 2、事务型数据流图:若某个加工将它的数据流分离成许多发散的数据流,并根据输入的值选择其中一个路径来执行,这个加工称为“事务处理中心”。,六、填空题 1、在软件的体系结构中,模块是可组合、分解和更换的单元。模块具有 、 、 、和 等属性。,接口、功能、逻辑、状态,2、总体设计的文档主要有: 和 。,总体设计说明书、 数据库设计说明书,3、数据库设计指 的设计,主要进行一下几方面的设计 、 、 。,数据存储设计,概念设计、逻辑设计、物理设计,4、软件设计的基本任务包括: 、 、 和 4个方面,设计软件结构、数据结构和数据库设计、编写设计文档、评审,5、抽象是认识复杂现象过程中使用的思维工具,即抽出事物 的、 的特性而暂不考虑它的 ,不考虑其它因素。,本质、共同、细节,6、软件结构设计是以 为基础,以需求分析的结果为依据,从实现的角度进一步划分 ,并组成模块的 。,模块,模块,层次结构,7、软件设计是一个把 转换为软件表示的过程,包括总体设计和 。,需求分析,8、进入了设计阶段,要把软件“做什么”的 模型变换为“怎么做” 的 模型,即着手实现软件需求,并将设计的结果反映在 文档中。,详细设计,9、总体设计评价是对设计部分是否完整地实现了需求中规定的 、 等要求,设计方案的 ,关键的处理及内外部接口定义 有效性,各部分之间的 等都一一进行评审。,逻辑,设计,10、在一个模块中, 、 和 反映模块外部特征, 反映它的内部特性。,功能、性能,11、 是指在设计和确定模块时,使得一个模块的内包含的信息对于不需要遮羞信息的其它模块来说是不能 的。,可行性,12、设计软件结构,具体为:(1)采用某种方法将一个复杂系统按功能划分为 (2)确定每个模块的 (3)确定模块之间的 (4)确定模块之间的 ,即模块之间传递的信息。(5)评价模块结构的质量。,正确性,一致性,功能、状态、接口,物理,逻辑,信息隐藏,访问,模块,功能,调用关系,接口,13、模块间耦合高低取决与模块间 、 及 。,接口的复杂性、调用方式、传递信息,14、耦合性分 种类型,最强耦合 ,最弱耦合 。,15、模块独立性中每个模块只完成问题要求的 子功能,并且与其它模块的联系 。,6、内容耦合、无直接耦合,16、内聚性分 种类型,最强内聚 ,最弱内聚 。,独立的、最少且接口简单,17、耦合性指软件结构中 相互联系紧密程度的一种度量。模块之间联系越 ,其耦合性就越强,模块的 则越差。,18、 是指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的 。,7、偶然内聚、功能内聚,各模块间、紧密、独立性,数据耦合、值传递,19、 指两个模块之间传递的是数据结构,如高级语言中的数据名、记录名、文件名等,其实传递的是 。,标记耦合、这个数据结构的地址,20、功能内聚是内聚程度最 的内聚,指模块内所有元素共同完成 ,缺一不可。功能内聚的模块与其它模块的耦合是 的。,21、结构图主要内容有 、 、 。,强、一个功能、弱,22、变换型DFD由 、 和 三部分组成。,模块、模块的控制关系、模块的信息传递,23、软件结构从形态上总的考虑是:顶层扇出数较 一些,中间层扇出数较 一些,底层 数较高一些。,24、软件结构设计是以 为基础,在需求分析阶段,已经把系统分解成层次结构。设计阶段以需求分析的结果为根据,从实现的角度进一步划分为模块,并组成模块的层次结构。,输入、变换、输出,扇入,模块,高,低,选择题,1、软件设计一般分为总体设计和详细设计,它们之间的关系是( )。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构,A,2、软件结构使用的图形工具,一般采用( )图。 A. DFD B. PAD C. SC D. E-R,C,3、下列中属于软件设计的基本原理的是( )。 A.数据流分析 B.变换流分析 C. 事务流分析 D.模块化,4、将几个逻辑上相似的成分放在一个模块中,该模块属于( )内聚。 A. 逻辑 B.时间 C. 功能 D.通信,5、模块内的某成分的输出是另一成分的输入,该模块属于( )内聚。 A. 功能 B.顺序 C. 逻辑 D.时间,D,A,B,6、结构图中不是主要成分的是( )。 A. 模块 B. 模块间传递数据 C.模块内部数据 D.模块的控制关系,C,7、模块中的所有成分结合起来完成一项任务,该模块属于( )内聚,它具有简明的外部界面,由它构成的软件易于理解、测试和维护。 A. 偶然 B.顺序 C.通信 D.功能,D,8、软件设计中模块间的耦合性尽可能( )。 A. 强 B.弱 C. 较强 D.适中,B,9、一个模块把一个数值量作为参数传递给另一模块。这两个模块之间的耦合是( )。 A. 逻辑耦合 B.数据耦合 C. 控制耦合 D.内容耦合,10、一个模块把开关量作为参数传递给另一模块。这两个模块之间的耦合是( )。 A. 外部耦合 B.数据耦合 C. 控制耦合 D.内容耦合,11、在面向数据流的软件设计方法中,一般将信息流分为( )。 A. 变换流和数据流 B.变换流和控制流 C. 事务流和控制流 D.数据流和控制流,B,C,D,12、( )着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。 A. 程序流程图 B.数据流图 C. E-R图 D.结构图,D,13、首先将系统中的关键部分设计出来,再让系统的其余部分的设计去适应它们,这称为( )。 A. 模块化 B.逐步求精 C. 抽象 D.信息隐藏,C,14、模块( ),则说明模块的独立性越强。 A. 耦合越强 B.扇入数越多 C. 耦合越弱 D.扇出数越多,15、为了提高模块( ),当修改和维护模块时减少把一个模块的错误扩散到其它模块中去的机会。 A. 耦合性 B.独立性 C. 内聚性 D.共享性,30、( )把已确定的软件需求转换成特定形式的设计表示,使其得以实现。 A. 系统设计 B.详细设计 C. 逻辑设计 D.总体设计,C,B,D,作业,一、填空题:25-50 二、选择题:7-12、16-17、19、21、26、31-33,CH3 需求分析,一、需求分析概念 需求分析是发现、求精、建模、规格说明和复审的过程,回答“做什么”的问题。为最终用户所看到的系统建立一个软件的逻辑模型(将用户非形式的需求陈述转化为完整的需求定义)。,二、需求分析的基本原则 (1)可以把一个复杂问题按功能进行分解并可逐层细化; (2)必须能够表达和理解问题的数据域和功能域; (3)建立软件的逻辑模型;,三、需求分析四项主要任务 (1)确定对系统的综合要求 (2)分析系统的数据要求 (3)导出软件的逻辑模型 (4)编写文档,五、分析(逻辑)模型 数据模型(E-R图,层次方框图, Warnier图); 功能模型(数据流图,数据字典); 行为模型(状态转换图,IPO);,四、需求获取方法 (1)访谈(用户被动) (2)面向数据流自顶向下求精(用户被动) (3)简易的应用规格说明技术(用户主动) (4)快速建立软件原型(用户与开发者不区分),六、从哪些方面验证软件需求的正确性 一致性:测试;形式化工具; 完整性:原型系统; 现实性:参照以往开发经验,仿真模拟; 有效性:原型系统;,七、选择题 1、需求分析的基本任务是要准确地定义 ,为了满足用户需求,回答系统必须 的问题。,扇新系统的目标,做什么,2、在需求分析阶段,首先进行问题识别,即双方确定对问题的综合需求,这些需求包括: 需求、 需求、 需求、 需求。另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。,功能、性能、环境、用户界面,3、需求分析的困难主要体现在4个方面:问题的复杂性、 、 、需求易变性。,交流障碍、不完备性和不一致性,4、在需求分析阶段进行以下几个方面的工作:识别系统综合要求、 、导出软件逻辑模型、 。,分析系统的数据要求、编写文档,八、填空题 1、需求分析( )。 A.要回答“软件必须做什么?” B. 可概括为:“理解、分解、表达”6个字 C.要求编写需求规格说明书 D. 以上都对,2、需求分析阶段研究的对象是软件项目的( )。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号