第四章-软件设计方法课件

PPT
  • 阅读 75 次
  • 下载 0 次
  • 页数 92 页
  • 大小 671.012 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
第四章-软件设计方法课件
可在后台配置第一页与第二页中间广告代码
第四章-软件设计方法课件
可在后台配置第二页与第三页中间广告代码
第四章-软件设计方法课件
可在后台配置第三页与第四页中间广告代码
第四章-软件设计方法课件
第四章-软件设计方法课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 92
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】第四章-软件设计方法课件.ppt,共(92)页,671.012 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-45325.html

以下为本文档部分文字说明:

第四章软件设计方法计算机信息工程学院2004年9月现代软件工程授课教师:李德生答疑时间:周三下午答疑地点:计算机应用教研室E_mail:Lids_cs@126.com§4.4概要设计(总体设计)概要设计确定:•软件系统的结构•各模块功能及模块间联系(接口)表示软件

结构的图形工具结构图层次图和HIPO图(HC+IPO图)概要设计的任务与步骤概要设计的过程:(1)设想可能的方案(2)选取合理的方案(3)推荐最佳方案(4)功能分解(5)设计软件结构(6)数据库设计(7)制定测试计划(8)编写文档(9)审查与

复审4.4.1结构图(SCStructureChart)SD方法在概要设计中的主要表达工具约定:编辑学生记录读学生记录学生数据无此学生学号不加区分的数据数据信息控制信息SC中的四种模块传入模块(a)(b)AA传出模块BB变换模块(c)CD协调模块E(d)EFFSC中的选择调用ACBD

A根据内部判断决定是否调用BA按另一判定结果选择调用C或DSC中的循环调用ABCA根据内在的循环重复调用B、C等模块结构图(SC)举例医院管理系统门诊管理药房管理药库管理病房管理财务管理处方挂号处理挂号费总计挂号单挂号费总计出库处理进药管理病历管理处方管理常规处理酒店管理信息系统功能结构图HMI

S收银管理子系统收银管理子系统收银管理子系统客人登记预定登记客房处理历史记录客房查询预定查询餐桌安排菜单作业营业结帐汇总打印各类查询初始设置客帐处理退房处理夜审处理客帐查询报表打印大型零售商场管理信息系统功能结构图TMMIS系统维护POS系统零售实时系统商品进货管

理商品批发管理商品库存管理商品及商品帐管理顾客管理连锁店管理财务管理人事工资管理计划统计管理经理查询4.4.2面向数据流的设计方法(结构化设计方法SD)1.面向数据流设计方法的基本概念SD以数据流图为基础,它定义了把DFD变换成软件结构的不同映射

方法映射DFD(问题结构)软件系统的结构(程序结构)系统结构特征可归纳为两种典型形式:变换型结构事务型结构数据流图可分为两种类型:变换型数据流事务型数据流变换中心输入输出变换型结构事务中心接受路径动作路径基本模型特征事务型结构由输入

、变换中心和输出三部分组成具有在多种事务中选择执行某类事物的能力变换型数据流结构事务型数据流结构传入变换传出变换中心传入部分传出部分事务分析事务中心动作1动作2动作3接受接受部分变换型数据流举例输入信息物理输入格式检查处理显示正确信息结果物理输出数

据变换中心逻辑输入逻辑输出传入部分传出部分特点:具有明确的传入、变换(或称主加工)和传出界面的DFD变换流示意图信息时间信息流输入流输出流交换流外部表示内部表示事务型数据流图举例IMLNOABCDFEGH大型系统

DFD中,变换型和事务型结构往往共存:T事务中心传入变换传出2.面向数据流设计方法的设计步骤(1)精化DFD(2)确定DFD类型及边界(3)把DFD映射到系统模块结构设计出模块结构的上层(4)基于DFD逐步分解高层模块设计出下层模块(5)根据模块独立性原理,精化模块结构(6)模块接口描述面向数据

流方法的设计过程精化数据流图区分事务中心和数据接收路径映射成变换结构流类型区分输入和输出分支映射成事务结构用启发式设计规则精化软件结构导出接口描述和全程数据结构复查详细设计“事务”“变换”事务分析变换分析SD方法的两种映射过渡方法变换型DFD事务型DFD初始SC初始

SC变换分析事务分析初始的SC主模块输入模块主加工模块输入模块事务控制模块接受模块动作发送模块动作1模块动作2模块动作3模块由变换分析产生由事务分析产生(1)变换分析设计方法步骤:(1)区分传入、变换中心、传出部分,在DFD上标明分界线变换中心的任务就是通过计算或者处理,

把系统的逻辑输入变换(或加工)为系统的逻辑输出。所谓逻辑输入,是指离物理输入端(输入始端)最远,但仍可以被看作系统输入的那些数据流。所谓逻辑输出,是指离物理输出端(输出末端)最远,但仍可以被看作系统输出的那些数据流。“一对一”的方式划分DFD边界

:逻辑输入:从左向右,单向传递不再成立。逻辑输出:从右向左,单向传递不再成立。BCADEQPRWUVabcedrpuwv变换中心传入部分传出部分变换分析设计方法步骤(2)第一级分解(建立初始SC框架)设计顶层和第一层模块第一级分解的方法

