软件工程软件设计详细设计.ppt

上传人:wuy****n92 文档编号:69722142 上传时间:2023-01-08 格式:PPT 页数:47 大小:442KB
返回 下载 相关 举报
软件工程软件设计详细设计.ppt_第1页
第1页 / 共47页
软件工程软件设计详细设计.ppt_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《软件工程软件设计详细设计.ppt》由会员分享,可在线阅读,更多相关《软件工程软件设计详细设计.ppt(47页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第3章章 软件设计软件设计 软件设计软件设计 3.1 3.1 软件概要设计概述软件概要设计概述 3.2 3.2 软件设计的基本原理软件设计的基本原理3.3 3.3 软件结构准则软件结构准则3.5 3.5 软件详细设计软件详细设计3.6 3.6 软件详细设计表示法软件详细设计表示法3.7 3.7 小结小结习题习题第第3章章 软件设计软件设计 3.5 3.5 软件详细设计软件详细设计3.5.1 3.5.1 详细设计的基本任务详细设计的基本任务1 1算法设计算法设计用用某某种种图图形形、表表格格、语语言言等等工工具具将将每每个个模模块块处处理理过程的详细算法描述出来。过程的详细算法描述出来。2 2

2、数据结构设计数据结构设计对对于于需需求求分分析析、概概要要设设计计确确定定的的概概念念性性的的数数据据类类型进行确切的定义。型进行确切的定义。第第3章章 软件设计软件设计 3 3物理设计物理设计对对数数据据库库进进行行物物理理设设计计,即即确确定定数数据据库库的的物物理理结结构构。物物理理结结构构主主要要指指数数据据库库的的存存储储记记录录格格式式、存存储储记记录录安安排排和和存存储储方方法法,这这些些都都依依赖赖于于具具体体所所使使用用的的数数据据库系统。库系统。4 4其他设计其他设计根据软件系统的类型,还可能要进行以下设计:根据软件系统的类型,还可能要进行以下设计:(1)(1)代代码码设设

3、计计:为为了了提提高高数数据据的的输输入入、分分类类、存存储储及及检检索索等等操操作作的的效效率率,以以及及节节约约内内存存空空间间,对对数数据据库中的某些数据项的值要进行代码设计。库中的某些数据项的值要进行代码设计。第第3章章 软件设计软件设计(2)(2)输入输入/输出格式设计。输出格式设计。(3)(3)人人机机对对话话设设计计:对对于于一一个个实实时时系系统统,用用户户与与计计算算机机需需频频繁繁对对话话,因因此此要要进进行行对对话话方方式式、内内容容及及格格式的具体设计。式的具体设计。5 5编编写写详细设计说详细设计说明明书书详细设计说详细设计说明明书书有下列的主要内容:有下列的主要内容

4、:(1)(1)引引言言:包包括括编编写写目目的的、背背景景、定定义义、参参考考资资料。料。(2)(2)程序系程序系统统的的组织结组织结构。构。第第3章章 软件设计软件设计(3)(3)程程序序1(1(标标识识符符)设设计计说说明明:包包括括功功能能、性性能能、输输入、入、输输出、算法、流程出、算法、流程逻辑逻辑、接口。、接口。(4)(4)程序程序2(2(标识标识符符)设计说设计说明。明。(5)(5)程序程序N(N(标识标识符符)设计说设计说明。明。6 6评审评审 对处理过程的算法和数据库的物理结构都要评审。对处理过程的算法和数据库的物理结构都要评审。第第3章章 软件设计软件设计 3.5.2 3.

5、5.2 详细设计方法详细设计方法 处处理理过过程程设设计计中中采采用用的的典典型型方方法法是是结结构构化化程程序序设设计计(SP)(SP)方方法法,最最早早是是由由在在2020世世纪纪6060年年代代中中期期提提出出的的。详详细细设设计计并并不不是是具具体体地地编编程程序序,而而是是已已经经细细化化成成很很容容易易从从中中产产生生程程序序的的图图纸纸。因因此此详详细细设设计计的的结结果果基基本本决决定定了了最最终终程程序序的的质质量量。为为了了提提高高软软件件的的质质量量,延延长长软软件件的的生生存存期期,软软件件的的可可测测试试性性、可可维维护护性性是是重重要要保保障障。软软件件的的可可测测

6、试试性性、可可维维护护性性与与程程序序的的易易读读性性有有很很大大关关系系。详详细细设设计计的的目目标标不不仅仅是是逻逻辑辑上上能能正正确确地地实实现现每每个个模模块块的的功功能能,还还应应使使设设计计出出的的处处理理过过程程清清晰晰易易读读。结结构构化化程程序序设设计计是是实实现现该该目目标标的的关关键键技技术术之之一一,它它指指导导人人们们用用良良好好的的思思想想方方法法开开发发易易于于理理解解、易易于验证的程序。于验证的程序。结构化程序设计方法有以下几个基本要点。结构化程序设计方法有以下几个基本要点。第第3章章 软件设计软件设计 1 1采用自顶向下、逐步求精的程序设计方法采用自顶向下、逐

7、步求精的程序设计方法在在需需求求分分析析、概概要要设设计计中中,都都采采用用了了自自顶顶向向下下、逐逐层层细细化化的的方方法法。使使用用“抽抽象象”这这个个手手段段,上上层层对对问问题题抽抽象象、对对模模块块抽抽象象和和对对数数据据抽抽象象,下下层层则则进进一一步步分分解解,进进入入另另一一个个抽抽象象层层次次。在在详详细细设设计计中中,虽虽然然处处于于“具具体体”设设计计阶阶段段,但但在在设设计计某某个个模模块块内内部部处处理理过过程程中,仍可以逐步求精,降低处理细节的复杂度。中,仍可以逐步求精,降低处理细节的复杂度。第第3章章 软件设计软件设计 2 2使用三种基本控制结构构造程序使用三种基

8、本控制结构构造程序任任何何程程序序都都可可由由顺顺序序、选选择择及及重重复复三三种种基基本本控控制制结结构构构构造造。这这三三种种基本结构的共同点是基本结构的共同点是单入口、单出口单入口、单出口。第第3章章 软件设计软件设计 三种方式对模糊过程进行分解:三种方式对模糊过程进行分解:(1)(1)用用顺顺序序方方式式对对过过程程分分解解,确确定定各各部部分分的的执执行行顺序。顺序。(2)(2)用用选选择择方方式式对对过过程程分分解解,确确定定某某个个部部分分的的执执行条件。行条件。3)3)用用循循环环方方式式对对过过程程分分解解,确确定定某某个个部部分分进进行行重重复的开始和结束的条件。复的开始和

9、结束的条件。对处理过程仍然模糊的部分反复使用以上分解方对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。法,最终可将所有细节确定下来。第第3章章 软件设计软件设计 例例例例:在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数1 1 输入一组数;输入一组数;1 1 输入一个数组;输入一个数组;1 1 输入一个数组;输入一个数组;2 2 找出其中的最找出其中的最 大数;大数;3 3 输出最大数。输出最大数。3 3 输出最大数。输出最大数。2.12.1 任取一数任取一数,假定它就是最大假定它就是最大 数;数;2.22.2 将

10、该数与其余各数逐一比将该数与其余各数逐一比 较;较;2.32.3 若发现任何数大于假设的若发现任何数大于假设的 最大数最大数,即取而代之;即取而代之;2.12.1 令令”最大数最大数”=”=数组的第数组的第 一个元素;一个元素;2.22.2 从第二个元素至最后从第二个元素至最后 一个元素做循环;一个元素做循环;2.32.3 如果如果 新元素新元素“最大数最大数”则则 “最大数最大数”=”=新元素;新元素;3 3 输出输出“最大数最大数”。求解步骤求解步骤细化第二步细化第二步结构化语言描述结构化语言描述问题求解逐步细化的过程问题求解逐步细化的过程第第3章章 软件设计软件设计 3 3主程序员的组织

11、形式主程序员的组织形式主主程程序序员员的的组组织织形形式式指指开开发发程程序序的的人人员员应应采采用用以以一一个个主主程程序序员员(负负责责全全部部技技术术活活动动)、一一个个后后备备程程序序员员(协协调调、支支持持主主程程序序员员)和和一一个个程程序序管管理理员员(负负责责事事务务性性工工作作,如如收收集集、记记录录数数据据,文文档档资资料料管管理理等等)三三人人为为核核心心,再再加加上上一一些些专专家家(如如通通信信专专家家、数数据据库库专专家家)、其其他他技技术术人人员员组组成成小小组组。这这种种组组织织形形式式突突出出了了主主程程序序员员的的领领导导,设设计计责责任任集集中中在在少少数

12、数人人身身上上,有有利利于于提提高高软软件件质质量量,并并且且能能有有效效地地提提高高软软件件生生产产率率。这这种种组组织织形形式式最最先先由由IBMIBM公公司司实实施施,随随后后其他软件公司也纷纷采用主程序员制的工作方式。其他软件公司也纷纷采用主程序员制的工作方式。因因此此,结结构构化化程程序序设设计计方方法法是是综综合合应应用用这这些些手手段段来来构构造造高高质质量程序的思想方法。量程序的思想方法。第第3章章 软件设计软件设计 3.6 3.6 软件详细设计表示法软件详细设计表示法关于描述工具的有关说明:关于描述工具的有关说明:1.为了给出软件结构图中每一个模块的算法和块内数据结构为了给出

13、软件结构图中每一个模块的算法和块内数据结构 的清晰描述的清晰描述,需要采用适当的表达工具。需要采用适当的表达工具。2.详细设计的表达工具有三类:详细设计的表达工具有三类:图形、表格和语言图形、表格和语言。3.无论哪类描述工具不仅要具有描述设计过程,如控制流程、无论哪类描述工具不仅要具有描述设计过程,如控制流程、处理功能、数据组织及其它方面的细节的能力处理功能、数据组织及其它方面的细节的能力,而且在编码而且在编码 阶段能够直接将它翻译为用程序设计语言书写的源程序。阶段能够直接将它翻译为用程序设计语言书写的源程序。4.详细设计的描述工具除了以前介绍过判定树和判定表外,详细设计的描述工具除了以前介绍

14、过判定树和判定表外,还有程序流程图、还有程序流程图、N-S图、图、PAD图及图及PDL等几种常用的工具等几种常用的工具.第第3章章 软件设计软件设计 图3.8 三种基本控制结构的流程图3.6.1 程序流程图程序流程图程序流程图又称为程序框图,它是历史最悠程序流程图又称为程序框图,它是历史最悠久、使用最广泛的一种描述程序逻辑结构的工具,图久、使用最广泛的一种描述程序逻辑结构的工具,图3.8为为流程图的三种基本控制结构。流程图的三种基本控制结构。第第3章章 软件设计软件设计 流流程程图图的的优优点点是是直直观观清清晰晰、易易于于使使用用,是是开开发发者者普普遍遍采采用用的的工具,但是它有如下严重缺

15、点:工具,但是它有如下严重缺点:(1)(1)可可以以随随心心所所欲欲地地画画控控制制流流程程线线的的流流向向,容容易易造造成成非非结结构构化化的的程程序序结结构构,编编码码时时势势必必不不加加限限制制地地使使用用GOTOGOTO语语句句,导导致致基基本本控控制制块块多多入入口口多多出出口口,这这样样会会使使软软件件质质量量受受到到影影响响,与与软软件件设设计计的原则相违背。的原则相违背。(2)(2)流流程程图图不不能能反反映映逐逐步步求求精精的的过过程程,往往往往反反映映的的是是最最后后的的结果。结果。(3)(3)不易表示数据结构。不易表示数据结构。为为了了克克服服流流程程图图的的缺缺陷陷,要

16、要求求流流程程图图都都应应由由三三种种基基本本控控制制结结构构顺顺序序组组合合和和完完整整嵌嵌套套而而成成,不不能能有有相相互互交交叉叉的的情情况况,这这样样的的流流程图是结构化的流程图。程图是结构化的流程图。第第3章章 软件设计软件设计 示例第第3章章 软件设计软件设计 例例例例1.“1.“在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数”的程序流程的程序流程的程序流程的程序流程图图图图MAX=A(1)i=2i=i+1MAX=A(i)in?MAXmax IF Aimax THEN max:=Ai THEN max:=Ai i:=i+1

17、i:=i+1注注.1.A.1.A是一个是一个n n元数组;元数组;2.2.省略变量说明;省略变量说明;3.3.省略输入、输出语句。省略输入、输出语句。第第3章章 软件设计软件设计 3.6.2 PAD3.6.2 PAD图图 PADPAD图图 指指 问问 题题 分分 析析 图图(Problem(Problem Analysis Analysis Diagram)Diagram),是是日日本本日日立立公公司司于于19791979年年提提出出的的一一种种算算法法描描述述工工具具,它它是是一一种种由由左左往往右右展展开开的的二二维维树树型型结结构构。PADPAD图图的基本控制的基本控制结结构如构如图图3

18、.93.9所示。所示。第第3章章 软件设计软件设计 图3.9 PAD图的基本控制结构第第3章章 软件设计软件设计 PADPAD图图的的控控制制流流程程为为自自上上而而下下、从从左左到到右右地地执执行行。图图3.103.10给给出出了了将将数数组组A(1)A(1)到到A(10)A(10)进进行行选选择择法法排排序序的的算算法描述的法描述的PADPAD图。图。第第3章章 软件设计软件设计 图3.10 PAD图的示例第第3章章 软件设计软件设计 从图从图3.103.10给出的例子可以看出给出的例子可以看出PADPAD图的优点如下:图的优点如下:(1)(1)清清晰晰地地反反映映了了程程序序的的层层次次

19、结结构构。图图中中的的竖竖线线为为程程序序的的层层次次线线,最最左左边边竖竖线线是是程程序序的的主主线线,其其后后一一层层一一层层展展开,层次关系一目了然。开,层次关系一目了然。(2)(2)支支持持逐逐步步求求精精的的设设计计方方法法,左左边边层层次次中中的的内内容容可可以抽象,然后由左到右逐步细化。以抽象,然后由左到右逐步细化。(3)(3)易读易写,使用方便。易读易写,使用方便。第第3章章 软件设计软件设计(4)(4)支持结构化的程序设计原理。支持结构化的程序设计原理。(5)(5)可可自自动动生生成成程程序序。PADPAD图图有有对对照照FORTRANFORTRAN,PascalPascal

20、,C C等等高高级级语语言言的的标标准准图图式式。因因此此在在有有PADPAD系系统统的的计计算算机机上上(如如日日立立公公司司的的M M系系列列机机),可可以以直直接接输输入入PADPAD图图,由由机机器器自自动动通通过过遍遍历历树树的的办办法法生生成成相相应应的的源源代代码码,大大大大提提高高了了软软件件的的生生产产率率。PADPAD图图为为软软件件的的自自动动化化生成提供了有力的工具。生成提供了有力的工具。第第3章章 软件设计软件设计 例例例例.“.“在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数在一组数中找出其中最大的数”的的的的PADPAD图图图图MA

21、X=A(1)WHILE iinMAX=A(i)对应程序段:对应程序段:max:=a1 max:=a1 i=2 i=2 WHILE in DO WHILE in DO IF aimax IF aimax THEN max:=ai THEN max:=ai;i=i+1 i=i+1 注注.1.A.1.A是一个是一个n n元数组;元数组;2.2.省略变量说明;省略变量说明;3.3.省略输入、输出语句。省略输入、输出语句。MAXnT TF F1.1.程序流程图程序流程图第第3章章 软件设计软件设计 输入输入nT=1S=1T=T+1S=ST输出输出S2.PAD2.PAD图图UNTIL TnGet Get

22、n n;T=1 T=1;S=1 S=1;RepeatRepeat S=ST;T=T+1UntilUntil Tn Print Print S S;3.PDL3.PDL语言语言第第3章章 软件设计软件设计 3.6.3 3.6.3 过程设计语言过程设计语言过过程程设设计计语语言言(Process(Process Design Design LanguageLanguage,简简称称PDL)PDL)是是在在伪伪码码的的基基础础上上,扩扩充充了了模模块块的的定定义义与与调调用用、数数据据定定义义和和输输入入/输输出出而而形形成成的的。它它的的控控制制结结构构与与伪伪码码相相同同。PDLPDL是是一一种

23、种用用于于描描述述模模块块算算法法设设计计和和处处理理细细节节的的语语言言。PDLPDL与与在在8.58.5节节中中介介绍绍的的结结构构化化语语言言的的结结构构相相似似,一一般般分分为为内内外外两两层层语语法法,外外层层语语法法应应符符合合一一般般程程序序设设计计语语言言常常用用的的语语法法规规则则,而而内内层层语语法法则则用用一一些些简简单单的的句句子子、短短语语和和通通用用的的数数学学符符号号,来来描描述述程程序序应应执执行行的的功功能能。PDLPDL具具有有严严格格的的关关键键字字外外层层语语法法,用用于于定定义义控控制制结结构构、数数据据结结构构和和模模块块接接口口,而而它它表表示示实

24、实际际操操作作和和条条件件的的内内层层语语法法又又是是灵灵活活自自由由的的,使使用用自然语言的词汇。自然语言的词汇。第第3章章 软件设计软件设计 PDLPDL与与结结构构化化分分析析中中描描述述加加工工逻逻辑辑的的“结结构构化化语语言言”所所不不同同的的仅仅是是,它它们们的的作作用用不不同同,抽抽象象层层次次不不同同,模模糊糊程程度度不不同同。“结结构构化化语语言言”是是描描述述加加工工“做做什什么么”的的,并并且且使使开开发发人人员员和和用用户户都都能能看看懂懂,因因此此无无严严格格的的外外语语法法,内内层层自自然然语语言言描描述述较较抽抽象象、较较概概括括。而而PDLPDL是是描描述述处处

25、理理过过程程“怎怎么么做做”的的细细节节。开开发发人人员员将将按按其其处处理理细细节节编编程程序序,故故外外层层语语法法更更严严格格一一些些,更更趋趋于于形形式化,内层自然语言描述实际操作更具体更详细一些。式化,内层自然语言描述实际操作更具体更详细一些。1 1PDLPDL特点特点PDLPDL的特点如下:的特点如下:(1)(1)所所有有关关键键字字都都有有固固定定语语法法,以以便便提提供供结结构构化化控制结构、数据说明和模块的特征。控制结构、数据说明和模块的特征。第第3章章 软件设计软件设计(2)(2)描述处理过程的说明性语言没有严格的语法。描述处理过程的说明性语言没有严格的语法。(3)(3)具

26、具有有数数据据说说明明机机制制,包包括括简简单单的的与与复复杂杂的的数数据据说说明。明。(4)(4)具具有有模模块块定定义义和和调调用用机机制制,开开发发人人员员应应根根据据系系统统编程所用的语种,说明编程所用的语种,说明PDLPDL表示有关程序结构。表示有关程序结构。第第3章章 软件设计软件设计 2 2程序结构程序结构用用PDLPDL表示的程序结构一般有下列几种结构。表示的程序结构一般有下列几种结构。1)1)顺序结构顺序结构采用自然语言描述顺序结构:采用自然语言描述顺序结构:处理处理S1S1 处理处理S2S2 处理处理SnSn第第3章章 软件设计软件设计 2)2)选择结构选择结构(1)IF-

