第5章 详细设计

合集下载

软件工程 第4版 第5章 详细设计

软件工程 第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章 详细设计案例

软件工程详细设计案例[案例1] 高等学校工资管理系统(详细设计)详细设计阶段的根本目标是确定应该怎样具体地实现所需求的系统,也就是说,经过这个阶段的设计工作,得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成某种程序设计语言的代码。

在图4-5 中可以看到工资管理系统已表示成由若干模块组成的层次结构。

每个模块代表一组详细的处理逻辑。

为了更好地描述模块的处理逻辑,应对每一个模块用一张IPO 图进行细节描述,例如,工资管理主控模块的IPO 图可示意如下(参见图5-1)。

最后设计出各个模块的程序流程图(或N-S 图)。

图5-1 工资管理主控模块的I PO 图[案例2] 电子名片管理系统(详细设计报告)1 引言1.1 编写目的随着社会发展的日新月异,商业来往日渐广泛,人们之间的交往也日益频繁,于是,人们手中便出现了名目繁多的通讯录、名址录、名片夹等对交友或客户进行管理的工具,但是一张张名片上的信息虽然不多,却占据了很大的空间;同时,这些传统的手动管理方式存在着不易更新、不易存放、容易丢失、难以备份等重大缺陷;而建立自己的电子文档对名片进行管理虽然克服了以上的缺点,但查询效率低下,特别是当数据量十分庞大时,劣势更加明显。

随着商务通的出现,虽然实现了可构造查询条件的名片电子化管理,但价格昂贵,难以在广大客户中进行全面普及。

因此开发一个既可以存储信息,又可以进行更新、查询等功能,同时价格又能为广大消费者接受的多功能电子通讯录就显得十分必要。

本报告读者对象为研发中心领导和主管技术人员,以及项目设计和开发人员。

1.2 项目背景项目名称初步定为:电子名片管理系统(ECMS,Electronic Card Management System)。

分为4 个子功能模块:密码管理模块、更新模块、查询模块和数据导入/导出模块。

本项目的任务提出者为北京ECM&ZW 软件开发有限公司,开发者和主管部门为ECM&ZW 软件开发研制中心。

【课程练习】习题解答-第五章 详细设计

【课程练习】习题解答-第五章 详细设计

第五章详细设计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值插入表中。

人教版必修一第五章第一节《自然环境的整体性》教学设计

人教版必修一第五章第一节《自然环境的整体性》教学设计
2.案例研究作业:
分组进行案例研究,每组选择一个典型的自然环境问题,如沙漠化、水土流失等,通过查阅资料、访谈等方式,深入了解案例背景和现状。运用GIS等工具,结合整体性原理,分析问题成因,并提出治理方案。
3.论文式作业:
围绕“自然环境整体性原理在可持续发展中的应用”这一主题,撰写一篇论文。要求学生明确论文观点,运用所学知识进行论述,结合实际案例进行分析。
四、教学内容与过程
(一)导入新课
在导入新课阶段,教师通过展示地球自然景观的图片,如山川、河流、湖泊、森林等,让学生观察并思考这些自然景观之间的联系。随后,提出问题:“这些自然景观是如何相互影响、相互作用的?”引导学生回顾已学的地理知识,为新课的学习做好铺垫。
接着,教师简要介绍自然环境的定义,强调自然环境是由多个相互联系、相互作用的要素组成的。在此基础上,提出本节课的学习目标,即了解自然环境的整体性原理,学会运用该原理分析和解决实际问题。
4.培养学生的空间思维能力和综合分析能力,提高地理学科素养。
(二)过程与方法
1.通过课堂讲解、案例分析、小组讨论等多种教学方式,引导学生掌握自然环境整体性的基本概念和原理。
2.引导学生运用观察、调查、文献查阅等方法,收集和整理自然环境的相关资料,培养学生的实践能力。
3.结合实际案例,指导学生运用地理信息系统(GIS)等工具,进行地理环境整体性的分析,提高学生的技术应用能力。
-整体性原理:详细讲解自然环境整体性的内涵,通过实例分析,使学生深入理解该原理。
-案例分析:运用GIS等工具,让学生参与自然环境整体性的案例分析,提高学生的实践能力。
-课堂小结:总结本节课的主要内容,强调自然环境的整体性原理在实际问题中的应用。
3.教学评价:
-采用多元化的评价方式,包括课堂提问、小组讨论、课后作业等,全面评估学生的学习效果。