MCMTMAME第一级分解后的SCMCMTMAME第一层顶层c,ec,eu,wu,w传入模块传出模块中心变换模块第一级分解后的SC(另一种画法)MCMA1ceu,wc,pQPReprrw,uw传入分支模块中心加工分支模块传出分支模块MA2ME1ME

2变换分析设计方法步骤(3)第二级分解(分解SC各分支)自顶向下分解,设计出每个分支的中、下层模块传入分支的分解(1)MACBAbacEDdec,e传入分支的分解(2)MAGetCbacReadDde

c,eBtoCbcdeabGetEGetBDtoEAtoBReadD传出分支的分解MEWWriteVuuw,uvvvPutUUtoVMEUWriteWwwuw,uV(1)(2)中心加工分支的分解MTPQRec,pru,wpr任

何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中心),以采用事务分析方法为宜。(2)事务分析设计方法事务分析设计方法步骤:(1)在DFD上确定事务中心、接收部分和发送部分。(2)画出SC框架,把

DFD上的三部分分别映射为事务控制模块、接收模块和动作发送模块。(3)分解细化接收分支和发送分支,完成初始SC。用户命令交互子系统DFD读用户命令密码命令密码显示信息系统参数数据用户命令读系统数据配置信息显示信息和状态

命令分析处理读密码命令类型开/关命令建立配置文件原配置数据激活/非活动系统与文件中密码比较格式化配置数据配置命令检验信息过程重试信息四位数字检验信息检验信息A/D信息格式化配置数据格式化配置数据初始的SC

主模块输入模块主加工模块输出模块事务控制模块接受模块动作发送模块动作1模块动作2模块动作3模块由变换分析产生由事务分析产生事务分析的映射方法总控调度C路径B路径A路径A路径B路径C路径接收路径用户命令交互子系统初始的SC用户执行模块

读用户命令命令处理密码处理控制器现用/非现用系统系统设置控制器用户命令交互子系统DFD读用户命令密码显示信息系统参数数据用户命令读系统数据配置信息显示信息和状态命令分析处理读密码命令类型建立配置文件原配置数据激活/非活动系统

与文件中密码比较格式化配置数据检验信息过程重试信息四位数字检验信息检验信息A/D信息格式化配置数据格式化配置数据密码命令开/关命令配置命令用户命令交互子系统的SC用户执行模块读用户命令命令处理密码处理控制器现用/非现用系统系统设置控制器读系统数据建立配置文件显示信息与状

态用户命令交互子系统DFD读用户命令密码显示信息系统参数数据用户命令读系统数据配置信息显示信息和状态命令分析处理读密码命令类型建立配置文件原配置数据激活/非活动系统与文件中密码比较格式化配置数据检验信息过程重试信息四位数字检验信息检验信息A/D信息配置数据格式化配置数据

密码命令开/关命令配置命令用户命令交互子系统的SC用户执行模块读用户命令命令处理密码处理控制器现用/非现用系统系统设置控制器读系统数据建立配置文件显示信息与状态读密码用文件比较密码密码输出控制器产生无

效信息事务流设计举例IMLNABCDFEG事务中心事务流设计举例取A总控ALMNGDBCFE(主模块)事务加工模块动作分支的典型结构PT2T1TiA2D2A1D1A3AjDk事务层操作层细节层处理层主模块事务加工模块操作模块细节模块事务流设计举例取A总

控ALMNGDBCFE动作1动作n….细节模块1细节模块2….(操作模块)(细节模块)事务型数据流图举例IMLNOABCDFEGH事务流设计举例(另一种画法)输入AXX系统变换控制ALMAGDBCFE输出E、F、GE、F、GE、F

、G输出HOE、F、GHHN要求类型处理有效图书管理要求当前日期2.1新书入库2.2借入库单罚款单一层数据流图(a)借书2.3注销图书2.5借书2.4目录文件借书单书单注销单3412675810911变换中心传入传出事务型(3)混合流设计举例混合流

设计举例T事务中心传入变换传出接收部分发送部分ABT1变换中心传入传出T2T3abb1b2b3c1c2c3degfjLm事务流子系统BCCDDEEHHKFJKLLMh混合流设计举例k混合流设计举例输入DXX系统变换控制输出K输入Cdc输出LCD

DEFJEHHKKLcddkkkLL输出MLMmmL事务子系统SafeHomede的第0层DFDSafeHomede软件系统用户命令和数据显示信息控制面板传感器传感器状态警铃电话线警告类型电话号码拨音控制

面板显示SafeHomede的第1层DFD控制面板与用户交互控制面板显示密码电话号码拨音传感器状态显示信息配置请求用户命令和数据配置系统警铃电话线传感器配置信息显示信息和状态监控传感器激活/不激活系统传感器

信息密码处理警告类型检验id信息开始停止状态信息监控传感器的第2层DFD电话号码拨音传感器状态配置数据显示格式配置信息产生警告信息拨号评估设置传感器信息读传感器警告类型传感器id类型传感器id类型定位4.4.3体系结构设

