软件项目的详细设计_第1页
软件项目的详细设计_第2页
软件项目的详细设计_第3页
软件项目的详细设计_第4页
软件项目的详细设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、第第4章章 软件项目的详细设计软件项目的详细设计 本章要点本章要点 1、掌握常用的详细设计的表达方法、掌握常用的详细设计的表达方法 2、了解软件设计规格说明和设计评审、了解软件设计规格说明和设计评审的主要内容的主要内容一、详细设计一、详细设计 详细设计阶段的详细设计阶段的根本目标根本目标是确定怎样具是确定怎样具体的实现所要求的系统。体的实现所要求的系统。 详细设计的结果基本上决定了最终的程详细设计的结果基本上决定了最终的程序代码的质量。序代码的质量。 一、详细设计一、详细设计 详细设计以总体设计阶段的工作为基础,详细设计以总体设计阶段的工作为基础,但又不同于总体设计阶段,表现为:但又不同于总体

2、设计阶段,表现为: 1、在总体设计阶段,数据项和数据结、在总体设计阶段,数据项和数据结构以比较抽象的方式描述构以比较抽象的方式描述 2、详细设计要提供关于算法的更多的、详细设计要提供关于算法的更多的细节细节一、详细设计一、详细设计 3、详细设计的模块、详细设计的模块包含包含实现对应的总体设计实现对应的总体设计的模块所需要的处理逻辑,主要有:的模块所需要的处理逻辑,主要有: (1) 详细的算法详细的算法 (2) 数据表示和数据结构数据表示和数据结构 (3) 实施的功能和使用的数据之间的关系实施的功能和使用的数据之间的关系 (4) 每个模块被编码成过程、子程序、函数或每个模块被编码成过程、子程序、

3、函数或其它类型的命名实体。其它类型的命名实体。二、详细设计的二、详细设计的基本任务基本任务 1、算法设计、算法设计 用某种图形、表格、语言等工具将每个用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。模块处理过程的详细算法描述出来。 2、数据结构设计、数据结构设计 对于需求分析、概要设计确定的概念性对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。的数据类型进行确切的定义。二、详细设计的基本任务二、详细设计的基本任务 3、物理设计、物理设计 对数据库进行物理设计,即确定数据库对数据库进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的的物理结构。物理结构主要指

4、数据库的存储记录格式、存储记录安排和存储方存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库法,这些都依赖于具体所使用的数据库系统。系统。 二、详细设计的基本任务二、详细设计的基本任务 4、其他设计、其他设计 (1)代码设计:为了提高数据的输入、分类、)代码设计:为了提高数据的输入、分类、存储及检索等操作的效率,以及节约内存空间,存储及检索等操作的效率,以及节约内存空间,对数据库中的某些数据项的值要进行代码设计。对数据库中的某些数据项的值要进行代码设计。 (2)输入)输入/输出格式设计。输出格式设计。 (3)人机对话设计:对于一个实时系统,用)人机对话设计:对于一个实时系统,

5、用户与计算机频繁对话,因此要进行对话方式、户与计算机频繁对话,因此要进行对话方式、内容及格式的具体设计。内容及格式的具体设计。二、详细设计的基本任务二、详细设计的基本任务 5、编写详细设计说明书、编写详细设计说明书 (1)引言:包括编写目的、背景、定义、参考资料。)引言:包括编写目的、背景、定义、参考资料。 (2)程序系统的组织结构。)程序系统的组织结构。 (3)程序)程序1(标识符)设计说明:包括功能、性能、(标识符)设计说明:包括功能、性能、输入、输出、算法、流程逻辑、接口。输入、输出、算法、流程逻辑、接口。 (4)程序)程序2(标识符)设计说明。(标识符)设计说明。 (5)程序)程序N(

6、标识符)设计说明。(标识符)设计说明。 6、评审、评审 对处理过程的算法和数据库的物理结构都要评审。对处理过程的算法和数据库的物理结构都要评审。三、详细设计三、详细设计方法方法 1、采用自顶向下、逐步求精的程序设、采用自顶向下、逐步求精的程序设计方法计方法 2、使用三种基本控制结构构造程序、使用三种基本控制结构构造程序 3、主程序员的组织形式、主程序员的组织形式四、详细设计的工具四、详细设计的工具 详细设计的任务是给出软件模块结构中详细设计的任务是给出软件模块结构中各个模块的内部过程描述,也就是模块各个模块的内部过程描述,也就是模块内部的算法设计。内部的算法设计。 详细设计的工具可以分为详细设

