第5章软件工程总体设计精选文档.ppt
《第5章软件工程总体设计精选文档.ppt》由会员分享,可在线阅读,更多相关《第5章软件工程总体设计精选文档.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5章软件工程总体设计章软件工程总体设计本讲稿第一页,共一百零九页03 十月 20222西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计1软件概要设计概述软件概要设计概述 一、概要设计基本任务一、概要设计基本任务(P81P81P83P83,9 9条)条)1.1.设计软件系统结构设计软件系统结构(简称软件结构简称软件结构)为为了了实实现现目目标标系系统统,最最终终必必须须设设计计出出组组成成这这个个系系统统的的所所有有程程序序和和数数据据库库(文文件件),对对于于程序,则首先进行结构设计,具体方法如下:程序,则首先进行结构设计,具体方法如下:本讲稿第二页,共一百零九页03 十
2、月 20223西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 (1)(1)采采用用某某种种设设计计方方法法,将将一一个个复复杂杂的的系系统统按功能划分成模块。按功能划分成模块。(2)(2)确定每个模块的功能。确定每个模块的功能。(3)(3)确定模块之间的调用关系。确定模块之间的调用关系。(4)(4)确确定定模模块块之之间间的的接接口口,即即模模块块之之间间传传递递的信息。的信息。(5)(5)评价模块结构的质量。评价模块结构的质量。本讲稿第三页,共一百零九页03 十月 20224西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 从从以以上上内内容容看看,软软
3、件件结结构构的的设设计计是是以以模模块块为为基基础础的的,在在需需求求分分析析阶阶段段,通通过过某某种种分分析析方方法法把把系系统统分分解解成成层层次次结结构构。在在设设计计阶阶段段,以以需需求求分分析析的的结结果果为为依依据据,从从实实现现的的角角度度划划分分模模块块,并组成模块的层次结构。并组成模块的层次结构。本讲稿第四页,共一百零九页03 十月 20225西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 软件结构的设计是概要设计关键的一步,软件结构的设计是概要设计关键的一步,直接影响到详细设计与编码的工作。软件系统直接影响到详细设计与编码的工作。软件系统的质量及一些整体
4、特性都在软件结构的设计中的质量及一些整体特性都在软件结构的设计中决定。决定。因此,应由经验丰富的软件人员担任,因此,应由经验丰富的软件人员担任,采用一定的设计方法,选取合理的设计方案。采用一定的设计方法,选取合理的设计方案。本讲稿第五页,共一百零九页03 十月 20226西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计2.2.数据结构及数据库设计数据结构及数据库设计 对对于大型数据处理的软件系统,除了系统结构设计外,于大型数据处理的软件系统,除了系统结构设计外,数据结构数据结构与数据库设计也是重要的。与数据库设计也是重要的。1)1)数据结构的设数据结构的设计计 逐步细化逐步细
5、化的方法也适用于数据结构的设计。在需求分析阶段,可的方法也适用于数据结构的设计。在需求分析阶段,可通过数据字典对数据的组成、通过数据字典对数据的组成、操作约束和数据之间的关操作约束和数据之间的关系等方面进行描述,确定数据的结构特性,在概要设计系等方面进行描述,确定数据的结构特性,在概要设计阶段要加以细化,详细设计则规定具体的实现细节。阶段要加以细化,详细设计则规定具体的实现细节。本讲稿第六页,共一百零九页03 十月 20227西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计2)2)数据库的设计数据库的设计 数数据据库库的的设设计计指指数数据据存存储储文文件件的的设设计计,其主
6、要包括以下几方面的设计:其主要包括以下几方面的设计:(1)(1)概概念念设设计计。在在数数据据分分析析的的基基础础上上,从从用用户角度采用自底向上的方法进行视图设计。户角度采用自底向上的方法进行视图设计。一一般般用用ERER模模型型来来表表示示数数据据模模型型,这这是是一一个个概概念念模模型型。ERER模模型型既既是是设设计计数数据据库库的的基基础础,也是设计数据结构的基础。也是设计数据结构的基础。本讲稿第七页,共一百零九页03 十月 20228西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计(2)(2)逻逻辑辑设设计计。ERER模模型型是是独独立立于于数数据据库库管管理理系
7、系统统(DBMS)DBMS)的的,要要结结合合具具体体的的DBMSDBMS特特征征来来建建立立数数据据库库的的逻逻辑辑结结构构。对对于于关关系系型型的的DBMSDBMS来来说说,将将概概念念结结构构转转换换为为数数据据模模式式、子子模模式式并并进进行行规规范范,要要给给出出数数据据结结构构的的定定义义,即即定定义义所所含含的的数数据据项项、类类型型、长长度度及及它它们们之之间间的的层层次次或或相相互互关关系系的的表表格等。格等。本讲稿第八页,共一百零九页03 十月 20229西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 (3)(3)物理设计。对于不同的物理设计。对于不同的
8、DBMSDBMS,物理环境不物理环境不同,提供的存储结构与存取方法各不相同。物同,提供的存储结构与存取方法各不相同。物理设计就是设计数据模式的一些物理细节,如理设计就是设计数据模式的一些物理细节,如数据项存储要求、存取方式和索引的建立等。数据项存储要求、存取方式和索引的建立等。本讲稿第九页,共一百零九页03 十月 202210西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 数数据据库库技技术术是是一一项项专专门门的的技技术术,本本书书不不作作详详细细的的讨讨论论。但但开开发发人人员员应应注注意意到到,在在大大型型数数据据处处理理系系统统的的功功能能分分析析与与设设计计中中,
9、同同时时要要进进行行数数据据分分析析与与数数据据设设计计。数数据据库库的的“概概念念设设计计”与与“逻逻辑辑设设计计”分分别别对对应应于于系系统统开开发发中中的的“需需求求分分析析”与与“概概要要设设计计”,而而数数据据库库的的“物理设计物理设计”与模块的与模块的“详细设计详细设计”相对应。相对应。本讲稿第十页,共一百零九页03 十月 202211西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计3.3.编写概要设计文档编写概要设计文档 编写概要设计文档的内容如下:编写概要设计文档的内容如下:(1)(1)概要设计说明书。概要设计说明书。(2)(2)数数据据库库设设计计说说明明书
10、书:主主要要给给出出所所使使用用的的DBMSDBMS简简介介,数数据据库库的的概概念念模模型型、逻逻辑辑设设计计和和结结果。果。本讲稿第十一页,共一百零九页03 十月 202212西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 (3)(3)用用户户手手册册:对对需需求求分分析析阶阶段段编编写写的的用用户户手册进行补充。手册进行补充。(4)(4)修修订订测测试试计计划划:对对测测试试策策略略、方方法法和和步步骤提出明确要求。骤提出明确要求。4.4.评审评审 在在该该阶阶段段,对对设设计计部部分分是是否否完完整整地地实实现现了了需需求求中中规规定定的的功功能能、性性能能等等要要
11、求求,设设计计方方案案的的可可行行性性、关关键键的的处处理理及及内内外外部部接接口口定定义义正正确确性性、有有效效性性以以及及各各部部分分之之间间的的一一致致性性等等,都都一一进行评审。一一进行评审。本讲稿第十二页,共一百零九页03 十月 202213西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计二、软件概要设计文档二、软件概要设计文档 概概要要设设计计说说明明书书是是概概要要设设计计阶阶段段结结束束时时提提交交的的技技术术文文档档。按按国国标标GB8576-88GB8576-88的的计计算算机机软软件件产产品品开开发发文文件件编编制制指指南南规规定定,软软件件设设计计文文
12、档档可可分分为为“概概要要设设计计说说明明书书”、“详详细细设设计说明书计说明书”和和“数据库设计说明书数据库设计说明书”。本讲稿第十三页,共一百零九页03 十月 202214西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计概要设计说明书的主要内容如下:概要设计说明书的主要内容如下:(1)(1)引言:引言:编写目的,背景,编写目的,背景,定义,参考资料。定义,参考资料。(2)(2)总总体体设设计计:需需求求规规定定,运运行行环环境境,基基本本设设计计 概念和处理流程,结构。概念和处理流程,结构。(3)(3)接口设计:用户接口,外部接口,内部接口接口设计:用户接口,外部接口,内
13、部接口(4)(4)运运行行设设计计:运运行行模模块块组组合合,运运行行控控制制,运运行行时间。时间。本讲稿第十四页,共一百零九页03 十月 202215西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计(5)(5)系统数据结构设计:系统数据结构设计:逻逻辑辑结结构构设设计计,物物理理结结构构设设计计,数数据据结结构构与与程程序的关系。序的关系。(6)(6)系统出错处理设计:系统出错处理设计:出错信息,出错信息,补救措施,补救措施,系统恢复设计。系统恢复设计。本讲稿第十五页,共一百零九页03 十月 202216西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计2
14、2 软件设计的基本原理软件设计的基本原理一、模块化一、模块化 模模块块化化的的概概念念在在程程序序设设计计技技术术中中就就出出现现了了。何何为为模模块块?模模块块在在程程序序中中是是数数据据说说明明、可可执执行行语语句句等等程程序序对对象象的的集集合合,或或者者是是单单独独命命名名和和编编址址的的元元素素,如如高高级级语语言言中中的的过过程程、函函数数和和子子程程序序等等。在在软软件件的的体体系系结结构构中中,模模块块是是可可组组合合、分分解解和和更更换换的的单单元元。模模块块具具有有以以下下几几种基本属性:种基本属性:本讲稿第十六页,共一百零九页03 十月 202217西北师大物电学院 授课
15、教师:宋海声 第五章第五章 总体设计总体设计(1)(1)接口:接口:指模块的输入与输出。指模块的输入与输出。(2)(2)功能:功能:指模块实现什么功能。指模块实现什么功能。(3)(3)逻逻辑辑:描描述述内内部部如如何何实实现现要要求求的的功功能能及及所所需的数据。需的数据。(4)(4)状状态态:指指该该模模块块的的运运行行环环境境,即即模模块块的的调调用与被调用关系。用与被调用关系。本讲稿第十七页,共一百零九页03 十月 202218西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 功能、状态与接口反映模块的外部特性,功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。
16、模块化是指解决一个逻辑反映它的内部特性。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功干模块的过程。每个模块完成一个特定的子功能,能,所有的模块按某种方法组装起来,成为所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。一个整体,完成整个系统所要求的功能。本讲稿第十八页,共一百零九页03 十月 202219西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 在面向对象设计中,模块和模块化的概念在面向对象设计中,模块和模块化的概念将进一步扩充将进一步扩充(详见第详见第 1
17、11112 12 章章)。模块化模块化是软件解决复杂问题所具备的手段,是软件解决复杂问题所具备的手段,为了说为了说明这一点,可用问题的复杂性和工作量的关系明这一点,可用问题的复杂性和工作量的关系进行推理说明。进行推理说明。本讲稿第十九页,共一百零九页03 十月 202220西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 设设问问题题x,x,表表示示它它的的复复杂杂性性函函数数为为C(x),C(x),解解决决它它所所需需的的工工作作量量函函数数为为E(x)E(x)。对对于于问问题题P1P1和和P2P2;如果如果 C(PC(P1 1)C(PC(P2 2)即即P P1 1比比P
18、P2 2复杂,复杂,那么那么 E(PE(P1 1)E(PE(P2 2)即问题越复杂,即问题越复杂,所需要的工作量越大。所需要的工作量越大。本讲稿第二十页,共一百零九页03 十月 202221西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 根据解决一般问题的经验,根据解决一般问题的经验,规律为:规律为:C(PC(P1 1+P+P2 2)C(PC(P1 1)+C(P)+C(P2 2)即即一一个个问问题题由由两两个个问问题题组组合合而而成成的的复复杂杂度度大大于于分分别别考考虑虑每每个个问问题题的的复复杂杂度度之之和和。这这样样,可可以以推出:推出:E(PE(P1 1+P+P2
19、2)E(PE(P1 1)+E(P)+E(P2 2)本讲稿第二十一页,共一百零九页03 十月 202222西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 由由此此可可知知,开开发发一一个个大大而而复复杂杂的的软软件件系系统统,将将它它进进行行适适当当的的分分解解,不不但但可可降降低低其其复复杂杂性性,还还可可减减少少开开发发工工作作量量,从从而而降降低低开开发发成成本本,提高软件生产率,这就是模块化的依据。提高软件生产率,这就是模块化的依据。本讲稿第二十二页,共一百零九页03 十月 202223西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 但是否将系统无
20、限制分割,最后开发软件但是否将系统无限制分割,最后开发软件的工作量就会趋于零的工作量就会趋于零?事实上模块划分越多,事实上模块划分越多,块内的工作量减少,块内的工作量减少,但模块之间接口的工作但模块之间接口的工作量增加了,如图量增加了,如图 5.1 5.1 所示(所示(P84P84)。)。从图看出,从图看出,存在着一个使软件开发成本最小区域的模块数存在着一个使软件开发成本最小区域的模块数M M,虽然目前还不能确定虽然目前还不能确定M M的准确数值,但在划的准确数值,但在划分模块时,避免数目过多或过少,一个模块的分模块时,避免数目过多或过少,一个模块的规模应当取决于它的功能和用途。同时,应减规模
21、应当取决于它的功能和用途。同时,应减少接口的代价,提高模块的独立性。少接口的代价,提高模块的独立性。本讲稿第二十三页,共一百零九页03 十月 202224西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计二、抽象二、抽象 抽抽象象是是认认识识复复杂杂现现象象过过程程中中使使用用的的思思维维工工具具,即即抽抽出出事事物物本本质质的的共共同同特特性性而而暂暂不不考考虑虑它它的的细细节节,不不考考虑虑其其他他因因素素。抽抽象象的的概概念念被被广广泛泛应应用用于于计计算算机机软软件件领领域域,在在软软件件工工程程学学中中更更是是如如此此。软软件件工工程程实实施施中中的的每每一一步步都都
22、可可以以看看作是对软件抽象层次的一次细化。作是对软件抽象层次的一次细化。本讲稿第二十四页,共一百零九页03 十月 202225西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 在系统定义阶段,软件可作为整个计算机系在系统定义阶段,软件可作为整个计算机系统的一个元素来对待;在软件需求分析阶段,统的一个元素来对待;在软件需求分析阶段,软件的解决方案是使用问题环境中的术语来描软件的解决方案是使用问题环境中的术语来描述;从概要设计到详细设计阶段,提象的层次述;从概要设计到详细设计阶段,提象的层次逐步降低,将面向问题的术语与面向实现的术逐步降低,将面向问题的术语与面向实现的术语结合起来
23、描述解决方法,直到产生源程序时语结合起来描述解决方法,直到产生源程序时到达最低的抽象层次。这是软件工程整个过程到达最低的抽象层次。这是软件工程整个过程的抽象层次。的抽象层次。本讲稿第二十五页,共一百零九页03 十月 202226西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计 具体到软件设计阶段,又有不同的抽象层具体到软件设计阶段,又有不同的抽象层次,在进行软件设计时,抽象与逐步求精、模次,在进行软件设计时,抽象与逐步求精、模块化密切相关,可帮助定义软件结构中模块的块化密切相关,可帮助定义软件结构中模块的实体,由抽象到具体地分析和构造出软件的层实体,由抽象到具体地分析和构造出
24、软件的层次结构,提高软件的可理解性。次结构,提高软件的可理解性。本讲稿第二十六页,共一百零九页03 十月 202227西北师大物电学院 授课教师:宋海声 第五章第五章 总体设计总体设计三、信息隐蔽三、信息隐蔽 通通过过抽抽象象,可可以以确确定定组组成成软软件件的的过过程程实实体体。通通过过信信息息隐隐蔽蔽,可可以以定定义义和和实实施施对对模模块块的的过过程程细细节节和和局局部部数数据据结结构构的的存存取取限限制制。所所所所谓谓谓谓信信信信息息息息隐隐隐隐蔽蔽蔽蔽,是是是是指指指指在在在在设设设设计计计计和和和和确确确确定定定定模模模模块块块块时时时时,使使使使得得得得一一一一个个个个模模模模块
25、块块块内内内内包包包包含含含含的的的的信信信信息息息息(过过过过程程程程或或或或数数数数据据据据),对对对对于于于于不不不不需需需需要要要要这这这这些些些些信信信信息息息息的的的的其其其其他他他他模模模模块块块块来来来来说说说说,是是是是不不不不能能能能访访访访问问问问的的的的;“隐隐蔽蔽”的的意意思思是是,有有效效的的模模块块化化通通过过定定义义一一组组相相互互独独立立的的模模块块来来实实现现,这这些些独独立立的的模模块块彼彼此此之之间间仅仅仅仅交交换换那那些些为为了了完完成成系系统统功功能能所所必需的信息,而将那些自身的实现细节与数据必需的信息,而将那些自身的实现细节与数据“隐藏隐藏”起来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 总体 设计 精选 文档
限制150内