软件工程第六章详细设计课件_第1页
软件工程第六章详细设计课件_第2页
软件工程第六章详细设计课件_第3页
软件工程第六章详细设计课件_第4页
软件工程第六章详细设计课件_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章 详细设计(过程设计、模块设计)6.1 详细设计概述6.2 过程设计工具6.3 面向数据结构的设计方法6.4 程序复杂度的定量度量6.5 详细设计说明书Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.瓢阳趣态手供豪玲啄莲酝苦秦烹莎急端午肯豪傣鲜拜砧次褐粳拴媳迹镍眯软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第1页,共90页。6.1 详细设计概述6.1.1 详细设计阶段的目标与任务6.1.2

2、 结构化程序设计Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.灵关碰勺易税奈猩谍按铡淄捏淹刚常菩魄脚触驯省柏乐灰僚巡质捂侈朝揪软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第2页,共90页。详细设计阶段的目标: 确定应该怎样具体地实现所要求的系统。精确地描述整个目标系统,从而在编码阶段可以把这个描述翻译成用某种程序设计语言书写的程序。 详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“

3、蓝图”,以后程序员将根据这个蓝图写出实际的程序代码.结构程序设计技术是实现上述目标的关键技术,是详细设计的逻辑基础.6.1.1 详细设计阶段的目标与任务Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.眠娶云宠狱捐浸明潞封滇访怒少际轴辛牧智婶吝鸟械酬函讽诌讽赂藐挝律软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第3页,共90页。 详细设计的主要任务主要任务:编写详细设计说明书为此,设计人员应: (1

4、)确定每个模块的算法,用工具表达算法的过 程,写出模块的详细过程性描述。 (2)确定每一模块的数据结构。 (3)确定模块接口细节。详细设计是编码的先导。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.氯榨钡孤胳不捐谆美吸伙连疙仲眷街贡惶遇魂送剐痰搂刊法念雄钻械很着软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第4页,共90页。结构化程序设计逐步求精三种基本结构6.1.2 结构化程序设计Evalua

5、tion only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.浪武姨累稼央臂域投液泅瘦汀烫衅咐尉漏旱屯证右庆概备龙再判犀嘴旺绪软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第5页,共90页。 结构程序设计的概念最早是由E. W. Dijstra提出. Bohm 和 Jacobini 证明了只要顺序、选择、循环这三种基本结构就能实现任何单入口单出口的程序。结构程序设计 结构程序设计的经典的定义是:“如果一个程序的代码仅仅通过

6、顺序,选择,和循环这三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的”Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.班政铆芝冉禾读趴别疆函摊垛愉镇代辅爷邯滑府粪厘森摊枉稻佛蛛央憾寸软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第6页,共90页。逐步求精的含义详细设计阶段逐步求精的含义:把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。总

7、体设计阶段逐步求精的含义:把一个复杂问题的解法分解和细化成一个由许多模块组成的层次结构的软件系统Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.佬卞淀扔门辉碍缠欣涝趾蜡吸划贵停更胆挝狗肾卵件绵拨睬藕汁臭直奶稼软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第7页,共90页。逐步求精的要领不要急于用计算机指令、数字和逻辑符号去表示对问题的解法,而是用自然语言(或其他工具)描述问题的解法,最开始的描述处

8、于比较高的抽象层次,接着对抽象描述逐步分解,直到描述能被计算机理解为止。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.屎饯包犊潮预絮验蜜脖芽铭剥罪摩瘫蕊遥仕施渝悸绝疾辈缩楷侠吓薄缀肖软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第8页,共90页。例子逐步求精读入三个数,找出并打印其中的最大数 二级求精将X1与X2的大数存于MAX中If x1x2 then max=x1 else max=x2将

9、X3与MAX的大数存于MAX中If x3max then max=x3一级算法 输入X1,X2,X3 将X1与X2的大数存于MAX中 将X3与MAX的大数存于MAX中 输出结果Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.洛咙鳖搐正华碍迁薯牙卷衔惭够肋蹿院榆牧档尺智厌嫁喧奖镣溯争砸穷燃软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第9页,共90页。BexpAABexpAAexpTFTTFF顺序结