7、计的工具可以分为图形图形、表格表格和和语言语言三种。三种。四、详细设计的工具四、详细设计的工具 1、程序流程图、程序流程图 程序流程图又称为程序框图,它是程序流程图又称为程序框图,它是历史最悠久、使用最广泛的一种描述程历史最悠久、使用最广泛的一种描述程序逻辑结构的工具。序逻辑结构的工具。 (1)程序流程图的三种基本控制结构)程序流程图的三种基本控制结构四、详细设计的工具四、详细设计的工具 (2)程序流程图的主要缺点如下:)程序流程图的主要缺点如下: 程序流程图诱使程序员过早地考虑程序程序流程图诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结的控制流程,而不去考虑程序的全局结构。构。

8、程序流程图中的箭头代表控制流,程序程序流程图中的箭头代表控制流,程序员可以不加限制的使用员可以不加限制的使用GOTO语句,导语句,导致基本控制块多入口多出口。致基本控制块多入口多出口。 程序流程图不易表示数据结构。程序流程图不易表示数据结构。四、详细设计的工具四、详细设计的工具 2、盒图(、盒图(N-S图)图) 它以一种结构化的方式严格地限制它以一种结构化的方式严格地限制从一个处理到另一个处理的控制转移。从一个处理到另一个处理的控制转移。 (1)盒图的基本符号)盒图的基本符号四、详细设计的工具四、详细设计的工具 (2)每一个)每一个NS图开始于一个大的矩图开始于一个大的矩形,表示它所描述的模块

9、。该矩形的内形,表示它所描述的模块。该矩形的内部被分成不同的部分,分别表示不同的部被分成不同的部分,分别表示不同的子处理过程,这些子处理过程又可以进子处理过程,这些子处理过程又可以进一步分解成更小的部分。一步分解成更小的部分。 四、详细设计的工具四、详细设计的工具 3、问题分析图(、问题分析图(PAD图,图,Problem Analysis Diagram) 是日本日立公司于是日本日立公司于1979年提出的一年提出的一种算法描述工具,它是一种由左往右展种算法描述工具,它是一种由左往右展开的二维树型结构。开的二维树型结构。 (1)PAD图的基本符号图的基本符号 四、详细设计的工具四、详细设计的工

10、具 (2)PAD图的控制流程为自上而下,图的控制流程为自上而下,从左到右地执行。从左到右地执行。 (3)实例:将数组)实例:将数组A(1)到)到A(10)进行排序的进行排序的PAD图。图。四、详细设计的工具四、详细设计的工具 (4)PAD图的优点图的优点 1)清晰地反映了程序的层次结构,图中的竖)清晰地反映了程序的层次结构,图中的竖线为程序的层次线,最左边竖线是程序的主线,线为程序的层次线,最左边竖线是程序的主线,其后一层一层展开,层次关系一目了然。其后一层一层展开,层次关系一目了然。 2)支持逐步求精的设计方法,左边层次中的)支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步

