软件开发文档xcz详细设计

上传人:re****.1 文档编号:592771194 上传时间:2024-09-22 格式:PPT 页数:85 大小:565KB
返回 下载 相关 举报
软件开发文档xcz详细设计_第1页
第1页 / 共85页
软件开发文档xcz详细设计_第2页
第2页 / 共85页
软件开发文档xcz详细设计_第3页
第3页 / 共85页
软件开发文档xcz详细设计_第4页
第4页 / 共85页
软件开发文档xcz详细设计_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《软件开发文档xcz详细设计》由会员分享,可在线阅读,更多相关《软件开发文档xcz详细设计(85页珍藏版)》请在金锄头文库上搜索。

1、数学与计算机学院数学与计算机学院第五章第五章 软件开发文档软件开发文档数学与计算机学院数学与计算机学院主要内容主要内容5.1 5.1 可行性研究报告可行性研究报告 5.2 5.2 软件需求文档软件需求文档 5.3 5.3 面向过程概要设计面向过程概要设计5.4 5.4 面向过程详细设计面向过程详细设计数学与计算机学院数学与计算机学院5.4 面向过程详细设计详细设计阶段目标详细设计文档的内容详细设计文档的描述方法面向过程的详细设计示例数学与计算机学院数学与计算机学院5.4 面向过程详细设计详细设计阶段目标详细设计文档的内容详细设计文档的描述方法面向过程的详细设计示例数学与计算机学院数学与计算机学

2、院详细设计阶段目标详细设计阶段目标根本目根本目标是确定是确定应该怎怎样具体地具体地实现所要求的系所要求的系统。详细设计的任的任务不是不是编写程序写程序,而是要而是要设计出程序的出程序的“蓝图”,便于以后根据便于以后根据这个个蓝图写出写出实际的程序代的程序代码。数学与计算机学院数学与计算机学院结构化程序设计结构化程序设计结构化程序构化程序设计主要包括两方面:主要包括两方面:(1)(1)在在设计程序程序时,强调使用几种基本使用几种基本控制控制结构构,通,通过组合嵌套,形成程序的合嵌套,形成程序的控制控制结构。尽可能避免使用构。尽可能避免使用GOTO语句。句。(2)(2)在程序在程序设计过程中,尽量

3、采用自程中,尽量采用自顶向下和逐步向下和逐步细化的原化的原则,由粗到由粗到细,一一步步展开步步展开。数学与计算机学院数学与计算机学院结构化程序设计的主要原则结构化程序设计的主要原则 使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。 选用的控制结构只准许有一个入口和一个出口。 程序语句组成容易识别的块,每块只有一个入口和一个出口。 复杂结构应该用基本控制结构进行组合嵌套来实现。数学与计算机学院数学与计算机学院结构化程序设计的主要原则结构化程序设计的主要原则 严格控制GOTO语句,仅在下列情形才可使用: 用一个非结构化的程序设计语言去实现一个结构化的构造。 若不使用GOTO语句就会使

4、程序功能模糊。 在某种可以改善而不是损害程序可读性的情况下。数学与计算机学院数学与计算机学院结构化程序设计的主要原则结构化程序设计的主要原则例例 打印打印A, B, C三数中最小者的程序三数中最小者的程序数学与计算机学院数学与计算机学院程序1 if ( A B ) goto b12; if ( B C ) goto b11; b10: printf (“%d”, C ); goto b14; b11: printf (“%d”, B ); goto b14; b12: if ( A C ) goto b13; goto b10; b13: printf (“%d”, A ); b14: 原则:

5、原则:严格控制严格控制GOTOGOTO语句语句数学与计算机学院数学与计算机学院程序2 if ( A B and A C ) printf (“%d”, A ); else if ( A B and B C ) printf (“%d”, B ); else printf (“%d”, C ); 数学与计算机学院数学与计算机学院自顶向下,逐步求精自顶向下,逐步求精 在在详细设计和和编码阶段,段,应当采取自当采取自顶向下,逐步求精的方法。向下,逐步求精的方法。 把一个模把一个模块的功能逐步分解,的功能逐步分解,细化化为一系列具体的步一系列具体的步骤,进而翻而翻译成一系列成一系列用某种程序用某种程序

