《软件设计方法》PPT课件.ppt

上传人:牧羊曲112 文档编号:4861286 上传时间:2023-05-20 格式:PPT 页数:92 大小:652.50KB
返回 下载 相关 举报
《软件设计方法》PPT课件.ppt_第1页
第1页 / 共92页
《软件设计方法》PPT课件.ppt_第2页
第2页 / 共92页
《软件设计方法》PPT课件.ppt_第3页
第3页 / 共92页
《软件设计方法》PPT课件.ppt_第4页
第4页 / 共92页
《软件设计方法》PPT课件.ppt_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《《软件设计方法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件设计方法》PPT课件.ppt(92页珍藏版)》请在三一办公上搜索。

1、第四章 软件设计方法,计算机信息工程学院2004年9月,现代软件工程,授课教师:李德生答疑时间:周三下午答疑地点:计算机应用教研室E_mail,4.4概要设计(总体设计),概要设计确定:软件系统的结构各模块功能及模块间联系(接口)表示软件结构的图形工具结构图层次图和HIPO图(HC+IPO图),概要设计的任务与步骤,概要设计的过程:(1)设想可能的方案(2)选取合理的方案(3)推荐最佳方案(4)功能分解(5)设计软件结构(6)数据库设计(7)制定测试计划(8)编写文档(9)审查与复审,结构图(SC Structure Chart),SD方法在概要设计中的主要表达工具约定:,编辑学生记录,读学生

2、记录,学生数据,无此学生,学号,不加区分的数据,数据信息,控制信息,SC中的四种模块,传入模块,(a),(b),A,A,传出模块,B,B,变换模块,(c),C,D,协调模块,E,(d),E,F,F,SC中的选择调用,A,C,B,D,A根据内部判断决定是否调用B,A按另一判定结果选择调用C或D,SC中的循环调用,A,B,C,A根据内在的循环重复调用B、C等模块,结构图(SC)举例,医院管理系统,门诊管理,药房管理,药库管理,病房管理,财务管理,处,方,挂号处理,挂,号,费,总,计,挂号单,挂号费总计,出库处理,进药管理,病历管理,处方管理,常规处理,酒店管理信息系统功能结构图,H M I S,收

3、银管理子系统,收银管理子系统,收银管理子系统,客人登记,预定登记,客房处理,历史记录,客房查询,预定查询,餐桌安排,菜单作业,营业结帐,汇总打印,各类查询,初始设置,客帐处理,退房处理,夜审处理,客帐查询,报表打印,大型零售商场管理信息系统功能结构图,TM M I S,系统维护,POS系统,零售实时系统,商品进货管理,商品批发管理,商品库存管理,商品及商品帐管理,顾客管理,连锁店管理,财务管理,人事工资管理,计划统计管理,经理查询,4.4.2 面向数据流的设计方法(结构化设计方法SD),1.面向数据流设计方法的基本概念 SD以数据流图为基础,它定义了把DFD变换成软件结构的不同映射方法,映射,

4、DFD(问题结构),软件系统的结构(程序结构),系统结构特征可归纳为两种典型形式:,变换型结构事务型结构数据流图可分为两种类型:变换型数据流事务型数据流,变换中心,输入,输出,变换型结构,事务中心,接受路径,动作路径,基本模型 特征,事务型 结构,由输入、变换中心和输出三部分组成,具有在多种事务中选择执行某类事物的能力,变换型数据流 结构,事务型数据流 结构,传入,变换,传出,变换中心,传入部分,传出部分,事务分析,事务中心,动作 1,动作 2,动作 3,接受,接受部分,变换型数据流举例,输入信息,物理输入,格式检查,处理,显示,正确信息,结果,物理输出,数据,变换中心,逻辑输入,逻辑输出,传