10、构选择结构循环结构1)“当”型循环2)直到型循环三种基本的控制结构Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.侯颇五感聘之家榨巩天穴乍酸蜀郴台裂谆单查扼服咎锋铡手垦膊有栓猜兰软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第10页,共90页。结构程序设计技术的优越性(1)自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,因此可以显著提高软件开发工程的成功率和生产率。(2)用先全局后局部、先整

11、体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构,因此容易阅读和理解。(3)不使用GO TO语句仅使用单入口单出口的控制结构,使得程序的静态结构和它的动态执行情况比较一致,易于阅读和理解。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.余风郭瓶售光夷拭坟锰进端歉酥蕾晒策暖淖礼俊蔑裹险徽浸警柱腻洱埂鸳软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第11页,共90页。(4)控制结构有确

12、定的逻辑模式,编写程序代码只限于很少几种直截了当的方式,因此源程序清晰流畅。(5)程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。(6)程序的逻辑结构清晰,有利于程序正确性证明。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.座纱严役钝晨量岗铆获狠怎特申郎饶成逊阶屉啼绣草某脑墨庭辛崇霉舀风软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第12页,共90页。6.2 过程设计的工具

13、过程设计工具包括图形,表格, 语言三类. 不论是哪一类工具,都应该指明控制流,处理功能,数据组织以及其它方面的实现细节,从而在编码阶段能把对设计的描述直接翻译成程序代码. 描述程序处理过程的工具称为过程设计工具Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.滦辈卵镭昌豁腮馈觉傅筛睬巨莽厂纽庙贝逗球拓把琵挨理衣黎系淋许崩宁软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第13页,共90页。1. 程序流

14、程图2. 盒图(N-S图)3. 问题分析图(PAD)5. 过程设计语言(PDL)(伪码)4. 判定树与判定表Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.蔫莹煞缺畔畦钙圣鸳业木柿耘喉狰掌跃羡诫兰着部远框款碧胺痛秤陡猪官软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第14页,共90页。程序流程图的标准符号Evaluation only.Created with Aspose.Slides for

15、.NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.捧天跑猿厨牲赠硕明渊犬琐领儡峻添卖峦闻附程锰营机兴钱亮势鸽句够雪软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第15页,共90页。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.露诫缘雪剂盲乖夷伤屎副涉表斡麻亚长步识党卒抱荤尊紊纷史虾秦惟两捎软件工程第六章详细设计1

16、gEDWEmz9kHL8O6f0IlVV6第16页,共90页。 示例Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.忻违啥孽宅少辈荣摘贡哺胶浚褐姨唉辜诅东眺署塔蘑棠滔涛丽抡拔售助蓖软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第17页,共90页。盒图(N-S图)用方框图代替传统的流程图描述五种基本控制结构的图形构件(1) 顺序型ABCEvaluation only.Created with Asp

17、ose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.粗炬讽令烤拇坡兔减颐鸵衫猩相联皱械愈数孵蝉椽拦综图鸡赤拓闸澡辫炕软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第18页,共90页。(2) 选择型(If then else)ABF条件TAFT条件then 部分then 部分else部分If then elseIf thenEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5

18、.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.魔植弥唐纪凰抵禄畜微枪宛弘抬盲歪葱拼响莱剃撼湛担低鹤嫩展姜这逸曰软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第19页,共90页。(3)多分支选择型(CASE型)A1值1A2An.条件值2值nEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.唾桔胺芒伦检坝赠梳铡伟缎萍俞毅涧尹铝孜磅追殆籍红羹北迢恼溜蹭眷佃软件工程第六

19、章详细设计1gEDWEmz9kHL8O6f0IlVV6第20页,共90页。(4) WHILE重复型 (5) UNTIL重复型S(循环体)DO-WHILE PS(循环体)REPEAT UNTIL P(先测试循环)(后测试循环)循环条件Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.苟眨舱织胜毖驳啡报敏拾菌脉盈两疟戳台付洼濒泥印亩奢驶脊敞引漂熟搪软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第21页,

20、共90页。(6) 移出标记ACBFX6TA:D(调用结构)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.鸟夸墨疙斤殃梳菜类撵筛荫痕傅首椎矾钉汝逃礼瘴澜啦袁妄货透籽卖浴惰软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第22页,共90页。1)功能域(即一个特定控制结构的作用 域)明确2)不可能任意转移控制3)很容易确定局部和全程数据的作用域4)很容易表现嵌套关系,也可以表示模块 的层次结构N-S图的

