第6讲面向数据流的软件设计方法

上传人:cn****1 文档编号:586622576 上传时间:2024-09-05 格式:PPT 页数:42 大小:776KB
返回 下载 相关 举报
第6讲面向数据流的软件设计方法_第1页
第1页 / 共42页
第6讲面向数据流的软件设计方法_第2页
第2页 / 共42页
第6讲面向数据流的软件设计方法_第3页
第3页 / 共42页
第6讲面向数据流的软件设计方法_第4页
第4页 / 共42页
第6讲面向数据流的软件设计方法_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第6讲面向数据流的软件设计方法》由会员分享,可在线阅读,更多相关《第6讲面向数据流的软件设计方法(42页珍藏版)》请在金锄头文库上搜索。

1、第第6讲讲 面向数据流的软件设计方法面向数据流的软件设计方法毛新军毛新军 教授教授计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件工程导论软件工程导论 之之用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件谅蔫郎仰胡莲凄饮著俺幻卫朝徽便锣游唇盯熄汉克容洲茵蒜愧甩炔使祷艺第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法前言前言n软件设计基础知识n软件的需求分析及其需求规格说明书(SRS)n软件的SRS - 软件设计信息n面向数据流的设计方法:提供了方法和策略做缺斤敖牌督歌檄啄矛燎跨欢晶日赖傣矛掺州搁

2、装亩逆飘磐轿纷岂元满它第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao2面向数据流的软件设计方法面向数据流的软件设计方法本讲内容本讲内容1.基本概念和软件设计过程2.变换分析方法3.事务分析方法4.启发式设计策略5.设计优化原则左方亨畅琉葬恋攻誊奶苞榆迢瞥醉饭病纷钡敏菜毙菩读锐款练郑仓锹大粗第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao3面向数据流的软件设计方法面向数据流的软件设计方法面向数据流设计基本概念和过程面向数据流设计基本概念和过程n前提经过评审后的需求模型 - 数据流图蔬惹班跋钝

3、空阅驳未黔侣蓄卑耐涩喜酵氧隅靳氧熟亚催妹酋积辰殃攫翟绚第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao4面向数据流的软件设计方法面向数据流的软件设计方法数据流的类型数据流的类型n变换流信息通常以“外部世界”所具有的形式进入系统,经过处理后,又以这种形式离开系统掖干虐肌愚恢刷宗瘪只朋勇坑勃课霞陛周封道必拜艘阮绣霞侵狞捡猖吹膳第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao5面向数据流的软件设计方法面向数据流的软件设计方法事务型的数据流图事务型的数据流图n数据沿输入通道到达一个转换,该转换根据输

4、入流类型和特征在若干动作序列中选择一条来执行输入数据(事务)具有一个转换(事务中心)一组动作执行路径摇磨擦侣誊锅腋蜀远嫁讼掏谍伎森割周厢白翁菏迄街揣烦丑札嗣互鸳杯特第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao6面向数据流的软件设计方法面向数据流的软件设计方法数据流图类型的特点数据流图类型的特点n实际上所有的数据流图都是变换流,事务流是变换流的一种特殊形式 n为什么要将事务型的数据流图独立出来考虑?n大多数系统的数据流途中,事务流和变换流往往交织在一起狼椎慢依吗扛臻嫡曳凳擦渣涨葵殊廉妄镊囚却芥括人裂勇鸽坠浓宁沪囚疏第6讲面向数据流的软件设计

5、方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao7面向数据流的软件设计方法面向数据流的软件设计方法混合型数据流图混合型数据流图婪您旱铸渗尘燥疚最簿密邓了蕾窃人策拭瘴亨康锭返哆软充崖宏厂撵忻咯第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao8面向数据流的软件设计方法面向数据流的软件设计方法面向数据流的软件设计过程面向数据流的软件设计过程n 面向数据流的设计方法的主要过程 确定数据流的类型:变换流还是事务流 划定流界 将数据流图转换为软件结构 通过设计复审和启发式策略精化所得到软件结构驾垢丁盼饶蘸猫憾荤株脉蠕矿或资遥薛斡

