第5章 详细设计
软件工程导论(第5章)

11
5.1.2 选取若干个合理的方案
至少选取低成本、中等成本和高成本三种方案。
每种方案准备四份资料:
系统流程图; 组成系统的物理元素清单; 成本/效益分析; 实现这个系统的进度计划。
12
5.1.3 推荐最佳方案
分析员应该综合分析对比各种合理方案的利
弊,推荐一个最佳的方案,并且为推荐的方 案制定详细的实现计划。
发出较高质量的软件系统。
7
第一部分:设计过程 第二部分:设计原理 第三部分:启发原则 第四部分:软件结构图 第五部分:面向数据流的设计方法
8
5.1 设 计 过 程
总体设计过程通常由两个主要阶段组成: 系统设计:确定系统的具体实现方案。 结构设计:确定软件结构。 9个步骤: ① 设想供选择的方案 ② 选取合理的方案 ③ 推荐最佳方案 ④ 功能分解 ⑤ 设计软件结构 ⑥ 设计数据库 ⑦ 制定测试计划 ⑧ 书写文档 ⑨ 审查和复审
和理解; 可以使软件容易测试和调试,因而有助于提高软 件的可靠性; 能够提高软件的可修改性; 有助于软件开发工程的组织管理。
32
模块化五条标准
模块可分解性
把问题分解为子问题 模块可组装性 可复用 模块可理解性 无需参考其他模块,易于构造和修改 模块连续性 微小修改只导致对个别模块 模块保护性 异常影响局限在模块内部
“隐蔽”意味着模块彼此间仅仅交换那些为了完成系统功能而 必须交换的信息。 “局部化”是指把一些关系密切的软件元素物理地放得彼此靠 近。局部化有助于实现信息隐蔽。
设计和确定模块时,使得一个模块内包含的信息(过程和 数据)对于不需要这些信息的模块来说,是不能访问的。 模块内部的数据与过程,应该对不需要了解这些数据与过 程的模块隐藏起来。只有那些为了完成软件的总体功能而 必需在模块间交换的信息,才允许在模块间进行传递。
软件工程 第4版 第5章 详细设计

数据流程图
01
数据流程图表示 求解某一问题的 数据通路,同时 规定了处理的主 要阶段和所用的 各种数据媒体
程序流程图
02
程序流程图表示 程序中的操作顺 序
系统流程图
03
系统流程图表示 系统的操作控制 和数据流
程序网络图
04
程序网络图表示 程序激活路径和 程序与相关数据 流的相互作用
系统资源图
05
系统资源图表示 适用于一个问题 或一组问题求解 的数据单元和处 理单元的配置
5.1.3 PAD
01 PAD 的基本符号
OPTION
➢ 顺序结构 ➢ 条件结构 ➢ CASE 型多分支结构 ➢ 先检测循环条件的WHILE 型循环结构 ➢ 后检测循环条件的UNTIL 型循环结构 ➢ 语句标号 的特点
OPTION
用PAD 表示的程序从最左边的竖线的上端开始,自上而 下、自左向右执行 用PAD 设计的软件结构必然是结构化的程序结构
图1
图2
5.1.1 流程图
04 流程图的3 种基本结构
OPTION
流程图的3 种基本结构为顺序结构、条件 结构和循环结构,如图1所示,图中的C 是判 定条件。顺序结构如图(a)所示。条件结构 可分为两种,一种是IF...THEN...ELSE 型条件 结构,如图(b)所示;另一种是CASE 型多 分支结构,如图(c)所示。
应的应做的工作。
2 判定表中的符号
右上部用T 表示条件成立,用F表示条件不 成立,空白表示条件成立与否不影响。
右下部画× 表示在该列上面规定的条件下做 该行左边列出的那项工作,空白表示不做该 项工作。
5.1.5 判定树
判定树和判定表一样,也能表明复杂的条件组 合与对应处理之间的关系。判定树是一种图形表示 方式,更易被用户理解。
软件工程 第5章软件详细设计

