




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程第4章 软件项目的详细设计第4章
软件项目的详细设计本章要点1、掌握常用的详细设计的表达方法
2、了解软件设计规格说明和设计评审的主要内容一、详细设计
详细设计阶段的根本目标是确定怎样具体的实现所要求的系统。
详细设计的结果基本上决定了最终的程序代码的质量。一、详细设计
详细设计以总体设计阶段的工作为基础,但又不同于总体设计阶段,表现为:
1、在总体设计阶段,数据项和数据结构以比较抽象的方式描述
2、详细设计要提供关于算法的更多的细节一、详细设计
3、详细设计的模块包含实现对应的总体设计的模块所需要的处理逻辑,主要有:(1)
详细的算法(2)
数据表示和数据结构(3)
实施的功能和使用的数据之间的关系
(4)
每个模块被编码成过程、子程序、函数或其它类型的命名实体。二、详细设计的基本任务1、算法设计
用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。2、数据结构设计
对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。二、详细设计的基本任务3、物理设计
对数据库进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。二、详细设计的基本任务4、其他设计
(1)代码设计:为了提高数据的输入、分类、存储及检索等操作的效率,以及节约内存空间,对数据库中的某些数据项的值要进行代码设计。(2)输入/输出格式设计。
(3)人机对话设计:对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容及格式的具体设计。二、详细设计的基本任务5、编写详细设计说明书(1)引言:包括编写目的、背景、定义、参考资料。(2)程序系统的组织结构。
(3)程序1(标识符)设计说明:包括功能、性能、输入、输出、算法、流程逻辑、接口。(4)程序2(标识符)设计说明。(5)程序N(标识符)设计说明。6、评审对处理过程的算法和数据库的物理结构都要评审。三、详细设计方法
1、采用自顶向下、逐步求精的程序设计方法2、使用三种基本控制结构构造程序3、主程序员的组织形式四、详细设计的工具
详细设计的任务是给出软件模块结构中各个模块的内部过程描述,也就是模块内部的算法设计。
详细设计的工具可以分为图形、表格和语言三种。四、详细设计的工具1、程序流程图
程序流程图又称为程序框图,它是历史最悠久、使用最广泛的一种描述程序逻辑结构的工具。(1)程序流程图的三种基本控制结构四、详细设计的工具(2)程序流程图的主要缺点如下:
程序流程图诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。
程序流程图中的箭头代表控制流,程序员可以不加限制的使用GOTO语句,导
致基本控制块多入口多出口。程序流程图不易表示数据结构。四、详细设计的工具2、盒图(N-S图)
它以一种结构化的方式严格地限制从一个处理到另一个处理的控制转移。(1)盒图的基本符号四、详细设计的工具
(2)每一个N-S图开始于一个大的矩形,表示它所描述的模块。该矩形的内部被分成不同的部分,分别表示不同的子处理过程,这些子处理过程又可以进一步分解成更小的部分。四、详细设计的工具
3、问题分析图(PAD图,ProblemAnalysis
Diagram)
是日本日立公司于1979年提出的一种算法描述工具,它是一种由左往右展开的二维树型结构。(1)PAD图的基本符号四、详细设计的工具
(2)PAD图的控制流程为自上而下,从左到右地执行。
(3)实例:将数组A(1)到A(10)进行排序的PAD图。四、详细设计的工具(4)PAD图的优点1)清晰地反映了程序的层次结构,图中的竖线为程序的层次线,最左边竖线是程序的主线,其后一层一层展开,层次关系一目了然。
2)支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。3)易读易写,使用方便。4)支持结构化的程序设计原理。5)可自动生成程序。四、详细设计的工具4、类程序设计语言(PDL)
类程序设计语言(Program
DesignLanguage)、过程设计语言(ProcessDesign
Language),也称为伪码。四、详细设计的工具(1)PDL特点
所有关键字都有固定语法,以便提供结构化控制结构、数据说明和模块的特性。描述处理过程的说明性语言没有严格的语法。
具有数据说明机制,包括简单的与复杂的数据说明。
具有模块定义和调用机制,开发人员应根据系统编程所用的语种,说明PDL表示有关程序结构。四、详细设计的工具(2)程序结构1)顺序结构采用自然语言描述顺序结构:••••处理S1处理S2……处理Sn四、详细设计的工具2)选择结构① IF—ElSE结构IF
条件IF
条件处理S1或处理SELSEENDIF处理S2ENDIF四、详细设计的工具② IF—ORIF—ElSE结构IF
条件1处理
S1ORIF
条件2处理
S2……ELSE
处理SnENDIF四、详细设计的工具③
CASE结构CASE
OFCASE(1) 处理S1CASE(2) 处理S2……ELSE 处理SnENDCASE四、详细设计的工具3)重复结构①
FOR结构FOR
i=1
TO
n循环体ENDFOR四、详细设计的工具②
WHILE结构WHILE
条件循环体ENDWHILE③
UNTIL结构REPEAT循环体UNTIL
条件四、详细设计的工具4)扩充结构①
模块定义PROCEDURE 模块名(参数)……RETURNEND四、详细设计的工具②
模块调用CALL 模块名(参数)③
数据定义DECLAER 属性 变量名,……
属性有:字符、整型、实型、双精度、指针、数组及结构等类型。四、详细设计的工具④
输入/输出GET(输入变量表)PUT(输出变量表)四、详细设计的工具(3)PDL应用示例
××系统主控模块详细设计为例,说明如何用PDL来描述。四、详细设计的工具PROCEDURE
模块名()清屏;显示××系统用户界面;PUT(“请输入用户口令:”);GET(password);IF
password
<>
系统口令提示警告信息;退出运行ENDIF四、详细设计的工具••••••••••END显示本系统主菜单;WHILE(true)接收用户选择ABC;IF
ABC=“退出”Break;ENDIF调用相应下层模块完成用户选择功能;ENDWHILE;清屏;RETURN四、详细设计的工具(4)优点:••
1)提供的机制较图形全面,为保证详细设计与编码的质量创造了有利条件。可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于软件的维护。可自动生成程序代码,提高软件生产率。目前已有PDL多种版本(如PDL/pascal,PDL/C,PDL/Ada等),为自动生成相应代码提供了便利条件。五、软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国小儿用氨基酸注射液市场全面调研及行业投资潜力预测报告
- 2025年海泡石项目可行性研究报告
- 铸铁件、铸钢件的研发、生产项目可行性研究报告
- 贵州重点项目-平坝花卉基地建设项目可行性研究报告
- 书画类可行性报告
- 汽轮机转子检修盘车行业深度研究报告
- 中国个人气体检测仪市场深度分析及投资战略咨询报告
- 中国儿童肉酱项目投资可行性研究报告
- 2025年航空呕吐袋行业深度研究分析报告
- 2025年中国蓄电池组放电仪行业市场全景分析及投资战略规划报告
- 临床患者体位管理
- 砂光机培训课件
- 米酒的制作流程
- 施工现场防高坠培训
- 部编版语文小学二年级下册第一单元集体备课(教材解读)
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传画册
- DB31-T 1310-2021 火花探测和熄灭系统应用指南
- 消防系统管道支架施工方案
- 北京版(一起)英语二年级下册单词默写表
- 2025-2025学年牛津译林英语七年级下册(7B)教学计划
- 中建抹灰工程专项施工方案
评论
0/150
提交评论