5、入部分,传出部分,特点:具有明确的传入、变换(或称主加 工)和传出界面的DFD,变换流示意图,信息,时间,信息流,输入流,输出流,交换流,外部表示,内部表示,事务型数据流图举例,I,M,L,N,O,A,B,C,D,F,E,G,H,大型系统DFD中,变换型和事务型结构往往共存:,T,事务中心,传入,变换,传出,2.面向数据流设计方法的设计步骤,(1)精化DFD(2)确定DFD类型及边界(3)把DFD映射到系统模块结构设计 出模块结构的上层(4)基于DFD逐步分解高层模块设计 出下层模块(5)根据模块独立性原理,精化模 块结构(6)模块接口描述,面向数据流方法的设计过程,精化数据流图,区分事务中心

6、和数据接收路径,映射成变换结构,流类型,区分输入和输出分支,映射成事务结构,用启发式设计规则精化软件结构,导出接口描述和全程数据结构,复查,详细设计,“事务”,“变换”,事务分析,变换分析,SD方法的两种映射过渡方法,变换型DFD,事务型DFD,初始SC,初始SC,变换分析,事务分析,初始的SC,主模块,输入模块,主加工模块,输入模块,事务控制模块,接受模块,动作发送模块,动作1模块,动作2模块,动作3模块,由变换分析产生,由事务分析产生,(1)变换分析设计方法,步骤:(1)区分传入、变换中心、传出部分,在 DFD 上 标明分界线,变换中心的任务就是通过计算或者处理,把系统的逻辑输入变换(或加

7、工)为系统的逻辑输出。所谓逻辑输入,是指离物理输入端(输入始端)最远,但仍可以被看作系统输入的那些数据流。所谓逻辑输出,是指离物理输出端(输出末端)最远,但仍可以被看作系统输出的那些数据流。“一对一”的方式划分DFD边界:逻辑输入:从左向右,单向传递不再成立。逻辑输出:从右向左,单向传递不再成立。,B,C,A,D,E,Q,P,R,W,U,V,a,b,c,e,d,r,p,u,w,v,变换中心,传入部分,传出部分,变换分析设计方法步骤,(2)第一级分解(建立初始SC框架)设计顶层和第一层模块,第一级分解的方法,MC,MT,MA,ME,第一级分解后的SC,MC,MT,MA,ME,第一层,顶层,c,e

8、,c,e,u,w,u,w,传入模块,传出模块,中心变换模块,第一级分解后的SC(另一种画法),MC,MA1,c,e,u,w,c,p,Q,P,R,e,p,r,r,w,u,w,传入分支模块,中心加工分支模块,传出分支模块,MA2,ME1,ME2,变换分析设计方法步骤,(3)第二级分解(分解SC各分支)自顶向下分解,设计出每个分支的中、下层模块,传入分支的分解(1),MA,C,B,A,b,a,c,E,D,d,e,c,e,传入分支的分解(2),MA,Get C,b,a,c,Read D,d,e,c,e,B to C,b,c,d,e,a,b,Get E,Get B,D to E,A to B,Read

9、D,传出分支的分解,ME,W,Write V,u,u,w,u,v,v,v,Put U,U to V,ME,U,Write W,w,w,u,w,u,V,(1),(2),中心加工分支的分解,MT,P,Q,R,e,c,p,r,u,w,p,r,任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中心),以采用事务分析方法为宜。,(2)事务分析设计方法,事务分析设计方法步骤:,(1)在DFD上确定事务中心、接收部 分和发送部分。(2)画出SC框架,把DFD上的三部分 分别映射为事务控制模块、接收 模块和动作发送模块。(3)分解细化接收分支和发送分支,完成初始SC。

10、,用户命令交互子系统,密码命令,密码,显示信息,系统参数数据,用户命令,读系统数据,配置信息,显示信息和状态,命令分析处理,命令类型,开/关命令,建立配置文件,原配置数据,格式化配置数据,配置命令,重试信息,四位数字,检验信息,检验信息,A/D信息,格式化配置数据,格式化配置数据,初始的SC,主模块,输入模块,主加工模块,输出模块,事务控制模块,接受模块,动作发送模块,动作1模块,动作2模块,动作3模块,由变换分析产生,由事务分析产生,事务分析的映射方法,总控,调度,B路径,C路径,接收路径,用户命令交互子系统初始的SC,用户执行模块,读用户命令,命令处理,用户命令交互子系统,密码,显示信息,