6、设计语言写成的程序。言写成的程序。数学与计算机学院数学与计算机学院自顶向下,逐步求精自顶向下,逐步求精例,用筛选法求例,用筛选法求100100以内的素数以内的素数 筛选法就是从法就是从2 2到到100100中去掉中去掉2,3,9,102,3,9,10的倍数,剩下的就是的倍数,剩下的就是100100以以内的素数。内的素数。 为了解决了解决这个个问题,可先按程序功能,可先按程序功能写出一个框架。写出一个框架。质数发生器算法举例w w质数发生器算法举例:质数发生器算法举例:质数发生器算法举例:质数发生器算法举例:w wN = 25N = 25,要求得到小于,要求得到小于,要求得到小于,要求得到小于N

7、 N的所有质数序列的所有质数序列的所有质数序列的所有质数序列w w2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 252 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25w w2 2 3 5 7 9 11 13 15 17 19 21 23 25 3 5 7 9 11 13 15 17 19 21 23 25w w2 2 3 3 5 7 11 13 17 19 23 25 5 7 11 13 17 19 23 25w w2 3 2 3 5 5 7

8、11 13 17 19 23 7 11 13 17 19 23 w w2 3 5 2 3 5 7 7 11 13 17 19 23 11 13 17 19 23w w进行到消去进行到消去进行到消去进行到消去了了了了5 5的倍数时,已没有要消去的数,消去停止,输出结果。因为如果的倍数时,已没有要消去的数,消去停止,输出结果。因为如果的倍数时,已没有要消去的数,消去停止,输出结果。因为如果的倍数时,已没有要消去的数,消去停止,输出结果。因为如果设设设设p=5,p=5,则则则则2p,3p,4p2p,3p,4p分别先前的步骤中已经被消去,所以只能从分别先前的步骤中已经被消去,所以只能从分别先前的步骤中

9、已经被消去,所以只能从分别先前的步骤中已经被消去,所以只能从pppp开始,所以算法开始,所以算法开始,所以算法开始,所以算法停止的条件为停止的条件为停止的条件为停止的条件为w w比如,可设计一种简单方案:比如,可设计一种简单方案:比如,可设计一种简单方案:比如,可设计一种简单方案:w w1. 1. 用一维数组用一维数组用一维数组用一维数组 InN-1 InN-1 存放存放存放存放2 2N N的整数(小到大序);的整数(小到大序);的整数(小到大序);的整数(小到大序);In0 = 2In0 = 2w w2. 2. 从从从从 Inip=k Inip=k 开始的每一轮开始的每一轮开始的每一轮开始的

10、每一轮(i)(i)消去时,将数组中该轮消去时,将数组中该轮消去时,将数组中该轮消去时,将数组中该轮k k的倍数数置的倍数数置的倍数数置的倍数数置0 0。w w 后续消去时,若后续消去时,若后续消去时,若后续消去时,若 Ini = k = 0Ini = k = 0,则跳过消去该,则跳过消去该,则跳过消去该,则跳过消去该k k的倍数,避免重复。的倍数,避免重复。的倍数,避免重复。的倍数,避免重复。数学与计算机学院数学与计算机学院main ( ) /程序框架 建立2到100的数组A ,其中Aii; -1 建立2到10的素数表 B ,其中存放2 到10以内的素数;-2 若Aii是B 中任一数的倍数,则

