软件工程结构化分析与设计ppt课件
软件工程结构化软件设计PPT
软件工程结构化软件设计PPT 在当今数字化的时代,软件已经成为了驱动社会发展和创新的重要力量。
而软件工程中的结构化软件设计则是确保软件质量、可维护性和可扩展性的关键环节。
本 PPT 将深入探讨软件工程结构化软件设计的相关概念、原则、方法和技术。
一、结构化软件设计的概念结构化软件设计是一种基于模块化、自顶向下、逐步细化的设计方法。
它将软件系统分解为多个相互独立、功能明确的模块,通过清晰的接口进行通信和协作。
这种设计方法有助于提高软件的可读性、可理解性和可维护性,降低开发成本和风险。
二、结构化软件设计的原则1、模块化原则将软件系统划分为若干个模块,每个模块具有独立的功能和明确的接口。
模块之间的耦合度要低,内聚度要高,以提高模块的独立性和可复用性。
2、自顶向下原则从软件系统的顶层开始,逐步向下分解和细化,直到最底层的模块。
这种方法有助于把握软件系统的整体结构和功能,避免出现混乱和遗漏。
3、信息隐藏原则模块内部的实现细节对其他模块隐藏,只通过公开的接口进行交互。
这样可以减少模块之间的相互影响,提高软件的稳定性和可修改性。
4、高内聚低耦合原则模块内部的元素之间具有紧密的联系,形成一个高度内聚的整体;模块之间的联系要尽量松散,降低耦合度。
这样可以使软件系统更容易理解和维护。
三、结构化软件设计的方法1、数据流图(DFD)用于描述软件系统中数据的流动和处理过程。
通过绘制 DFD,可以清晰地了解系统的功能需求和数据流程,为后续的设计提供依据。
2、结构图展示软件系统的模块结构和模块之间的层次关系。
结构图可以帮助开发人员直观地了解系统的整体架构,便于进行模块的划分和设计。
3、程序流程图用于描述程序的控制流程和逻辑结构。
通过绘制程序流程图,可以清晰地了解程序的执行过程,便于进行代码的编写和调试。
四、结构化软件设计的技术1、模块划分技术根据功能需求和设计原则,将软件系统划分为合理的模块。
在划分模块时,要考虑模块的大小、功能的独立性和复用性等因素。
软件工程中的结构化设计PPT课件
10
3. 逐步求精
• 细化
• 为了集中精力解决主要问题而尽量推迟对问题细节的考 虑。
• 软件工程过程的每一步都是对软件解法的抽象层次的一 次精化。
• 求精是帮助设计者在设计过程中提示出低层细节。
.
11
4. 信息隐藏(Information Hiding)
• 又称数据封装(Data Encapculation)
.
37
功能内聚
• 功能内聚:
– 一个模块内的所有成分的处理动作全部为完成某个 功能,且只执行一个功能,缺一不可,称为功能内 聚。
– 如:计算实发工资,打印发票等 – 是最高程度的内聚。 – 有利于实现软件的重用,从而提高软件开发的效率。
.
38
耦合、内聚与模块独立性关系
• 内聚和耦合密切相关,同其它模块强耦合的模 块意味着弱内聚,强内聚模块意味着与其它模 块间松散耦合。
软件工程基本定理
软
总成本
件
最小成本区
接口成本
开
M
发
工
作
量 模块成本
.
8
模块数
有关模块化
• 模块化考虑因素:
– 模块数目 – 怎样定义一个给定大小的模块
• 评价模块系统设计方法的标准:
– 可分解性、可组装性、可理解性、连续性、保护性
• 模块化的优点:
– 易阅读和理解,可靠性,可修改性
.
9
2. 抽象(Abstraction)
• 标记耦合(又称特征耦合):
– 指两个模块之间传递的是数据结构(如记录、数组 等)。其实传递的是这个数据结构的地址。
– 两个模块必须清楚这些数据结构,并按要求对其进 行操作,这样就降低了可理解性。
软件工程结构化软件设计(共98张PPT)
➢ 变换模块 :即加工模块。它从上级模块取得数据,进 行处理,转换成其它形式,再传送回上级模块。
➢ 协调模块 :对所有下属模块进行协调和管理的模块。
第五页,共98页。
7.1.1 系统结构图中的模块
在系统结构图中不能再分解的底层模块为原 子模块。
模块 软件包应满足设计约束和可移植性
第二十六页,共98页。
7.5.1 模块功能的完善化
一个完整的功能模块,不仅应能完成指定的 功能,而且还应当能够告诉使用者完成任务 的状态,以及不能完成的原因。
➢ 规定的功能部分。 ➢ 出错处理部分。当模块不能完成规定的功能时
,必须返回出错信息和标志,向它的调用者报 告出现这种例外情况的原因。 ➢ 给调用者返回一个该模块执行是否正确结束的 “标志”。
第十页,共98页。
7.2 变换映射
变换映射是一组设计步骤,将具有变换流特征的数据流图 映射为一个预定义的程序结构模版。
运用变换映射方法建立初始的系统结构图,然后进行多 次改进,得到系统的最终结构图。
➢ (1)复审并评估分析模型; ➢ (2)复审并重画数据流图; ➢ (3)确定数据流图中的变换和事务特征; ➢ (4)区分输入流、输出流和中心变换部分,即标明数据
在具体的应用中一般以变换型为主,事务型 为辅的方式进行软件结构设计。
第二十三页,共98页。
7.4 变换-事务混合型的系统结构图
第二十四页,共98页。
课堂作业
在医院就诊系统中,挂号子系统的数据流图 如下图所示:
挂号请求
科室信息
查询科室 排队信息
科室排队 信息
确 科定 室挂 医号 生挂医号生的信科息室确费定用挂号
软件工程19(结构化设计基本原则)PPT幻灯片
图4.2 模块化和软件成本
4.1 软件设计的概念及原则
(2) 模块独立性 • 模块的独立性是指软件系统中每个模块只涉及软
件要求的具体的子功能,而和软件系统中其他的 模块的接口是简单的。例如,若一个模块只具有 单一的功能且与其他模块没有太多的联系,那么 ,我们则称此模块具有模块独立性。 • 一般采用两个准则度量模块独立性。即模块间的 耦合和模块的内聚。
清晰性 差 很差 中 好 好 好 好
可复用 性 很差 很差 很差 差 差 中 好
可修改性 很差 很差 中 中 中 好 好
可理解性 很差 差 中 中 中 好 好
内聚性
内聚性设计内聚原则:设计时应力争做到高内聚, 并且能够辨认出低内聚的模块,并采取措施进行 修改,以提高模块的内聚程度、降低模块间的耦 合程度,从而获得较高的模块独立性。
小结
• 本次课主要讲述软件设计的概念与原则。重点 掌握模块化和模块独立性度量。
下课了。。。
休息一会儿。。。
多次重复使用。将复用的思想用于软件开发, 称为软件复用。 • 我们将软件的重用部分称为软构件。 • 也就是说,在构造新的软件系统时不必从零做 起,可以直接使用已有的软构件即可组装(或 加以合理修改)成新的系统。
4.1 软件设计的概念及原则
(5) 灵活性设计 • 保证软件灵活性设计的关键是抽象。 • 面向对象系统中的类结构类似一座金字塔,越
度,它是信息隐蔽和局部化概念的自然扩展。简单 地说,理想内聚的模块只做一件事情。 • 设计时应该力求做到高内聚,通常中等程度的内 聚也是可以采用的,而且效果和高内聚相差不多; 但是,低内聚很坏,不要使用。
内聚与模块属性的关系
偶然内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 顺序内聚 功能内聚
软件工程——结构化软件开发——需求分析和概要设计PPT课件
软件设计任务
软件设计是一个把软件需求变换成软件表示的过程。
从工程管理的角度来看.软件设计分两步完成。 概要设计:将软件需求转化为数据结构和软件的系统结构。 详细设计:通过对结构表示进行细化,得到软件的详细的数据结构和算法。
✓ 在概要设计过程中需要完成的工作:
1) 制定规范 在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守 的标准,以便协调组内各成员的工作。它包括:
31
4)数据结构设计
确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整 和安全性的设计。包括:
➢ 确定输入、输出文件的详细的数据结构。 ➢ 结合算法设计,确定算法所必需的逻辑数据结构及其操作。 ➢ 确定对逻辑数据结构所必需的那些操作的程序模块(软件包)。限制和确定各 个数据设计决策的影响范围。
特点:
准确性和一致性。是连接计划时期和开发时期的桥梁, 也是软件设计的依据。
清晰性和没有二义性。
直观、易读和易于修改。 3
需求分析的过程
1. 问题识别
2. 问题分析和方案的综合
3. 编制需求分析阶段的文档
4. 需求分析评审
1.问题的识别———软件做什么和做到什么程度
➢ 功能需求 (软件在职能上应做什么) ➢ 性能需求 (速度,容量等) ➢ 环境需求(硬件和软件支持要求和操作人员素质要求) ➢ 可靠性需求 (不发生故障的概率) ➢ 安全保密的需求 (拒绝非法使用等) ➢ 用户界面的需求 (不同级别用户使用软件的界面要求) ➢ 资源使用需求 (运行时需要的计算机资源,开发过程中需要的人力
3· 内容描述 在数据词典的编制中,分析员最常用的描述内容或数据结 构的符号如表所示。
12
数据词典
软件工程结构化分析与设计朱建凯
XX系统
e g,h h g
get e
c d e
变换模块
e f
put h
g,h
put g
g x x
get c
a a
get d c,d->e
c
b
e->f f->g,h
h
y
f
get a a->c
get b
b
d
y
b->d
h->y
put y
g->x
x
put x
z z
x->z
put z
事务设计
a
事务中心
c
gLeabharlann b--偶然内聚:一个模块之内各成分之间没有任何关系。
--逻辑内聚:几个逻辑上相关的功能放在同一模块中。 --时间内聚:一个模块完成的功能必须在同一时间内完成,而 这些功能只是因为时间因素关联在一起。 --过程内聚:处理成分必须以特定的次序执行。 --通信内聚:各成分都操作在同一数据集或生成同一数据集。 --顺序内聚:各成分与一个功能相关,且一个成分的输出作为 另一成分的输入。 --功能内聚:模块的所有成分对完成单一功能是最基本的,且 该模块对完成这一功能而言是充分必要的。
基于以上分析,可形成该系统的环境图:
图 书 管 理 员
图书管理要求
查询要求
图书统计表
系统时钟 图书管理系统 当前日期
罚款单
图书情况
读者情况
读者
其中:3个输入流:图书管理要求,查询要求,系统时钟
图书管理要求=入库单 借书单 还书单 注销单 查询要求=读者情况 图书情况 图书统计表
4个输出流:图书统计表,图书情况,读者情况
软件工程第5章-结构化分析与设计
软件工程(第二版)
16
对数据流图进行分层
• George Miller在著名的论文“神奇的数 字7加减2:我们处理信息的能力的某种 限制”中指出:人们在一段时间内的短期 记忆似乎限制在5~9件事情之内 • 根据自顶向下逐层分解的思想将数据流图 画成层次结构 • 每个层次画在独立的数据流图中,加工个 数可大致控制在“7加减2”的范围中
避免如图a那样的平铺形态较好的结构图形态是如图b那样的椭圆型a平铺形态b椭圆形态复旦大学计算机科学技术学院软件工程第二版8022模块的影响范围应限制在该模块的控制范围内例如下图中图a中模块b2的影响范围模块a不在其控制范围模块b2内图b中决策控制是在顶层模块其影响范围ab2在控制范围内但是从决策控制模块到被控模块之间相差多个层次b2topb2b1topb2复旦大学计算机科学技术学院软件工程第二版8133模块接口上应尽可能传递简单数据而且传递的数据应保持与模块的功能相一致即不传递与模块功能无关的数据模块的功能应是可预测的避免对模块施加过多的限制单入口和单出口的模块能有效地避免内容耦合复旦大学计算机科学技术学院软件工程第二版82将整个软件看作一个大的功能模块通过功能分解不断将其分解成若干个较小的功能模块直至得到一组不必再分解的模块结构图中的底层模块书写设计规格说明特别要为每个模块书写模块的功能接口约束和限制等设计评审复旦大学计算机科学技术学院软件工程第二版83数据流图到软件体系结构的映射数据流图到软件体系结构的映射小结复旦大学计算机科学技术学院软件工程第二版84结构化设计是将结构化分析的结果数据流图映射成软件的体系结构结构图根据信息流的特点可将数据流图分为变换型数据流图和事务型数据流图其对应的映射分别称为变换分析和事务分析事务流transaction复旦大学计算机科学技术学院软件工程第二版85复旦大学计算机科学技术学院软件工程第二版86复旦大学计算机科学技术学院软件工程第二版87数据流沿着输入通路到达一个事务中心事务中心根据输入数据的类型在若干条动作通路actionpath中选出一条来执行具有这种特征的信息流称为事务流根据事务类型选取一条动作通路复旦大学计算机科学技术学院软件工程第二版88复旦大学计算机科学技术学院软件工程第二版89复审dfd的顶层图确保系统的输入输出数据流符合系统规格说明的要求根据软件设计准则采用启发式设计策略对初始结构图进行改进以改善软件质量复旦大学计算机科学技术学院软件工程第二版90
《软件工程》第4课 结构化分析与设计2
从DFD到SC——数据流图的类型
• 数据流图的类型
–变换(transform)型结构
• 传入路径 • 变换中心 • 传出路径
–事务(transaction)型结构
• 一条接受路径 • 一个事务中心 • 若干条动作路径
• 增加层次控制模块。
变换结构的DFD
传入
信息
传入流 传出流
传出
变换 中心
• 为每个模块确定采用的算法。 • 使用的数据结构。 • 确定模块接口的细节。
模块设计的原则与方法
• 清晰第一的设计风格 • 结构化的控制结构
–仅用这三种控制结构来构成程序 –每个控制结构只应有一个入口和一个出口
• 逐步细化的实现方法
–由粗到细对程序逐步细化。 –同时对数据描述进行细化。 –使用相同的结构化语言,最后一般直接用伪代
例子—划分DFD
变换中心
Aa Bb C
d
DEBiblioteka 传入部分c Pr p
e
Q
W
w
R
u
v
U
V
传出部分
第一级分解
c,e
MA
MC
u,w c,e u,w
MT
ME
传入分支的分解
c,e
MA
c
e
GetC
b
bc
GetB
BtoC
b
a
a
ReadA
AtoB
GetE
d
b d
ReadD
DtoE
传出分支的分解
w,u
ME
w
u
WriteW
变换映射
变换型DFD图
初始SC图
事务映射
软件工程课件3.2_结构化设计方法
34/50
2013年9月13日
事务中心
作业信息 作业 信息
结果
结果
输入作业信息
分派模块
输出结果
事务1 操作1 细节1 操作2
事务2
事务3
操作4 细节4
事务4 操作5 操作6 细节6
35/50
操作3
细节3
细节2
细节5
2013年9月13日
软件工程
1. 确定事务中心和各活动流的流特性
2. 确定逻辑输入、逻辑输出 和变换中心部分
逻辑输入 A
A B
变换中心
BC
B
C
D
CDE
D F
F 逻辑输出
E 物理输入
EG
G
G H
H
物理输出
变换中心是程序的核心功能,它的输入是逻 辑输入,它的输出为逻辑输出。
软件工程
20/50
2013年9月13日
3. 第一级分解: 设计模块结构的顶层和第一层
软件工程
例2:把下面的数据流图用变换分析技术 转换为模块结构图
2号 加工
C
中心 加工
D
3号 加工 E 输 出 流
B
输
1号 加工 A
入
流 转换流
4号 加工
F 26/50
2013年9月13日
软件工程
例2答案
M C 2号 C
加工 中心 加工 D 3号 加工
C
D CT
D CO
CI E 4号 流 A 取A B 取B F A B C C
软件工程
13/50
2013年9月13日
协调模块 ─ 对所有下属模块进行协调和管理 的模块。
第四章-结构化分析与设计3PPT课件
2021/3/12
16
4.3.3 设计过程
(2)确定数据流图的类型 根据数据流图的数据流特征,确 定数据流图是变换型还是事务型的。 (3)将数据流图映射成初始的软 件结构图 采用变换分析方法或者事务分析 方法将数据流图逐步地转换为初始的 软件结构图。
2021/3/12
17
4.3.3 设计过程
(5)描述模块的功能、接口及 全局数据结构
2021/3/12
图4.16 变换型数据流图
11
4.3.2 数据流的类型
➢ 变换型数据加工的工作过程一般地可分为取得数据、变换数 据和给出数据。
➢ 变换是系统的主加工,是系统的变换中心。变换输入端的数 据流为系统的逻辑输入,输出端为逻辑输出。
➢ 直接从外部输入的数据流称为物理输入,反之称为物理输出。 外部的输入数据流一般要经过输入正确性和合理性检查、编 辑及格式转换等预处理后变成内部形式,这部分工作都由逻 辑输入部分完成。
➢ 模块可以分为传出模块,该模块从上级模块取得数据,进行 某些处理,传送给下属模块。
➢ 模块可以分为变换模块,该模块从上级模块取来数据,进行 特定处理后,送回原上级模块。
➢ 模块可以分为协调模块,该模块对其下属模块进行控制和管 理的模块。如图4.13所示。
2021/3/12
图4.13 模块的分类
8
4.3.1 软Байду номын сангаас结构的图形表示
2021/3/12
15
4.3.3 设计过程
(1)复审和精化数据流图
分析和复审数据流图的顶层图, 确保系统输入、输出的数据流是否符 合需求规格说明的要求。
分析和复审分层数据流图,弄清
楚每一个加工实现的功能是否明确,
软件工程结构化分析与设计
例题
请给出购书申请的数据字典定义:一份
申请对应一个学生,内容包括学生的学 号、姓名、班级和他(她)所领全部教 材的书号、书名和数量。其中学号由阿 拉伯数字组成,姓名可选。
购书申请=学号+(姓名)+{书号+书名+数量}
工资 奖金 ≤1000—8%+500 >1000—8%
≤1000—5%+300 >1000—5%
≤1000—6%+300 >1000—6%
≤1000—4%+200 >1000—4%
例题
一个加工用来完成商店促销活动中的金
额计算,规定:消费不超过100元,享受 8折;消费100-500,享受7折;消费超过 500享受6折。且如果是会员则再减20。
用判定树描述该加工说明
消费额
<100
会员
是 否
优惠
8折-20 8折
优惠策略
100-500
是 否
>500
是 否
7折-20 7折
6折-20 6折
(4)E-R图
备注:若关系没有属性,则可以省略
E-R图向数据表的转换
一对一:两个实体可合并成一个表
0:1
学生
1:1
床铺
学生{学号,姓名,床铺号,上下,……}
(2)数据字典(DD)
对软件中的每个数据规定一个定义条目,
以保持数据在系统中的一致性
数据项:只含一个数据,又称为数据元素 数据流:由多个相关数据项组成
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)数据字典(DD)
对软件中的每个数据规定一个定义条目,
以保持数据在系统中的一致性
数据项:只含一个数据,又称为数据元素 数据流:由多个相关数据项组成
数据文件(数据库):
符号:=、+、[ ]、{ }、( )、* *
.
数据流
发票=(学号)+姓名+{书号+单价+数量+总价}+书费合计
.
数据文件
学生用书表= {系编号+专业和班编号+年级+{书号}} 系编号=2{数字}2
.
数据项
年级= [F/M/J/S]
.
数据字典例题
请给出安徽汽车的车牌号码的数据字典定义,如
合肥的车牌是“皖A-23002”,芜湖的车牌是“皖B00235”等,只考虑后面五位是数字的情况
车牌号码=皖[A-Z]-5{数字}5
一对多:两个实体分别转换成两个表,
在“多”的标中建立指向“1”的表中的外关 键字
1:1
部门
1:n
员工
部门{编号,名称,职责,……} 员工{工号,姓名,性别,……,所在部门编号}
.
E-R图向数据表的转换
多对多:两个实体分别转换成两个表,
另建立一个新表保存它们之间的关系,
新表中应包括这两个表的关键字及关系
.
分析建模
软件分析模型:信息(数Βιβλιοθήκη )模型、功能模型、行为模型
分类:结构化分析(SA)、面向对象分析
(OOA)
方式:图形+自然语言
.
3.2结构化系统分析
数据对象说明
加工说明
E-R
DFD
DD
CFD STD
控制说明
.
3.2.1结构化分析模型的组成
数据流图(DFD) 数据字典(DD) 加工说明(PSPEC) 实体关系图(E-R)
例题
请给出购书申请的数据字典定义:一份
申请对应一个学生,内容包括学生的学 号、姓名、班级和他(她)所领全部教 材的书号、书名和数量。其中学号由阿 拉伯数字组成,姓名可选。
购书申请=学号+(姓名)+{书号+书名+数量} 学号={数字}
.
(3)加工说明(PSPEC)
三部分:输入数据、加工逻辑、输出数
.
实例(教材购销系统)
学 购书 张 购书 王 购书 李 领书 赵 书 学 当前系统
生 申请 秘书 证明 会计 发票 出纳 单 保管
生
学 购书 审查 购书 开 生 申请 有效性 证明 发票
购书 开领 领书 发票 书单 单
发书
书学 生
学 购书 审查并 购书 开领 领书 生 申请 开发票 发票 书单 单
消费额
<100
会员
是 否
优惠
8折-20 8折
优惠策略
100-500
是 否
>500
是 否
.
7折-20 7折
6折-20 6折
(4)E-R图
备注:若关系没有属性,则可以省略
.
E-R图向数据表的转换
一对一:两个实体可合并成一个表
0:1
学生
1:1
床铺
学生{学号,姓名,床铺号,上下,……}
.
E-R图向数据表的转换
把书号写到无效书单上 否则
将书号、单价、数量、总价写入发票 更新“教材存量表”的库存,累计书费合计
把书费合计写到发票上 .
判定表描述加工说明
.
判定树描述加工说明
奖金
推销金额 >10000
≤10000
预收货款 >50% ≤50% >50% ≤50%
工资 奖金 ≤1000—8%+500 >1000—8%
第一:建立分析模型
描述软件需求的一组模型,是形成需求说 明、进行软件设计的基础
第二:得到《软件需求规格说明书》
准确、一致、清晰、无二义、直观易读
.
需求分析的步骤
需求获取(调研)
形式:联合分析小组
开发方 用户方(代表) 专家
手段:客户访谈、问答、原件收集 目标:功能、界面、质量...
.
需求分析的步骤
发书
书学 生
目 标 系
统
学 购书 审查并 发票 开领 领书 学
生 申请 开发票
书单 单 生
无效书. 单
缺书单
需求获取的常用方法
常规需求获取方法
联合分析小组、客户访谈、问题分析与确认
快速原型法在需求分析中的应用
两个层次:联机屏幕、外部特征 过程:规格说明→检查→生成/修改原型→用户评估 基础:快速开发技术和工具(4GT)
某个航空售票系统需要保存所有的航班信息,每
个航班的属性包括航班号、出发地、目的地、若 干个中途停靠站、头等舱座位数量及价格(固定 )、公务舱座位数量及价格、普通舱座位数量及 价格。有些航班没有头等舱。采用数据字典描述 航班信息
航班=航班号+出发地+目的地+{停靠站}+(头等舱数量 )+(头等舱价格)+公务舱数量. +公务舱价格+普通……
需求提炼:分析建模
结构化分析 面向对象分析
数据流图 实体关系图 状态转换图 控制流图... 用例图 类图 状态图 活动图...
.
需求分析的步骤
需求描述:撰写软件需求规格说明书(
Software Requirement Specification SRS)
在标准模板基础上剪裁
需求验证(复审)
组成复审小组:用户方+外来专家
第三章 结构化分析与设计
需求分析 结构化系统分析 模块化设计思想 结构化系统设计 模块设计
.
3.1 需求分析
准确、完整、规范化的软件需求是软件
开发成功的关键
软件项目中40-60%的问题是在需求阶段
埋下的祸根
.
需求分析的任务
让用户和开发者共同明确将要开发的是 一个什么样(what)的系统
.
(1)数据流图(DFD)
输入
加工或 变换
输出
:加工 :数据的源点或终点 :数据的流向 :数据文件或数据库
.
数据流图(DFD)
无效书单
学 购书 审查并 发票 开领 领书 学
生 申请 开发票
书单 单 生
各班学生用书表
教材存量表
DFD不同于程序流程图。 DFD可以表现大到整个系统,小到一个模块 分层数据流图
≤1000—5%+300 >1000—5%
≤1000—6%+300 >1000—6%
≤1000—4%+200 >1000—4%
.
例题
一个加工用来完成商店促销活动中的金
额计算,规定:消费不超过100元,享受 8折;消费100-500,享受7折;消费超过 500享受6折。且如果是会员则再减20。
用判定树描述该加工说明
据
描述不宜过细,过细就变成了设计
结构化语言 描述工具 判定表
判定树
.
结构化语言描述加工说明
把学生学号和姓名写到发票上 检索“学生用书表”,获得该生当年书单 对购书单上每一个书号 如果 书单上无此书号 则
把书号写到无效书单上 否则
检索“教材存量表”,获得该书的单价和库存 如果 库存<购数单*数量 则