第五章节软件详细设计

第五章节软件详细设计

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
界面的设计原则
• 分析用户类型 • 应用程序和界面分离 • 一致性 • 尽量减少用户工作 • 出错处理和帮助功能 • 增加可视化图形表示

软件工程-详细设计

软件工程-详细设计


(3)程序流程图不便于表示数据结构。
前一页
程 序 流 程 图
前一页
盒图(N-S图)

Nassi和Shneiderman提出盒图

(1)功能域(一个特定控制结构的作用
设 域)明确,可以从盒图上一眼就看出来。

(2)不能够随意转移控制。
的 (3)很容易确定局部和全局数据的作用 域。

(4)很容易表现嵌套关系,也可以表示
序 择一个。
设 3.重复结构
计 方
重复结构的数据,根据使用时的条件由一个数 据元素出现零次或多次构成。

前一页
JACKSON图
J
JACKSON图
A
C
K
S O
Jackson图的优点:便于表示层 次结构,而且是对结构进行自顶向下分 解的有力工具;形象直观可读性好;
N
既能表示数据结构也能表示程序结构


使用最广泛、也是用得最混乱的一种描述软件设计 的方法。总的趋势是正在逐步被淘汰 。

(1)程序流程图在本质上并不是逐步求精的好

工具,它诱使程序员过早地考虑程序的控制流程, 而不去考虑程序的全局结构。

(2)程序流程图中用箭头代表控制流,因此程

序员不受任何约束,可以完全不顾结构化程序设计 的原则,随意转移控制。
描述程序处理过程的工具称为 详细设计的工具,分为图形、表格 和语言三类。都要求能提供对设计 的无歧义(无二义性)的描述。
前一页
详细设计的工具
• 程序流程图
主 要
• 盒图(N-S图) • PAD图

• 判定表

• 判定树

第5章 详细设计

第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章软件详细设计

第5章软件详细设计软件详细设计是软件开发过程中的一个重要环节,它是在需求分析的基础上,对软件系统进行具体设计的过程。

本章将对软件的各个模块进行详细设计,包括模块之间的关系和功能实现细节。

在进行软件详细设计时,需要考虑以下几个方面:1.模块划分:根据需求分析中的功能点,将系统划分为多个模块,每个模块实现一个或多个功能。

2.模块之间的关系:分析各个模块之间的依赖关系,确定模块之间的调用关系和数据交互方式。

3.功能实现细节:对每个模块进行详细设计,包括具体的算法实现、数据结构设计、界面设计等。

4.系统性能考虑:考虑系统在各种情况下的性能要求,针对性地进行优化设计,提高系统的运行效率。

在软件详细设计中,需要根据需求分析中的功能点进行模块划分。

以一个电商系统为例,可以将系统划分为用户管理模块、商品管理模块、订单管理模块等多个功能模块。

每个模块负责实现相应的功能,同时模块之间需要进行数据交互和调用。

在模块之间的交互设计中,可以采用面向对象的设计思想,通过定义接口和类来描述模块之间的关系。

例如,在用户管理模块中,可以定义一个User类,该类包含了用户的基本信息和操作方法。

在订单管理模块中,可以通过调用User类的方法来获取用户的信息。

在功能实现细节方面,需要根据模块的功能点来进行具体的实现。

例如,在商品管理模块中,需要实现商品的增删改查功能。

可以使用数据库来存储商品信息,通过SQL语句来进行增删改查操作。

在系统性能考虑方面,可以采用多线程、缓存等技术来提高系统的运行效率。

例如,在订单管理模块中,可以使用多线程来处理订单的并发操作,提高系统的并发性能。

总之,软件详细设计是软件开发过程中的一个重要环节,通过对系统的模块划分、模块之间的关系和功能实现细节的设计,可以确保软件系统按照需求进行正确、高效地实现。

