第3章 结构化分析建模——2
合集下载
[工学]软件工程导论张海藩第5版第2_3章
![[工学]软件工程导论张海藩第5版第2_3章](https://img.taocdn.com/s3/m/c4d3ab5b1a37f111f0855ba7.png)
-- 性能:软件系统在运行速度、可用性、响应时间、恢复 时间 等方面有什么要求?
- - 特性:件系统在可移植性、可维护性、安全性等方面 有什 么考虑?
-- 设计约束:是否存在必要的标准、开发语言、数据库、 资源 限制、运行环境等因素的影响和策略?
2021/5/21
软件工程导论 王培丽
28 29
编写需求规格说明的原则
2021/5/21
软件工程导论 王培丽
30 30
编写需求规格说明的原则
• 原则 5:文档段落不宜太长
- 简短 - 记住:不要在需求说明中使用“和/或”、“等等”之类的词
• 原则 6:避免使用模糊的、主观的术语
- 如用户友好、容易、简单、迅速、有效、许多、最新技术、 优越的、可接受的、最大化、最小化、提高等
可行性研究的任务 可行性研究的过程 系统流程图 成本/效益分析
2021/5/21
2
2.1.1 可行性研究的任务
可行性研究的目的
用最小的代价在尽可能短的时间内研究并确 定客户提出的问题是否有行得通的解决办法。
可行性研究的内容
技术可行性:使用现有的技术能实现这个系 统吗?
经济可行性:这个系统的经济效益能超过他 的开发成本吗?
进一步细化。
2021/5/21
12
2.1.4 数据流图
画数据流图的原则:
(1)数据流图中所有图形只限于四种基本图形元素; (2)每个处理至少有一个输入数据和一个输出数据; (3)每个元素都必须有名字; (4)数据流图只反映系统做什么; (5)按照层次给处理过程编号; (6)父图与子图要平衡(输入和输出要一致); (7)存储:一个局部存储只要当它作为某些处理的 数据接口或某个处理特定的输入输出时就要把它画出来;
- - 特性:件系统在可移植性、可维护性、安全性等方面 有什 么考虑?
-- 设计约束:是否存在必要的标准、开发语言、数据库、 资源 限制、运行环境等因素的影响和策略?
2021/5/21
软件工程导论 王培丽
28 29
编写需求规格说明的原则
2021/5/21
软件工程导论 王培丽
30 30
编写需求规格说明的原则
• 原则 5:文档段落不宜太长
- 简短 - 记住:不要在需求说明中使用“和/或”、“等等”之类的词
• 原则 6:避免使用模糊的、主观的术语
- 如用户友好、容易、简单、迅速、有效、许多、最新技术、 优越的、可接受的、最大化、最小化、提高等
可行性研究的任务 可行性研究的过程 系统流程图 成本/效益分析
2021/5/21
2
2.1.1 可行性研究的任务
可行性研究的目的
用最小的代价在尽可能短的时间内研究并确 定客户提出的问题是否有行得通的解决办法。
可行性研究的内容
技术可行性:使用现有的技术能实现这个系 统吗?
经济可行性:这个系统的经济效益能超过他 的开发成本吗?
进一步细化。
2021/5/21
12
2.1.4 数据流图
画数据流图的原则:
(1)数据流图中所有图形只限于四种基本图形元素; (2)每个处理至少有一个输入数据和一个输出数据; (3)每个元素都必须有名字; (4)数据流图只反映系统做什么; (5)按照层次给处理过程编号; (6)父图与子图要平衡(输入和输出要一致); (7)存储:一个局部存储只要当它作为某些处理的 数据接口或某个处理特定的输入输出时就要把它画出来;
系统的结构化分析与建模

制的。在绘制业务流程图时,要依据业务调查的语义描述进
行分析。 如某学校的学籍管理业务流程图如下图所示。
第三章 系统的结构化分析与建模
第20页/共102页
新生录取
党总支
档案表
建立档案
学生
教学
院办
成绩表
辅导员
考试 奖励处分表 奖学金信息表 用人 单位
查看 毕业相关信息 毕业生登记 表
第三章 系统的结构化分析与建模
3.1.1系统分析的目标和内容
2.系统分析的内容
系统分析按其内容分为目标分析、需求分析和功能分析。 目标分析
包括对现行系统的组织目标分析和目标系统的组织目
标分析。任何一个企业或组织都有自己的目标,这是组织 开展各项工作的指南。信息系统是帮助企业实现其总体目
标的,因此,在开发信息系统时,首先应该弄清楚企业的
3.2.2 需求信息来源和收集策略
信息来源: 需求信息的来源主要来自于企业内、外。内部来源主要包括: 现行组织结构、管理体制、人员、构成技术水平、设备状况、 产品结构、可供开发系统的人财物等资源状况、当前工作中的 主要问题等。外部来源主要包括有哪些外部单位有何种业务工 作联系、客户特点及分布、市场情况、同行发展情况等。 收集策略: 自下而上广泛收集,保证需求信息的全面性。 有目的的专项收集。可以全面调查收集,也可抽样调查收集。 随机积累收集,以备以后分析使用。
第三章 系统的结构化分析与建模
第31页/共102页
学生管理信息系统的第三层数据流程图—档案管理
奖励与处分表 成绩文档
新生档案表 党总支
P 1.1.1 建立档案
P 1.1.2 修改文档
P 1.1.3 填制毕业生登 记表
档案文档
SE研第3章2

例如把程序流程图中的循环、判断和计算分成三 个模块,则这三个模块就是过程内聚的模块。
⑸通信内聚。模块内的所有成分都通过公共数据而 发生关系的内聚就是通讯内聚。
如对同一文件进行输入、修改、输出操作。模块 中各成分经模块的局部的公共数据进行通信。
结果
存入 打印
引用同一个数据
修改 删除
数据
产生同一个输出
比如,是通过过程调用语句正常调用另一模块, 还是不通过正常入口而直接转入另一模块内部,或 者直接访问另一模块的内部数据等。
模块间接口的性质由接口上传递的信息的性质决定。
通过模块接口的信息有三种类型:数据型、控制 型和描述性标志。
模块间的耦合程度按从低到高分类如下: ⑴无耦合。如果两模块之间没有任何联系,每一 个都能独立地工作而不需要另一模块的存在,是 彼此完全独立的,则这两个模块间属于无耦合的 情况。
高级软件工程
第三章 软件开发的结构化方法
3.4.3 软件设计原理 SD方法采用模块化原理进
行软件结构的设计。
模块:单独命名的可以通过 名字访问的数据说明、可执 行语句等程序对象的集合。
例如,过程、函数、子程序 、宏等等都可作为模块。
第三章 软件开发的结构化方法 3.3 结构化分析 3.4 结构化设计 3.4.1 结构化设计方法概述 3.4.2 软件结构图 3.4.3 软件设计原理 3.4.4 软件设计原则 3.4.5 结构化软件设计策略 3.4.6 数据库的逻辑设计
如FOTRAN中的COMMON语句。
C
L
D EF
N
公共数据区
M
O
P
⑹内容耦合。如果发生下列情况之一,两个模块间就是内 容耦合:
• 一个模块直接访问另一个模块的内部数据;
⑸通信内聚。模块内的所有成分都通过公共数据而 发生关系的内聚就是通讯内聚。
如对同一文件进行输入、修改、输出操作。模块 中各成分经模块的局部的公共数据进行通信。
结果
存入 打印
引用同一个数据
修改 删除
数据
产生同一个输出
比如,是通过过程调用语句正常调用另一模块, 还是不通过正常入口而直接转入另一模块内部,或 者直接访问另一模块的内部数据等。
模块间接口的性质由接口上传递的信息的性质决定。
通过模块接口的信息有三种类型:数据型、控制 型和描述性标志。
模块间的耦合程度按从低到高分类如下: ⑴无耦合。如果两模块之间没有任何联系,每一 个都能独立地工作而不需要另一模块的存在,是 彼此完全独立的,则这两个模块间属于无耦合的 情况。
高级软件工程
第三章 软件开发的结构化方法
3.4.3 软件设计原理 SD方法采用模块化原理进
行软件结构的设计。
模块:单独命名的可以通过 名字访问的数据说明、可执 行语句等程序对象的集合。
例如,过程、函数、子程序 、宏等等都可作为模块。
第三章 软件开发的结构化方法 3.3 结构化分析 3.4 结构化设计 3.4.1 结构化设计方法概述 3.4.2 软件结构图 3.4.3 软件设计原理 3.4.4 软件设计原则 3.4.5 结构化软件设计策略 3.4.6 数据库的逻辑设计
如FOTRAN中的COMMON语句。
C
L
D EF
N
公共数据区
M
O
P
⑹内容耦合。如果发生下列情况之一,两个模块间就是内 容耦合:
• 一个模块直接访问另一个模块的内部数据;
《结构化分析》PPT课件

衡量工程价值的另一项经济指标是工程的纯收入,也 就是在整个生命周期之内系统的累计经济效益(折合成现 在值)与投资之差。这相当于比较投资开发一个软件系统 和把钱存在银行中(或贷给其他企业)这两种方案的优劣 。如果纯收入为零,则工程的预期效益和在银行存款一样 ,但是开发一个系统要冒风险,因此从经济观点看这项工 程可能是不值得投资的。如果纯收入小于零,那么这项工 程显然不值得投资。
制
每行成本 成本(元) 人力(人
(元/行)
月)
108
90720
9.1
54
65340
11.8
72
43200
4.4
33
14850
3.1
135
148500
13.7
362610
42.1
2. 任务分解技术
首先把软件开发工程分解为若干个相对独立的任务。 再分别估计每个单独的开发任务的成本,最后累加起来 得出软件开发工程的总成本。估计每个任务的成本时, 通常先估计完成该项任务需要用的人力(以人月为单 位),再乘以每人每月的平均工资而得出每个任务的成 本。
例如,修改库存清单系统两年以后可以节省4225.12元 ,比最初的投资(5000元)还少774.88元,第三年以后将 再节省1779.45元。774.88/1779.45=0.44,因此,投资 回收期是2.44年。
投资回收期仅仅是一项经济指标,为了衡量一项开发 工程的价值,还应该考虑其他经济指标。
纯收入
例如,上述修改库存清单系统,工程的纯收入预计是
9011.94-5000=4011.94(元)
4 可行性研究过程
典型的可行性研究过程有下述八个步骤:
1. 复查系统规模和目标
5. 导出和评价供选择的解法
制
每行成本 成本(元) 人力(人
(元/行)
月)
108
90720
9.1
54
65340
11.8
72
43200
4.4
33
14850
3.1
135
148500
13.7
362610
42.1
2. 任务分解技术
首先把软件开发工程分解为若干个相对独立的任务。 再分别估计每个单独的开发任务的成本,最后累加起来 得出软件开发工程的总成本。估计每个任务的成本时, 通常先估计完成该项任务需要用的人力(以人月为单 位),再乘以每人每月的平均工资而得出每个任务的成 本。
例如,修改库存清单系统两年以后可以节省4225.12元 ,比最初的投资(5000元)还少774.88元,第三年以后将 再节省1779.45元。774.88/1779.45=0.44,因此,投资 回收期是2.44年。
投资回收期仅仅是一项经济指标,为了衡量一项开发 工程的价值,还应该考虑其他经济指标。
纯收入
例如,上述修改库存清单系统,工程的纯收入预计是
9011.94-5000=4011.94(元)
4 可行性研究过程
典型的可行性研究过程有下述八个步骤:
1. 复查系统规模和目标
5. 导出和评价供选择的解法
第3-2章 解析结构模型

根据经验和对话建立可达矩阵,解析结构模型;
应用ISM讨论和确定我国总人口增长的影响因素;
通过模型中各因素分析,为制定有关人口政策、
控制人口等政策提供依据。
经ISM小组讨论后,认为主要影响因素有11个,并经多
次讨论后确定它们之间的关系。
∨ ∧ ×: Si 与Sj互 有关系; ∨:Sj 与Si有 关系; ∧: Si 与Sj有 关系
3,10,12
4,10,12
2,3,6,8
4,8,9
3
4 5
6
7 8
1,3,6,10,11,12
1,7,11,12 1,3,4,8,10,11,12
6
7 8
6
7 8
9
10 11
4,9,10,12
10,12 11,12
9
3,4,6,8,9,10 1,2,6,7,8,10
9
10 11
12
12
1--ቤተ መጻሕፍቲ ባይዱ---12
12
R(2)∩R(6)∩R(7)∩R(8)∩R(9)≠ φ 共同集合不存在空集,所以没有区域之分。 首先找出R(12)= R(12) ∩ A(12) 所以第一层次为要素12 第二层次为要素10,11 第三层次为要素1,3,4 第四层次为要素2,6,7,8,9
总人口
出生率
死亡率
生育能力
思想风俗
计生政策
第 三 章 系 统 模 型
模型概念及特征 系统模型概述 系统模型的分类
建模原则及常用方法
结构模型概念及特征
结构模型
解析结构模型的建立
应 用 案 例
层次分析法
建 立 单 摆 简 谐 运 动 的 类 似 模 型
设一个质量为m,长度为l的摆,其
应用ISM讨论和确定我国总人口增长的影响因素;
通过模型中各因素分析,为制定有关人口政策、
控制人口等政策提供依据。
经ISM小组讨论后,认为主要影响因素有11个,并经多
次讨论后确定它们之间的关系。
∨ ∧ ×: Si 与Sj互 有关系; ∨:Sj 与Si有 关系; ∧: Si 与Sj有 关系
3,10,12
4,10,12
2,3,6,8
4,8,9
3
4 5
6
7 8
1,3,6,10,11,12
1,7,11,12 1,3,4,8,10,11,12
6
7 8
6
7 8
9
10 11
4,9,10,12
10,12 11,12
9
3,4,6,8,9,10 1,2,6,7,8,10
9
10 11
12
12
1--ቤተ መጻሕፍቲ ባይዱ---12
12
R(2)∩R(6)∩R(7)∩R(8)∩R(9)≠ φ 共同集合不存在空集,所以没有区域之分。 首先找出R(12)= R(12) ∩ A(12) 所以第一层次为要素12 第二层次为要素10,11 第三层次为要素1,3,4 第四层次为要素2,6,7,8,9
总人口
出生率
死亡率
生育能力
思想风俗
计生政策
第 三 章 系 统 模 型
模型概念及特征 系统模型概述 系统模型的分类
建模原则及常用方法
结构模型概念及特征
结构模型
解析结构模型的建立
应 用 案 例
层次分析法
建 立 单 摆 简 谐 运 动 的 类 似 模 型
设一个质量为m,长度为l的摆,其
第3章结构化系统分析2

由以上两例可见,决策表将比较复杂的决策问题简洁、明确、一目了 然地描述出来。决策表是描述条件比较多的决策问题的有效工具。
第3章 结构化系统分析(2)
13
第3章 结构化系统分析(2)
14
八、其他工具 我们应该注意:
在实际的系统分析工作时,所采用方法的类型宜少不宜多,以免造成混乱。
除了结构化工具之外,也常采用一些不属于结构化方法的图形工具如:
22
3.3 系统分析阶段各项活动的内容 一、系统的初步调查
1.目标 系统的初步调查是系统分析阶段的第一项活动,也是整个系统开发的 第一项活动。
系统开发工作一般是根据系统规划阶段确定的拟建系统总体方案进行的。在系 统规划段已经根据当时所做的战略规划、组织信息需求分析和资源及应用环境 的约束,将整个信息系统的建设分成若干项目,分期分批进行开发。 系统规划阶段的工作是面向整个组织,着重于系统的总体目标、总体功能和发 展方向,对每个开发项目的目标、规模和内容并未做详细的分析。
初步调查阶段的主要目标就是:
从系统分析人员和管理人员的角度看新项目开发有无必要和可能。
第3章 结构化系统分析(2)
23
2.内容 (1)调查内容
系统分析人员要调查:
有关组织的整体信息 有关人员的信息 有关工作的信息
只了解做了什么,有什么问题。 包括主要输入、主要输出、主要处理功能以及与其他系统的关系。
(4)经济可行性分析 包括建设费用、运行费用、经济效益及社会效益。
8
第3章 结构化系统分析(2)
9
七、决策表(Decision Table) 决策表(Decision Table)又称判断表,为描述判断的条件较多,各条件 又相互组合,相应的决策方案较多的加工逻辑提供了表达清晰、简洁 的手段。
第3章 结构化系统分析(2)
13
第3章 结构化系统分析(2)
14
八、其他工具 我们应该注意:
在实际的系统分析工作时,所采用方法的类型宜少不宜多,以免造成混乱。
除了结构化工具之外,也常采用一些不属于结构化方法的图形工具如:
22
3.3 系统分析阶段各项活动的内容 一、系统的初步调查
1.目标 系统的初步调查是系统分析阶段的第一项活动,也是整个系统开发的 第一项活动。
系统开发工作一般是根据系统规划阶段确定的拟建系统总体方案进行的。在系 统规划段已经根据当时所做的战略规划、组织信息需求分析和资源及应用环境 的约束,将整个信息系统的建设分成若干项目,分期分批进行开发。 系统规划阶段的工作是面向整个组织,着重于系统的总体目标、总体功能和发 展方向,对每个开发项目的目标、规模和内容并未做详细的分析。
初步调查阶段的主要目标就是:
从系统分析人员和管理人员的角度看新项目开发有无必要和可能。
第3章 结构化系统分析(2)
23
2.内容 (1)调查内容
系统分析人员要调查:
有关组织的整体信息 有关人员的信息 有关工作的信息
只了解做了什么,有什么问题。 包括主要输入、主要输出、主要处理功能以及与其他系统的关系。
(4)经济可行性分析 包括建设费用、运行费用、经济效益及社会效益。
8
第3章 结构化系统分析(2)
9
七、决策表(Decision Table) 决策表(Decision Table)又称判断表,为描述判断的条件较多,各条件 又相互组合,相应的决策方案较多的加工逻辑提供了表达清晰、简洁 的手段。
3.3 结构化需求分析方法

订货单 支票
顾客
询问 退货单
处理顾 客事务
第三章 需求分析
15
多个数据流的第一种表示方法:
订货单 顾客事务
顾客
处理 顾客 事务
支票 询问
退货单
16
第三章 需求分析
多个数据流的第二种表示方法:
订货单
编辑订 货单
开收据 处理询 问 退货分 析处理
支票
顾客
询问
退货单
第三章 需求分析
17
多个数据流的表示举例
重建父图,即把第二步所得的每一部分画成一个圆圈, 各部分之间的联系就是加工之间的界面; 重建各张子图,只需把第二步所得的图,按各自的边界 剪开即可; 为所有加工重新命名、编号。
第三章 需求分析
36
结构不合理的数据流图及其修改
4 H A B 1 I 2 K L D 3 D (a)结构不合理的 数据流程图
33
分解的程度
分解应自然,概念上要合理、清晰。 上层可分解的快些,而下层应分解得慢些。
在不影响可读性的前提下,应适当地多分解成几部分, 以减少分解层数。
一般说来,当加工可用一页纸明确地表述时,或加工只 有单一输入/输出数据流时,就应停止对该加工的分解。 对数据流图中不再作分解的加工,必须作出详细的加工 说明,并且每个加工说明的编号必须与功能单元的编号 一致。
第三章 需求分析
5
结构化分析方法的特点
利用数据流图来帮助人们理解问
题,对问题进行分析。即利用图
形工具来模拟数据处理过程。
第三章 需求分析
6
结构化分析方法
用数据字典定义数据流图中的各项数据; 结构化英语、判定树和判定表对数据流图中的基本功 能进行描述。 通过将系统分解成多层处理后,在较低层次上,可以 看到数据流图的高层次加工的细节和相关的数据流。 结构化分析方法的实质就是采用一组分层的数据流图 及相应的数据字典作为系统的模型。 结构化分析方法从总体上看是一种强烈依赖数据流的 自顶向下的建模方法,它不仅是需求分析技术,也是 完成规格说明的手段。
第3章软件需求分析与建模

应如何实施。
2020/3/7第3章软件需求分析与建模
软件工程教研室
15
①数据模型 描述对象系统的本质属性及其关系。常用的建模工具有 实体-联系图等。 ②功能模型 描述对象系统所能实现的所有功能。而不考虑每个功能 实现的次序。常用的建模工具有数据流图、IDEF0等。 ③行为模型 描述对象系统为实现某项功能而发生的动态行为。常用 的建模工具有控制流图、状态转换图等。
2020/3/7第3章软件需求分析与建模
软件工程教研室
24
X
1
3
2
1.1 1.3 1.2
2.2
2.1
2.3
3.2
3.1
3.3
图3-3 自顶向下逐层分解图
2020/3/7第3章软件需求分析与建模
软件工程教研室
25
结构化分析的过程如下 1.建立当前系统(现在工作方式)的概念模型。系统的 概念模型就是现实环境的忠实写照,可用系统流程图来表 示。这样的表达与当前系统完全对应,用户容易理解。 2.抽象出当前系统的逻辑模型。分析系统的概念模型, 抽象出其本质的因素,排除次要因素,获得用数据流图 DFD 图等描述的当前系统的逻辑模型。 3.建立目标系统的逻辑模型。分析目标系统与当前系统 逻辑上的差别,从而进一步明确目标系统“做什么”,建 立目标系统的“逻辑模型”(修改后的数据流图DFD 图等)。 4.建立人机交互接口和其他必要的模型,确定各种方案 的成本和风险等级,据此对各种方案进行分析,选择其中 一种方案,建立完整的需求规约。 分析模型的结构如图3-4所示。
Y
用户和设计者是否满意
N
运行原型
是否放弃
Y
N
把原型作为 把原型作为应 应用系统 用系统开发的
2020/3/7第3章软件需求分析与建模
软件工程教研室
15
①数据模型 描述对象系统的本质属性及其关系。常用的建模工具有 实体-联系图等。 ②功能模型 描述对象系统所能实现的所有功能。而不考虑每个功能 实现的次序。常用的建模工具有数据流图、IDEF0等。 ③行为模型 描述对象系统为实现某项功能而发生的动态行为。常用 的建模工具有控制流图、状态转换图等。
2020/3/7第3章软件需求分析与建模
软件工程教研室
24
X
1
3
2
1.1 1.3 1.2
2.2
2.1
2.3
3.2
3.1
3.3
图3-3 自顶向下逐层分解图
2020/3/7第3章软件需求分析与建模
软件工程教研室
25
结构化分析的过程如下 1.建立当前系统(现在工作方式)的概念模型。系统的 概念模型就是现实环境的忠实写照,可用系统流程图来表 示。这样的表达与当前系统完全对应,用户容易理解。 2.抽象出当前系统的逻辑模型。分析系统的概念模型, 抽象出其本质的因素,排除次要因素,获得用数据流图 DFD 图等描述的当前系统的逻辑模型。 3.建立目标系统的逻辑模型。分析目标系统与当前系统 逻辑上的差别,从而进一步明确目标系统“做什么”,建 立目标系统的“逻辑模型”(修改后的数据流图DFD 图等)。 4.建立人机交互接口和其他必要的模型,确定各种方案 的成本和风险等级,据此对各种方案进行分析,选择其中 一种方案,建立完整的需求规约。 分析模型的结构如图3-4所示。
Y
用户和设计者是否满意
N
运行原型
是否放弃
Y
N
把原型作为 把原型作为应 应用系统 用系统开发的
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• ER图中仅包含3种相互关联的元素:数据对象(实 体)、描述数据对象的属性及数据对象彼此间相 互连接的关系。
3.3 功能建模
• 多个数据流之间的关系
3.3 功能建模
• 环境图
环境图(context diagram)也称为顶层数据流 图(或0层数据流图),它仅包括一个数据处理过 程,也就是要开发的目标系统。
环境图的作用是确定系统在其环境中的位置,通 过确定系统的输入和输出与外部实体的关系确定 其边界。
• 数据流图的基本图形符号
Байду номын сангаас
或
加工。对输入数据进行变换以产生输出数据,其中要注明加工的名字。
或
外部实体,即数据输入源(Source)或数据输出汇点(Sink)。其中要注明数
据源或数据汇点的名字。
或
数据存储。要用名词或名词性短语为数据存储命名。
数据流。描述被加工数据及传递方向。箭头旁边要注明数据流的名字,可用名 词或名词性短语命名。
业务 员
储 户
事务
存款单
银行储蓄
储
系统
户
利息清单
密码
3.3 功能建模
• (3) 画出一层数据流图
3.3 功能建模
• (4) 画出二层数据流图
对一层图中的“处理存款”及“处理取款”进行 进一步分解,得到二层数据流图,即处理存款的 数据流图和处理取款的数据流图。
存款业务
2.1
记录存款 信息
存款信息
2.2 打印存款单
3.3 功能建模
• 典型的环境图
• 招生系统需求描述
学校首先公布招生条件,考生根据自己的条件报 名,之后系统进行资格审查,并给出资格审查信 息;
对于资格审查合格的考生可以参加答卷,系统根 据学校提供的试题及答案进行自动判卷,并给出 分数及答题信息,供考生查询;
最后系统根据学校的录取分数线进行录取,并将 录取信息发送给考生。
第2部分 结构化软件开发方法
第3章 结构化分析建模
3.1 软件需求分析阶段的任务
• 可以把软件需求分析阶段的工作分为4个步骤,即 获取需求、分析需求、定义需求和验证需求,如 图所示。
软件需求分析阶段的工作步骤
3.1 软件需求分析阶段的任务
• 需求获取
通过启发、引导从客户(或用户)那里得到的原始 需求是他们的业务要求(needs),简称为N。 这是分析之前获取的需求,其中可能存在一些实际 问题,这些问题只有通过分析才能得到解决,直接 把获取的需求作为软件设计阶段的依据将会导致严 重的后果。
3.3 功能建模
• 招生系统的环境图
3.3 功能建模
• 数据流图的分层
对于稍微复杂一些的实际问题,在数据流图上常 常出现十几个甚至几十个加工,这样的数据流图 看起来不直观,不易理解,分层的数据流图能很 好地解决这一问题。
按照系统的层次结构进行逐步分解,并以分层的 数据流图反映这种结构关系,能清楚地表达和容 易理解整个系统。
3.1 软件需求分析阶段的任务
• 需求定义
将已经过分析的需求清晰、全面、系统、准确地 描述成为正式的文档,这一步定义需求的工作就 是编写需求规格说明。
3.1 软件需求分析阶段的任务
• 需求验证
为了确保已定义的需求(需求规格说明)准确无 误,并能为客户(或用户)理解和接受,需要对 其进行严格的评审。
3.1 软件需求分析阶段的任务
• 需求分析
认真研究获取的需求,必须考虑以下几方面: (1) 完整性:每项获取的需求都应给出清楚的描述, 使得软件开发工作能够取得设计和实现该功能所 需要的全部必要信息。 (2) 正确性:获取的每项需求必须是准确无误的, 并且需求描述无歧义性。 (3) 合理性:各项需求之间、软件需求与系统需求 之间应是协调一致的,不应存在矛盾和冲突。
3.3 功能建模
• 招生系统的分层数据流图
3.3 功能建模
• 数据流图的分层示意图
3.3 功能建模
• 实例研究
银行储蓄系统的业务流程: 储户填写的存款单或取款单由业务员键入系统; 如果是存款则系统记录存款人姓名、住址(或电话
号码)、身份证号码、存款类型、存款日期、到期 日期、利率、密码(可选)等信息,并印出存单给 储户; 如果是取款而且开户时留有密码,则系统首先核对 储户密码,若密码正确或存款时未留密码,则系统 计算利息并印出利息清单给储户。 要求画出分层的数据流图,并细化到2层数据流图。
存款单
存款信息
处理存款的数据流图
3.3 功能建模
• (4) 画出二层数据流图
处理取款的数据流图
3.4 数据建模
3.4 数据建模
• 在结构化分析方法中,使用实体—关系建模技术 来建立数据模型。
• 这种技术是在较高的抽象层次(概念层)上对数 据库结构进行建模的流行技术。
• 实体—关系模型表示为可视化的实体—关系图 (entity-relationship diagram,ERD),也称 为ER图。
• 结构化分析模型
结构化分析方法是一种建模技术,它建立的分析 模型如图所示。
3.3 功能建模
3.3 功能建模
• 概念
功能建模的思想就是用抽象模型的概念,按照软 件内部数据传递、变换的关系,自顶向下逐层分 解,直到找到满足功能要求的所有可实现的软件 为止。功能模型用数据流图来描述。
3.3 功能建模
3.1 软件需求分析阶段的任务
• 需求分析
(4) 可行性:包括技术可行性 、经济可行性 、社 会可行性 。 (5) 充分性:获取的需求是否全面、周到。
3.1 软件需求分析阶段的任务
• 需求分析
由于分析的过程会对获取的需求做部分调整,也即 从获取的需求N中去掉了一些a,又补充了一些c, 从而得到的是分析的需求R1(b+c)。
3.2 结构化分析方法简介
• 结构化分析方法
传统的分析建模方法称为结构化分析 (structured analysis,SA)方法。
最有代表性的是一种面向数据流进行需求分析的 方法,最初于20世纪70年代由D.Ross提出,后 来又经过扩充,形成了今天的结构化分析方法的 框架。
3.2 结构化分析方法简介
3.3 功能建模
• (1) 识别外部实体及输入输出数据流。
外部实体:储户、业务员。
输入数据:如果需要储户输入密码,储户才直接 与系统进行交互。储户填写的存款或取款信息通 过业务员键入系统,可以将存款及取款信息抽象 为事务。
输出数据:存款单,利息清单。
3.3 功能建模
• (2) 画出环境图(顶层数据流图)
3.3 功能建模
• 多个数据流之间的关系
3.3 功能建模
• 环境图
环境图(context diagram)也称为顶层数据流 图(或0层数据流图),它仅包括一个数据处理过 程,也就是要开发的目标系统。
环境图的作用是确定系统在其环境中的位置,通 过确定系统的输入和输出与外部实体的关系确定 其边界。
• 数据流图的基本图形符号
Байду номын сангаас
或
加工。对输入数据进行变换以产生输出数据,其中要注明加工的名字。
或
外部实体,即数据输入源(Source)或数据输出汇点(Sink)。其中要注明数
据源或数据汇点的名字。
或
数据存储。要用名词或名词性短语为数据存储命名。
数据流。描述被加工数据及传递方向。箭头旁边要注明数据流的名字,可用名 词或名词性短语命名。
业务 员
储 户
事务
存款单
银行储蓄
储
系统
户
利息清单
密码
3.3 功能建模
• (3) 画出一层数据流图
3.3 功能建模
• (4) 画出二层数据流图
对一层图中的“处理存款”及“处理取款”进行 进一步分解,得到二层数据流图,即处理存款的 数据流图和处理取款的数据流图。
存款业务
2.1
记录存款 信息
存款信息
2.2 打印存款单
3.3 功能建模
• 典型的环境图
• 招生系统需求描述
学校首先公布招生条件,考生根据自己的条件报 名,之后系统进行资格审查,并给出资格审查信 息;
对于资格审查合格的考生可以参加答卷,系统根 据学校提供的试题及答案进行自动判卷,并给出 分数及答题信息,供考生查询;
最后系统根据学校的录取分数线进行录取,并将 录取信息发送给考生。
第2部分 结构化软件开发方法
第3章 结构化分析建模
3.1 软件需求分析阶段的任务
• 可以把软件需求分析阶段的工作分为4个步骤,即 获取需求、分析需求、定义需求和验证需求,如 图所示。
软件需求分析阶段的工作步骤
3.1 软件需求分析阶段的任务
• 需求获取
通过启发、引导从客户(或用户)那里得到的原始 需求是他们的业务要求(needs),简称为N。 这是分析之前获取的需求,其中可能存在一些实际 问题,这些问题只有通过分析才能得到解决,直接 把获取的需求作为软件设计阶段的依据将会导致严 重的后果。
3.3 功能建模
• 招生系统的环境图
3.3 功能建模
• 数据流图的分层
对于稍微复杂一些的实际问题,在数据流图上常 常出现十几个甚至几十个加工,这样的数据流图 看起来不直观,不易理解,分层的数据流图能很 好地解决这一问题。
按照系统的层次结构进行逐步分解,并以分层的 数据流图反映这种结构关系,能清楚地表达和容 易理解整个系统。
3.1 软件需求分析阶段的任务
• 需求定义
将已经过分析的需求清晰、全面、系统、准确地 描述成为正式的文档,这一步定义需求的工作就 是编写需求规格说明。
3.1 软件需求分析阶段的任务
• 需求验证
为了确保已定义的需求(需求规格说明)准确无 误,并能为客户(或用户)理解和接受,需要对 其进行严格的评审。
3.1 软件需求分析阶段的任务
• 需求分析
认真研究获取的需求,必须考虑以下几方面: (1) 完整性:每项获取的需求都应给出清楚的描述, 使得软件开发工作能够取得设计和实现该功能所 需要的全部必要信息。 (2) 正确性:获取的每项需求必须是准确无误的, 并且需求描述无歧义性。 (3) 合理性:各项需求之间、软件需求与系统需求 之间应是协调一致的,不应存在矛盾和冲突。
3.3 功能建模
• 招生系统的分层数据流图
3.3 功能建模
• 数据流图的分层示意图
3.3 功能建模
• 实例研究
银行储蓄系统的业务流程: 储户填写的存款单或取款单由业务员键入系统; 如果是存款则系统记录存款人姓名、住址(或电话
号码)、身份证号码、存款类型、存款日期、到期 日期、利率、密码(可选)等信息,并印出存单给 储户; 如果是取款而且开户时留有密码,则系统首先核对 储户密码,若密码正确或存款时未留密码,则系统 计算利息并印出利息清单给储户。 要求画出分层的数据流图,并细化到2层数据流图。
存款单
存款信息
处理存款的数据流图
3.3 功能建模
• (4) 画出二层数据流图
处理取款的数据流图
3.4 数据建模
3.4 数据建模
• 在结构化分析方法中,使用实体—关系建模技术 来建立数据模型。
• 这种技术是在较高的抽象层次(概念层)上对数 据库结构进行建模的流行技术。
• 实体—关系模型表示为可视化的实体—关系图 (entity-relationship diagram,ERD),也称 为ER图。
• 结构化分析模型
结构化分析方法是一种建模技术,它建立的分析 模型如图所示。
3.3 功能建模
3.3 功能建模
• 概念
功能建模的思想就是用抽象模型的概念,按照软 件内部数据传递、变换的关系,自顶向下逐层分 解,直到找到满足功能要求的所有可实现的软件 为止。功能模型用数据流图来描述。
3.3 功能建模
3.1 软件需求分析阶段的任务
• 需求分析
(4) 可行性:包括技术可行性 、经济可行性 、社 会可行性 。 (5) 充分性:获取的需求是否全面、周到。
3.1 软件需求分析阶段的任务
• 需求分析
由于分析的过程会对获取的需求做部分调整,也即 从获取的需求N中去掉了一些a,又补充了一些c, 从而得到的是分析的需求R1(b+c)。
3.2 结构化分析方法简介
• 结构化分析方法
传统的分析建模方法称为结构化分析 (structured analysis,SA)方法。
最有代表性的是一种面向数据流进行需求分析的 方法,最初于20世纪70年代由D.Ross提出,后 来又经过扩充,形成了今天的结构化分析方法的 框架。
3.2 结构化分析方法简介
3.3 功能建模
• (1) 识别外部实体及输入输出数据流。
外部实体:储户、业务员。
输入数据:如果需要储户输入密码,储户才直接 与系统进行交互。储户填写的存款或取款信息通 过业务员键入系统,可以将存款及取款信息抽象 为事务。
输出数据:存款单,利息清单。
3.3 功能建模
• (2) 画出环境图(顶层数据流图)