过程设计概念.doc

上传人:小飞机 文档编号:1611774 上传时间:2022-12-10 格式:DOC 页数:12 大小:186KB
返回 下载 相关 举报
过程设计概念.doc_第1页
第1页 / 共12页
过程设计概念.doc_第2页
第2页 / 共12页
过程设计概念.doc_第3页
第3页 / 共12页
过程设计概念.doc_第4页
第4页 / 共12页
过程设计概念.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《过程设计概念.doc》由会员分享,可在线阅读,更多相关《过程设计概念.doc(12页珍藏版)》请在三一办公上搜索。

1、一、过程设计概念二、过程设计的工具第七节过程设计前述的程序结构仅考虑软件总体结构中模块之间的控制分层关系,而不关心模块内各处理元素和判断元素的顺序,过程设计紧跟在数据结构设计和程序结构设计之后,其基本任务恰恰是描述这方面的信息,图 6-7-1展示了模块A的内部过程。矚慫润厲钐瘗睞枥庑赖。一、过程设计概念所谓过程,应包括有关处理的精确说明,诸如事件的顺序,确切的判断位置、循环操作以及数据的组成,等等。图 6-7-1一个模块内的软件过程程序结构描述了整个程序的控制层次关系和各个部分的接口情况,而图6-7-1所示的软件过程则着重描述各个模块的处理细节。聞創沟燴鐺險爱氇谴净。程序结构与软件过程相互关联

2、,程序结构中任何模块的所有从属模块必将被引用出现在该模块的过程说明中。因此,软件过程对应的程序结构亦构成一个层次体系,见图6-7-2。残骛楼諍锩瀨濟溆塹籟。图 6-7-2过程的层次结构软件过程必须提供精确的处理说明 ,包括事件的顺序 、正确的判定点、重复的操作直至数据的组织和结构等等。程序结构与软件过程是有关系的。对每个模块的处理必须指明该模块所在的上下级环境。软件过程遵从程序结构的主从关系,因此它也是层次化的。酽锕极額閉镇桧猪訣锥。从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达,使之成为编码的依据。这

3、就是过程设计的任务。彈贸摄尔霁毙攬砖卤庑。过程设计也叫做详细设计或程序设计,它不同于编码或编程。在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。前者涉及所开发项目的具体要求和对每个模块规定的功能。以及算法的设计和评价,后者需要给出适当的算法描述,为此应提供过程设计的表达工具。謀荞抟箧飆鐸怼类蒋薔。二、过程设计的工具表达过程规格说明的工具叫做详细设计工具,它可以分为三类:图形工具、表格工具和语言工具。1.程序流程图程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。但流程图也存在一些严重的缺点。例如流程图所使用的符号不够规范,常常使用一些习惯性用法。特别是表示程序

4、控制流程的箭头可以不受任何约束,随意转移控制。这些现象显然是与软件工程化的要求相背离的。为了消除这些缺点,应对流程图所使用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。例如,为使用流程图描述结构化程序,必须限制流程图只能使用图6-7-3所给出的5种基本控制结构。厦礴恳蹒骈時盡继價骚。图 6-7-3流程图的基本控制结构任何复杂的程序流程图都应由这五种基本控制结构组合或嵌套而成。作为上述5种控制结构相互组合和嵌套的实例,图6-7-4给出一个程序的流程图。图中增加了一些虚线构成的框,目的是便于理解控制结构的嵌套关系。显然,这个流程图所描述的程序是结构化的。茕桢广鳓鯡选块网羈泪。图

5、 6-7-4嵌套构成的流程图实例2.N-S图 Nassi和Shneiderman提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。为表示五种基本控制结构,在N-S图中规定了五种图形构件。参看图6-7-5。鹅娅尽損鹌惨歷茏鴛賴。图 6-7-5N-S图的五种基本控制结构为说明N-S图的使用,仍用图 6-7-4给出的实例,将它用如图6-7-6所示的N-S图表示。如前所述,任何一个 N-S图,都是前面介绍的五种基本控制结构相互组合与嵌套的结果。当问题很复杂时,N-S图可能很大。籟丛妈羥为贍偾蛏练淨。图 6-7-6N-S图的实例3.PADPAD是Problem Analysis