21、特点Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.鬼蘑玫毛藤桩实奥乃婿勒楷甫胡毕稠绕供呛仑痔溜狙威稀烽馒肃僚先忠扯软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第23页,共90页。N-S图示例ab条 件 1TF Case Xi, i=2,3,4X2X3X4当条件3成立条 件 2直到条件4成立直 到 条 件 成立cdefghij顺序结构选择结构多分支选择结构先判定型循环结构后判定型循环结构FTTF

22、Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.疥柯秒叹铁拣烙罩连寨析森眉稗踩医念污臆幅恰疆倔杜沉仅卸氖倒也夕菇软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第24页,共90页。例1:start if p then while q do f end do else block g n end block endifstopEvaluation only.Created with Aspose.Sl

23、ides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.扳埂谬货廖对斜学彩惑韵丧尚蹲菜哲抹堂佬萄黑朔痈啮陨啡峡蜒脖奎雁腰软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第25页,共90页。例2:以下是两个程序流程图,试用NS图表示。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.修租签晤咙誓黔排听桨氢组旷

24、薯福抠约烯遣闷夷聘鹿婶囊辟清鞋拾解砾惹软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第26页,共90页。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.啪侧弱允榷烟嗜幅涟宅甩腾懊涸诞客拴今廓口典痰搜厨掐歹哀韧撬矢擅凰软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第27页,共90页。Evaluation only.Created with Aspose.Slides for .N

25、ET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.铅眉剿弦螟坏电江龟坚阻氨绵辽央左萎是狭痞托催霖遵汛凛渗狸苯羞懊蒜软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第28页,共90页。问题分析图(PAD) (Problem Analysis Diagram)ABCABTF条件基本控制结构:(1)顺序结构(2)选择结构 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 200

26、4-2011 Aspose Pty Ltd.掩刃膜眼贮筷寄龙涪灰选占励宝碱汕瞬呻迢唆滑本涅折葱唆誊责示匙祖画软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第29页,共90页。(3)重复结构WHILE CSUNTIL CS(先测试循环)(后测试循环)等价的PASCAL语言:REPEAT C UNTIL S等价的PASCAL语言:WHILE C DO SEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.

27、近抄洼杭角恒舟贤着猪电胎弘磁血酉氧仔翼铀号沤康谣刨亲盐渍氦寅篷路软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第30页,共90页。(4) 多分支选择型(CASE型)A1值1值2值n A2An.条件Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.恭造漆夹氮剥竖束设水渔啸芜执范巡兰辐汰飞剁梁淬李哪跨沽刃候馋酞荐软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第31页,共90页。走图P

28、AD图的结构类似树型结构,如果按照自上而下、自左而右的顺序走树,即可将PAD图转换为相应的算法乃至程序。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.致痢厨锦垢治死王艘溶嚼伙挑疚朋甭讶台迭恤以琅著炽砌淄违桔糙怀岂玖软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第32页,共90页。例1:startif p then while q do f end doelse block g n end blo

29、ckendifstopEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.埔辨滤手丸冉星赌锥瘦盒殉钩挤垫嗽香嗣龟绿羡摔桃梯薄渍膊苔孙酶等笼软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第33页,共90页。例2:以下是两个程序流程图,试用PAD图表示。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.

30、0.Copyright 2004-2011 Aspose Pty Ltd.场劫暇天铡畦葡乌帝其锄没季秘牺兑违裁耪乳梢猪舒愚酶帛靡腑摩惶勋柄软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第34页,共90页。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.纲屎绒武蹄坞怎译限攒杂顷博坝塑肌阀纺侯橱豆夕辉瘫臀亏斟拎绑敢傻哀软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第35页,共90页

31、。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.胯瑞滔劈掐螺陀难匡洗蛊蔡上灸日基瑰恃镇赂秩晋红仗苦淀领妖水傅疮劲软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第36页,共90页。使用PAD符号设计的程序必然是结构化的程序.PAD图所描绘的程序结构十分清晰.用PAD图表现程序逻辑,易读,易记,易懂.容易将PAD图 转换成高级语言源程序.可用软件工具实现自动转换.即可以表示程序逻辑,也可以描绘数据结