第5章例题分析与解答作者:不详来源:2006年9月1日发表评论进入社区一、填空题1.结构化程序设计方法的要点是使用___三种基本控制_____结构,自顶向下、逐步求精地构造算法或程序。
2.为了产生结构化的流程图,应由三种基本控制结构顺序组合或__完全嵌套___而成。
3.结构化程序设计方法提倡开发人员的组织形式是___主程序组_____。
4.PAD图是一种由左向右展开的二维树型结构,图中的竖线为程序的____层次线____。
5.在Jackson方法中解决结构冲突的具体办法是引入__中间数据结构或中间文件______。
二、选择题1.详细设计与概要设计衔接的图形工具是( B )。
A.DFD图B.SC图C.PAD图D.程序流程图2.结构化程序设计主要强调的是( C)。
A.程序的效率B.程序的执行速度C.程序的易读性D.程序的规模3.详细设计的任务是确定每个模块的( A)。
A.算法B.功能C.调用关系D.输入输出数据4.Jackson方法实现从( A )导出(C )。
A.数据结构B.数据流图C.程序结构D.软件模块层次结构5.在软件详细设计过程中不采用的描述工具是( D )。
A.判定表B.IPO图C.PAD图D.DFD图三、应用题一个正文文件由若干个记录组成,每个记录是一个字符串。
要求统计每个记录中空格字符的个数及文件中空格字符的总个数。
要求输出数据格式是每复制一行字符串之后,另起一行印出上一行字符串空格字符的个数,最后一行印出空格字符总个数。
答案:一、填空题1.三种基本控制结构2.完整嵌套3.主程序员组4.层次线5.中间数据结构或中间文件二、选择题1.B2.C3.A4.AC5.D三、应用题图5-1图5-2<>第5章自测题及参考答案作者:不详来源:2006年9月1日发表评论进入社区一、名词解释1.结构化程序设计2.PAD3.PDL4.结构冲突5.对应关系二、填空题1.结构化程序设计方法使用___三种基本控制结构___构造程序。
【课程练习】习题解答-第五章 详细设计

第五章详细设计1.详细设计的基本任务是什么?有哪几种描述方法?详细设计的基本任务:(1)为每个模块进行详细的算法设计。
(2)为每个模块内的数据结构进行设计。
(3)对数据库进行设计,即确定数据库的物理结构。
(4)其他设计:a.代码设计b.输入/输出格式设计。
c.人机对话设计。
(5)编写详细设计说明书。
(6)评审。
描述方法(三种):a.程序流程图b.PAD图 C.过程设计语言2.结构化程序设计基本要求要点是什么?a.采用自顶向下、逐步求精的程序设计方法b.使用三种基本程序控制结构构造程序1).用顺序方式对过程分解,确定各部分的执行顺序。
2).用选择方式对过程分解,确定某个部分的执行条件。
3).用循环方式对过程分解,确定某个部分重复的开始和结束的条件。
c.主程序员组的组织形式。
3.简述Jackson 方法的设计步骤。
Jsp 方法一般通过以下5个步骤来完成设计:a.分析并确定输入/出数据的逻辑结构,并用Jackson 结构图表示这些数据结构。
b.找出输入数据结构和输出数据结构中有对应关系的数据单元。
c.按一定的规则由输入、输出的数据结构导出程序结构。
d.列出基本操作与条件,并把它们分配到程序结构图的适当位置。
e.用伪码写出程序。
4.请使用流程图、PAD图各PDL语言描述下列程序的算法。
(1)在数据A(1)-A(10)中求最大数和次大数。
(2)输入三个正整数作为边长、判断该三条边构成的三角形是等边、等腰或一般三角形。
答:(1)1)流程图:2)PAD图3)PDL语言定义n1=n2=0输入A(1).......A(10)n1=n2=A(1)while i>10if A(i)>=n1n2=n1n1=A(i)end while5.用PAD图描述下面问题的控制结构。
有一个表A(1)、A(2)、........A(n),按递增顺序排列。
给定一个Keyw值,在表中用折半查找。
若找到将表位置i送入x,否则将零送到x,同时将Key值插入表中。
第五章节软件详细设计