6、Diagram 的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。现在已为ISO认可。預頌圣鉉儐歲龈讶骅籴。PAD也设置了5种基本控制结构的图式,并允许递归使用。图 6-7-7PAD的基本控制结构做为PAD应用的实例,图 6-7-8给出了图6-7-4程序的PAD表示。PAD所描述程序的层次关系表现在纵线上 。每条纵线表示了一个层次。把PAD图从左到右展开。随着程序层次的增加,PAD逐渐向右展开。渗釤呛俨匀谔鱉调硯錦。PAD的执行顺序从最左主干线的上端的结点开始,自上而下依次执行。 每遇到判断或循环,就自左而右进入下一层,从表示下一层的纵线上端开

7、始执行,直到该纵线下端,再返回上一层的纵线的转入处。如此继续,直到执行到主干线的下端为止。铙誅卧泻噦圣骋贶頂廡。图 6-7-8PAD实例4.判定表当算法中包含多重嵌套的条件选择时,用程序流程图、N-S图或PAD都不易清楚地描述。然而,判定表却能清晰地表达复杂的条件组合与应做动作之间的对应关系。仍然使用图 6-7-5的例子。为了能适应判定表条件取值只能是“T”和“F”的情形,对原图稍微做了些改动,把多分支判断改为两分支判断,但整个图逻辑没有改变。见图6-7-9。擁締凤袜备訊顎轮烂蔷。图 6-7-9不包含多分支结构的流程图实例与图 6-7-9表示的流程图对应的判定表如图6-7-10所示。在表的右上

8、半部分中列出所有条件,“”表示该条件取值为真,“”表示该条件取值为假,空白表示这个条件无论取何值对动作的选择不产生影响。在判定表右下半部分中列出所有的处理,画“”表示要做这个动作,空白表示不做这个动作。判定表右半部的每一列实质上是一条规则,规定了与特定条件取值组合相对应的动作。贓熱俣阃歲匱阊邺镓騷。图 6-7-10反映程序逻辑的判定表 判定表的优点是能够简洁,无二义性地描述所有的处理规则。但判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构,因此判定表不能成为一种通用的设计工具。坛摶乡囂忏蒌鍥铃氈淚。5.PDL( Program Design

9、 Language )PDL 是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪码。一般地,伪码的语法规则分为“外语法”和“内语法”。外语法应当符合一般程序设计语言常用语句的语法规则;而内语法可以用英语中一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能。蜡變黲癟報伥铉锚鈰赘。PDL 就是这样一种伪码。它具有严格的关键字外语法,用于定义控制结构和数据结构 ,同时它的表示实际操作和 条件的内语法又是灵活自由的,可使用自然语言的词汇。下面举一个例子,来看PDL的使用。買鲷鴯譖昙膚遙闫撷凄。PROCEDURE spellcheck IS 查找错拼的单词 BEG

10、INsplit document into single words 把整个文档分离成单词lood up words in dictionary 在字典中查这些单词display words which are not in dictionary显示字典中查不到的单词create a new dictionary 造一新字典END spellcheck綾镝鯛駕櫬鹕踪韦辚糴。从上例可以看到,PDL 语言具有正文格式,很像一个高级语言。人们可以很方便地使用计算机完成PDL的书写和编辑工作。驅踬髏彦浃绥譎饴憂锦。PDL作为一种用于描述程序逻辑设计的语言,具有以下特点:有固定的关键字外语法,提供全部结

11、构化控制结构、数据说明和模块特征。属于外语法的关键字是有限的词汇集,它们能对 PDL正文进行结构分割,使之变得易于理解。为了区别关键字,规定关键字一律大写,其它单词一律小写。内语法使用自然语言来描述处理特性。内语法比较灵活,只要写清楚就可以,不必考虑语法错,以利于人们可把主要精力放在描述算法的逻辑上。有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。有子程序定义与调用机制,用以表达各种方式的接口说明。使用PDL语言,可以做到逐步求精:从比较概括和抽象的PDL程序起,逐步写出更详细的更精确的描述。6.HIPO图 ( Hierarchy plus Input Pro

12、cess Output )HIPO最初只用做文档编写的格式要求,随后发展成比较有名的软件设计手段。HIPO图采用功能框图和 PDL来描述程序逻辑,它由两部分组成:可视目录表和IPO图。可视目录表给出程序的层次关系,IPO图则为程序各部分提供具体的工作细节。(1)可视目录表 :由体系框图、图例、描述说明3部分组成。体系框图。又称层次图(H 图),是可视目录表的主体,用它表明各个功能的隶属关系。它是自顶向下逐层分解得到的,是一个树形结构。它的顶层是整个系统的名称和系统的概括功能说明;第二层把系统的功能展开,分成了几个框 ;第二层功能进一步分解 ,就得到了第三层、第四层, ,直到最后一层。每个框内都

