第5章 详细设计 (ok)_第1页
第5章 详细设计 (ok)_第2页
第5章 详细设计 (ok)_第3页
第5章 详细设计 (ok)_第4页
第5章 详细设计 (ok)_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 详细设计详细设计的根本目标是:的根本目标是: 确定应该怎样具体地实现所要求的系统。确定应该怎样具体地实现所要求的系统。 经过经过这个阶段的设计工作,应该得出对目标系统这个阶段的设计工作,应该得出对目标系统 的精确描述,从而在编码阶段可以把这个描述直的精确描述,从而在编码阶段可以把这个描述直 接翻译成用某种程序设计语言书写的程序。接翻译成用某种程序设计语言书写的程序。 详细设计详细设计的基本任务:的基本任务: 为每个模块进行详细的算法为每个模块进行详细的算法设计设计 为模块内的数据结构进行为模块内的数据结构进行设计设计 对数据库进行物理对数据库进行物理设计设计 其他设计,如:代码设计、输入输出

2、格式其他设计,如:代码设计、输入输出格式 设计、人机对话设计、人机对话设计设计 编写详细设计编写详细设计说明书说明书 评审评审 愚公移山愚公移山成就了一位工程名家:愚公,其浓缩了项目组织者、团成就了一位工程名家:愚公,其浓缩了项目组织者、团 队经理、编程人员、技术分析师等众多角色的优秀素质。队经理、编程人员、技术分析师等众多角色的优秀素质。 太行、王屋二山,方七百里,高万仞。本在冀州之南,河阳之北。太行、王屋二山,方七百里,高万仞。本在冀州之南,河阳之北。 北山愚公者,年且九十,面山而居。惩山北之塞,出入之迂也,聚室北山愚公者,年且九十,面山而居。惩山北之塞,出入之迂也,聚室 而谋曰:而谋曰:

3、“吾与汝毕力平险,指通豫南,达于汉阴,可乎?吾与汝毕力平险,指通豫南,达于汉阴,可乎?”杂然相杂然相 许。其妻献疑曰:许。其妻献疑曰:“以君之力,曾不能损魁父之丘,如太行王屋何?以君之力,曾不能损魁父之丘,如太行王屋何? 且焉置土石?且焉置土石?”杂曰:杂曰:“投诸渤海之尾,隐土之北。投诸渤海之尾,隐土之北。”遂率子孙荷担遂率子孙荷担 者三夫,扣石垦壤,箕畚运于渤海之尾。邻人京城氏之孀妻,有遗男,者三夫,扣石垦壤,箕畚运于渤海之尾。邻人京城氏之孀妻,有遗男, 始龀,跳往助之。寒暑易节,始一反焉。河曲智叟笑而止之,曰:始龀,跳往助之。寒暑易节,始一反焉。河曲智叟笑而止之,曰: “甚矣,汝之不惠。

4、以残年馀力,曾不能毁山之一毛,其如土石何?甚矣,汝之不惠。以残年馀力,曾不能毁山之一毛,其如土石何?” 北山愚公长息曰:北山愚公长息曰:“汝心之固,固不可彻,曾不若孀妻弱子。虽我之汝心之固,固不可彻,曾不若孀妻弱子。虽我之 死,有子存焉;子又生孙,孙又生子;子又有子,子又有孙。子子孙死,有子存焉;子又生孙,孙又生子;子又有子,子又有孙。子子孙 孙,无穷匮也。而山不加增,何苦而不平?孙,无穷匮也。而山不加增,何苦而不平?”河曲智叟亡以应。河曲智叟亡以应。 操蛇之神闻之,惧其不已也,告之于帝。帝感其诚,命夸娥氏二操蛇之神闻之,惧其不已也,告之于帝。帝感其诚,命夸娥氏二 子负二山,一厝朔东,一厝朔南

5、。自此,冀之南,汉之阴,无陇断焉。子负二山,一厝朔东,一厝朔南。自此,冀之南,汉之阴,无陇断焉。 原始需求原始需求 项目沟通方项目沟通方 式式项目目标项目目标 技术方案技术方案 团队组织团队组织 外协外协 工工 程程 概概 况况 分支分支ifif 循环循环 循环可行性循环可行性 编编 程程 素素 质质 7 顺序、顺序、 选择和循环选择和循环 一个入口和一个出口一个入口和一个出口 8 9 10 三种结构程序设计三种结构程序设计 经典的结构程序设计经典的结构程序设计 仅用顺序、仅用顺序、IF-THEN-ELSE分支、分支、DO-WHILE循环循环 扩展的结构程序设计扩展的结构程序设计 增加增加DO