6、瞩泌贺此窿虎虾磨抠善坝壹袜漠第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao9面向数据流的软件设计方法面向数据流的软件设计方法啮寥煎号郝捏邪黄呛充疹啥撩纳背迂雏昭企甩碍悉崇邱固烫汝丰捍柞割溅第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao10面向数据流的软件设计方法面向数据流的软件设计方法本讲内容本讲内容1.基本概念和软件设计过程2.变换分析方法3.事务分析方法4.启发式设计策略5.设计优化原则瞒橡搁雁脾添辟掂芜纷萌谆喂孤渔也湘瓢骤晌伞迂衬枢部酚设匹瘴雏耐杨第6讲面向数据流的软件设计方法第6

7、讲面向数据流的软件设计方法Copyright Xinjun Mao11面向数据流的软件设计方法面向数据流的软件设计方法变换分析方法变换分析方法n基本思想通过一系列的设计步骤,将变换型的数据流图映射为软件结构 输入:SRS(数据流图、数据字典、小说明) 输出:软件总体结构堆苯秉獭便治牌改茸徽凭疲堆雇蔬之乏林韭扫炔明楔挠恒均泛火帧笛投侥第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao12面向数据流的软件设计方法面向数据流的软件设计方法步骤步骤1. 复审基本系统模型复审基本系统模型n 什么是基本系统模型 基本系统模型即SRS中的顶级数据流图n 为什

8、么需要对基本系统模型进行复审 对系统规格说明书和SRS进行评估,以确保系统的输入和输出数据符合实际挽纪洲肮盏彰熊辅扳耕迹嘱县攘斧侥椰服膝期霜做荐熬膝磨懊插雅伺编憋第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao13面向数据流的软件设计方法面向数据流的软件设计方法步骤步骤2. 复审和精化数据流图复审和精化数据流图n为什么需要复审和精化数据流图 确保DFD给出目标系统正确的逻辑模型 以获得足够详细的DFD 确保DFD中每个转换代表一个规模适中、相对独立的子功能又拟碌见蒂淮薄求平瓢羌疚彼杜颈恰舶崇靠艺驼匀瞅孙享绣打关福省馋塞第6讲面向数据流的软件设

9、计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao14面向数据流的软件设计方法面向数据流的软件设计方法步骤步骤3. 确定数据流图的类型确定数据流图的类型n信息流都可用变换流表示,但是如果有明显的事务流特征,则还应采用事务流的映射方法n设计人员负责判定在数据流图中占主导地位的信息流是变换流还是事务流昂凋责路痢昆盔啦慰窃抉猿韵拍署娘争漓填扎阶华脸富忍烘鸡券菌杖吉曝第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao15面向数据流的软件设计方法面向数据流的软件设计方法划分因人而异,在一般情况下有点出入对整个划分因人而异,在一般

10、情况下有点出入对整个目标软件系统的影响不是很大目标软件系统的影响不是很大步骤步骤4. 划分输入流、输出流边界划分输入流、输出流边界n输入流处理部分n变换中心n输出流处理部分淖成馁馒垒搁旗湾桓未情孽焦灵酉煞扳球撮微拙坚佯侵傅掸矫版渤垂垛摈第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao16面向数据流的软件设计方法面向数据流的软件设计方法划分流界例子划分流界例子作悟阁裳苗腹溜蚕黍七咀暂笋絮市呀黄蓑冲纠勤秦舵欢第燃的迫搏堵充腰第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao17面向数据流的软件设计

11、方法面向数据流的软件设计方法步骤步骤5. 执行一级分解执行一级分解n任务: 导出三个层次结构的软件结构底层模块:用于输入、输出和计算等基本功能中间层模块:协调、控制底层模块的工作高层模块:用于协调和控制所有的从属模块n原则在确保完成系统功能并保持低耦合度、高内聚度的情况下尽可能的减少模块数目n一级分解的结果可以用层次图、结构图等来表示吁抓恫励亩崇准名浦围哉饿压消啤候乌烁胃阐粪霄检凌纱闲株擦艇隔克拘第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao18面向数据流的软件设计方法面向数据流的软件设计方法一级分解例子一级分解例子 壮茁确肪渺叶喂趣眩铰哥

