《软件结构设计》PPT课件.ppt

上传人:sh****n 文档编号:12760321 上传时间:2020-05-22 格式:PPT 页数:62 大小:829KB
返回 下载 相关 举报
《软件结构设计》PPT课件.ppt_第1页
第1页 / 共62页
《软件结构设计》PPT课件.ppt_第2页
第2页 / 共62页
《软件结构设计》PPT课件.ppt_第3页
第3页 / 共62页
点击查看更多>>
资源描述
软件结构设计,概要设计确定:软件系统的组成结构;各模块功能及模块间联系(接口)。表示软件结构的图形工具结构图层次图和HIPO图,6.5.1结构表示,1.层次图(H图),表示软件的层次结构。,正文加工系统,输入,输出,编辑,加标题,存储,检索,编目录,添加,删除,插入,修改,合并,列表,带编号的层次图(H图),正文加工系统,输入1.0,输出2.0,编辑3.0,加标题4.0,存储5.0,检索6.0,编目录7.0,添加3.1,删除3.2,插入3.3,修改3.4,合并3.5,列表3.6,“图书管理系统”软件层次图,例子:酒店管理信息系统功能层次图,大型零售商场管理信息系统功能层次图,TMMIS,系统维护,POS系统,零售实时系统,商品进货管理,商品批发管理,商品库存管理,商品及商品帐管理,顾客管理,连锁店管理,财务管理,人事工资管理,计划统计管理,经理查询,2.HIPO图,IBM公司发明的HIPO图:层次图+输入/处理/输出图(H图)(IPO图)(HierachyInputProcessOutput),H图中每一方框(模块)均有一张IPO图对应。航线调度系统HIPO图举例H图:,命令监控器1.0,取得输入1.1,输入确认1.2,请求确认1.3,更新处理1.4,传统的IPO图举例,输入,处理,输出,读口令请求,口令文件,1取得输入,2口令确认,3请求确认,请求记录,权限文件,4更新处理,权限记录,状态报告,响应,命令监控器(1.0)的IPO图,改进的IPO图格式,3.结构图(SCStructureChart),是SD方法在概要设计中的主要表达工具。约定:,编辑学生记录,读学生记录,学生数据,无此学生,学号,SC中的四种模块,传入模块,(a),(b),A,A,传出模块,B,B,变换模块,(c),C,D,协调模块,E,(d),E,F,F,SC中的调用(1)选择调用,(2)循环调用,结构图(SC)举例,医院管理系统,门诊管理,药房管理,药库管理,病房管理,财务管理,处,方,挂号处理,挂,号,费,总,计,挂号单,挂号费总计,出库处理,进药管理,病历管理,处方管理,常规处理,6.5.2面向数据流的设计方法(结构化设计方法SD),面向数据流设计方法的基本概念SD以数据流图为基础,它定义了把DFD变换成软件结构的不同映射方法。,映射,DFD(问题结构),软件系统的结构(程序结构),系统结构特征的两种典型形式:,变换型结构事务型结构对应于数据流图可分为两种类型:变换型数据流事务型数据流,变换型结构,基本类型特征,事务型结构,由输入、变换中心和输出三部分组成,具有在多种事务中选择执行某类事物的能力,大型系统DFD中,变换型和事务型结构往往共存:,变换型数据流结构,事务型数据流结构,传入,变换,传出,变换中心,传入部分,传出部分,事务分析,事务中心,动作1,动作2,动作3,接受,接受部分,变换型数据流举例,输入信息,物理输入,格式检查,处理,显示,正确信息,结果,物理输出,数据,变换中心,逻辑输入,逻辑输出,传入部分,传出部分,特点:具有明确的传入、变换(或称主加工)和传出界面的DFD,变换流示意图,信息,时间,信息流,输入流,输出流,交换流,外部表示,内部表示,事务型数据流图举例,I,M,L,N,O,A,B,C,D,F,E,G,H,要求类型处理,有效图书管理要求,当前日期,2.1,新书入库,2.2,借,入库单,罚款单,事务型数据流图举例,借书,2.3,注销图书,2.5,借书,2.4,目录文件,借书单,书,单,注销单,设计步骤,(1)精化DFD(2)确定DFD类型(3)把DFD映射到系统模块结构设计出模块结构的上层(4)基于DFD逐步分解高层模块设计出下层模块(5)根据模块独立性原理,精化模块结构(6)模块接口描述,设计过程,精化数据流图,区分事务中心和数据接收路径,映射成变换结构,流类型,区分输入和输出分支,映射成事务结构,用启发式设计规则精化软件结构,导出接口描述和全程数据结构,复查,详细设计,“事务”,“变换”,事务分析,变换分析,两种映射过渡方法,变换型DFD,事务型DFD,初始SC,初始SC,变换分析,事务分析,变换型数据流结构,传入,变换,传出,变换中心,传入部分,传出部分,初始的SC,由变换分析产生,事务型数据流结构,事务分析,事务中心,动作1,动作2,动作3,接受,接受部分,由事务分析产生,1.变换分析设计方法,步骤:(1)区分传入、变换中心、传出部分,在DFD上标明分界线;,步骤(续),(2)第一级分解(建立初始SC框架)设计顶层和第一层模块;例子图上部,步骤(续),(3)第二级分解(分解SC各分支)自顶向下分解,设计出每个分支的中、下层模块。例子图下部,B,C,A,D,E,Q,P,R,W,U,V,a,b,c,e,d,r,p,u,w,v,变换中心,传入部分,传出部分,第一级分解的方法,第一级分解后的SC,MC,MT,MA,ME,第一层,顶层,c,e,c,e,u,w,u,w,传入模块,传出模块,中心变换模块,传入分支的分解(1),c,e,传入分支的分解(2),MA,GetC,b,a,c,ReadD,d,e,c,e,BtoC,b,c,d,e,a,b,GetE,GetB,DtoE,AtoB,ReadA,传出分支的分解,ME,WriteV,u,u,w,u,v,v,PutU,UtoV,WriteW,w,(1),(2),中心加工分支的分解,第一级分解后的SC(另一种画法),MC,MA1,c,e,u,w,c,p,Q,P,R,e,p,r,r,w,u,w,传入分支模块,中心加工分支模块,传出分支模块,MA2,ME1,ME2,任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中心),以采用事务分析方法为宜。,2.事务分析设计方法,步骤:,(1)在DFD上确定事务中心、接收部分和发送部分;(2)画出SC框架,把DFD上的三部分分别映射为事务控制模块、接收模块和动作发送模块;(3)分解细化接收分支和发送分支,完成初始SC。,事务控制模块,接受模块,动作发送模块,动作1模块,动作2模块,动作3模块,由事务分析产生,事务分析的映射方法,事务流设计举例,I,M,L,N,A,B,C,D,F,E,G,事务中心,事务流设计举例(另一种画法),取A,总控,A,L,M,N,G,D,B,C,F,E,动作1,动作n,.,细节模块1,细节模块2,.,(操作模块),(细节模块),动作分支的典型结构,P,T2,T1,Ti,A2,D2,A1,D1,A3,Aj,Dk,事务层,操作层,细节层,处理层,主模块,事务加工模块,操作模块,细节模块,3.混合流设计举例,T,事务中心,传入,变换,传出,接收部分,发送部分,AB,T1,变换中心,传入,传出,T2,T3,a,b,b1,b2,b3,c1,c2,c3,d,e,g,f,j,m,事务流子系统,BC,CD,DE,EH,HK,FJ,KL,LM,h,混合流设计举例,k,混合流设计举例,输入D,XX系统,变换控制,输出K,输入C,d,c,输出L,CD,DE,FJ,EH,HK,KL,c,d,d,k,k,k,L,L,输出M,LM,m,m,L,事务子系统,4.结构设计优化,将初始SC根据模块独立性原则进行精化,对模块进行合并、分解修改、调整,得到高内聚、低耦合模块,以及易于实现、易于测试和易于维护的软件结构,产生设计文档的最终SC。,改进软件结构设计的指导原则(软件结构设计的启发式规则),(1)模块功能的完善化(2)消除重复功能(3)将模块的影响限制在模块的控制范围内(4)深度、宽度、扇出和扇入适中(5)模块大小适中(6)降低模块接口的复杂性(7)模块功能可预测(8)避免模块的病态连接(9)根据设计约束和可移植性要对软件打包,(1)模块功能的完善化,完整的模块应包括三部分:1)执行规定功能部分2)出错处理部分3)需返回给调用者数据时,返回是否正确结束标志。,(2)消除重复功能,Q1,C,Q2,C,Q1,Q2,C,改进前Q1、Q2功能相似,X,Y,Q,X,Y,X,Y,重复部分,改进方法1:将Q1、Q2合并为Q不可取,改进方法2:将Q1、Q2的公共部分分离出来,C,H,D,E,G,X,F,(3)将模块的影响限制在模块的控制范围内,A,I,L,J,K,B,模块C的控制范围:C、D、E、F、G、H,如果模块C作出的决策影响了模块L,L超出了C的控制范围,(4)减少模块高扇出,争取模块高扇入,高扇出的模块结构举例:,编外人员工资,取得工资数据,计时制工资额,薪金制工资额,编外人员税款,编外人员扣款,常规扣款,税收扣款,计算实发工资,避免平铺结构,增加中间层降低扇出,编外人员工资,取得工资数据,计时制工资额,薪金制工资额,编外人员税款,编外人员扣款,常规扣款,税收扣款,计算实发工资,计时工人实发工资,计薪工人实发工资,编外人员实发工资,(5)模块大小适中,模块过大:可理解程度下降。模块过小:开销大于有效操作系统接口复杂。(6)降低模块接口的复杂性接口传递信息应简单且和模块功能一致。,(7)模块功能可预测,模块看成黑盒子,相同输入产生相同输出,其功能为可预测的。模块带有内部状态其功能可能是不可预测的。难理解、难测试、难维护。,防止模块功能过分局限,功能单一的模块具有高内聚。但如任意限制局部数据结构的大小,过分限制控制流中可做的选择或外部接口的模式,模块功能就过分局限,使用范围过分狭窄,缺乏灵活性和可扩充性。,(8)避免模块的病态连接,防止指向模块中间的分支或引用(针对内容耦合)。(9)根据设计约束和可移植性需求对软件打包打包指用来为特定环境组装软件的技术。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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