6、-CASE分支、分支、DO-UNTIL循环循环 修正的结构程序设计修正的结构程序设计 再增加再增加BREAK 人的人的 因素因素 人机界人机界 面风格面风格 设计设计 过程过程 设计设计 问题问题 设计设计 指南指南 用户用户时间:时间: 基准时间:基准时间: 基准基准出错率:出错率: 任务任务出错率:出错率: 学习能力:学习能力: 记忆能力:记忆能力: 主观看法:主观看法: 人的人的 因素因素 人机界人机界 面风格面风格 设计设计 过程过程 设计设计 问题问题 设计设计 指南指南 人的人的 因素因素 人机界人机界 面风格面风格 设计设计 过程过程 设计设计 问题问题 设计设计 指南指南 用户

7、、任务用户、任务 和环境分析和环境分析 界面设计界面设计实现实现 界面确认界面确认 软件工程师创建的设计模型(软件工程师创建的设计模型(design modeldesign model) 人机工程师创建的用户模型(人机工程师创建的用户模型(user modeluser model):): 用户的用户的 模型(模型(useruser s models model)或系统感觉()或系统感觉(system system perceptionperception) 系统实现者创建的系统映象(系统实现者创建的系统映象(system imagesystem image) 人的人的 因素因素 人机界人机界

8、面风格面风格 设计设计 过程过程 设计设计 问题问题 设计设计 指南指南 系统响应时间系统响应时间用户帮助设施用户帮助设施 出错信息处理出错信息处理命令交互命令交互 四大问题四大问题 出错信息或警告出错信息或警告信息,是出现问题时交互系统给出信息,是出现问题时交互系统给出 的的“坏消息坏消息”。处理不妥当,将向用户提供无用的。处理不妥当,将向用户提供无用的 甚至误导的信息,反而增加用户的挫折感。甚至误导的信息,反而增加用户的挫折感。 应应具有的属性具有的属性: 是是用户可以理解的用户可以理解的术语描述问题术语描述问题 应该应该提高有助于从错误中恢复的建设性提高有助于从错误中恢复的建设性意见意见

9、 信息信息应该指出错误可能导致哪些负面后果(如破坏数据应该指出错误可能导致哪些负面后果(如破坏数据 文件)文件)等等 信息信息应该伴随视觉听觉上的提示,如警告声应该伴随视觉听觉上的提示,如警告声等等 信息信息不能带有指责色彩不能带有指责色彩 菜单菜单 键盘键盘 提供命令交互应考虑的问题提供命令交互应考虑的问题: 人的人的 因素因素 人机界人机界 面风格面风格 设计设计 过程过程 设计设计 问题问题 设计设计 指南指南 一般一般 交互交互 指南指南 信息信息 显示显示 指南指南 数据数据 输入输入 指南指南 基本设计指南基本设计指南 交互界面的基本类型交互界面的基本类型 界面界面显示的基本元素显

10、示的基本元素 基本设计指南基本设计指南 窗口分隔窗口分隔 模拟方式模拟方式 选择选择注释注释 预定义预定义 的处理的处理 多分支多分支开始或停止开始或停止 准备准备循环上限循环上限循环下限循环下限 处理处理输入输出输入输出 =1 假设某航空公司规定,乘客可以免费托运重量不超过假设某航空公司规定,乘客可以免费托运重量不超过30kg30kg的行的行 李。当行李重量超过李。当行李重量超过30kg30kg时,对头等舱的国内乘客超重部分每时,对头等舱的国内乘客超重部分每 公斤收费公斤收费4 4元,对其他舱的国内乘客超重部分每公斤收费元,对其他舱的国内乘客超重部分每公斤收费6 6元,元, 对外国乘客超重部

11、分每公斤收费比国内乘客多一倍,对残疾乘对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘 客超重部分每公斤收费比正常乘客少一半。客超重部分每公斤收费比正常乘客少一半。 从从上面这个例子可以看出,判定表能够简洁而又无歧上面这个例子可以看出,判定表能够简洁而又无歧 义地描述处理规则义地描述处理规则。 当当把判定表和布尔代数或卡诺图结合起来使用时,可把判定表和布尔代数或卡诺图结合起来使用时,可 以对判定表进行校验或化简以对判定表进行校验或化简。 但是但是,判定表并不适于作为一种通用的设计工具,没,判定表并不适于作为一种通用的设计工具,没 有一种简单的方法使它能同时清晰地表示顺序和重复有一种简单的

12、方法使它能同时清晰地表示顺序和重复 等处理特性等处理特性。 判定树是判定表的变种,能清晰表示复杂的条件组判定树是判定表的变种,能清晰表示复杂的条件组 合与操作之间的关系,形式简单,不需要做任何说合与操作之间的关系,形式简单,不需要做任何说 明,是常见的系统分析工具。明,是常见的系统分析工具。 例例1 1:检查发货单的判定树:检查发货单的判定树 “计算行李费计算行李费”的判定树的判定树 优点:优点: 比判定表更为直观比判定表更为直观 缺点:缺点: 简洁性不足,数据元素的同一个值往往重复写多遍,而简洁性不足,数据元素的同一个值往往重复写多遍,而 且越接近树的叶端重复次数越多且越接近树的叶端重复次数

13、越多 画判定树的次序可能对最终画出的判定树的简洁程度有画判定树的次序可能对最终画出的判定树的简洁程度有 较大影响较大影响 算算 法设计法设计处理细节处理细节 过程设计语言过程设计语言 例:商店业务处理系统中例:商店业务处理系统中“检查发货单检查发货单” IF 发货单金额超过发货单金额超过 500 THEN lF 欠款超过了欠款超过了 60 天天 THEN 在偿还欠款前不予批准在偿还欠款前不予批准 ELSE (欠款未超期)(欠款未超期) 发批准书,发货单发批准书,发货单 END IF ELSE (发货单金额未超过(发货单金额未超过 500 ) IF 欠款超过欠款超过 60 天天 THEN 发批准

14、书,发货单及赊欠报告发批准书,发货单及赊欠报告 ELSE (欠款未超期)(欠款未超期) 发批准书,发货单发批准书,发货单 END IF END IF 正文正文控制结构控制结构 操作操作 面向数据面向数据 流流 软件结构软件结构 面向数据面向数据 结构结构 程序处理程序处理 过程过程 重点重点不是自顶不是自顶向向 下下逐步求精,逐步求精,而而 是是在数据结构在数据结构基基 础础上进行上进行构造;构造; 根据输入根据输入/ /输出输出的的 数据结构数据结构建立建立程程 序结构序结构。 使程序结构与使程序结构与问问 题题结构结构( (数据数据结结 构构) )相对应相对应 获得简单清晰获得简单清晰的的

15、 设计方案设计方案 对程序对程序处理处理过程过程 的描述的描述 原则原则目标目标特点特点 Jackson图图 Jackson方方 法案例法案例 Jackson方方 法法 改进的改进的 Jackson图图 顺序结构顺序结构 数据由一个或数据由一个或 多个数据元素多个数据元素 组成,每个元组成,每个元 素按确定次序素按确定次序 出现一出现一次次。 选择结构选择结构 数据包含两个或数据包含两个或 多个数据元素,多个数据元素, 每次使用这个数每次使用这个数 据时按一定条件据时按一定条件 从这些数据元素从这些数据元素 中选择一个。中选择一个。 重复结构重复结构 重复结构的数重复结构的数 据,根据使用据,

16、根据使用 时的条件由一时的条件由一 个数据元素出个数据元素出 现零次或多次现零次或多次 构成。构成。 便于表示层次结构,而且是对结构进行便于表示层次结构,而且是对结构进行 自顶向下分解的有力工具自顶向下分解的有力工具 形象直观可读性好形象直观可读性好 既能表示数据结构也能表示程序结构既能表示数据结构也能表示程序结构 l 表示选择或重复结构时,选择条件或表示选择或重复结构时,选择条件或 循环结束条件不能直接在图上表示循环结束条件不能直接在图上表示出出 来来 l 影响了图的表达能力,也不易直接把影响了图的表达能力,也不易直接把 图翻译成程序图翻译成程序 框间连线为斜线,不易在行式打印机上框间连线为

17、斜线,不易在行式打印机上 输出输出 顺序结构顺序结构 选择结构:选择结构:S S右括右括 号中的数字号中的数字i i是分是分 支条件的编号支条件的编号 可选结构可选结构 重复结构:循环重复结构:循环 结束的编号为结束的编号为i i 层次方框图层次方框图 的精化的精化 层次图中的一个方框层次图中的一个方框 通常代表一个模块;通常代表一个模块; 而而JacksonJackson图通常一图通常一 个方框只代表几个语个方框只代表几个语 句。句。 层次图表现的是调用层次图表现的是调用 关系;而关系;而JacksonJackson图图 表现的是组成关系。表现的是组成关系。 a. 分析并确定输入数据和输出数

18、据的逻辑结构,并分析并确定输入数据和输出数据的逻辑结构,并 用用Jackson图描绘这些数据结构。图描绘这些数据结构。 b.找出找出输入数据结构和输出数据结构中有对应关系输入数据结构和输出数据结构中有对应关系 的数据单元。所谓有对应关系是指有直接的因果关的数据单元。所谓有对应关系是指有直接的因果关 系,在程序中可以同时处理的数据单元系,在程序中可以同时处理的数据单元(对于重复出对于重复出 现的数据单元必须重复的次序和次数都相同才可能现的数据单元必须重复的次序和次数都相同才可能 有对应关系有对应关系)。 c.用用下述下述3条规则从描绘数据结构的条规则从描绘数据结构的Jackson图导出图导出 描

19、绘程序结构的描绘程序结构的Jackson图:图: 第一第一,为每对有对应关系的数据单元,按照它们在数据,为每对有对应关系的数据单元,按照它们在数据 结构图中的层次在程序结构图的相应层次画一个处理框结构图中的层次在程序结构图的相应层次画一个处理框(注意,注意, 如果这对数据单元在输入数据结构和输出数据结构中所处的如果这对数据单元在输入数据结构和输出数据结构中所处的 层次不同,则和它们对应的处理框在程序结构图中所处的层层次不同,则和它们对应的处理框在程序结构图中所处的层 次与它们之中在数据结构图中层次低的那个对应次与它们之中在数据结构图中层次低的那个对应); 第二,根据输入数据结构中剩余的每个数据

20、单元所处的第二,根据输入数据结构中剩余的每个数据单元所处的 层次,在程序结构图的相应层次分别为它们画上对应的处理层次,在程序结构图的相应层次分别为它们画上对应的处理 框;框; 第三,根据输出数据结构中剩余的每个数据单元所处的第三,根据输出数据结构中剩余的每个数据单元所处的 层次,在程序结构图的相应层次分别为它们画上对应的处理层次,在程序结构图的相应层次分别为它们画上对应的处理 框框。 d.列出列出所有操作和条件所有操作和条件(包括分支条件和循环结束条件包括分支条件和循环结束条件), 并且把它们分配到程序结构图的适当位置并且把它们分配到程序结构图的适当位置。 e.用用伪码表示程序。伪码表示程序。

21、 A seq B C D A end A select cond1 B A or cond2 C A or cond3 D A end A iter until(或或while) cond B A end 一个正文文件由若干个记录组成,每个记录是一个字一个正文文件由若干个记录组成,每个记录是一个字 符串。要求统计每个记录中空格字符的个数,以及文符串。要求统计每个记录中空格字符的个数,以及文 件中空格字符的总个数。要求的输出数据格式是,每件中空格字符的总个数。要求的输出数据格式是,每 复制一行输入字符串之后,另起一行印出这个字符串复制一行输入字符串之后,另起一行印出这个字符串 中的空格数,最后印

22、出文件中空格的总个数。中的空格数,最后印出文件中空格的总个数。 Step1Step1:确定输入输出的数据结构:确定输入输出的数据结构 Step2Step2:确定有对应关系的数据单元:确定有对应关系的数据单元 Step3Step3:绘制程序结构图处理框:绘制程序结构图处理框 统计空格统计空格 程序体程序体印总数印总数 处理字符串处理字符串* * Step4Step4:分配操作及条件:分配操作及条件 Step5Step5:撰写伪码:撰写伪码 统计空格 seq 打开文件 读入字符串 totalsum := 0 程序体 iter until 文件结束 处理字符串 seq 印字符串 seq 打印字符串

23、印字符串 end sum := 0 pointer := 1 处理空格 end 分析字符 or 字符不是空格 处理非空格 seq pointer := pointer + 1 处理非空格 end 分析字符 end 分析字符串 end 印空格数 seq 打印空格数 印空格数 end totalsum := totalsum + 1 读入字符串 处理字符串 end 程序体 end 印空格总数 seq 打印空格总数 印空格总数 end 关闭文件 停止 统计空格 end McCabe方法 & Halstead方法 估算错误估算错误 数量及工数量及工 作量作量 比较不同比较不同 设计或算设计或算 法的优

24、劣法的优劣 模块规模模块规模 的精确限的精确限 度度 价值所在价值所在 McCabe方法根据程序控制流的复杂程度定方法根据程序控制流的复杂程度定 量度量程序的复杂程度,这样度量出的结果量度量程序的复杂程度,这样度量出的结果 称为程序的环形复杂度。称为程序的环形复杂度。 流图流图 实质上是实质上是“退化了的退化了的”程序流程程序流程 图,它仅仅描绘程序的控制流程,图,它仅仅描绘程序的控制流程, 完全不表现对数据的具体操作以完全不表现对数据的具体操作以 及分支或循环的具体条件。及分支或循环的具体条件。 一个顺序的处理框序列和一个菱形判定框一个顺序的处理框序列和一个菱形判定框 = = 一个结点一个结点 流图中的箭头线称为边,代表控制流流图中的箭头线称为边,代表控制流 在流图中一条边必须终止于一个结点在流图中一条边必须终止于一个结点 由边和结点围成的面积称为区域,应包括未被围的区域由边和结点围成的面积称为区域,应包括未被围的区域 在流图中用圆表示结点,一个圆代表一条或多条语句在流图中用圆表示结点,一个圆代表一条或多条语句 1 2 3 6 87 4 5 11 11 节 点 1 2,3 87 9 6 10 4,5 区 域 R1 R2 边 流图流图G G的环形复杂

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论