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

下载本文档

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

文档简介

1、2022-2-3 1第5章 软件详细设计5.2 软件详细设计任务与原则5.3 软件详细工具与方法5.4 软件详细设计规格说明与复审5.1 软件详细设计概述第5章 软件详细设计2022-2-3 2【学习目的学习目的】1.1. 掌握常用的详细设计的表达方法。掌握常用的详细设计的表达方法。2.2. 了解软件设计规格说明和设计评审的主要内容。了解软件设计规格说明和设计评审的主要内容。第5章 软件详细设计2022-2-3 3【难重点难重点】过程设计工具应用过程设计工具应用详细设计规格说明详细设计规格说明。 第5章 软件详细设计2022-2-3 4编码编码测试测试设计设计信息描述功能描述行为描述其他需求总

2、体结构设计数据设计过程设计 程序模块集成并确认的软件图5.2 软件开发部分的信息流软件设计的过程软件设计的过程软件开发部分包括:软件设计、编码和测试阶段。第4章 软件概要设计2022-2-3 5 在详细设计过程中,需要完成的工作是:在详细设计过程中,需要完成的工作是:(1)(1) 确定确定软件各个组成部分内的算法以及各部分软件各个组成部分内的算法以及各部分的的内部数据组织内部数据组织。(2)(2) 选定选定某种过程的表达形式来某种过程的表达形式来描述各种算法描述各种算法。(3)(3) 针对针对数据库的逻辑设计进行物理设计,设计数据库的逻辑设计进行物理设计,设计数据库模式的一些物理细节,数据库模

3、式的一些物理细节,如数据项存储要求、如数据项存储要求、存取方式、建立索引等。存取方式、建立索引等。(4)(4) 进行进行详细设计的详细设计的评审评审5.1 软件详细设计概述第4章 软件概要设计2022-2-3 6 在将需求转换为设计时判断设计好坏的三在将需求转换为设计时判断设计好坏的三个特征:个特征:设计设计必须必须实现分析模型中描述的所有实现分析模型中描述的所有显式需显式需求,求,必须满足用户希望的所有必须满足用户希望的所有隐式需求隐式需求。设计设计必须必须是可读的、可理解的,使得将来是可读的、可理解的,使得将来易易于编程、易于测试、易于维护于编程、易于测试、易于维护。设计设计应从应从实现角

4、度出发,给出与数据、功能、实现角度出发,给出与数据、功能、行为相关的行为相关的软件全貌软件全貌。5.1 软件详细设计概述第5章 软件详细设计2022-2-3 7 在过程设计阶段,要在过程设计阶段,要决定决定各个模块的各个模块的实现算实现算法法,并精确地,并精确地表达表达这些这些算法算法。 前者前者涉及所开发项目的具体要求和对每个模涉及所开发项目的具体要求和对每个模块规定的功能。以及算法的设计和评价,块规定的功能。以及算法的设计和评价,后者后者需需要给出适当的算法描述:要给出适当的算法描述: 图形工具:图形工具:程序流程图,程序流程图,N-SN-S,PADPAD,HIPOHIPO 表格工具:表格

5、工具:判定表判定表 语言工具:语言工具:PDLPDL,HIPOHIPO5.1 软件详细设计概述第5章 软件系统设计2022-2-3 85.2 详细设计阶段的目的与任务详细设计阶段的目的与任务 详细设计的目的详细设计的目的为软件结构图为软件结构图 (SC)(SC) 中的每一个模块确定采用的中的每一个模块确定采用的算法算法和模块内和模块内 数据结构数据结构,用某种选定的表达工具给出清,用某种选定的表达工具给出清 晰的描述。晰的描述。 详细设计阶段的主要任务详细设计阶段的主要任务: : 编写软件编写软件的的 “ “详细设计说明书详细设计说明书” ” 第5章 软件详细设计2022-2-3 9需求分析需