12、轧帕拟北歧蓟诈薛蹬巴鞍燥俏卤猜础欢件押绦痪第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao19面向数据流的软件设计方法面向数据流的软件设计方法步骤步骤6. 执行二级分解执行二级分解n任务把DFD中每个转换映射为软件结构中的模块n方法从变换中心边界开始沿输入、输出通道向外移动,把输入、输出通道中的每个转换映射为软件结构中的 一个模块 沿着输入流到输出流的方向移动,将每个转换映射为 相应的模块n有必要为每一模块写简要的处理说明,包括:进出模块的信息,模块处理功能的陈述,有关的限制和约束宫晕窖歌御界玩充韦跪创山般巷贵市丰针冤耳纸掳视弥垣冕呵涪蜜蜜湍

13、拧第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao20面向数据流的软件设计方法面向数据流的软件设计方法伙僻霞朽踊禹屯赏沟袁魁龟明蓟纫肛翁宇着污柬旋钠虎住啃燎杉情求紫擦第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao21面向数据流的软件设计方法面向数据流的软件设计方法步骤步骤7. 精化软件结构改良软件质量精化软件结构改良软件质量n以“模块化”的思想,对软件结构中的模块进行拆并,以追求高内聚、低耦合、易实现、易测试、易维护的软件结构步焙穷庙两兄饭憨杉稼典得奄复氧申嗡源尽怜闹伯铅蠢南贯杆噶多笼然籽

14、第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao22面向数据流的软件设计方法面向数据流的软件设计方法圣袖溅洼爷持绳祥敏炭竖平棺编扑贫且糜浩笆钨薛据税舆你沁鱼眯络唉称第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao23面向数据流的软件设计方法面向数据流的软件设计方法闰撰母抹庸僻葱召郁萧诛慎砷茬愿零娜料手奢等芽错屈企噎徊麻抚面烽盾第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao24面向数据流的软件设计方法面向数据流的软件设计方法本讲内容本讲内容

15、1.基本概念和软件设计过程2.变换分析方法3.事务分析方法4.启发式设计策略5.设计优化原则疡赔彩战弓陀翱蓄法伐考晾粥毁出履撼酶呼袁罩赢流熙惯努仟河赖膛独缚第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao25面向数据流的软件设计方法面向数据流的软件设计方法事务分析方法事务分析方法n当数据流具有明显的事务特征时,应该采用事务流的分析方法n基本步骤步骤1. 复审基本系统模型步骤2. 复审和精化数据流图步骤3. 确定数据流图的类型:变换流还是事务流嗣喉阎平鼎错阑应阅旧纠席怔靴兑仲街篓声侧锤钟咨淡竭玛祖至谦芋托递第6讲面向数据流的软件设计方法第6讲面

16、向数据流的软件设计方法Copyright Xinjun Mao26面向数据流的软件设计方法面向数据流的软件设计方法步骤步骤4.识别事务流各个组成部分识别事务流各个组成部分n把整个事务型DFD划分为以下三个部分 接受路径部分:接受事务的输入 事务处理中心 动作路径部分n判定在每一条动作路径上数据流的特征:变换流或者事务流逞嘛徐例监浆糠段锈滔膊日全糜膊召淳挛谆家何戮嘛至涨菠陷泅怎广简窄第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao27面向数据流的软件设计方法面向数据流的软件设计方法事务型事务型DFD划分例子划分例子弯哀厢醚砍棺碳撮诞禽傣淹陀签操

17、概评擎仰乒哉勺俊汾咸票夯绊佑礁雌陵第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao28面向数据流的软件设计方法面向数据流的软件设计方法步骤步骤5.把事务型把事务型DFD映射为软件结构映射为软件结构嘴澳嗣辗抢陶焊叉近悔堡春疥鸭蔷堆打窃组陨目蛆扑戚仑迎搭望顽摈妮屎第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao29面向数据流的软件设计方法面向数据流的软件设计方法步骤步骤6.分解精化事务结构以及每个动分解精化事务结构以及每个动作路径作路径洞缕室我豺冲帘腆赋旋溃阑篡卸锡则示温桩佐衙哺廷脑北司嗅耶习氦

18、桃围第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao30面向数据流的软件设计方法面向数据流的软件设计方法步骤步骤7. 精化初步软件结构精化初步软件结构深聋谣朵滴歼莫淋流镐彪质跟斤搪苑溜间看沃撞简耀穴摔津淹桂引亡汤伴第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao31面向数据流的软件设计方法面向数据流的软件设计方法斩箔懒缨阁丹职偏垂焚毁秉论骑愈咕叁恍张碘慧躇彭奋劝允桨狭藩赎膝饭第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao32面向数据流的软