11、系统参数数据,用户命令,读系统数据,配置信息,显示信息和状态,命令分析处理,命令类型,建立配置文件,原配置数据,格式化配置数据,重试信息,四位数字,检验信息,检验信息,A/D信息,格式化配置数据,格式化配置数据,密码命令,开/关命令,配置命令,用户命令交互子系统的SC,用户执行模块,读用户命令,命令处理,用户命令交互子系统,密码,显示信息,系统参数数据,用户命令,读系统数据,配置信息,显示信息和状态,命令分析处理,读密码,命令类型,建立配置文件,原配置数据,与文件中密码比较,格式化配置数据,检验信息过程,重试信息,四位数字,检验信息,检验信息,A/D信息,配置数据,格式化配置数据,密码命令,开

12、/关命令,配置命令,用户命令交互子系统的SC,用户执行模块,读用户命令,命令处理,事务流设计举例,I,M,L,N,A,B,C,D,F,E,G,事务中心,事务流设计举例,取 A,总控,A,L,M,N,G,D,B,C,F,E,(主模块),事务加工模块,动作分支的典型结构,P,T 2,T 1,T i,A 2,D 2,A 1,D 1,A 3,A j,D k,事务层,操作层,细节层,处理层,主模块,事务加工模块,操作模块,细节模块,事务流设计举例,取 A,总控,A,L,M,N,G,D,B,C,F,E,动作1,动作n,.,细节模块1,细节模块2,.,(操作模块),(细节模块),事务型数据流图举例,I,M,

13、L,N,O,A,B,C,D,F,E,G,H,事务流设计举例(另一种画法),输入 A,XX系统,变换控制,A,L,M,A,G,D,B,C,F,E,输出 E、F、G,E、F、G,E、F、G,输出H,O,E、F、G,H,H,N,要求类型处理,有效图书管理要求,当前日期,2.1,新书入库,2.2,借,入库单,罚款单,一层数据流图(a),借书,2.3,注销图书,2.5,借书,2.4,目录文件,借书单,书,单,注销单,3,4,1,2,6,7,5,8,10,9,11,变换中心,传入,传出,事务型,(3)混合流设计举例,混合流设计举例,T,事务中心,传入,变换,传出,接收部分,发送部分,AB,T1,变换中心,

14、传入,传出,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,事务子系统,SafeHomede的第0层,SafeHomede软件系统,用户命令和数据,显示信息,控制面板,传感器,传感器状态,警铃,电话线,警告类型,电话号码拨音,控制面板显示,SafeHomede的第1层,控制面板,与用户交互,控制面板显示,密码,

15、电话号码拨音,传感器状态,显示信息,配置请求,用户命令和数据,配置系统,警铃,电话线,传感器,配置信息,显示信息和状态,监控传感器,激活不激活系统,传感器信息,密码处理,警告类型,检验id信息,开始停止,状态信息,监控传感器的第2层,电话号码拨音,传感器状态,配置数据,显示格式,配置信息,产生警告信息,拨号,评估设置,传感器信息,读传感器,警告类型,传感器id类型,传感器id类型定位,4.4.3 体系结构设计优化,将初始SC根据模块独立性原则进行精化,对模块进行合并、分解修改、调整,得到高内聚、低耦合模块,得到易于实现、易于测试和易于维护的软件结构,产生设计文档的最终SC。,改进软件结构设计的

16、指导原则(软件结构设计的启发式规则),(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、

17、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)减少高扇出争取高扇入,高扇出的模块结构举例:,编外人员工资,取得工资数据,计时制工资额,薪金制工资额,编外人员税款,编外人员扣款,常规扣款,税收扣款,计算实发工资,避免平铺结构,增加中间层降低扇出,编外人员工资,取得工资数据,计时制工资额,薪金制工资额,编外人员税款,编外人员扣款,常规扣款,税收扣款,计算实发工资,计时工人实发工资,计薪工人实发工资,编外人员实发工资,(

18、5)模块大小适中,模块过大:可理解程度下降模块过小:开销大于有效操作 系统接口复杂(6)降低模块接口的复杂性 接口传递信息应简单且和模块功能一致。,(7)模块功能可预测,模块看成黑盒子,相同输入产生相同输出,其功能为可预测的。模块带有内部状态其功能可能是不可预测的。难理解、难测试、难维护。,防止模块功能过分局限,功能单一的模块具有高内聚。但如任意限制局部数据结构的大小,过分限制控制流中可做的选择或外部接口的模式,模块功能就过分局限,使用范围过分狭窄,缺乏灵活性和可扩充性。,(8)避免模块的病态连接,防止指向模块中间的分支或引用(针对内容耦合)(9)根据设计约束和可移植性 需求对软件打包 打包指

