欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    结构化设计方法.ppt

    • 资源ID:60583102       资源大小:678.50KB        全文页数:89页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    结构化设计方法.ppt

    结构化设计方法 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望将分析模型转换为软件设计将分析模型转换为软件设计将分析模型转换为软件设计将分析模型转换为软件设计数据数据字典字典数据数据流图流图E-RE-R图图状态变迁图状态变迁图加加加加工工工工说说说说明明明明控制说明控制说明控制说明控制说明数数据据对对说说 明明 象象数数 据据 设设 计计体系结构设计体系结构设计接口设计接口设计过程设计过程设计分析模型分析模型设计模型设计模型4.2.1 4.2.1 软件设计的概念和原理软件设计的概念和原理 1.1.软件结构软件结构 2.2.软件过程软件过程 3.3.模块化模块化 4.4.抽象抽象 5.5.信息隐蔽信息隐蔽 6.6.信息局部化信息局部化4.2.6 4.2.6 模块的独立性模块的独立性模块独立的含义:模块独立的含义:模块完成独立的功能模块完成独立的功能符合信息隐蔽和信息局部化原则符合信息隐蔽和信息局部化原则模块间关连和依赖程度尽量小模块间关连和依赖程度尽量小模块独立性的度量模块独立性的度量 模块独立性取决于模块的内部和模块独立性取决于模块的内部和外部特征。外部特征。SDSD方法提出的定性的度量标准:方法提出的定性的度量标准:模块之间的模块之间的耦合性耦合性 模块自身的模块自身的内聚性内聚性模块间耦合的类型:模块间耦合的类型:低低 无无直接耦合直接耦合耦耦 数据耦合数据耦合合合 标记耦合标记耦合性性 控制耦合控制耦合 外部耦合外部耦合 公共耦合公共耦合 高高 内容耦合内容耦合模模块块独独立立性性弱弱(低耦合低耦合)强强(中耦合中耦合)(较强耦合较强耦合)(强耦合强耦合)(1)(1)无无直接耦合直接耦合 两个模块没有直接关系两个模块没有直接关系(模块模块1 1和和模块模块2)2),模块独立性最强。,模块独立性最强。模块模块1 1模块模块2 2模块模块3 3模块模块4 4(2)(2)数据耦合数据耦合 一模块调用另一模块一模块调用另一模块时,被调用模块的输入、时,被调用模块的输入、输出都是简单的数据输出都是简单的数据(若干若干参数参数)。属松散耦合。属松散耦合。数据耦合举例数据耦合举例开发票开发票计算水费计算水费单价单价数量数量金额金额(3)3)标记耦合标记耦合(特征耦合特征耦合)如两个模块通过传递如两个模块通过传递数据结构数据结构(不是简单数据不是简单数据,而是记录、数组而是记录、数组等等)加以联系加以联系,或都与一个或都与一个数据数据结构结构有关系有关系,则称这两个模块则称这两个模块间存在标记偶合间存在标记偶合。标记耦合举例标记耦合举例计算水电费计算水电费计算水费计算水费计算电费计算电费住户情况住户情况水费水费电费电费住户情况住户情况“住户情况住户情况”是一个是一个数据结构数据结构,图中模块都图中模块都与此数据结构有关与此数据结构有关.“计算水费计算水费”和和“计算电费计算电费”本无关本无关,由于由于引用了此数据结构产生依赖关系引用了此数据结构产生依赖关系,它们之间它们之间也是标记偶合也是标记偶合.将标记耦合修改为将标记耦合修改为数据耦合举例数据耦合举例计算水电费计算水电费计算水费计算水费计算电费计算电费本月本月用水量用水量本月本月用电量用电量水费水费电费电费(4)(4)控制耦合控制耦合 一模块一模块向下属模块传递的信向下属模块传递的信息息 (开关量、标志等控制开关量、标志等控制被被调用模块决策的变量调用模块决策的变量)控制控制了被调用了被调用模块的模块的内部逻辑内部逻辑。控制耦合举例A A计算平均分计算平均分或最高分或最高分B B平均平均/最高最高(控制信号控制信号)成绩成绩读入分数读入分数输出结果输出结果计算平均分计算平均分计算最高分计算最高分平均平均/最高最高?B B控制耦合增加了理解和编程的复控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖块的内部逻辑,增加了相互依赖去除模块间控制耦合的方法:去除模块间控制耦合的方法:(1)(1)将被调用模块内的判定上移到调将被调用模块内的判定上移到调 用模块中进行用模块中进行(2)(2)被调用模块分解成若干单一功被调用模块分解成若干单一功 能模块能模块改控制耦合为数据耦合举例改控制耦合为数据耦合举例A A计算平均分计算平均分B1B1平均成绩最高成绩计算最高分计算最高分B2B2(5)(5)外部耦合外部耦合一组模块均与同一外部环境关联一组模块均与同一外部环境关联(例如例如,I/O,I/O模块与特定的设备、模块与特定的设备、格式和通信协议相关联格式和通信协议相关联),),它们之它们之间便存在外部耦合间便存在外部耦合。外部偶合必不可少外部偶合必不可少,但这种模块但这种模块数目应尽量少数目应尽量少。(6)(6)公共耦合公共耦合(公共数据区耦合公共数据区耦合)一组模块引用同一个公用数据区一组模块引用同一个公用数据区(也称全局数据区、公共数据环境也称全局数据区、公共数据环境)。公共数据区公共数据区指:指:F 全局数据结构全局数据结构F 共享通讯区共享通讯区F 内存公共覆盖区等内存公共覆盖区等公共耦合举例公共耦合举例公共数据区公共数据区C CB B模块模块模块模块A AA A、B BB B、C CC C间存在错综复杂的联系间存在错综复杂的联系间存在错综复杂的联系间存在错综复杂的联系(1)(1)软件可理解性降低软件可理解性降低(2)(2)诊断错误困难诊断错误困难(3)(3)软件可维护性差软件可维护性差,(4)(4)软件可靠性差软件可靠性差(公共数据区及全程变量无保护措施公共数据区及全程变量无保护措施)慎用公共数据区和全程变量慎用公共数据区和全程变量!公共耦合存在的问题:公共耦合存在的问题:(7)(7)内容耦合内容耦合一模块直接访问一模块直接访问一模块直接访问一模块直接访问另一模块的内部另一模块的内部另一模块的内部另一模块的内部信息信息信息信息(程序代码程序代码程序代码程序代码或数据)或数据)或数据)或数据)最不好的耦合形式最不好的耦合形式最不好的耦合形式最不好的耦合形式 !AABBAABB模块代码重叠模块代码重叠模块代码重叠模块代码重叠Entry1Entry1 Entry1Entry1 多入口模块多入口模块多入口模块多入口模块模块化设计的原则和目标模块化设计的原则和目标 耦合是影响软件复杂程度和设耦合是影响软件复杂程度和设计质量的重要因素计质量的重要因素目标目标:建立模块间耦合度尽可能:建立模块间耦合度尽可能松散的系统松散的系统如何降低模块间耦合度如何降低模块间耦合度:(1)(1)尽量使用数据耦合尽量使用数据耦合少用控制耦合少用控制耦合限制公共耦合的范围限制公共耦合的范围坚决避免使用内容耦合坚决避免使用内容耦合(2)(2)降低接口的复杂性降低接口的复杂性2.2.模块独立性的度量之二:内聚性模块独立性的度量之二:内聚性 一个模块内部元素在功能上相互一个模块内部元素在功能上相互关联的强度关联的强度 设计目标:高内聚设计目标:高内聚 (模块模块在软件过程中在软件过程中 完成单一的任务完成单一的任务)模块的内聚性类型:模块的内聚性类型:低低 偶然偶然内聚内聚 内内 逻辑内聚逻辑内聚 聚聚 时间内聚时间内聚 性性 过程内聚过程内聚 通信内聚通信内聚 信息内聚信息内聚 高高 功能内聚功能内聚模模块块独独立立性性弱弱(功能分散功能分散)强强(功能单一功能单一)低低内聚内聚模块模块举例举例 为工程分析包执行错误处理的为工程分析包执行错误处理的模块模块,当计算,当计算的数据超出预定义的边界时调用该模块,它完成的数据超出预定义的边界时调用该模块,它完成下列任务:下列任务:(1 1)根据)根据初始初始计算的数据计算补充数据;计算的数据计算补充数据;(2 2)在用户的工作站上生成错误报告;)在用户的工作站上生成错误报告;(3 3)执行用户要求的跟踪计算;)执行用户要求的跟踪计算;(4 4)更新数据库;)更新数据库;(5 5)使选择后续处理的菜单有效。)使选择后续处理的菜单有效。虽然上述任务是松散相关的,但每一项虽然上述任务是松散相关的,但每一项都是独立的功能实体,最好作为独立的都是独立的功能实体,最好作为独立的模模块块完成完成。(1)(1)偶然内聚偶然内聚(巧合内聚巧合内聚)模块内各部分间无联系模块内各部分间无联系ABCMMOVE O TO RREAD FILE FMOVE S TO T模块模块M中的三个语句没有任何联系中的三个语句没有任何联系缺点:缺点:可理解性差可理解性差,可修改性差可修改性差例例:(2)(2)逻辑内聚逻辑内聚 把几种相关功能把几种相关功能(逻辑上相似逻辑上相似 的功能的功能)组合在一模块内组合在一模块内,每每次调用由传给模块的参数确定次调用由传给模块的参数确定执行哪种功能。执行哪种功能。逻辑内聚模块ABCEFGABCEFGA1B1C1EFGEFG模块内部逻辑模块内部逻辑E E、F F、G G逻辑逻辑功能相似,组功能相似,组成新模块成新模块EFGEFG缺点缺点缺点缺点:增强了耦合程度增强了耦合程度增强了耦合程度增强了耦合程度(控制耦合控制耦合控制耦合控制耦合)不易修改,效率低不易修改,效率低不易修改,效率低不易修改,效率低公用代码段公用代码段公用代码段公用代码段(3)(3)时间内聚时间内聚(经典内聚经典内聚)模块完成的功能必须在同一时间模块完成的功能必须在同一时间内执行,这些功能只因时间因素内执行,这些功能只因时间因素关联在一起。关联在一起。例如例如:初始化系统模块、初始化系统模块、系统结束模块、系统结束模块、紧急故障处理模块等均是时间性聚合紧急故障处理模块等均是时间性聚合 模块模块.(4)过程内聚(顺序性组合)模块内各处理成分相关,模块内各处理成分相关,且必须以特定次序执行且必须以特定次序执行过程内聚模块读入读入成绩单成绩单审查审查成绩单成绩单统计统计成绩成绩打印打印成绩成绩读入并审查读入并审查读入并审查读入并审查成绩单成绩单成绩单成绩单统计并打印统计并打印统计并打印统计并打印成绩单成绩单成绩单成绩单(5)通信内聚 模块内各部分使用相同的输模块内各部分使用相同的输入数据,或产生相同的输出入数据,或产生相同的输出结果结果通信内聚模块例产生工产生工资报表资报表计算平计算平均工资均工资职工工职工工资记录资记录职工工职工工资报表资报表平均平均平均平均工资工资工资工资产生职工工资报表并计算平均工资模块产生职工工资报表并计算平均工资模块产生职工工资报表并计算平均工资模块产生职工工资报表并计算平均工资模块(6)(6)信息内聚信息内聚模块完成多个功能,各功能模块完成多个功能,各功能都在同一数据结构上操作,都在同一数据结构上操作,每一功能有唯一入口。每一功能有唯一入口。信息内聚模块符符 号号 表表查找查找 登录登录 删除删除修改修改几个加工同时引用一个共同的数据几个加工同时引用一个共同的数据(7)(7)功能内聚功能内聚 模块仅包括为完成某个功能所必模块仅包括为完成某个功能所必须的所有成分。须的所有成分。(模块所有成分共同完成一个功模块所有成分共同完成一个功 能,缺一不可能,缺一不可)内聚性最强内聚性最强 内聚与耦合密切相关,同其内聚与耦合密切相关,同其它模块强耦合的模块意味者弱内它模块强耦合的模块意味者弱内聚,强内聚模块意味着与其它模聚,强内聚模块意味着与其它模块间松散耦合块间松散耦合.设计目标:设计目标:力争强内聚、弱耦合力争强内聚、弱耦合3.3.耦合、内聚与模块独立性关系耦合、内聚与模块独立性关系 耦合与内聚都是模块独立性的耦合与内聚都是模块独立性的定性标准,都反映模块独立性的良定性标准,都反映模块独立性的良好程度。但耦合是直接的主导因素,好程度。但耦合是直接的主导因素,内聚则辅助耦合共同对模块独立性内聚则辅助耦合共同对模块独立性进行衡量。进行衡量。4.2.7 4.2.7 概要概要设计设计(总体总体设计设计)确定:软件系统的结构软件系统的结构各模块功能及模块间联系各模块功能及模块间联系(接口接口)表示软件表示软件结构的图形工具结构的图形工具结构图结构图层次图层次图和和HIPO图图面向数据流的设计方法面向数据流的设计方法(结构化设计方法结构化设计方法SDSD)1.1.面向数据流设计方法的基本概念 SD以数据流图为基础,它定义了把以数据流图为基础,它定义了把DFD变换成变换成软件结构软件结构的不同的不同映射映射方法方法映射映射映射映射DFDDFD(问题结构问题结构问题结构问题结构)软件系统的结构软件系统的结构软件系统的结构软件系统的结构(程序结构程序结构程序结构程序结构)概要设计的任务与步骤概要设计的任务与步骤概要设计的过程概要设计的过程:(1)(1)设想可能的方案设想可能的方案(2)(2)选取合理的方案选取合理的方案(3)(3)推荐最佳方案推荐最佳方案(4)(4)功能分解功能分解(5)(5)设计软件结构设计软件结构(6)(6)数据库设计数据库设计(7)(7)制定测试计划制定测试计划(8)(8)编写文档编写文档(9)(9)审查与复审审查与复审4.4.1结构图(SC Structure Chart)SDSD方法在概要设计中的主要表达工具方法在概要设计中的主要表达工具约定:约定:(见讲义见讲义P107 P107 图图5-1)5-1)编辑学生记录编辑学生记录读学生记录读学生记录学生数据学生数据无此学生无此学生学号学号不加区分的数据不加区分的数据数据信息数据信息控制信息控制信息SC中的四种模块传入模块传入模块(a)(b)AA传出模块传出模块BB变换模块变换模块(c)CD协调模块协调模块E(d)EFFSC中的选择调用ACBDA根据内根据内部判断决部判断决定是否调定是否调用用B BA按另一判按另一判定结果选择定结果选择调用调用C或或DSC中的循环调用ABCA根据内在的循环重根据内在的循环重复调用复调用B、C等模块等模块第一级分解的方法第一级分解的方法MCMTMAME第一级分解后的SCMCMTMAME第一层第一层顶层顶层c,ec,e u,wu,w传入模块传入模块传出模块传出模块中心变中心变换模块换模块传传入分支的分解(1)MACBAbacEDdec,e传入分支的分解(2)MAGet C CbacRead Ddec,eB to CbcdeabGet E EGet BD to EA to BRead D传出分支的分解MEWWrite Vuuw,uvvvPut UU to VMEUWrite Wwwuw,uV(1)(1)(2)(2)中心加工分支的分解中心加工分支的分解MTPQRec,pru,wpr事务分析的映射方法事务分析的映射方法总控调度C路径B路径A路径A路径BB B路径路径路径C CC C C C路径路径路径路径路径路径接收接收接收接收路径路径路径路径事务流设计举例事务流设计举例IMMLLNNAABBCCDDFFEEGG事务中心事务中心事务流设计举例事务流设计举例 取 A 总控总控ALMNGDBCFE(主模块)(主模块)(主模块)(主模块)事务加工模块事务加工模块事务加工模块事务加工模块动作分支的典型结构PT 2T 1T iA 2D 2A 1D 1A 3A jD k事务层事务层操作层操作层细节层细节层处理层处理层主模块主模块主模块主模块事务加事务加事务加事务加工模块工模块工模块工模块操作操作操作操作模块模块模块模块细节细节细节细节模块模块模块模块事务流设计举例 取 A 总控总控ALMNGDBCFE动作动作1 1动作动作n n.细节模块细节模块1 1细节模块细节模块2 2.(操作模块)(操作模块)(操作模块)(操作模块)(细节模块)(细节模块)(细节模块)(细节模块)3412675810911变换中心变换中心传传入入传传出出事务型事务型(3)(3)混合流设计举例混合流设计举例混合流设计举例混合流设计举例4.4.3 体系结构设计优化 将初始将初始SC根据模块独立性原根据模块独立性原则进行精化则进行精化,对模块进行合并、分对模块进行合并、分解修改、调整,得到高内聚、低解修改、调整,得到高内聚、低耦合模块,得到易于实现、易于耦合模块,得到易于实现、易于测试和易于维护的软件结构,产测试和易于维护的软件结构,产生设计文档的最终生设计文档的最终SC。结构设计优化举例:楼层平面设计餐厅餐厅书房书房主卧室主卧室浴室浴室卧室卧室2厨房厨房楼梯楼梯走廊走廊大门大门卧室卧室2餐厅餐厅厨房厨房楼梯楼梯走廊走廊浴室浴室主卧室主卧室书房书房大门大门卧室卧室2餐厅餐厅厨房厨房楼梯楼梯走廊走廊浴室浴室主卧室主卧室书房书房大门大门最初版最初版最初版最初版第二版第二版第二版第二版第三版第三版第三版第三版南南南南改进软件结构设计的指导原则(软件结构设计的启发式规则)(1)(1)模块功能的完善化模块功能的完善化(2)(2)消除重复功能消除重复功能(3)(3)将模块的影响限制在模块的将模块的影响限制在模块的控制范围内控制范围内(4)(4)深度、宽度、扇出和扇入适中深度、宽度、扇出和扇入适中(5)(5)模块大小适中模块大小适中(6)(6)降低模块接口的复杂性降低模块接口的复杂性(7)(7)模块功能可预测模块功能可预测(8)(8)避免避免模块模块的病态连接的病态连接(9)(9)根据设计约束和可移植性要对软件打包根据设计约束和可移植性要对软件打包(1)模块功能的完善化完整的模块应包括三部分:完整的模块应包括三部分:(1)(1)执行规定功能部分执行规定功能部分(2)(2)出错处理部分出错处理部分(3)(3)需返回给调用者数据时,需返回给调用者数据时,返回是否正确结束标志。返回是否正确结束标志。(2)消除重复功能Q1Q1C C C CQ2Q2C C C CQ1Q1Q2Q2C C C C改进前改进前Q1Q1、Q2Q2功功能相似能相似X XY YQQX XY YX XY Y重复部分重复部分重复部分重复部分改进方法改进方法1 1:将将Q1Q1、Q2Q2合并为合并为QQ不可取不可取改进方法改进方法改进方法改进方法2 22 2:将将将将Q1Q1Q1Q1、Q2Q2Q2Q2的公共的公共的公共的公共部分分离出来部分分离出来部分分离出来部分分离出来CHDEGXF(3)(3)将模块的影响限制将模块的影响限制 在模块的在模块的控制范围内控制范围内AAIILJKB模块模块模块模块C CC C的控制范围的控制范围的控制范围的控制范围:C C、DD、EE、FF、GG、HH如果模块如果模块如果模块如果模块C CC C 作出的作出的作出的作出的决策影响决策影响决策影响决策影响了模块了模块了模块了模块L LL L,L LL L超出了超出了超出了超出了C CC C 的控制范的控制范的控制范的控制范围围围围(4)减少高扇出争取高扇入高扇出的模块结构举例高扇出的模块结构举例:编外编外人员人员工资工资取得取得工资工资数据数据 计时计时制工制工资额资额薪金薪金制工制工资额资额编外编外人员人员税款税款编外编外人员人员扣款扣款常规常规扣款扣款税收税收扣款扣款计算实发工资计算实发工资避免平铺结构避免平铺结构增加中间层降低扇出增加中间层降低扇出编外编外人员人员工资工资取得工取得工资数据资数据 计时计时制工制工资额资额薪金薪金制工制工资额资额编外编外人员人员税款税款编外编外人员人员扣款扣款常规常规扣款扣款税收税收扣款扣款计算实发工资计算实发工资计时工人计时工人实发工资实发工资计薪工人计薪工人实发工资实发工资编外人员编外人员实发工资实发工资(5)模块大小适中模块过大:可理解程度下降模块过大:可理解程度下降模块过小:开销大于有效操作模块过小:开销大于有效操作 系统接口复杂系统接口复杂(6)降低模块接口的复杂性 接口传递信息应简单且和模块功能接口传递信息应简单且和模块功能一致。一致。(7)模块功能可预测模块看成黑盒子,相同输入产生模块看成黑盒子,相同输入产生相同输出,其功能为可预测的。相同输出,其功能为可预测的。模块带有内部状态其功能可能是模块带有内部状态其功能可能是不可预测的。难理解、难测试、不可预测的。难理解、难测试、难维护。难维护。防止模块功能过分局限 功能单一的模块具有高内聚。功能单一的模块具有高内聚。但如任意限制局部数据结构的但如任意限制局部数据结构的大小大小,过分限制控制流中可做的选过分限制控制流中可做的选择或外部接口的模式,模块功能就择或外部接口的模式,模块功能就过分局限,使用范围过分狭窄,缺过分局限,使用范围过分狭窄,缺乏灵活性和可扩充性。乏灵活性和可扩充性。(8)(8)避免避免模块模块的病态连接的病态连接 防止指向防止指向模块模块中间的分支或引用中间的分支或引用(针对内容耦合)(针对内容耦合)(9)(9)根据设计约束和可移植性根据设计约束和可移植性 需求对软件打包需求对软件打包 打包指用来为特定环境组装软件的打包指用来为特定环境组装软件的技术技术4.4.4 层次图和HIPO图IBMIBM公司发明的公司发明的HIPOHIPO图:图:层次图层次图 +输入输入/处理处理/输出图输出图(H图图)()(IPO图图)(Hierachy Input Process Output)1.层次图(H图)表示软件的层次结构表示软件的层次结构正文加工系统正文加工系统输入输入输出输出编辑编辑加标题加标题存储存储检索检索 编目录编目录添加添加删除删除插入插入修改修改合并合并列表列表带编号的层次图(H图)正文加工系统正文加工系统输入输入1.01.0输出输出2.02.0编辑编辑3.03.0加标题加标题 4.0 4.0存储存储5.05.0检索检索6.06.0编目录编目录 7.0 7.0添加添加3.13.1删除删除3.23.2插入插入3.33.3修改修改3.43.4合并合并3.53.5列表列表3.63.62.HIPO图 H图中每一方框图中每一方框(模块模块)均有一张均有一张IPO图对应图对应 航线调度系统航线调度系统HIPOHIPO图举例图举例 H H图图:命令监控器命令监控器1.01.0取得取得输入输入1.11.1输入确认输入确认 1.2 1.2请求确认请求确认1.31.3更新处理更新处理 1.4 1.4传统的IPO图举例输入输入处理处理输出输出读口令请求读口令请求口令文件口令文件1 1取得输入取得输入2 2口令确认口令确认3 3请求确认请求确认请求请求记录记录权限文件权限文件4 4更新处理更新处理权限权限记录记录状态报告状态报告响应响应命令监控器命令监控器命令监控器命令监控器(1.0)(1.0)(1.0)(1.0)的的的的IPOIPOIPOIPO图图图图改进的IPO图格式IPOIPO图图系统:模块:编号:作者:日期:被调用:调用:输出:输入:输入:局部数据元素:注释:4.5详细设计(过程设计、模块设计)主要任务:主要任务:编写详细设计说明书编写详细设计说明书为此,设计人员应:为此,设计人员应:(1)(1)确定每个模块的算法,用工具确定每个模块的算法,用工具 表达算法的过程,写出模块的表达算法的过程,写出模块的 详细过程性描述。详细过程性描述。(2)(2)确定每一模块的数据结构。确定每一模块的数据结构。(3)(3)确定模块接口细节。确定模块接口细节。详细设计是编码的先导。详细设计是编码的先导。4.5.1 结构化程序设计(SP)方法传统的设计技术和旧观念传统的设计技术和旧观念:F强调设计的随意性强调设计的随意性,具有浓厚的个人色彩具有浓厚的个人色彩.F追求程序效率和个人设计技巧追求程序效率和个人设计技巧新的设计思想和风格新的设计思想和风格:F清晰第一清晰第一F使用标准的、规范的控制结构使用标准的、规范的控制结构F逐步细化逐步细化4.5.2 详细设计的描述方法详细设计工具:详细设计工具:(1)(1)图形工具图形工具(2)(2)表格工具表格工具(3)(3)语言工具语言工具1.1.程序流程图程序流程图2.2.盒图盒图(N-S(N-S图图)3.3.问题分析图问题分析图(PAD)(PAD)4.4.过程设计语言过程设计语言(PDL)(PDL)(伪码伪码)5.5.判定表判定表2.盒图(N-S图)用方框图代替传统的流程图用方框图代替传统的流程图描述五种基本控制结构的图形构件描述五种基本控制结构的图形构件(1)(1)顺序型顺序型ABC(2)选择型(If then else)If then else If thenABF条件条件TAFT条件条件then then 部分部分部分部分then then 部分部分部分部分elseelse部分部分部分部分(3)多分支选择型(CASE型)A1值值1 1A2An.条件条件值值2 2值值n n(4)WHILE(4)WHILE重复型重复型(5)UNTIL(5)UNTIL重复型重复型S(循环体)(循环体)DO-WHILE PS(循环体)(循环体)REPEAT UNTIL P(先测试循环先测试循环)(后测试循环后测试循环)循环条件循环条件循环条件循环条件(6)并行结构A1A2An.(7)移出标记ACBFX6TA:D(调用结构调用结构)3.问题分析图(PAD)(Problem Analysis Diagram)基本控制结构基本控制结构:(1)(1)顺序结构顺序结构 (2)(2)选择结构选择结构 ABCABTF条条条条件件件件(3)重复结构 WHILE CSUNTIL CS(先测试循环)(后测试循环)等价的等价的等价的等价的PASCALPASCALPASCALPASCAL语言:语言:语言:语言:REPEAT REPEAT CC UNTIL UNTIL SS等价的等价的等价的等价的PASCALPASCALPASCALPASCAL语言:语言:语言:语言:WHILE WHILE CC DO DO SS(4)多分支选择型(CASE型)A1A1值值1 1值值2 2值值n n A2A2AnAn.条件条件

    注意事项

    本文(结构化设计方法.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开