10/31/2020
21
界面举例MSN
10/31/2020
22
界面举例红心大战
缺省值
10/31/2020
23
黄金规则:保持界面一致
用户应以一致的方式展示和获取信息
• 所有可视信息的组织均按照贯穿所有屏幕显示 所保持的设计标准
• 输入机制被约束到有限的集合,在整个应用中 被一致地使用
• 从任务到任务的导航机制被一致地定义和实现
10/31/2020
9
其他工具
其他工具:
• HIPO图 • 判定表 • 判定树
10/31/2020
10
软件设计元素
· 模块过程设计 · 代码设计 · 用户界面设计 · 文件格式设计 · 安全控制设计
10/31/2020
11
代码设计
■ 代码是由一些数字、字母或特殊符号组成的用 来表征事物名称、属性、状态和数量等的标识。
10/31/2020
33
用户经验、知识方面的使用需求
• 系统应能让未经专门训练的用户使用
• 系统能对不同经验用户做出不同反应
• 提供同一系统的一致性,建立标准化人机界面
• 系统必须适应用户在应用领域的知识变 化,提供动态的自适应的设计
10/31/2020
34
用户对系统的期望方面的要求
• 用户界面应提供形象、生动、美观的布 局显示和操作环境
界面设计主要包括三个方面:
• 设计软件构件之间的接口 •者设的计界模面块和其他非人的信息生产者和消费 • 设计人(如用户)和计算机间的界面
10/31/2020
17
界面的设计原则
• 分析用户类型 • 应用程序和界面分离 • 一致性 • 尽量减少用户工作 • 出错处理和帮助功能 • 增加可视化图形表示
第5章 详细设计