19、用来为特定环境组装软件的技术,4.4.4 层次图和HIPO图,IBM公司发明的HIPO图:层次图+输入/处理/输出图(H图)(IPO图)(Hierachy Input Process Output),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,2.HIPO图,H图中每一方框(模块)均有一张IPO图对应 航

20、线调度系统HIPO图举例 H图:,命令监控器1.0,取得输入1.1,输入确认 1.2,请求确认1.3,更新处理 1.4,传统的IPO图举例,输入,处理,输出,读口令请求,口令文件,1取得输入,2口令确认,3请求确认,请求记录,权限文件,4更新处理,权限记录,状态报告,响应,命令监控器(1.0)的IPO图,改进的IPO图格式,IPO图,系统:,模块:,编号:,作者:,日期:,被调用:,调用:,输出:,输入:,输入:,局部数据元素:,注释:,4.5详细设计(过程设计、模块设计),主要任务:编写详细设计说明书为此,设计人员应:(1)确定每个模块的算法,用工具 表达算法的过程,写出模块的 详细过程性描

21、述。(2)确定每一模块的数据结构。(3)确定模块接口细节。详细设计是编码的先导。,结构化程序设计(SP)方法,传统的设计技术和旧观念:强调设计的随意性,具有浓厚的个人色彩.追求程序效率和个人设计技巧新的设计思想和风格:清晰第一使用标准的、规范的控制结构逐步细化,4.5.2 详细设计的描述方法,详细设计工具:(1)图形工具(2)表格工具(3)语言工具,1.程序流程图,2.盒图(N-S图),3.问题分析图(PAD),4.过程设计语言(PDL)(伪码),5.判定表,2.盒图(N-S图),用方框图代替传统的流程图描述五种基本控制结构的图形构件(1)顺序型,A,B,C,(2)选择型(If then el

22、se)If then else If then,A,B,F,条件,T,A,F,T,条件,then 部分,then 部分,else部分,(3)多分支选择型(CASE型),A1,值1,A2,An,.,.,条件,值2,值n,(4)WHILE重复型(5)UNTIL重复型,S(循环体),DO-WHILE P,S(循环体),REPEAT UNTIL P,(先测试循环),(后测试循环),循环条件,(6)并行结构,A1,A2,An,.,(7)移出标记,A,C,B,F,X6,T,A:,D,(调用结构),3.问题分析图(PAD),(Problem Analysis Diagram)基本控制结构:(1)顺序结构(2

23、)选择结构,A,B,C,A,B,T,F,条件,(3)重复结构,WHILE C,S,UNTIL C,S,(先测试循环),(后测试循环),等价的PASCAL语言:REPEAT C UNTIL S,等价的PASCAL语言:WHILE C DO S,(4)多分支选择型(CASE型),A1,值1,值2,值n,A2,An,.,.,.,.,条件,系统流程图,早于DFD的一种建模工具。以图形方式说明系统中的控制流和数据流。,系统流程图示例,初始处理,数据检查、库存询问、库存分配,定货处理,帐单处理,启动定货销售,工作结束,定货或询问,显示数据,顾客文卷,库存文卷,库存文卷,接受的定货文卷,临时定货文件,显示选择,查问库存的初始显示,输入查询,输入错询问回答,检查定货单,说明定货单,发票,询问,定货,可行性研究报告 项目开发计划 需求规格说明书 概要设计说明书 详细设计说明书 数据库设计说明书 测试计划 测试分析报告 项目总结报告操作手册用户手册开发进度周报,课程设计提交文档:,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号