6、求分析问题定义问题定义可性行研究可性行研究计划计划时期时期概要设计概要设计详细设计详细设计编编 码码 测测 试试开发开发时期时期运行与维护运行与维护运运 行行时时 期期5.2 详细设计阶段的目的与任务详细设计阶段的目的与任务图5.4第5章 软件详细设计2022-2-3 105.2详细设计阶段的目的与任务详细设计阶段的目的与任务详细设计阶详细设计阶段的主要任段的主要任务务为每一模块为每一模块确定确定算法算法确定确定每一模块使用的数据结构每一模块使用的数据结构确定确定模块的外部接口和用户界面模块的外部接口和用户界面为每一模块为每一模块设计设计一组测试用例一组测试用例第5章 软件详细设计2022-2

7、-3 115.3 详细设计阶段的描述工具详细设计阶段的描述工具描述工具描述工具程序流程图程序流程图N-SN-S 图图PADPAD 图图PDLPDL 伪代码伪代码第5章 软件详细设计2022-2-3 125.3 详细设计阶段的描述工具详细设计阶段的描述工具5.3.1 程序流程图程序流程图A1 1、顺序型、顺序型 B几个连续的加工依次序排几个连续的加工依次序排列列expFTA B2 2、选择型、选择型 由某个判断式的取值由某个判断式的取值决定选择两个加工中的一决定选择两个加工中的一个。个。图5.5第5章 软件详细设计2022-2-3 135.2 详细设计阶段的描述工具详细设计阶段的描述工具5.3.

8、1 程序流程图程序流程图3 3、当型循环型、当型循环型 当循环控制条件成立时当循环控制条件成立时,重复执行特定的加工。,重复执行特定的加工。FT4 4、直到型循环型、直到型循环型 重复执行特定的加工,重复执行特定的加工,直到循环控制条件成立时。直到循环控制条件成立时。 FT图5.6第5章 软件详细设计2022-2-3 145.2 详细设计阶段的描述工具详细设计阶段的描述工具5 5、多情况选择型、多情况选择型 列出多种加工列出多种加工情况,根据控制变情况,根据控制变量的取值,选择执量的取值,选择执行其一。行其一。FTTTFF图5.75.3.1 程序流程图程序流程图第5章 软件详细设计2022-2

9、-3 15图5.8 具有嵌套形式的程序流程图具有嵌套形式的程序流程图FTTTFF入口入口FTFT=1=2=3第5章 软件详细设计2022-2-3 16 标准化程序流程图规定符号标准化程序流程图规定符号 起止端点 输入/输出 一般处理 准备或预处理 预定义处理 条件判断 循环上界 循环下界 文件或文档 外接 内接 流程线虚线 省略线 并行方式 注解或注释5.3.1 程序流程图程序流程图第5章 软件详细设计2022-2-3 17 流程符号的使用规则流程符号的使用规则 1 1、循环符号的使用、循环符号的使用 循环名进入循环条件循环体 循环名 S=S+i S=0S=S+iS=0,i=1i=i+1 循环

10、体图5.9 循环流程符号的使用循环流程符号的使用 第5章 软件详细设计2022-2-3 18 流程符号的使用规则流程符号的使用规则 2 2、判断有一个入口,但也允许有多个可选出口、判断有一个入口,但也允许有多个可选出口 A=B AB x=1 x=2 x=3 x=4 =1 =2 =3 =4 =5图5.10 多出口判断流程符号的使用多出口判断流程符号的使用 第5章 软件详细设计2022-2-3 19 图(盒图)图(盒图) 顺序型A B 选择型 BpFTA ApFT p=1=2=n A1 A2 An do while(p) S do until (p) S 当型循环型 直到型循环型 多分支选择型 第