11、 剔除Ai;-3 输出A 中所有没有被剔除的数; -4自自顶顶向向下下,逐逐步步求求精精数学与计算机学院数学与计算机学院main ( ) /*建立2到100的数组A ,其中Aii*/for ( i = 2;i = 100;i+ ) Ai = i;/* 建立2到10的素数表B ,其中存放2到10以内的素数*/B1 =2;B2 = 3;B3 = 5;B4 = 7;/*若Aii是B 中任一数的倍数,则剔除Ai*/for ( j = 1;j = 4;j+ ) 检查A 所有的数能否被Bj整除并将 能被整除的数从A 中剔除; /*输出A 中所有没有被剔除的数*/ for ( i = 2;i = 100;i

12、+ ) 若Ai没有被剔除,则输出之 自自顶顶向向下下,逐逐步步求求精精数学与计算机学院数学与计算机学院 对框架中的局部再做细化,得到整个程序。main ( ) /*建立2到100的数组A ,其中Aii*/for ( i = 2;i = 100;i+ ) Ai = i;/* 建立2到10的素数表B ,其中存放2到10以内的素数*/B1 =2;B2 = 3;B3 = 5;B4 = 7;/*若Aii是B 中任一数的倍数,则剔除Ai*/for ( j = 1;j = 4;j+ ) /*检查A 所有的数能否被Bj整除并将能被整除的数从A 中剔除*/for ( i = 2;i = 100;i+) if (

13、 AiBj * Bj = Ai ) Ai = 0; /*输出A 中所有没有被剔除的数*/ for ( i = 2; i 30W30行李重量行李重量行李重量行李重量W=30W=30免费免费免费免费国内乘客国内乘客国内乘客国内乘客国外乘客国外乘客国外乘客国外乘客头等舱头等舱头等舱头等舱其他舱其他舱其他舱其他舱头等舱头等舱头等舱头等舱其他舱其他舱其他舱其他舱 残疾乘客残疾乘客残疾乘客残疾乘客正常乘客正常乘客正常乘客正常乘客 ( (w-30)*2w-30)*2 ( (w-30)*4w-30)*4 残疾乘客残疾乘客残疾乘客残疾乘客正常乘客正常乘客正常乘客正常乘客 ( (w-30)*3w-30)*3 (

14、(w-30)*6w-30)*6 残疾乘客残疾乘客残疾乘客残疾乘客正常乘客正常乘客正常乘客正常乘客 ( (w-30)*4w-30)*4 ( (w-30)*8w-30)*8 残疾乘客残疾乘客残疾乘客残疾乘客正常乘客正常乘客正常乘客正常乘客 ( (w-30)*6w-30)*6 (w-30)*12数学与计算机学院数学与计算机学院PDL (Program Design Language)也称程序描述语言(也称程序描述语言(Program Description Language ,PDL),又称为又称为伪码伪码(pseudo code)。)。属于文字形式的表达工具。它并非属于文字形式的表达工具。它并非真

15、正的代码,也不能在计算机上执行,但形真正的代码,也不能在计算机上执行,但形式上与代码相似。它是一种用于式上与代码相似。它是一种用于描述模块算描述模块算法设计和处理细节法设计和处理细节的语言。的语言。PDL具有严格的具有严格的关键字外层语法,用于定义控制结构、数据关键字外层语法,用于定义控制结构、数据结构和模块接口,而它表示实际操作和条件结构和模块接口,而它表示实际操作和条件的内层语法又是灵活自由的,使用自然语言的内层语法又是灵活自由的,使用自然语言的词汇。的词汇。数学与计算机学院数学与计算机学院 PDL是一种用于描述功能模是一种用于描述功能模块的的算法算法设计和和加工加工细节的的语言。称言。称

16、为设计程序程序用用语言。它是一种言。它是一种伪码。 伪码的的语法法规则分分为“外外语法法”和和“内内语法法”。 PDL具有具有严格的格的关关键字外字外语法法,用于,用于定定义控制控制结构和数据构和数据结构,同构,同时它的它的表表示示实际操作和条件的内操作和条件的内语法法又是灵活自又是灵活自由的,可使用自然由的,可使用自然语言的言的词汇。PDL (Program Design Language)数学与计算机学院数学与计算机学院PROCEDURE spellcheck IS BEGIN split document into single words lood up words in dictio

17、nary display words which are not in dictionary create a new dictionary END spellcheck示例示例:拼拼词检查程序程序数学与计算机学院数学与计算机学院 提供全部提供全部结构化控制构化控制结构构、数据数据说明明和模和模块特征。特征。能能对PDL正文正文进行行结构分构分割,使之割,使之变得易于理解。得易于理解。 为了区了区别关关键字,字,规定定关关键字字一律大一律大写,其它写,其它单词一律小写。或者一律小写。或者规定关定关键字加下划字加下划线,或者,或者规定它定它们为黑体字。黑体字。PDLPDL的特点:的特点:数学与计

18、算机学院数学与计算机学院 内内语法使用自然法使用自然语言来描述言来描述处理特性。理特性。内内语法比法比较灵活,只要写清楚就可以,灵活,只要写清楚就可以,不必考不必考虑语法法错,以利于人,以利于人们可把主要可把主要精力放在描述算法的精力放在描述算法的逻辑上。上。 有有数据数据说明机制明机制,包括,包括简单的的( (如如标量量和数和数组) )与复与复杂的的( (如如链表和表和层次次结构构) )的的数据数据结构。构。 有子程序定有子程序定义与与调用机制,用以表达用机制,用以表达各种方式的接口各种方式的接口说明。明。PDLPDL的特点:的特点:数学与计算机学院数学与计算机学院PROCEDURE spe

19、llcheckBEGIN-* split document into single wordsLOOP get next word add word to word list in sortorder/排序排序 EXIT WHEN all words processedEND LOOP -* look up words in dictionaryLOOP get word from word list使用使用PDLPDL语言,逐步求精:语言,逐步求精:数学与计算机学院数学与计算机学院 IF word not in dictionary THEN -* display words not in

20、dictionary display word prompt on user terminal IF user response says word OK THEN add word to good word list ELSE add word to bad word list ENDIF ENDIF EXIT WHEN all words processedEND LOOP使用使用PDLPDL语言,逐步求精:语言,逐步求精:结构化控结构化控制结构制结构数学与计算机学院数学与计算机学院-* create a new words dictionary dictionary :merge dic

21、tionary and good word listEND spellcheck使用使用PDLPDL语言,逐步求精:语言,逐步求精:数学与计算机学院数学与计算机学院PDL特点特点优点:(1)可以作为注释直接插在源程序中间。(2)可以使用普通正文编辑程序或文字处理系统完成PDL的书写的编细辑工作(3)有自动处理程序使PDL生成程序代码缺点:不如图形工具直观,在描述复杂的条件组合时不如判定表清晰。数学与计算机学院数学与计算机学院5.4 面向过程详细设计详细设计阶段目标详细设计文档的内容详细设计文档的描述方法面向过程的详细设计示例数学与计算机学院数学与计算机学院面向过程的详细设计示例面向过程的详细设

22、计示例参考标准:软件产品开发文件编制指南(GB8567-1988)高评委专家库信息管理系统详细设计说明书银河侦探游戏软件详细设计说明书机票预定系统详细设计说明书数学与计算机学院数学与计算机学院面向过程的详细设计示例面向过程的详细设计示例1引言 11编写目的编写目的 说明编写这份详细设计说明书的目的,指出预期说明编写这份详细设计说明书的目的,指出预期的读者。的读者。 12背景背景 说明:说明: a待开发软件系统的名称;待开发软件系统的名称; b.本项目的任务提出者、开发者、用户和运行该程本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。序系统的计算中心。 数学与计算机学院数学与计算机学

23、院1、编写目的本文档是程序员代码编写的基础,本文档的读者是设计人员和编写人员2、背景(1)待开发的软件系统的名称:浙江省高评委专家库信息管理系统(2)本项目的任务提出者:浙江省人事厅专业技术人员管理处(3)开发者:浙江工业大学,杭洲时空信息技术有限公司(4)用户:浙江省各高评委单位。例:高评委数学与计算机学院数学与计算机学院13定义定义 列出本文件中用到专门术语的定义和外文首字母组列出本文件中用到专门术语的定义和外文首字母组词的原词组。词的原词组。 14参考资料参考资料 列出有关的参考资料,如:列出有关的参考资料,如: a本项目的经核准的计划任务书或合同、上级机本项目的经核准的计划任务书或合同

24、、上级机关的批文;关的批文; b属于本项目的其他已发表的文件;属于本项目的其他已发表的文件; c.本文件中各处引用到的文件资料,包括所要用到本文件中各处引用到的文件资料,包括所要用到的软件开发标准。的软件开发标准。 列出这些文件的标题、文件编号、列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来发表日期和出版单位,说明能够取得这些文件的来源。源。数学与计算机学院数学与计算机学院例:高评委3、定义高评委:高级专业技术职务任职资格评审委员会4、参考资料(1)浙江省人事厅关于组建高级专业技术职务任职资格评审委员会专家库有关事项通知(2)项目委托书(3)系统功能说明书(4)需求

25、说明书(5)概要设计说明书数学与计算机学院数学与计算机学院2.程序系统的结构 用一系列图表列出本程序系统内的每个程序(包用一系列图表列出本程序系统内的每个程序(包括每个括每个模块模块和和子程序子程序)的名称、标识符和它们之间)的名称、标识符和它们之间 的的层次结构层次结构关系。关系。数学与计算机学院数学与计算机学院例:高评委本系统屏幕功能区域设计如图所示:数学与计算机学院数学与计算机学院本系统中每个子系统包含的单元文件名称及其程序层次如下图所示:数学与计算机学院数学与计算机学院数学与计算机学院数学与计算机学院数学与计算机学院数学与计算机学院3程序1(标识符)设计说明 从本章开始,逐个地给出各个

26、层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。 对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层 模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。 F31程序描述程序描述 给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如 是常驻内存还是非常驻?是否子程序?是可重入的还是不可重入的?有无覆盖要求?是顺序处理还是并发 处理等等)。数学与计算机学院数学与计算机学院例:高评委“新建高评委模块”用于组建一个新的高级职称评审委员会,建立新的高评委是本软件的第一步,只有当新的高评委建立起来后,才