同时,考虑系统的性能要求和优化设计,可以提高系统的运行效率和用户体验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
①有固定的关键字外语法,提供全部结构化控制结构、数据说 明和模块特征 ②内语法使用自然语言来描述处理特性,为开发者提供方便, 提高可读性。 ③具有数据说明机制,包括简单的(如标量和数组)与复杂的 (如链表和层次结构)的数据结构。 ④具有子程序定义与调用机制,用以表达各种方式的接口说明。 ⑤由于与程序是同构的,可利用自动生成程序自动生成代码, 提高软件生产率。
详细设计的描述工具
PDL中相关的关键词介绍:
1、数据说明
TYPE <变量名> IS <限定词1> <限定词2>
2、程序块
BEGIN <块名> <一组PDL语句> END
详细设计的描述工具
3、控制结构
1)顺序结构
在这个结构中,程序按语句的先后顺序执行。
2)选择结构
IF <条件> THEN <语句或程序块> ELSE <语句或程序块> ENDIF
T
A(m)>A(j)
m=j
def sort
F
j=j+1
PAD图的控制流程为自上而下、从左到右。
详细设计的描述工具
举例:
请使用PAD图描述下列程序的算法: 在数据A(0)~A(10)中求最大数。
详细设计的描述工具
PAD图的优点:
1、清晰地反映了程序的层次结构。图中的竖线为程序的层次线,最 左边的竖线是程序的主线,其后一层一层展开,层次关系一目了然。 2、支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由 左到右逐步细化。
3、易读易写,使用方便。
4、支持结构化的程序设计原理。 5、可以自动生成程序。PAD图有对照FORTRAN、Pascal、C等高 级语言的标准图式,因此,在有PAD系统的计算机上(如日立公司的系 列机),可以直接输入PAD图,由计算机自动通过走树的方法生成源程 序代码,为软件的自动生成提供了有力的工具。〕
以××系统主控模块详细设计为例:
PROCEDERE 模块名()
清屏; 显示××系统用户界面; WRITE(“请输入用户口令:”);
READ(password);
IF password<>系统口令 THEN 提示警告信息; 退出运行; ENDIF 显示本系统主菜单; … END
详细设计说明书
参考标准文档
=n N
顺序 DO-WHILE P S “当型”循环
B
A
A
选择
多分支选择 S 注: 其中P为循环条件, S为循环体。
DO-UNTIL P
“直到型”循 环
详细设计的描述工具
N-S图有下述特点:
①功能域 ( 一个特定控制结构的作用域 ) 明确,图中每个矩形 框(除CASE构造中表示条件取值的矩形框外),就是功能域。
详细设计的方法和工具
作业:
分别用流程图、N-S图、PAD图和PDL语言描述 以下程序的算法: “ 一个程序读入3个数据,把这三个数值看作一 个三角形的三条边的长度值。判断该三角形属于哪一 种三角形(不等边、等腰和等边三角形),并输出判 断结果。”
详细设计的描述工具
举例:
请使用流程图描述下列程序的算法: 在数据A(0)~A(10)中求最大数。
详细设计的描述工具
(2)N-S图(盒图):是一种符合结构化程序设计原则的图形描述
工具。在N-S图中,为了表示五种基本控制结构,规定了五种图形 构件 。 P F P T F P T
A B
=1 =2 A B
①程序流程图本质上不是逐步求精的好工具,它诱使程序员 过早地考虑程序的控制流程,而不去考虑程序的全局结构;
②程序流程图使用箭头代表控制流,程序员不受任何约束, 可以完全不顾结构程序设计的原则,随意转移控制;
③程序流程图不易表示数据结构和描述有关的数据,只能描 述执行过程; ④对于大型软件而言,流程图过于琐碎,不容易阅读和修改。
详细设计的描述工具
程序流程图:是使用最广泛、历史最悠久的描述程序逻辑结构的工具。
A B
条件 A B
条件 A B C
顺序
条件
T F
选择
多分支选择
A 条件
T
F
A
“当型”循环
“直到型”循环
注: 其中A或B为: ①非转移语句(可以为 空)。 ②三种基本结构之一。
详细设计的描述工具
程序流程图的主要缺点如下:
4)循环结构
WHILE循环的形式如下: DO WHILE <条件> <语句或程序块> ENDDO
UNTIL循环的形式如下: REPEAT UNTIL <条件> <语句或程序块> ENDREP FOR循环的形式如下: DO FOR <循环变量> ∈ <循环变量的取值范围> <语句或程序块> ENDFOR
详细设计的描述工具
(4) PDL( Program Design Language )
PDL与需求分析中采用的结构化语言统属于伪 码。伪码的结构分为内外两层,外语法应符合一般 程序设计语言常用的语法规则,而内层语法则用一 些简单的句子、短语(自然语言)。
详细设计的描述工具
PDL作为一种用于描述程序逻辑的语言,具有以下特点:
PAD基本控制结构
T
A
B 顺序
A B
条件
F
选择
CASE 值1 值2
A B C
值n
多分支选择
详细设计的描述工具
(3)PAD图:
PAD基本控制结构
S1
WHILE条件
A
UNTIL条件
A
A
def
S2 S3
“当型”循 环
“直到型”循环PAD图举例:将数组A(1)到A(10)进行选择法排序(升序)的
详细设计的描述工具
3)多路选择结构
CASE OF <变量名>: WHEN <条件1> SELECT <语句或程序块> WHEN <条件2> SELECT <语句或程序块> …… WHEN <条件n> SELECT <语句或程序块> DEFAULT: <语句或程序块> ENDCASE
详细设计的描述工具
其他设计方法
面向数据结构的设计方法是根据数据结构设计
程序处理过程的方法。 目前比较成熟的有 M.A.Jackson提出的Jackson 系统开发方法(JSD,Jackson System Development) 和J.D.warnier提出的程序逻辑构造方法 LCP( Logical Construction of Programs )。
详细设计的描述工具
4、子程序
子程序的形式如下: PROCEDURE <子程序名> <属性表> INTERFACE <参数表> <语句或程序块> END 对子程序的调用可采用PERFORM。其形式如下: PERFORM <子程序名> 如果调用该子程序需要参数时,则其形式如下: PERFORM <子程序名> USING <参数名>
算法描述。
开始
输入A(1)到 A(10)的值
置初值:n=10
sort
输出A(1)到 A(10)的值
结束
PAD图的控制流程为自上而下、从左到右。
详细设计的描述工具
PAD图举例:将数组A(1)到A(10)进行选择法排序的算法描述。
i=1 WHILE i≤n-1 m=i j=i+1 WHILE j≤n
A(m) ﹤-﹥A(i) i=i+1