27、EISE(1)IF-EISE结构:结构:IF IF条件条件 IF IF条件条件 处理处理S1 S1 或或 处理处理S S ELSE ENDIF ELSE ENDIF 处理处理S2S2 ENDIF ENDIF第第3章章 软件设计软件设计(2)IF-ORIF-ELSE(2)IF-ORIF-ELSE结构:结构:IF IF条件条件1 1 处理处理S1S1 ORIF ORIF条件条件2 2 ELSE ELSE处理处理SnSn ENDIF ENDIF第第3章章 软件设计软件设计(3)CASE(3)CASE结构:结构:CASE OFCASE OF CASE(1)CASE(1)处理处理S1S1 CASE(2)

28、CASE(2)处理处理S2S2 ELSE ELSE处理处理SnSn ENDCASE ENDCASE第第3章章 软件设计软件设计 3)3)重复结构重复结构(1)FOR(1)FOR结构:结构:FOR i=1 TO n FOR i=1 TO n 循环体循环体 END FOR END FOR(2)WHILE(2)WHILE结构:结构:WHILE WHILE条件条件 循环体循环体 ENDWHILE ENDWHILE第第3章章 软件设计软件设计(3)UNTIL(3)UNTIL结构:结构:REPEAT REPEAT 循环体循环体 UNTIL UNTIL条件条件4)4)出口出口结结构构(1)ESCAPE(1)

