[舔屏][舔屏][舔屏][舔屏][舔屏][舔屏]
详细设计是由软件工程师通过概要设计说明书对具体模块的接口、功能、内部实现逻辑、算法、某一具体编程语言等进行分析,然后编码实现模块或子系统的功能。
详细设计的任务详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。这一阶段的主要任务如下所示。
(1)为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述。
(2)确定每一模块使用的数据结构。
(3)确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。
(4)在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档,交付下一阶段(编码阶段)作为工作依据。
(5)为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试。模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据、期望输出等内容。
详细设计的原则(1)由于详细设计的蓝图是给人浏览的,因此,模块的逻辑描述要清晰易读、正确可靠。
(2)采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。其基本内容归纳为以下几点。
① 程序语言中应尽量少用goto语句,以确保程序结构的独立性。
② 使用单入口单出口的控制结构,确保程序的静态结构与动态执行情况相一致。保证程序易理解。
③ 程序的控制结构一般采用顺序、选择、循环三种结构来构成,确保结构简单。
④ 用自顶向下逐步求精方法完成程序设计。结构化程序设计的缺点是存储容量和运行时间增加7%~20%,优点是易读、易维护。
⑤ 经典的控制结构为顺序,if…then…else分支,do…while循环。扩展的还有case多分支, do…until循环,do…while固定次数循环。
(3)选择恰当描述工具来描述各模块算法。
详细设计的工具(1)图形工具。利用图形工具可以把过程的细节描述出来。
(2)表格工具。采用一张表来描述过程的细节,在这张表中列出各种可能的操作和相应的条件。
(3)语言工具。用某种高级语言(称之为伪码)来描述过程的细节。
程序流程图程序流程图又称为程序框图,它是软件开发者最熟悉的一种算法表达工具。它独立于任何一种程序设计语言,比较直观和清晰地描述程序的控制流程,易于学习掌握。因此,程序流程图至今仍是软件开发者最普遍采用的一种工具。程序流程图包括五种基本控制结构,具体如下。
(1)顺序型。顺序型由几个连续的处理步骤依次排列构成。
(2)选择型。选择型是指由某个逻辑判断式的取值决定选择两个处理中的一个。
(3)while循环型。while循环型是先判定型循环,在循环控制条件成立时,重复执行特定的处理。
(4)until循环型。until循环型是后判定型循环,重复执行某些特定的处理,直到控制条件成立为止。
(5)多情况选择型。多情况选择型列举多种处理情况,根据控制变量的取值,选择执行其一。
五种基本控制结构的流程图如下图所示。
基本控制结构流程图