11、5章 软件详细设计2022-2-3 20 Analysis Diagram)图图 直到型循环型While P SUntil P S 当型循环型A BAB A 顺序型 选择型A1 A2An 多分支选择型循环型第5章 软件详细设计2022-2-3 21s17s22=0while num(1-1000) 输入 age s17+ s18+ s19+ s20+ s21+ s22+ while i(17-22) 输出 sibeginend图5.11第5章 软件详细设计2022-2-3 22 显而易见,用显而易见,用PADPAD图图表达的软件过程呈表达的软件过程呈树树形结构形结构,它即克服了传统的,它即克服

12、了传统的流程图流程图不能清晰不能清晰表现程序结构的缺点,又不像表现程序结构的缺点,又不像N-SN-S图图那样受到那样受到把全部程序约束在一个方框内的限制,这就把全部程序约束在一个方框内的限制,这就是它的优势所在。是它的优势所在。 Analysis Diagram)图图第5章 软件详细设计2022-2-3 23 请为学生成绩管理系统中的学生请为学生成绩管理系统中的学生成绩统计模块成绩统计模块设计程序结构设计程序结构。 要求要求: 1 1、统计各专业、各班级的高等数学平均分;、统计各专业、各班级的高等数学平均分; 2 2、并将统计结果输出;、并将统计结果输出; 3 3、按平均成绩以班级为单位由高到

13、低排序;、按平均成绩以班级为单位由高到低排序; 4 4、请利用流程图或、请利用流程图或PADPAD图描述该模块的算法。图描述该模块的算法。 第5章 软件详细设计2022-2-3 245.3.4 PDL语言语言是一种用于描述功能模块的算法设是一种用于描述功能模块的算法设计和加工细节的语言。称为计和加工细节的语言。称为设计程序用设计程序用语言语言。它是一种伪代码。它是一种伪代码(Pseudo code)(Pseudo code) -关键词+自然语言第5章 软件详细设计2022-2-3 255.3.4 PDL(Process Design Language5.3.4 PDL(Process Desi

14、gn Language)语言)语言1 1、数据说明、数据说明: :定义数据的类型和作用域定义数据的类型和作用域格式格式: : TYPETYPE ASAS 说明说明: :(1)变量名:是一个模块内部使用的变量 或模块间共用的全局变量名。 (2)限定词1 :标明数据类型 (3)限定词2 :标明该变量的作用域第5章 软件详细设计2022-2-3 262 2、程序块、程序块: :PDL的过程成分是由块结构构成的,而块将作为一个单个的实体来执行。 BEGIN END5.3.4 PDL语言语言第5章 软件详细设计2022-2-3 273 3、子程序结构、子程序结构: :把把PDLPDL中的过程称为子程序。

15、中的过程称为子程序。 PROCEDURE INTERFACE END5.3.4 PDL语言语言第5章 软件详细设计2022-2-3 284 4、基本控制结构、基本控制结构: : IF THEN ; ELSE ; ENDIF选择型结构选择型结构 5.3.4 PDL语言语言第5章 软件详细设计2022-2-3 294 4、基本控制结构、基本控制结构 DO WHILE ; ENDDO REPEAT UNTIL ; ENDREP重复型结构重复型结构 5.3.4 PDL语言语言第5章 软件详细设计2022-2-3 304 4、基本控制结构、基本控制结构重复型结构重复型结构 DO LOOP ; EXIT

16、WHEN ENDLOOP DO FOR ; ENDFOR5.3.4 PDL语言语言第5章 软件详细设计2022-2-3 314 4、基本控制结构、基本控制结构多路选择结构多路选择结构 CASE OF case ; WHEN case 1 SELECT ; WHEN case 2 SELECT ; DEFAULT: 缺省或错误缺省或错误case:case: ; ENDCASE5.3.4 PDL语言语言第5章 软件详细设计2022-2-3 324 4、基本控制结构、基本控制结构 READ/WRITE TO 输入输入/ /输出结构输出结构 5.3.4 PDL语言语言第5章 软件详细设计2022-2-

