- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章_软件工程(详细设计)
第五章 详细设计;§1. 详细设计的过程和任务
1、 详细设计的任务
详细设计的总体目标是确定怎样具体地实现所要求的系统。即对软件结构图的每个模块所采用的逻辑关系进行分析,设计出全部必要的过程细节,并给出清晰的描述,从而在编码阶段可以把这个描述直接翻译成某种程序设计语言书写的程序。详细设计的结果对最终程序代码的质量起着决定性的作用,对软件的测试和维护人员了解模块的内部结构也是很重要的。; 2、 详细设计的过程
(1) 算法设计:为每个模块确定算法,并用适当的工具表达算法的过程,给出详细的描述。
(2) 数据结构设计:确定每个模块使用的数据结构和模块接口的细节,包括内部接口、外部接口、模块的输入、输出及局部数据。
(3)物理设计:确定文件、数据库等物理结构,要明确相关数据的记录格式、存储方法、存储介质等。;(4) 测试预备??计:为每个模块设计一组测试用例,以便在编码阶段对模块代码进行预定的测试。
(5)其他设计:完整性控制(如:用户访问权限设置)、输入输出设计(如输入输出数据的类型,长度,数量等)、人机对话设计(对话方式内容格式等)、数据代码设计。
(6) 编写详细设计说明书,提交复审。
;3、详细设计原则:
①采用自顶向下、逐步求精的程序设计方法。
在详细设计过程中,采用逐步求精的方法可以降低待处理问题的复杂度。
② 使用顺序、选择、循环三种基本结构构造程序,具有单入、单出的控制结构(取消GOTO语句,以限制无条件跳转)
③设计人员组织结构采用“外科医生—助手”模式。
在这种组织结构中,外科医生和助手都应了解相关设计内容,但外科医生在设计中起主导作用,是设计的技术负责人,助手只起技术支持作用。此种模式区别于传统的“平等组合”模式,使设计责任集中在少数人身上,避免了因观点不同而造成的设计策略和接口的差异。
; §2. 详细设计的工具
详细设计阶段的工具分为图形、表格和语言三类。
具体包括程序流程图、N-S图(盒图)、PAD图(问题分析图)、判定树、判定表、PDL(过程设计)语言等。
1、程序流程图(Program Flow Chart)
也称程序框图,历史悠久且使用广泛的一种算法
表达工具。;程序流程图的标准符号;循环的标准符号 注解的使用;(1) 顺序结构;例:用程序流程图描述
下列计算过程:
1)输入数组A,元素个数为N
2)MAX=A[1]
3)从A[2]—A[N]与MAX比较
4)如新元素MAX,则
MAX=新元素
5)输出最大数MAX;例:用程序流程图描述求解一元二次方程解的过程。
分析:a=0时,不是一元二次方程; △=0时,两个相等的实根;
△0 时:两个不相等的实根; △0时:两个不相等的虚根;例:下图表示一个非结构化的程序。;例:将以下伪码转换为程序流程图。
语句 a;
do{ 语句 b;
if (X1==T)
{ 语句f;
if (X4==T)
do{
语句i;
}until(X5);
else{ 语句 g;
语句 h;
}
}
else
{ switch (X2)
{ case 1: while (X3)
语句 c;
case 2: 语句 d;
case 3: 语句 e;
}
}
}until (X6);
语句j;
; ; ;1、顺序结构;例:用N-S图描述求数组元素的最大值。;示例;x2;例:任意输入一个日期,判断该日期的第二天是何年何月何日?用N-S图描述其算法。;课堂练习:阅读下列C程序,画出N-S图。;§2. 工具;A; 对应于增量型循环结构
for i := n1 to
文档评论(0)