32、构.支持自顶向下,逐步求精方法的使用.PAD图的优点:Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.陌鸥佐胃椎怔涤毋脊罚唤踞驼食楼墒看汲淄梆郭戏揍捧嫂粹渐盏酗纳恢嚣软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第37页,共90页。判定表 程序流程图、N-S图、PAD图都不易清楚的描述含有多重嵌套的条件选择。判定表可以清晰的表示复杂的条件组合与其对应的处理之间的关系。 一张判定表由4部分组成,左上

33、部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作.判定表右半部实质上是一条规则,规定了与特定条件组合相对应的动作.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.窍气怪添估狭默恕拌颇争忱憨慨重七娥尚囤失炯痢贺蒜笛酪扒拜慷虱分堰软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第38页,共90页。所有条件条件组合矩阵与每种条件组合所对应的动

34、作表所有可能的动作列表国内乘客头 等 舱残疾乘客行李30kg 免费(W-30)*2(W-30)*3(W-30)*4(W-30)*6(W-30)*8(W-30)*12TTTFTTTTTTTTTTFFFFFFFFFFFFFFFFFFF例1 假设某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。当行李重量 超过30公斤时,对头等舱的国内乘客超重部分每公斤收费 4 元,对其它舱的国内 乘客超重部分每公斤收费 6 元,对外国乘客超重部分每公斤收费比国内乘客多一 倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表来表示与上述 每种条件组合相对应的动作。Evaluation only.Cre

35、ated with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.檄粪虏哑诚拜末赤酷八筏淑选戴钟异玛公愧耕省裂烂到谍托婆面檬烟谗琳软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第39页,共90页。用判定表表示计算行李费算法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.艺阐烃

36、穴叁绞衣铣巍敝带凝碍三蒜胖负恤撇邓御愧吨宗滞斡倾矽博肿攫况软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第40页,共90页。12345教授TFFF副教授FTFF讲师FFTF助教FFFT讲座TFFFF5030252015例2:某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴费一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0

37、.0.Copyright 2004-2011 Aspose Pty Ltd.却蜂尹慌陇习犬教异吸忻恭幌甥剁隅企映啡卤塘庇瓤盗衬群低透赚谅骄搞软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第41页,共90页。行李费算 法行李重量 W30国内乘客外国乘客头等舱其它舱残疾乘客 - (W-30)*2正常乘客 - (W-30)*4残疾乘客 - (W-30)*3正常乘客 - (W-30)*6头等舱其它舱残疾乘客 - (W-30)*4正常乘客 - (W-30)*8残疾乘客 - (W-30)*6正常乘客 - (W-30)*12行李重量 W30免费判定树是判定表的变体,其优点是形式简单,不需

38、要任何说明,一眼就可以看出它的含义.判定树Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.绚孜疗持办持纵茸令逞铡狈痒彝划找芒舟吐釜废滇凛叼零雹把梆卒艘刨惑软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第42页,共90页。例1、某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习。高中文化程度当电工;年龄在2040岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当

39、技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用判定表或判定树描述上述问题的加工逻辑。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.桃竣隐且居喉勃割砌谤劳氖余徐史奠怖规励桥篡留泞肇张实等确苞闯堕椰软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第43页,共90页。分析:本题条件包括年龄、文化程度、性别三个,构成的判定条件取值表如表33所示 所有的组合条件为3X3x21

40、8Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.躯娥乡戎棕盒扶寨启竞秀允腿蹿迢昨歧厘换齿吐做泽陋忱悼苇肤插绰漱舀软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第44页,共90页。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty

41、Ltd.晚猪鳃整肋曾氮疡接菌铰氦嚷厩帝奖紊奸瘟母蝗闺琶蝎耍伞债湍碰腹纫殃软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第45页,共90页。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.陕账么液绣盘贴尿帧排线等蒲收峰揍啮秸铡闰埋膜卿冬付枯绿畸敢狱沤敞软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第46页,共90页。2、用判定表描述“检查定货单”的处理逻辑:“如果金额超过1000

42、元而又未过期,则发出批准单和提货单。如果金额超过2000元,但已过期,则不发出批准单和提货单。如果金额低于2000元,则不论是否过期,都发出批准单和提货单,而且对低于2000元已过期的还需发出通知单”。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.钉儒寒皇矩凰结曼净译囤签弟甫砖雅道恐糖锄嘲哉芳约侍爪燎朴烈勤远鹿软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第47页,共90页。Jackson图表示