29、ESCAPE结结构构(退出本退出本层结层结构构):):WHILE WHILE条件条件 处处理理S1S1 ESCAPE L IF ESCAPE L IF条件条件 处处理理S2S2 ENDWHILEENDWHILE L L:第第3章章 软件设计软件设计(2)CYCLE(2)CYCLE结结构构(循循环环内部内部进进入循入循环环的下一次的下一次):L L:WHILEWHILE条件条件 处处理理S1S1 CYCLE L IF CYCLE L IF条件条件 处处理理S2S2 ENDWHILE ENDWHILE第第3章章 软件设计软件设计 5)5)扩充结构扩充结构(1)(1)模块定义:模块定义:PROCED

30、URE PROCEDURE模块名模块名(参数参数)RETURN RETURN ENDEND(2)(2)模块调用:模块调用:CALL CALL模块名模块名(参数参数)第第3章章 软件设计软件设计(3)(3)数据定义:数据定义:DECLAREDECLARE属性属性 变量名,变量名,属属性性有有:字字符符、整整型型、实实型型、双双精精度度、指指针针、数数组及结构等类型。组及结构等类型。(4)(4)输入输入/输出:输出:GET(GET(输入变量表输入变量表)PUT(PUT(输出变量表输出变量表)第第3章章 软件设计软件设计 3 3PDLPDL应用示例应用示例现以现以系统主控模块详细设计为例,说明如何用

31、系统主控模块详细设计为例,说明如何用PDLPDL来描述。来描述。PROCEDURE PROCEDURE 模块名模块名()()清屏;清屏;显示显示系统用户界面;系统用户界面;PUT(“PUT(“请输入用户口令:请输入用户口令:”)”);GET(password);GET(password);IF password IF password系统口令系统口令 提示警告信息;提示警告信息;退出运行退出运行 ENDIF ENDIF第第3章章 软件设计软件设计 显示本系统主菜单;显示本系统主菜单;WHILE(true)WHILE(true)接收用户选择接收用户选择ABCABC;IF ABC=“IF ABC=

32、“退出退出”Break;Break;ENDIF ENDIF 调用相应下层模块完成用户选择功能;调用相应下层模块完成用户选择功能;ENDWHILE;ENDWHILE;清屏;清屏;RETURN RETURN END END第第3章章 软件设计软件设计 从从示示例例可可以以看看到到PDLPDL的的总总体体结结构构与与一一般般程程序序完完全全相相同同。外外语语法法同同相相应应程程序序语语言言一一致致,内内语语法法使使用用自自然然语语言言,易易编编写写,易易理理解解,也也很很容容易易转转换换成成源源程程序序。除除此此以外,还有以下优点:以外,还有以下优点:(1)(1)提提供供的的机机制制较较图图形形全全

33、面面,为为保保证证详详细细设设计计与与编码的质量创造了有利条件。编码的质量创造了有利条件。(2)(2)可可将将注注释释嵌嵌入入在在源源程程序序中中一一起起作作为为程程序序的的文文档档,并并可可同同高高级级程程序序设设计计语语言言一一样样进进行行编编辑辑、修修改改,有利于软件的维护。有利于软件的维护。(3)(3)可可自自动动生生成成程程序序代代码码,提提高高软软件件生生产产率率。目目前前已已有有PDLPDL多多种种版版本本(如如PDL/pascalPDL/pascal,PDL/CPDL/C,PDL/AdaPDL/Ada等等),为自动生成相应代码提供了便利条件。,为自动生成相应代码提供了便利条件。

34、第第3章章 软件设计软件设计 3.7 3.7 小结小结从从软软件件设设计计开开始始,瀑瀑布布模模型型的的各各阶阶段段都都是是面面向向计计算算机机领领域域的的。软软件件设设计计分分为为概概要要设设计计和和详详细细设设计计两两个个阶段。阶段。概概要要设设计计的的任任务务是是要要建建立立软软件件系系统统的的体体系系结结构构,即即软软件件系系统统要要划划分分多多少少个个模模块块,模模块块之之间间的的层层次次结结构构和和调调用用关关系系是是怎怎样样的的。同同时时还还要要设设计计数数据据结结构构和和数数据据库结构,设计人机接口等。库结构,设计人机接口等。第第3章章 软件设计软件设计 概概要要设设计计还还要

35、要求求遵遵守守相相应应的的设设计计原原理理,如如模模块块化化、抽抽象象、信信息息隐隐蔽蔽和和模模块块独独立立性性等等原原理理。在在建建立立软软件件体体系系结结构构时时还还要要遵遵循循软软件件结结构构设设计计的的一一些些准准则则,如如软软件件结结构构的的深深度度、宽宽度度、扇扇入入、扇扇出出要要适适当当,模模块块的的作用范围要在其控制范围之中等。作用范围要在其控制范围之中等。软软件件体体系系结结构构可可用用软软件件结结构构图图和和IPOIPO图图的的H H图图来来描描述述。概概要要设设计计的的方方法法可可采采用用结结构构化化方方法法和和面面向向对对象象方方法等来设计。概要设计产生的文档是概要设计

36、说明书。法等来设计。概要设计产生的文档是概要设计说明书。概概要要设设计计之之后后要要进进行行软软件件详详细细设设计计。软软件件详详细细设设计计的的主主要要任任务务是是描描述述每每个个模模块块的的算算法法,即即实实现现该该模模块块功功能能的的处处理理过过程程,它它通通常常采采用用结结构构化化程程序序设设计计来来进进行行,采用程序流程图、采用程序流程图、PADPAD图、图、PDLPDL语言等工具来描述。语言等工具来描述。第第3章章 软件设计软件设计 对对于于某某些些项项目目,由由于于采采用用了了相相应应的的开开发发工工具具,如如PowerBuilderPowerBuilder,Develop De

37、velop 20002000等等,这这时时软软件件详详细细设设计计阶段工作就不太明显了。阶段工作就不太明显了。第第3章章 软件设计软件设计 习题习题1 1什什么么是是软软件件概概要要设设计计?该该阶阶段段的的基基本本任任务务是是什什么么?2 2软件设计的基本原理包括哪些内容软件设计的基本原理包括哪些内容?3 3衡衡量量模模块块独独立立性性的的两两个个标标准准是是什什么么?它它们们各各表表示什么含义示什么含义?4 4模模块块间间的的耦耦合合性性有有哪哪几几种种?它它们们各各表表示示什什么么含含义义?5 5模块的内聚性有哪几种模块的内聚性有哪几种?各表示什么含义各表示什么含义?第第3章章 软件设计

38、软件设计 6 6什么是软件结构什么是软件结构?简述软件结构设计优化准则。简述软件结构设计优化准则。7 7什什么么是是模模块块的的影影响响范范围围?什什么么是是模模块块的的控控制制范范围围?它们之间应该建立什么关系它们之间应该建立什么关系?8 8详详细细设设计计的的基基本本任任务务是是什什么么?有有哪哪几几种种描描述述方方法法?9 9结构化程序设计基本要点是什么结构化程序设计基本要点是什么?1010请请使使用用流流程程图图、PADPAD图图和和PDLPDL语语言言描描述述下下列列程程序的算法。序的算法。(1)(1)在数据在数据A(1)A(10)A(1)A(10)中求最大数和次大数。中求最大数和次

39、大数。(2)(2)输输入入三三个个正正整整数数作作为为边边长长,判判断断该该三三条条边边构构成的三角形是直角、等腰或一般三角形。成的三角形是直角、等腰或一般三角形。第第3章章 软件设计软件设计 1111用用PADPAD图描述以下问题的控制结构。图描述以下问题的控制结构。有有一一个个表表A(1)A(1),A(2)A(2),A(N)A(N),按按递递增增顺顺序序排排列列。给给定定一一个个KeyKey值值,在在表表中中用用折折半半法法查查找找。若若找找到到,将将表表位位置置i i送入送入x x,否则将零送到,否则将零送到x x,同时将,同时将KeyKey值插入表中。值插入表中。算法:算法:(1)(1

40、)置初值置初值H=1(H=1(表头表头),T=N(T=N(表尾表尾)。(2)(2)置置i=i=(H+T)/2(H+T)/2(取整取整)。(3)(3)若若Key=A(i)Key=A(i),则则找找到到,i i送送到到x x;若若KeyKeyA(i)A(i),则则KeyKey在在表表的的后后半半部部分分,i+1i+1送送入入H H;若若KeyKeyA(i)A(i),则则KeyKey在在表表的的前前半半部部分分,i i-1 1送送入入T T,重重复复第第2 2步步查查找找,直直到到H HT T为止。为止。(4)(4)查查不不到到时时,将将A(i)A(i),A(N)A(N)移移到到A(i+1)A(i+1),A(N+1)A(N+1),KeyKey值送入值送入A(i)A(i)中。中。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com