13、应有一个名字 ,用以标识它的功能。还应有一个编号,以记录它所在的层次及在该层次的位置。图例。每一套HIPO图都应当有一个图例,即图形符号说明。附上图例,不管人们在什么时侯阅读它都能对其符号的意义一目了然。描述说明 。它是对层次图中每一框的补充说明 ,在必须说明时才用,所以它是可选的。描述说明可以使用自然语言。例如,应用HIPO法对盘存销售系统进行分析。得到如图6-7-11所示的工作流程图。猫虿驢绘燈鮒诛髅貺庑。图 6-7-11盘存销售系统工作流程图分析此工作流程图,可得如图 6-7-12所示的可视目录表。图 6-7-12(a)是系统的层次图,图 6-7-12(b)是后面 IPO图的图例,图 6

14、-7-12(c)是描述说明。锹籁饗迳琐筆襖鸥娅薔。图 6-7-12盘存销售系统的可视目录表(2) IPO图:IPO 图为层次图中每一功能框详细地指明输入 、处理及输出。通常,IPO 图有固定的格式,图中处理操作部分总是列在中间,输入和输出部分分别在其左边和右边。由于某些细节很难在一张IPO 图中表达清楚,常常把IPO图又分为两部分,简单概括的称为概要IPO图,细致具体一些的称为详细IPO图。構氽頑黉碩饨荠龈话骛。概要 IPO图用于表达对一个系统,或对其中某一个子系统功能的概略表达,指明在完成某一功能框规定的功能时需要哪些输入,哪些操作和哪些输出。图6-7-13是表示销售盘存系统第二层的对应于H

15、图上的1.1.0框的概要IPO图。輒峄陽檉簖疖網儂號泶。图 6-7-13对应H图上1.1.0框的概要IPO图在概要IPO图中,没有指明输入处理输出三者之间的关系, 用它来进行下一步的设计是不可能的。故需要使用详细IPO 图以指明输入处理输出三者之间的关系,其图形与概要 IPO图一样,但输入、输出最好用具体的介质和设备类型的图形表示。图6-7-14是销售盘存系统中对应于1.1.2框的一张详细IPO图。尧侧閆繭絳闕绚勵蜆贅。图 6-7-14对应于H图1.1.2框的详细IPO图(3) 利用HIPO进行迭代式细化设计。在软件设计时,解决设计问题通常需要经历一个认识逐步发展的过程,并且对一些问题还要经过

16、反复的考虑 才可能达到比较满意的设计效果。我们称此为迭代式细化设计。HIPO能很好地适应这一要求。图6-7-15是利用HIPO进行迭代式细化设计的示意图。从图中可看到,把可视目录表和IPO 图结合起来,反复交替地使用它们,可使得设计工作逐步深化,最终取得完满的设计结果。其实这正是自顶向下,逐步求精的结构化程序设计思想。识饒鎂錕缢灩筧嚌俨淒。图 6-7-15利用HIPO进行迭代式细化设计 HIPO有自己的特点。首先,这一图形表达方法容易看懂。其次,HIPO的适用范围很广,绝不限于详细设计。事实上,画可视目录表就是与概要设计密切相关的工作。如果利用它仅仅表达软件要达到的功能,则是需求分析中描述需求的很好的工具。因为HIPO是在开发过程中的表达工具,所以它又是开发文档的编制工具。开发完成后,HIPO图就是很好的文档,而不必在设计完成以后,专门补写文档。凍鈹鋨劳臘锴痫婦胫籴。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号