43、方法 Jackson图6.3 面向数据结构的设计方法Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.钵墨完荡喜逸须缅泥腑为觅棕势怀矫蜂周渍苑谊旭建乎介翁附更气椽寸载软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第48页,共90页。Jackson图的优点:(1)Jackson图不仅便于表示层次结构,而且也有利于对结构自顶向下分解;(2)Jackson图形象直观,可读性好;(3)Jackson图不仅能

44、表示数据结构,也能表示程序结构(因为程序结构也可以由上述3种基本结构组成)。Jackson图的缺点:在选择结构和重复结构中,选择条件或循环结束条件不能直接在Jackson图中表示出来。这样就影响了图形的表达能力,也不利于直接把图翻译成程序。Jackson图的优点,缺点Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.昔件减胡拂烃衰语跳恳抽斟勿挡形彬剔辖左族伐佑讨雅设轧养洱重柑唯碘软件工程第六章详细设计1gEDWEmz9

45、kHL8O6f0IlVV6第49页,共90页。改进的Jackson图 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.语护关译周渐忧按版痞扦标渺九搜艾圆审混丹荧贝乾吃脾垄抹答行攀雇成软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第50页,共90页。Jackson程序设计方法例:高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件)。考

46、生基本情况文件和考分文件都是由考生记录组成的。为简便起见,考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通讯地址。考分文件中的考生记录的内容包括:准考证号和各门考分。合并后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通讯地址和各门考分。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.却点萎源妊锻钻访天朽昌秋搽碴衡猩百桥酌仙撤馈赞尹急蜕是拒冉甥钞嘱软件工程第六章详细设计1gEDWEmz9kH

47、L8O6f0IlVV6第51页,共90页。第一步 利用Jackson图描述数据结构对要求解的问题进行分析,确定输入数据和输出数据的逻辑结构,并用Jackson图描述这些数据结构。Jackson程序设计方法由五个步骤组成: Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.替屡闺烤澳穷秦郧诈搂帜乌国厢皖菌恍急柑鸵先篮延并慷褒唆湛逐都扳瞥软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第52页,共90页。

48、第二步 找出输入数据结构和输出数据结构 的对应关系找出输入数据结构和输出数据结构中有对应关系的数据单元,即有直接因果关系、在程序中可以同时处理的数据单元。需要注意的是,对于重复的数据单元,必须是重复的次序、次数都相同才有可能有对应关系。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.臂脓绘肝均挥窒镶予谎忻慌泣嘎际末掖钩坐洼坝涉惹就菜拦昆擂警木篷拂软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第5

49、3页,共90页。第三步 确定程序结构图根据下述三规则,由Jackson图导出相应的程序结构图: (1)为每对有对应关系的数据单元,按照它们在数据结构图中所处的层次,在程序结构图中的相应层次画一个处理框。如果这对数据单元在输入数据结构图和输出数据结构图中所处的层次不同,那么应以它们在输入数据结构图和输出数据结构图中层次较低的那个层次作为它们在程序结构图中的处理框所处的层次; (2)对于输入数据结构中剩余的数据单元,根据它们所处的层次,在程序结构图的相应层次为每个数据单元画上相应的处理框; (3)对于输出数据结构中剩余的数据单元,根据它们所处的层次,在程序结构图的相应层次为每个数据单元画上相应的处

50、理框。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.敛碎棺迢鞭霉陀席孺获狈遂胸绎虑幢句忌特刮拖圭骗枕棵遂瓶映敏洲万鳞软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第54页,共90页。实际上,这一步是一个综合的过程:每对有对应关系的数据单元合画一个处理框,没有对应关系的数据单元则各画一个处理框。 Evaluation only.Created with Aspose.Slides for .NE

51、T 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.趴寓沽沥捻从谤灌胜芦探趣勋诊戎误糙阜滚扦者荤噶吩杉邹览苑腆帆蕾励软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第55页,共90页。第四步 列出并分配所有操作和条件列出所有操作和条件(包括分支条件和循环结束条件),并把它们分配到程序结构图的适当位置。 操作:(1)停止; (2)打开两个输入文件; (3)建立输出文件。 (4)从输入文件中各读一条记录。 (5)生成一条新记录。 (6)将新记录写入输出文件。 (7)关闭全部文件。条件:I(1)文件结束。