详细设计的描述方式
详细设计的描述方式分类:
1)图形描述:流程图、盒图、PAD图等
2)语言描述:PDL语言等
3)表格描述:判定表等
详细设计的描述工具
详细设计的描述工具:
下面介绍一些有代表性的详细设计工具: (1)程序流程图 程序流程图又称之为程序框图,它是软件开发者最熟悉的一种 算法表达工具。 主要优点:独立于任何一种程序设计语言,能够比较直观和清 晰地描述过程的控制流程,易于学习掌握。 为使流程图支持结构化程序设计,限制在流程图中只能使用下 述的五种基本控制结构。
②不可能任意转移控制,约束设计人员必须遵守结构化程序 设计的要求。 ③在盒图上很容易确定局部和全程数据的作用域。 ④很容易表现嵌套关系,也可以表示模块的层次结构。
详细设计的描述工具
举例:
请使用N-S描述下列程序的算法: 在数据A(0)~A(10)中求最大数。
详细设计的描述工具
(3)PAD图:问题分析图。是日本日立公司1979年提出的一 种算法描述工具,它的结构是由左向右展开的树型结构。
第5章 详细设计
详细设计的任务和原则
详细设计的描述工具
详细设计说明书
详细设计的任务
详细设计的任务:
1、为每个模块选择适当的算法并选取描述工具详细描 述这些算法。 2、确定每个模块所使用的数据结构。 3、确定各个模块及模块间接口的细节,包括用户界面 和外部软硬件接口、模块间的接口、模块局部数据和 输入输出数据。 4、为每个模块设计测试用例,使得编码阶段对具体模 块的调试测试更加方便。 5、编写详细设计说明书。
详细设计的描述工具
5、输入输出
用PDL描述输入输出一般有两种形式: READ/WRITE TO <设备> <I/O表> 或 ASK <询问> ANSWER <响应选项> 其中,第一种形式的<设备>是指I/O设备,<I/O表> 则是其要传送的变量名。而第二种形式则多用于人 机交互的设计
PDL应用示例
相关文档
最新文档