17、3 33请按下列给出的文字要求,用请按下列给出的文字要求,用 PDL PDL 描述该模块的算法描述该模块的算法 设某模块的功能是:读入任意长的设某模块的功能是:读入任意长的 一段英文课文,将其分解为单字。然后一段英文课文,将其分解为单字。然后 输出一个单词表,并指出每个单词在课输出一个单词表,并指出每个单词在课 文中所出现的次数。文中所出现的次数。 第5章 软件详细设计2022-2-3 34PDL PDL 的特点的特点提供全部结构化控制结构、数据说明和模块特征。能对PDL正文进行结构分割,使之变得易于理解。有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。有子程

18、序定义与调用机制,用以表达各种方式的接口说明。第5章 软件详细设计2022-2-3 35PDL PDL 的特点的特点为了区别关键字,规定关键字一律大写,其它单词一律小写。或者规定关键字加下划线,或者规定它们为黑体字。内语法使用自然语言来描述处理特性。内语法比较灵活,只要写清楚就可以,不必考虑语法错,以利于人们可把主要精力放在描述算法的逻辑上。第5章 软件详细设计2022-2-3 36判定表用于表示程序的静态逻辑判定表用于表示程序的静态逻辑在判定表中的在判定表中的条件部分条件部分给出所有的两分支给出所有的两分支判断的列表,判断的列表,动作部分动作部分给出相应的处理给出相应的处理要求将程序流程图中

19、的多分支判断都改成要求将程序流程图中的多分支判断都改成两分支判断两分支判断第5章 软件系统设计2022-2-3 37图5.12第5章 软件详细设计2022-2-3 385.4 软件详细设计规格说明 软件设计的最终目标是要取得最佳方案。“最佳”是指在所有候选方案中,就节省开发费用,降低资源消耗,缩短开发时间的条件,选择能够赢得较高的生产率、较高的可靠性和可维护性的方案。 软件设计规格说明的大纲如下表所示。每一个编号的段落描述了设计模型的不同侧面。 在设计人员细化软件设计时,就可以逐步完成各章节内容的编写。 第5章 软件系统设计2022-2-3 39本章小结本章小结 详细设计详细设计的过程实质上是

20、对体系结构设的过程实质上是对体系结构设计成果的计成果的逐步细化逐步细化,最终可得到对系统中各,最终可得到对系统中各模块模块实现算法实现算法的具体描述。的具体描述。 详细设计的成果可采用详细设计的成果可采用程序流程图程序流程图、N-SN-S图图、PADPAD图图或或PDLPDL语言语言等手段进行描述。等手段进行描述。第5章 软件详细设计2022-2-3 40第5章 软件系统设计2022-2-3 41软件设计规格说明的大纲软件设计规格说明的大纲 1. 1. 工作范围工作范围 1.1 1.1 系统目标系统目标 1.2 1.2 运行环境运行环境 1.3 1.3 主要软件需求主要软件需求 1.4 1.4

21、 设计约束设计约束限制限制 2. 2. 体系结构设计体系结构设计 2.1 2.1 数据流与控制流复审数据流与控制流复审 2.2 2.2 导出的程序结构导出的程序结构 2.3 2.3 功能与程序交叉索引功能与程序交叉索引 第5章 软件系统设计2022-2-3 42软件设计规格说明的大纲软件设计规格说明的大纲 3. 3. 数据设计数据设计 3.1 3.1 数据对象与形成的数据结构数据对象与形成的数据结构 3.2 3.2 文件和数据库结构文件和数据库结构 文件的逻辑结构文件的逻辑结构 文件逻辑记录描述文件逻辑记录描述 访问方式访问方式 3.3 3.3 全局数据全局数据 3.4 3.4 文件文件数据与程序交叉索引数据与程序交叉索引 第5章 软件系统设计2022-2-3 43软件设计规格说明的大纲软件设计规格说明的大纲 4. 4. 接口设计接口设计 4.1 4.1 人机界面规格说明人机界面规格说明 4.2 4.2 人机界面设计规则人机界面设计规则 4.3 4.

温馨提示

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

评论

0/150

提交评论