11、细化。内容可以抽象,然后由左到右逐步细化。 3)易读易写,使用方便。)易读易写,使用方便。 4)支持结构化的程序设计原理。)支持结构化的程序设计原理。 5)可自动生成程序。)可自动生成程序。四、详细设计的工具四、详细设计的工具 4、类程序设计语言(、类程序设计语言(PDL) 类程序设计语言(类程序设计语言(Program Design Language)、过程设计语言()、过程设计语言(Process Design Language),也称为伪码。),也称为伪码。四、详细设计的工具四、详细设计的工具 (1)PDL特点特点 所有关键字都有固定语法,以便提供结构化控所有关键字都有固定语法,以便提供

12、结构化控制结构、数据说明和模块的特性。制结构、数据说明和模块的特性。 描述处理过程的说明性语言没有严格的语法。描述处理过程的说明性语言没有严格的语法。 具有数据说明机制,包括简单的与复杂的数据具有数据说明机制,包括简单的与复杂的数据说明。说明。 具有模块定义和调用机制,开发人员应根据系具有模块定义和调用机制,开发人员应根据系统编程所用的语种,说明统编程所用的语种,说明PDL表示有关程序结表示有关程序结构。构。四、详细设计的工具四、详细设计的工具 (2)程序结构)程序结构 1)顺序结构)顺序结构 采用自然语言描述顺序结构:采用自然语言描述顺序结构: 处理处理S1 处理处理S2 处理处理Sn四、详

13、细设计的工具四、详细设计的工具 2)选择结构)选择结构 IFElSE结构结构 IF 条件条件 IF 条件条件 处理处理S1 或或 处理处理S ELSE ENDIF 处理处理S2 ENDIF四、详细设计的工具四、详细设计的工具 IFORIFElSE结构结构 IF 条件条件1 处理处理 S1 ORIF 条件条件2 处理处理 S2 ELSE 处理处理Sn ENDIF 四、详细设计的工具四、详细设计的工具 CASE结构结构 CASE OF CASE(1) 处理处理S1 CASE(2) 处理处理S2 ELSE 处理处理Sn ENDCASE四、详细设计的工具四、详细设计的工具 3)重复结构)重复结构 FO

14、R结构结构 FOR i=1 TO n 循环体循环体 ENDFOR 四、详细设计的工具四、详细设计的工具 WHILE结构结构 WHILE 条件条件 循环体循环体 ENDWHILE UNTIL结构结构 REPEAT 循环体循环体 UNTIL 条件条件四、详细设计的工具四、详细设计的工具 4)扩充结构)扩充结构 模块定义模块定义 PROCEDURE 模块名(参数)模块名(参数) RETURN END四、详细设计的工具四、详细设计的工具 模块调用模块调用 CALL 模块名(参数)模块名(参数) 数据定义数据定义 DECLAER 属性属性 变量名,变量名, 属性有:字符、整型、实型、双精度、属性有:字符

15、、整型、实型、双精度、指针、数组及结构等类型。指针、数组及结构等类型。四、详细设计的工具四、详细设计的工具 输入输入/输出输出 GET(输入变量表)(输入变量表) PUT(输出变量表)(输出变量表)四、详细设计的工具四、详细设计的工具 (3)PDL应用示例应用示例 系统主控模块详细设计为例,系统主控模块详细设计为例,说明如何用说明如何用PDL来描述。来描述。四、详细设计的工具四、详细设计的工具 PROCEDURE 模块名()模块名() 清屏;清屏; 显示显示系统用户界面;系统用户界面; PUT(“请输入用户口令:请输入用户口令:”);); GET(password);); IF passwor

16、d 系统口令系统口令 提示警告信息;提示警告信息; 退出运行退出运行 ENDIF四、详细设计的工具四、详细设计的工具 显示本系统主菜单;显示本系统主菜单; WHILE(true) 接收用户选择接收用户选择ABC; IF ABC=“退出退出” Break; ENDIF 调用相应下层模块完成用户选择功能;调用相应下层模块完成用户选择功能; ENDWHILE; 清屏;清屏; RETURNEND四、详细设计的工具四、详细设计的工具 (4)优点:)优点: 1)提供的机制较图形全面,为保证详细)提供的机制较图形全面,为保证详细设计与编码的质量创造了有利条件。设计与编码的质量创造了有利条件。 2)可作为注释嵌入在源程序中一起作为)可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于软件的维护。行编辑、修改,有利于软件的维护。 3)可自动生成程序代码,提高软件生产)可自动生成程序代码,提高软件生产率。目前已有率。目前已有PDL多种版本(如多种版本(如PDL/pascal,PDL/C,PDL/Ada等),为自动生成相应代等),为自动生成相应代码提供了便利条件。码提供了便利条件。五、软件设计说明书

温馨提示

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

评论

0/150

提交评论