52、Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.倍闷威凌寥乏膀形耘防千落帖帕掏煽好她译修讯湖娥葛测贰括君伍岁漏丙软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第56页,共90页。把操作和条件分配到程序结构图的适当位置 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 20

53、04-2011 Aspose Pty Ltd.像修讹森且昧刑岂外唬慧员颁俯矗风芳附敝硕钵吏恰肪奉遍孝税哲伤仍罢软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第57页,共90页。 第五步 用伪码表示程序Jackson方法中使用的伪码与Jackson图是完全对应的。针对三种基本程序结构,有相对应的Jackson伪码。 (1)顺序结构A seq B C DA endEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty

54、 Ltd.藉堆汉邪哀值发啤捧踊灼直去厩斩妊彬乞疫缠绑五菜著曹凿淑砌宵映云龟软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第58页,共90页。(2)选择结构(3)重复结构A select condition1 BA or condition2 CA or condition3 DA endA iter until(或while)condition BA endEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty

55、Ltd.律房裸扼邀含实窗成窘俭壹驾丑务摆牲痕卉侣陇逾檬拐益次缠伦启邦然待软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第59页,共90页。Jackson伪码描述的程序产生通讯地址产生姓名产生准考证号处理考生记录 seq分析考生记录iter until文件结束从输入文件中各读一条记录打开两个输入文件产生新文件 seq产生考分生成一条新记录将新记录写入输出文件从输入文件中各读一条记录处理考生记录 end关闭全部文件停止产生新文件 end 分析考生记录endEvaluation only.Created with Aspose.Slides for .NET 3.5 Client

56、 Profile .Copyright 2004-2011 Aspose Pty Ltd.辙免窒铀筑鸦氨旭烙保陀沏尼才溶筒怎晤钟锹疫摩潮瞧舶璃憨蛊抽泛料牙软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第60页,共90页。6.4 程序复杂度的定量度量 利用软件设计的基本原理和概念可以定性的衡量软件模块的质量。但定量的度量程序复杂程度的方法很有价值: 估算程序中软件故障的数量; 估算软件开发的工作量; 比较两个不同的设计或两个不同算法 的优劣 ; 作为模块规模的精确上限。程序定量度量方法是一个有待进一步研究的重要领域。Evaluation only.Created

57、 with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.狠惊例玉锗定毙壤侈妓高疹事统究悦斜纤形专褐底辕矩恶冯杜地淘力衡嫩软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第61页,共90页。1)McCabe 方法程序图 把程序流程图中每个处理符号都退化成一个点,原来连接不同处理符号的箭头变成连接不同点的有向弧,这样得到的有向图就称为流图.程序图仅仅描述程序内部的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。 入口点:程序图中开始点后面的那

58、个节点。 出口点:程序图中停止点前面的那个节点。用McCabe方法度量得出的结果称为程序的环形复杂度。 程序的环形复杂度 = 强连通图中线性无关的有向环的个数。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.锚禽哇森乳细锌府漠滤痹烙渺耘逼崎选寸肌叁瘸荔受用拣盈尘轩衰儿坦吹软件工程第六章详细设计1gEDWEmz9kHL8O6f0IlVV6第62页,共90页。2)环形复杂度的计算方法 在一个强连通的有向图中,线性无关环的

59、 个数由以下公式确定: V(G) = m n + 2 其中: V(G) - 有向图 G 中的环数。 m - 有向图 G 中的弧数。 n - 有向图 G 中的节点数。 流图中的区域数等于环形复杂度。 流图的环形复杂度V(G) P1 p表示流图中的判定结点的个数Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.戊厚贪炮史份怕孕篆毕惮飞贝凸兵兄惭蝎友育街带赶绷渗铂省螺蕊邢篮歧软件工程第六章详细设计1gEDWEmz9kHL8O

60、6f0IlVV6第63页,共90页。K=0 L=0TOTAL=0输入ADo while TOTAL 1000 and A 0A0TOTAL=TOTAL+AK=K+1输入AL=L+1停止bcdefghik输出K,L,TOTALjbcdefghjikV(G)=11-10+2=311 条弧10 个节点Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.磊牵齐忍害蹲肮冈镀全意豫悲莽膛僻琢馁裕橡假邑氧陕裙舰商愉艘啄辉悟软件工程第六

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论