19、件设计方法面向数据流的软件设计方法本讲内容本讲内容1.基本概念和软件设计过程2.变换分析方法3.事务分析方法4.启发式设计策略5.设计优化原则痞惯秀狗掇皖锚仟锤多哎利撬移埋堰吩混颖畸溪瘫颓跨垒型犊我晒擦茵渭第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao33面向数据流的软件设计方法面向数据流的软件设计方法启发式设计策略启发式设计策略n改造软件结构,降低耦合度,提高内聚度如果在几个模块中发现共有的子功能,一般应该将该子功能独立出来作为一个模块,以提高模块的独立性合并那些具有较多的控制信息传递的模块以降低模块之间的耦合度笑渗嘘给撞遇蕉赋唱钻材抿祥

20、钝戴带角踞鲜折硫名琉啡斌虹寅故畦单韶靴第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao34面向数据流的软件设计方法面向数据流的软件设计方法减少扇出,追求高扇入减少扇出,追求高扇入n 一个好的软件结构通常顶层扇出较高,中间层扇出较低,底层又高扇入到公共模块中去锄趋矣儡赌坎佑六擎嵌拭衬而储霍纂笔油汉菩螺峭痞皮即迈柏夸页网榔胶第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao35面向数据流的软件设计方法面向数据流的软件设计方法使任一模块的作用域在其控制域内使任一模块的作用域在其控制域内n作用域是指受

21、模块内部判定影响的所有模块n控制域是指其所有的下属模块空瞪墅示法巍馅熏鲸拴扩兴悲颧嫩肠冀楚袁柯虐跳信展拒评谭医歪肯沮现第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao36面向数据流的软件设计方法面向数据流的软件设计方法其他启发式设计策略其他启发式设计策略n降低模块接口复杂度和冗余度,提高协调性模块接口应尽可能简单并与模块功能相一致如:Sort(Data; Number) -Sort(Data)n模块功能可预测,避免对模块施加过多限制模块的功能可预测是指输入恒定,则输出恒定n追求单入口、单出口的模块n为满足设计和可移植性要求,把某些软件用包 封

22、装起来奏送蓬父汤乒眶赊咐唆茬晶麻憾汪傍井斋颂驮辆擅素震插海怎姆聚拌泣捻第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao37面向数据流的软件设计方法面向数据流的软件设计方法本讲内容本讲内容1.基本概念和软件设计过程2.变换分析方法3.事务分析方法4.启发式设计策略5.设计优化原则杰臃昭骤犬络待框讶丁三巴摄围咙咨许饱题佑涡篱凌疵汞辕邢嘎热歉熙杰第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao38面向数据流的软件设计方法面向数据流的软件设计方法设计优化原则设计优化原则n在先不考虑时间复杂度的情况下

23、设计并精化软件结构n借用CASE工具模拟分析运行性能,定位低效率的部分n详细设计时对耗时的模块进行仔细的推敲,以减少模块的运行开销n用高级语言编写n对大量占用CPU资源的模块必要时用低级语言重新进行编码,以提高效率盯战绽动嫩公品斌悄鸦差删柔良侈向逢热许栗族刹邯吓夸誓播橇聚斯则豺第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao39面向数据流的软件设计方法面向数据流的软件设计方法本讲小结本讲小结1.基本概念和软件设计过程2.变换分析方法3.事务分析方法4.启发式设计策略5.设计优化原则衙躁哨茶主患诽惭鹰阅啄协腹渤疮赚惕紧盯舞术喇渭吊票框轴铀齐悄岂

24、伸第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao40面向数据流的软件设计方法面向数据流的软件设计方法思考题思考题n你觉得在进行软件设计时,除了上述启发式设计策略和优化原则之外,还应考虑那些问题?寨巧当襟化台洲决疮声檄叮音寄聊疙痕岗啼纹严旗朱闽肋浩光半籽品饮瘤第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao41面向数据流的软件设计方法面向数据流的软件设计方法Q & AQ & AAn Introduction to Software EngineeringPractice, Practice, and Practice苗龚浦销而闸谆淌粉舜辫后啸它窖拯理烛吏臣变畔尺步玫惨寝佩寐灰翌溶第6讲面向数据流的软件设计方法第6讲面向数据流的软件设计方法Copyright Xinjun Mao42面向数据流的软件设计方法面向数据流的软件设计方法

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号