由用户试用和评估
3. 人机界面设计指南 1)一般交互指南
(1)保持一致性. (1)保持一致性. 保持一致性
应该为人机界面中的菜单选择, 应该为人机界面中的菜单选择, 命令输入, 命令输入,数据显示以及众多的其 他功能,使用一致的格式.举例: 他功能,使用一致的格式.举例: PPT中的菜单 中的菜单, PPT中的菜单,对话框
3. 人机界面设计指南 1)一般交互指南
提供有意义的反馈. (2) 提供有意义的反馈.
应向用户提供视觉的和听觉的 反馈, 反馈,以保证在用户和系统之 间建立双向通信.举例: 间建立双向通信.举例:注册 表单中的错误信息怎样弹出
3. 人机界面设计指南 1)一般交互指南
(3)在执行有较大破坏性的动作之前 (3)在执行有较大破坏性的动作之前 要求用户确认. 要求用户确认.
描述工具
PDL 伪代码
描述程序处理过程的工具 称为过程设计工具, 称为过程设计工具,它们 可以分为图形 表格, 图形, 可以分为图形,表格,和 语言3 语言3类. 不论是哪类工具,对它们 不论是哪类工具, 的基本要求都是能提供对 设计的无歧义的描述. 设计的无歧义的描述.即: 应该能指明控制流程, 应该能指明控制流程,处 理功能,数据组织, 理功能,数据组织,以及 其他方面的实现细节, 其他方面的实现细节,从 而在编码阶段能把对设计 的描述直接翻译成程序代 码.
1.
人机界面设计问题
设计人机界面中的4个问题: 设计人机界面中的4个问题: 1)系统响应时间 2)用户帮助设施 3)出错信息处理 4)命令交互
2.人机界面设计过程 2.人机界面设计过程
用户界面设计是一个迭代的过程. 用户界面设计是一个迭代的过程.
创建设计模型
第5章软件详细设计
第5章软件详细设计软件详细设计是软件开发过程中的一个重要环节,它是在需求分析的基础上,对软件系统进行具体设计的过程。
本章将对软件的各个模块进行详细设计,包括模块之间的关系和功能实现细节。
在进行软件详细设计时,需要考虑以下几个方面:1.模块划分:根据需求分析中的功能点,将系统划分为多个模块,每个模块实现一个或多个功能。
2.模块之间的关系:分析各个模块之间的依赖关系,确定模块之间的调用关系和数据交互方式。
3.功能实现细节:对每个模块进行详细设计,包括具体的算法实现、数据结构设计、界面设计等。
4.系统性能考虑:考虑系统在各种情况下的性能要求,针对性地进行优化设计,提高系统的运行效率。
在软件详细设计中,需要根据需求分析中的功能点进行模块划分。
以一个电商系统为例,可以将系统划分为用户管理模块、商品管理模块、订单管理模块等多个功能模块。
每个模块负责实现相应的功能,同时模块之间需要进行数据交互和调用。
在模块之间的交互设计中,可以采用面向对象的设计思想,通过定义接口和类来描述模块之间的关系。
例如,在用户管理模块中,可以定义一个User类,该类包含了用户的基本信息和操作方法。
在订单管理模块中,可以通过调用User类的方法来获取用户的信息。
在功能实现细节方面,需要根据模块的功能点来进行具体的实现。
例如,在商品管理模块中,需要实现商品的增删改查功能。
可以使用数据库来存储商品信息,通过SQL语句来进行增删改查操作。
在系统性能考虑方面,可以采用多线程、缓存等技术来提高系统的运行效率。
例如,在订单管理模块中,可以使用多线程来处理订单的并发操作,提高系统的并发性能。
总之,软件详细设计是软件开发过程中的一个重要环节,通过对系统的模块划分、模块之间的关系和功能实现细节的设计,可以确保软件系统按照需求进行正确、高效地实现。
同时,考虑系统的性能要求和优化设计,可以提高系统的运行效率和用户体验。
05详细设计
结构化程序设计的发展历史
Байду номын сангаас
1965年,E.W.Dijkstra在IFIP(国际信息处理联合会)会议上提 出“可以从高级语言中取消GOTO语言”、“程序的质量与程序中所 包含的GOTO语句的数量成反比”。但是当时并未引起很大反响。 1966年Bohm和Jacopini证明了,只用三种基本的控制结构就能实现 任何单入口单出口的程序,这个结论奠定了结构程序设计的理论基 础。这三种基本的控制结构是“顺序”、“选择”、“循环”。 1968年Dijkstra在ACM通讯上发表了短文“GOTO statement considered harmful”再次建议从一切高级语言中取消GOTO语句, 只使用三种基本控制结构写程序。经过讨论人们认识到,不是简单 地去掉GOTO语句的问题,而是要创立一种新的程序设计思想、方法 和风格,以显著地提高软件生产率和降低软件维护代价。 1971年IBM公司在纽约时报信息库管理系统的设计中成功地使用了 结构程序设计技术(以及主程序员组),随后在美国宇航局空间实 验室飞行模拟系统的设计中,结构程序设计技术(也采用了主程序 员组的形式)再次获得圆满成功。
1966年Bohm和Jacopini证明了,只用三种基本的控制结构就能 实现任何单入口单出口的程序,这个结论奠定了结构程序设计 的理论基础。这三种基本的控制结构是“顺序”、“选择”、 “循环”。
A B B
exp T A A exp F 或
F exp T A
a.顺序
b.if-then-else 选择
c.do-while 循环
PDL的特点
提供全部结构化控制结构、数据说
明和模块特征。能对PDL正文进行 结构分割,使之变得易于理解。 为了区别关键字,规定关键字一律 大写,其它单词一律小写。或者规 定关键字加下划线,或者规定它们 为黑体字。
第5章 详细设计
05 详细设计一、选择题(1)在详细设计阶段经常采用的图形工具包括( D )。
A.PAD图 B.程序流程图 C.N-S图 D.以上都是(2)提高程序可读性的手段包括( D )。
A.使用三种标准控制结构 B.采用有实际意义的变量名C. 给程序加注释 D.以上都是(3)结构化程序设计的三种基本控制结构不包括( C )。
A.顺序 B.选择 C.转移 D.循环(4)详细设计中,过程设计的常用图形工具不包括( B )。
A.程序流程图 B.数据流图 C.N-S盒图 D.PAD图(5)下列关于详细设计中的说法中正确的是( D )等。
A.详细设计任务相当于设计程序的“蓝图”B.详细设计的根本目标是应该怎样具体地实现系统C.详细设计≠编写代码D.以上都正确(6)结构化程序之所以具有易于阅读,并且有可能验证其正确性,这是由于( D )A.它强调编程风格 B.选择良好的数据结构和算法C. 有限制地使用GOTO语句 D.只有三种基本结构(7)程序设计语言主要分三大类:机器语言,汇编语言和( B )。
A.逻辑语言 B.高级语言 C.自然语言 D.智能语言(8)结构化程序设计中的三种基本控制结构是( B )。
A.过程、子程序和分程序 B.顺序、选择和循环C.递归、堆栈和队列 D.调用、返回和转移(9)软件详细设计的主要任务是确定每个模块的 ( A )。
A.算法和使用的数据结构 B.外部接口C.功能 D.编程(10)在详细设计阶段,经常采用的工具包括( A )。
A.程序流程图 B.SA C.SC D.DFD(11)详细设计的结果基本决定了最终程序的( C )。
A.代码的规模 B.运行速度C.质量 D.可维护性(12)软件详细设计主要采用的方法是( D )。
A.模块设计B.结构化设计C.PDL语言D.结构化程序设计(13)详细设计中,过程设计的常用工具有( A )等。
A.程序流程图,N-S盒图,PAD图 B.程序流程图,数据流图C.程序流程图,系统流程图 D.程序流程图,E-R图(14)结构化程序设计主要强调的是( A )。
软件工第5章
多分支
流程图连接
流程图符号加横线
《软件工程(第3版)》陆惠恩主编
5
4. 流程图的三种基本结构:
顺序(a)、选择(b、c)、循环(d、e)。
《软件工程(第3版)》陆惠恩主编
6
5.1.2 盒图 盒图是Nassi和Shneiderman提出的,又称N_S图。 1. 盒图的符号(请注意d、e的区别)
《软件工程(第2版)》陆惠恩主编
《软件工程(第3版)》陆惠恩主编
12
【例5.5 】用判定表表示旅游票价的优惠规定。
某旅行社根据旅游淡季、旺季 及是否团体订票,确定旅游票 价的折扣率。具体规定如下: 人数在20人以上的属团体,20 人以下的是散客。 每年的4-5月、7-8月、10月为 旅游旺季,其余为旅游淡季。 旅游旺季,团体票优惠5℅, 散客不优惠。 旅游淡季,团体票优惠30℅, 散客优惠20℅。 用判定表表示旅游订票的优惠 规定。
《软件工程(第3版)》陆惠恩主编
17
5.2 用户界面设计
5.2.1 用户界面设计问题
1. 系统响应时间 2. 用户帮助设施 3. 出错信息处理 4.命令交互
5.2.2 用户界面设计过程
用户界面设计是一个迭代的过程,一般步骤如下: 1.先设计和实现用户界面原型。 2.用户试用该原型,向设计者提出对界面的评价。 3.设计者根据用户的意见修改设计并实现下一级原型。 不断进行下去,直到用户满意为止。
《软件工程(第3版)》陆惠恩主编
15
CASE结构: CASE 条件 OF CASE(1) 处理1 CASE(2) 处理2 … CASE(n) 处理n 3.循环结构 (1)FOR循环结构: FOR i=1 TO n 循环体 END FOR (2)WHILE循环结构: WHILE 条件 循环体 ENDWHILE (3) REPEAT-UNTIL循环结构: REPEAT 循环体 UNTIL条件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程教材 江西高校出版社
3.模块处理过程设计
• 模块处理过程设计则是要对模块内部属性进行设 计,包括对其内部控制流、内部数据组织以及具 体加工的实施和执行过程进行的设计。这些设计 将为将来的编写程序做好更加周密的准备,使得 编写程序更加方便。可以使用某种图形、表格、 语言等工具,对概要设计阶段划分的每个模块进 行过程和算法设计。这些工具有程序流程图、盒 图、PAD图、判定表、判定树和过程设计语言等 。
18>>
软件工程教材 江西高校出版社
2. 输入输出格式设计。输入设计追求的是既实现尽可能 高的输入效率又能尽量地避免错误的发生。这一目标 可以通过以下方法来实现:一是简化输入。对于输入 数据的数量以及输入操作应尽量追求简单,使得输入 更加方便、效率更高。当然,前提是应保证输入的数 据足够充分,满足系统对相关数据的需求。二是提前 进行正确性检查。对输入数据尽量提前进行正确性验 证,提前发现钱误,从而减少错误的发生,同时也减 轻后面设计工作的负担。而对于输出设计,则需特别 注意的是要设计的系统是针对于哪些用户,应针对不 同用户的需求以及使用习惯进行设计,并确保输出的 数据直观、易于理解,让人一目了然。
A
图5.1 用方框代表加工处理步骤
26>>
软件工程教材 江西高校出版社
(2)逻辑条件用菱形来表示,如图5.2所示,其中 B代表逻辑条件的判断表达式,而两个出口箭头 则表示表达式的逻辑值为T或F的两个不同出口。
F
B
T
图5.2 用菱形代表逻辑条件
27>>
软件工程教材 江西高校出版社
(3)控制流向用箭头表示,如图5.1和图5.2所示的 箭头,都是表示程序的控制流向。 为了实现使用程序流程图描述结构化程序,必须 限制程序流程图只使用以下五种基本控制结构。
9>>
软件工程教材 江西高校出版社
(3)确定模块接口的细节,包括对系统外部的接 口和用户界面。对系统内部其他模块的接口,以 及模块输入数据、输出数据和局部数据的全部细 节。 (4)选用某种图形、表格和语言等工具将每个模 块处理过程的详细算法描述表达出来,编写详细 设计说明书。
10>>
软件工程教材 江西高校出版社
23>>
软件工程教材 江西高校出版社
5.2 详细设计的工具
5.2.1 程序流程图 • 程序流程图(Program Flow Chart)也称为程序 框图,是程序设计中应用最广泛的算法描述工具 。程序流程图独立于各种程序设计语言,且直观 、清晰,易于学习掌握。从20世纪40年代末到20 世纪70年代中期,程序流程图一直是传统的软件 工程方法的结构化设计技术所使用的经典设计工 具。
34>>
软件工程教材 江西高校出版社
图5.5
35>>
软件工程教材 江西高校出版社
• 为了使得流程图的使用更加规范化,很有必要对 流程图所使用的符号做出确切的规定。国家标准 《信息处理--数据流程图、程序流程图、系统流 程图、程序网络图和系统资源图的文件编制符号 及约定》(GB/T1526-1989)中对程序流程图 的符号做出了规定。图5.6给出了由国际标准化 组织提出的,并由中国国家技术监督局批准的在 程序流程图中使用的部分标准符号。
19>>
软件工程教材 江西高校出版社
3. 人机对话设计。对于一个实时系统,用户与计 算机频繁进行人机对话,因此要进行对话方式 、内容及格式的具体设计。 4. 网络设计。如果设计的软件是一个分布式系统 ,那么还要进行网络拓扑结构设计。
20>>
软件工程教材 江西高校出版社
5.1.4 详细设计的参与者 • 详细设计阶段的参与者主要有软件系统用户、软 件设计师、程序员及详细设计文档复审专家。软 件系统分析师和设计师在前一个阶段进行了概要 设计,确定了软件系统总体框架和模块组织结构 。在详细设计阶段,需要有经验的软件设计人员 担任负责人,在上一阶段设计成果的基础上,将 用户、程序员一起组织起来,进行系统各部分的 详细设计。
4>>
软件工程教材 江西高校出版社
• 详细设计阶段并不具体地编写各个程序的代码, 而是设计出程序的“蓝图”,在编码阶段程序员 将根据这个蓝图写出实际的程序代码。因此,详 细设计的结果在很大程度上决定着最终的程序代 码的质量。
5>>
软件工程教材 江西高校出版社
• 在软件的生存周期中,软件测试方案设计、程序 代码调试和修改时,都需要先读懂程序代码。因 此,衡量程序代码的质量时不仅要看其逻辑是否 正确、性能是否满足要求,更重要的是要看程序 代码是否容易阅读和理解。
32>>
软件工程教材 江西高校出版社
5.多情况(case)型选择。多情况型选择列举了多 个加工处理步骤,程序根据控制变量的值,选择 其中一个加工步骤来执行。如图5.4(b)所示。
33>>
软件工程教材 江西高校出版社
• 任何复杂的程序流程图都是由以上五种基本控制 结构嵌套组合而成,如图下图5.5所示,这是一 个结构化程序的流程图,其中包含这上述说明的 几种基本控制结构,P1为选择型的逻辑条件,P2 为后判定型循环的逻辑条件,P3为多情况型选择 的逻辑条件,P4为先判定型循环的逻辑条件。
24>>
软件工程教材 江西高校出版社
• 尽管程序流程图被广泛使用,但是其不够规范、 符号不统一,且使用箭头的过于灵活,容易导致 流程图难以看懂,导致使用程序流程图的程序设 计人员逐渐减少。
25>>
软件工程教材 江西高校出版社
• 程序流程图一般包含三种基 本元素:加工处理步骤、逻 辑条件和控制流方向。 (1)加工处理步骤一般用矩形 框来表示,如图5.1所示,其 中A为该处理框的名字,是表 示该加工处理操作的一个抽 象的名字。
8>>
软件工程教材 江西高校出版社
详细设计过程中一般需要完成以下任务: (1)确定软件各个组成部分内所采用的算法和各 部分的内部数据组织形式,还须对需 求分析、总体设计确定的概念性的数据类型进行确 切的定义。 (2)对数据结构进行物理设计,如确定数据库的 物理结构。物理结构主要指数据的存储记录格式 、存储记录安排和存储方法等。
6>>
软件工程教材 江西高校出版社
5.1.2 详细设计的过程
详细设计的一般过程如下: (1)对概要设计阶段所确定的抽象性的数据类型 进行确切的定义,确定软件各个模块采用的算法 和内部数据组织形式,确定对系统内部和外部模 块的接口细节。 (2)确定每个模块的算法。选择适当的图形、表 格和语言等描述工具表达每个模块算法的执行过 程,写出模块的详细过程性描述。
7>>
软件工程教材 江西高校出版社
(3)为每个模块设计一组测试用例。在详细设计阶段设 计每个模块的测试用例,使编码阶段对具体模块的调试 或测试更加方便。负责详细设计的人员最了解模块的功 能和要求,所以应由他们来完成测试用例的设计。测试 内容通常包括输入数据、期望输出结果等。 (4)编写详细设计说明书。在详细设计结束时,把上述 结果进行整理,编写出详细设计说明书,并经过复审后 ,形成正式文档,作为下一阶段的工作依据。
(5)还要为每一个模块设计出一组测试用例,以 便在编码阶段对模块代码进行预定的测试,模块 的测试用例是软件测试计划的重要组成部分,通 常包括测试输入数据、期望输出结果等内容。 (6)在详细设计结束时,进行详细设计的评审。 把上述结果写入详细设计说明书,并通过复审形 成正式文档,作为下一阶段的工作依据。
11>>
软件工程教材 江西高校出版社
5.1.3 详细设计的内容
• 进行详细设计时,通常要考虑多方面的因素,尽量使得 设计的每一个环节更加有条理、更加标准化,从而最大 限度地提高程序的设计效率。对一个系统进行详细设计 时一般要考虑以下几个方面的内容:
1.数据结构设计 2.数据存储设计 3.模块处理过程设计 4.用户界面设计 5.其他设计
14>>
软件工程教材 江西高校出版社
• 另外,数据存储设计还涉及数据保密方面的内容 ,可以根据实际情况及需要采用适当的加密方法 对数据进行保密。需要指出的是,现在大多数软 件系统都使用成熟的数据库管理系统,由数据库 管理系统解决数据库物理存储问题,不需在详细 设计阶段进行数据物理存储设计。
15>>
12>>பைடு நூலகம்
软件工程教材 江西高校出版社
1.数据结构设计 • 对前面需求分析、总体设计阶段确定的概念性的 数据类型,给出准确的定义。这一部分的设计内 容一般比较多,所以大多数采用小型数据库辅助 的方法进行。
13>>
软件工程教材 江西高校出版社
2.数据存储设计
• 数据存储设计主要是针对于数据组织存储和数据 库等方面的设计,其目标是设计出数据调用快捷 、方便且使用的资源开销较少的数据存储系统。 这就要求设计时要根据数据的使用要求及用途等 各个方面来决定采用何种存储方式。
2>>
软件工程教材 江西高校出版社
需要指出的是该阶段还不是程序编码阶段,而是 编码前的准备工作,在这个阶段给出每个模块足 够详细的过程性描述,在编码阶段可以方便的将 写着描述直接翻译成某种程序设计语言的代码。
3>>
软件工程教材 江西高校出版社
5.1.1 详细设计的任务
• 详细设计的任务,是对概要设计阶段划分出的每 个模块进行明确的算法描述,即根据概要设计提 供的说明文档,确定每一个模块的数据结构及具 体算法,并选用合适的描述工具,将其清晰准确 地表达出来。
28>>
软件工程教材 江西高校出版社
1.顺序型。顺序型由几个连续的加工处理步骤依 次排列构成,如图5.3(a)所示。