27、可以建立其隶属的专业组。然后再录入专家。数学与计算机学院数学与计算机学院功能功能 说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。例:高评委数学与计算机学院数学与计算机学院性能性能 说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。34输人项输人项 给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。 数量和频度、输入媒体、输入数据的来源和安全保密条件等等。输出项输出项 给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、 数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等

28、等。 数学与计算机学院数学与计算机学院例:高评委3、性能:本模块对程序性能未做具体要求4、输入项:高评委代码:字符类型高评委名称:字符类型高评委类型:按专业组建/按职务类别或相近专业组建高评委权限:正高职称/副高设计时间:所评资格名称:字符类型材料接受单位:字符类型备注:字符类型数学与计算机学院数学与计算机学院算法算法 详细说明本程序所选用的算法,具体的计算公式和计算步骤。数学与计算机学院数学与计算机学院伪代码(伪代码(PDLPDL)例:机票预定系统数学与计算机学院数学与计算机学院流程逻辑流程逻辑 (重点)(重点) 用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。数学与计算

29、机学院数学与计算机学院接口接口 用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。 数学与计算机学院数学与计算机学院该模块与主模块及其他模块的关系如下:(1)该模块直接被主模块调用,生成窗体,供用户输入数据使用(2)该模块直接调用数据连接模块,取得数据库连接。例:高评委数学与计算机学院数学与计算机学院存储分配存储分配 根据需要,说明本程序的存储分配。(根据需要选取) 注释设计注释设计 说明准备在本程序中安排的注释,如: a. 加在模块首部的注释; b加在各分枝点处的注释; 对各变量的功能、范围

30、、缺省条件等所加的注释; d对使用的逻辑所加的注释等等 数学与计算机学院数学与计算机学院限制条件限制条件 说明本程序运行中所受到的限制条件。测试计划测试计划 说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及模块等的规定。(1)若高评委代码长度不是4位是,则提示“代码长度必须为4位”,若是,是满足要求(2)若高评委名称为空,则提示“请输入高评委的名称”(3)出现写数据库错误,是提示无法连接数据库例:高评委数学与计算机学院数学与计算机学院尚未解决的问题尚未解决的问题 说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。4程序2(标识符)设计说明 用类似3的方式,说明第2个程序乃至第N个程序的设计考虑。数学与计算机学院数学与计算机学院讨论讨论对问题:判断一个数n能否同时被3和5整除。分别使用程序流程图、N-S图、PAD图、伪代码求解

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号