计优化将初始SC根据模块独立性原则进行精化,对模块进行合并、分解修改、调整,得到高内聚、低耦合模块,得到易于实现、易于测试和易于维护的软件结构,产生设计文档的最终SC。改进软件结构设计的指导原则(软件结构设计的启发式规则)(1)模块

功能的完善化(2)消除重复功能(3)将模块的影响限制在模块的控制范围内(4)深度、宽度、扇出和扇入适中(5)模块大小适中(6)降低模块接口的复杂性(7)模块功能可预测(8)避免模块的病态连接(9)根据设计约束和可移植性要对软件打包(1)模块功能的完善化

完整的模块应包括三部分:(1)执行规定功能部分(2)出错处理部分(3)需返回给调用者数据时,返回是否正确结束标志。(2)消除重复功能Q1CQ2CQ1Q2C改进前Q1、Q2功能相似XYQ’XYXY重复部分改进方法1:将Q1、Q2合

并为Q’不可取改进方法2:将Q1、Q2的公共部分分离出来CHDEGXF(3)将模块的影响限制在模块的控制范围内AILJKB模块C的控制范围:C、D、E、F、G、H如果模块C作出的决策影响了模块L,L超出了C的控制范围(4)减少高扇出争取高扇入高扇

出的模块结构举例:编外人员工资取得工资数据计时制工资额薪金制工资额编外人员税款编外人员扣款常规扣款税收扣款计算实发工资避免平铺结构增加中间层降低扇出编外人员工资取得工资数据计时制工资额薪金制工资额编外人员税款编外人员扣款常规扣款税收扣款计算实发工资计时工人实发工资计薪工人实发工

资编外人员实发工资(5)模块大小适中模块过大:可理解程度下降模块过小:开销大于有效操作系统接口复杂(6)降低模块接口的复杂性接口传递信息应简单且和模块功能一致。(7)模块功能可预测模块看成黑盒子,相同输入产生相同输出,其功能为可预测的。模块带有内部状态其功能

可能是不可预测的。难理解、难测试、难维护。防止模块功能过分局限功能单一的模块具有高内聚。但如任意限制局部数据结构的大小,过分限制控制流中可做的选择或外部接口的模式,模块功能就过分局限,使用范围过分狭窄,缺乏灵活性

和可扩充性。(8)避免模块的病态连接防止指向模块中间的分支或引用(针对内容耦合)(9)根据设计约束和可移植性需求对软件打包打包指用来为特定环境组装软件的技术4.4.4层次图和HIPO图IBM公司发明的HIPO图:层次图+输入/处理/输出图(H图)(IPO图)(HierachyInpu

tProcessOutput)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.62.HIPO图H图中每一方框(模块)均有一张IPO图对应航线调度系统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)确定每个模

块的算法,用工具表达算法的过程,写出模块的详细过程性描述。(2)确定每一模块的数据结构。(3)确定模块接口细节。详细设计是编码的先导。4.5.1结构化程序设计(SP)方法传统的设计技术和旧观念:强调设计的随

意性,具有浓厚的个人色彩.追求程序效率和个人设计技巧新的设计思想和风格:清晰第一使用标准的、规范的控制结构逐步细化4.5.2详细设计的描述方法详细设计工具:(1)图形工具(2)表格工具(3)语言工具1.程序流程图2.盒图(N-S图)3.问题分析图(PAD)4.过程设计语言(

PDL)(伪码)5.判定表2.盒图(N-S图)用方框图代替传统的流程图描述五种基本控制结构的图形构件(1)顺序型ABC(2)选择型(If–then–else)If–then–elseIf–thenABF条件TAFT条件then–部分then–部分else–部分(3)多分支选择型(CASE型)A1值

1A2An........条件值2值n(4)WHILE重复型(5)UNTIL重复型S(循环体)DO-WHILEPS(循环体)REPEATUNTILP(先测试循环)(后测试循环)循环条件(6)并行结构A1A2An....(7)移出标

记ACBFX6TA:D(调用结构)3.问题分析图(PAD)(ProblemAnalysisDiagram)基本控制结构:(1)顺序结构(2)选择结构ABCABTF条件(3)重复结构WHILECSUNTILCS(先测试循环)(后测试循环)等价的PASCAL语言:REPEATCUNT

ILS等价的PASCAL语言:WHILECDOS(4)多分支选择型(CASE型)A1值1值2值nA2An......条件系统流程图早于DFD的一种建模工具。以图形方式说明系统中的控制流和数据流。系统流程图示例初始处

理数据检查、库存询问、库存分配定货处理帐单处理启动定货销售工作结束定货或询问显示数据顾客文卷库存文卷库存文卷接受的定货文卷临时定货文件显示选择查问库存的初始显示输入查询输入错询问回答检查定货单说明定货单发票询问定货1.可行性研究报告2.项目开发计划3.需求规格说明书4.概要设计说

明书5.详细设计说明书6.数据库设计说明书7.测试计划8.测试分析报告9.项目总结报告10.操作手册11.用户手册12.开发进度周报课程设计提交文档:

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?