软件工程第4章:详细设计wx.ppt
《软件工程第4章:详细设计wx.ppt》由会员分享,可在线阅读,更多相关《软件工程第4章:详细设计wx.ppt(108页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 详 细 设 计本章要点:详细设计的目标和任务结构化程序的详细设计技术与工具面向对象程序的详细设计1软件工程第4章 详 细 设 计本章学习目标:深刻理解详细设计的基本任务深刻理解结构化程序的详细设计和面向对象的详细设计的关系熟练掌握Jackson程序设计、Warnner程序设计方法等设计方法2软件工程详细设计的目标概要设计详细设计细化3软件工程详细设计的任务算法过程的设计选择某种图形、表格、语言等合适的工具,表示每个处理过程的详细算法。数据结构的设计定义处理过程中涉及的概念性数据类型数据库物理设计确定那些依赖于具体使用的数据库系统的数据存储记录格式、存储方法和存储记录安排等4软件工程详细
2、设计的任务信息编码设计为了提高数据处理的效率,将某些数据项的值用某一代号来表示。特点:唯一性、灵活性、简洁性、一致性、实用性、稳定性5软件工程详细设计的任务 测试用例的设计包括输入数据和预期的结果 其他设计系统结构、人机交互等设计 撰写“详细设计说明书”撰写并评审6软件工程结构化程序的详细设计技术结构化程序的设计技术特点 自顶向下,逐步求精 单入口、单出口的三种基本流程控制结构顺序、选择、循环7软件工程结构化程序的详细设计技术结构化程序的详细设计工具 程序流程图 盒图 判定表与判定树 问题分析图8软件工程结构化程序的详细设计技术结构化程序的详细设计工具(1)程序流程图 程序流程图(Progra
3、mFlowDiagram简称PFD图)又称为程序框图。程序流程图使用的符号分为国际标准和国内标准,其中国内GB152689标准等同采用国际标准ISO 5807985。使用程序流程图的主要优点是很直观地描述了程序的控制逻辑,便于初学者掌握,而且其表现方式较为灵活,使用起来非常方便。但也存在一定的缺点.9软件工程结构化程序的详细设计技术结构化程序的详细设计工具(程序流程图)通常我们把由这3种基本控制结构设计的程序称为经典的结构程序设计。有时为了实际使用方便起见,常常还允许使用DO-UNTIL和DO-CASE两种控制结构。如果设计程序时使用了这两种结构,则称为扩展的结构程序设计。10软件工程结构化程
4、序的详细设计技术结构化程序的详细设计工具(程序流程图)FT11软件工程结构化程序的详细设计技术结构化程序的详细设计工具(程序流程图)值1 值2 值n-1 值n12软件工程结构化程序的详细设计技术结构化程序的详细设计工具(程序流程图)案例一:13软件工程结构化程序的详细设计技术结构化程序的详细设计工具(程序流程图)案例二:电子商务程序流程图 14软件工程结构化程序的详细设计技术结构化程序的详细设计工具(程序流程图)案例三:图书管理系统程序流程图 15软件工程结构化程序的详细设计技术结构化程序的详细设计工具(程序流程图)案例四:一卡通语音播放程序流程图 16软件工程结构化程序的详细设计技术结构化程
5、序的详细设计工具(程序流程图)课堂作业:请设计出ATM自动柜员机程序流程图 17软件工程结构化程序的详细设计技术结构化程序的详细设计工具(程序流程图)它的缺点也非常明显,主要有:程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。程序流程图不易表示数据结构。详细的微观程序流程图每个符号对应于源程序的一行代码,对于提高大型系统的可理解性作用甚微。为此,在使用程序流程图时,必须严格控制箭头流向,严格按照结构化设计的3种基本控制逻辑结构进行程序设计。所
6、谓3种基本控制逻辑结构是指顺序、选择、循环三种结构。18软件工程结构化程序的详细设计技术结构化程序的详细设计工具2盒图(N-S图)盒图是为了满足结构化需要,特别是取消了程序流程图随意跳转规则后而提出的。19软件工程结构化程序的详细设计技术结构化程序的详细设计工具(盒图(N-S图)与程序流程图相比较,盒图具有如下明显的优点:l在盒图中不能任意转移控制。l特定控制逻辑的作用范围明确,可以从盒图上一目了然。l很容易确定局部和全程数据的作用域。l很容易表现嵌套关系,也容易表示模块的层次结构。l 所有的程序结构均用方框表示。因此程序的结构非常清晰。l程序只有一个入口、一个出口,完全能够满足单人口单出口的
7、结构化程序设计要求。l盒图形象直观,具有良好的可视性。循环的范围、条件语句的控制范围等都是一目了然的。l盒图简单,易学易用。主要缺点是:当程序内嵌套的层数增多时,内层方框会越来越小,一方面会增加画图难度,另一方面会影响图形的清晰度。20软件工程结构化程序的详细设计技术结构化程序的详细设计工具(盒图(N-S图)案例一:盒图没有箭头,因此不允许随意转移控制。坚持使用盒图作为详细设计的工具,可以使程序员逐步养成用结构化的方式思考问题和解决问题的习惯。21软件工程结构化程序的详细设计技术结构化程序的详细设计工具(盒图(N-S图)案例二:22软件工程结构化程序的详细设计技术结构化程序的详细设计工具(盒图
8、(N-S图)案例三:输入两个数a,b,输出较小的数23软件工程结构化程序的详细设计技术结构化程序的详细设计工具(盒图(N-S图)案例四:求n!24软件工程结构化程序的详细设计技术结构化程序的详细设计工具(盒图(N-S图)案例五:求两个数的商25软件工程结构化程序的详细设计技术结构化程序的详细设计工具(盒图(N-S图)课堂作业:请设计出ATM自动柜员机取款的N-S图26软件工程结构化程序的详细设计技术结构化程序的详细设计工具3 判定表与判定树 在进行软件设计时如遇到复杂的条件选择,有必要使用一种描述机制来清晰地表示复杂的条件组合与动作间的对应关系,判定表就是解决这一问题的有力工具。一张判定表由4
9、部分组成。左上部列出所有条件;左下部列出所有可能做的工作;右上部每一列表示出各种条件的一种可能组合,填入“T”表示条件成立,填入“F”表示条件不成立,空白表示条件成立与否不影响。所以所有列表示条件组合全部可能情况;右下部的每一列是和每一种条件组合相对应的工作,填入“”表示在该列上部规定的条件下做该行左边列出的那项工作,空白表示不做该项工作。27软件工程结构化程序的详细设计技术结构化程序的详细设计工具(判定表)案例一:某校对于各种不同职称教师,根据是本校专职教师还是外聘兼职教师决定其讲课的每课时津贴标准。本校专职教师每课时津贴费:教授50元副教授40元。讲师30元,助教20元。外聘兼职教师每课时
10、津贴费:教授60元,副教授50元,讲师40元,助教30元。28软件工程结构化程序的详细设计技术结构化程序的详细设计工具(判定表)教师课时津贴判定表条件桩动作桩条件条目动作条目教授副教授讲师助教专职TFFFTFTFFTFFTFTFFFTTTFFFFFTFFFFFTFFFFFTF605040302029软件工程结构化程序的详细设计技术结构化程序的详细设计工具(判定表)判定树是判定表的图形化表示,是判定表的变种。由于判定表不直观,需要仔细推敲才能看出它的含义。所以引入判定树后,可以很直观地看出各种复杂的条件组合与相应的动作之间的对应关系。30软件工程结构化程序的详细设计技术结构化程序的详细设计工具(
11、判定树)课时津贴兼职专职教授 50副教授 40讲师 30助教 20教授 60副教授 50讲师 40助教 3031软件工程结构化程序的详细设计技术结构化程序的详细设计工具(判定树)案例二:某工厂对工人的超产奖励政策为:该厂生产两种产品A和B。凡工人每月的实际生产量超过计划指标者均有奖励。奖励政策为:对于产品A的生产者,超产数N小于或等于100件时,每超产1件奖励2元;N大于100件小于等于150件时,大于100件的部分每件奖励2.5元,其余的每件奖励金额不变;N大于150件时,超过150件的部分每件奖励3元,其余按超产150件以内的方案处理。对于产品B的生产者,超产数N小于或等于50件时,每超产
12、1件奖励3元;N大于50件小于等于100件时,大于50件的部分每件奖励4元,其余的每件奖励金额不变;N大于100件时,超过100件的部分每件奖励5元,其余按超产100件以内的方案处理。32软件工程结构化程序的详细设计技术结构化程序的详细设计工具(判定树)案例二:33软件工程结构化程序的详细设计技术结构化程序的详细设计工具(判定树)案例三:以学生的奖学金评定为例,说明判定表的应用。奖励的目的在于鼓励学生的品学兼优,此处理功能是要合理确定奖学金评定等级。决定受奖的条件为:成绩优秀占70或50以上,成绩为中或中以下占15或20以下,团结纪律为优良或一般者。奖励方案为一等奖、二等奖、三等奖、鼓励奖四种
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 详细 设计 wx
限制150内