第3章 结构化分析建模——2

合集下载

[工学]软件工程导论张海藩第5版第2_3章

[工学]软件工程导论张海藩第5版第2_3章
-- 性能:软件系统在运行速度、可用性、响应时间、恢复 时间 等方面有什么要求?
- - 特性:件系统在可移植性、可维护性、安全性等方面 有什 么考虑?
-- 设计约束:是否存在必要的标准、开发语言、数据库、 资源 限制、运行环境等因素的影响和策略?
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

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
⑹内容耦合。如果发生下列情况之一,两个模块间就是内 容耦合:
• 一个模块直接访问另一个模块的内部数据;

《结构化分析》PPT课件

《结构化分析》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. 导出和评价供选择的解法

第3-2章 解析结构模型

第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的摆,其

第3章结构化系统分析2

第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.3 结构化需求分析方法

3.3 结构化需求分析方法

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

第3章软件需求分析与建模

第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
把原型作为 把原型作为应 应用系统 用系统开发的

第三章结构模型化技术

第三章结构模型化技术

ISM含义 含义
1、ISM(Interpretative structural modeling)含义: ( )含义:
a: ISM 就是应用有向连接图来描述系统各要素间的关系,以表示一个作 为要素集合体的系统模型; b: 它的基本理论是图论,通过一些基本假设和图、矩阵的有关运算,可 以得到可达性矩阵;然后再通过人-机结合,分解可达矩阵,使复杂的 系统分解成多级递阶结构形式;
一、结构模型化基础
结构模型化技术: 结构模型化技术:建立系统结构模型的过程和方法论;
结构分析:结构模型化+对结果的解释。 结构分析:
二、结构模型化技术
脚本法 专家调查法 问题发掘技术 发现法 集团启发法 关联树法 解释结构模型(ISM ) 静态结构化技术 结构模型化技术 决策试验与评价实验室( DEMATEL) 系统开发计划程序(PPDS ) 工作设计 结构决定技术 交叉影响分析 动态结构化技术凯恩仿真模型(KSIM) 快速仿真模型(QSIM) 系统动力学
级间划分:找出整个系统要素集合的最高级要素集后,可将其从可达矩 级间划分: 阵中划去相应的行和列,再求剩余要素集合的最高级要素,依次类推, 直到确定出最低一级要素集合,这样就将系统划分为几个层次;一些概 念:最高级要素;
强连通块划分: 强连通块划分:在同一区域内同级要素相互可达的要素就称为强连通 块;即:同一区域同一级别内,两行元素完全相同。
第1步: 找出影响系统问题的主要因素,判断要素间的影响 步 找出影响系统问题的主要因素,
关系,建立邻接矩阵; 关系,建立邻接矩阵;
第2步: 考虑因果等关系的传递性,建立反映诸要素间关系 步 考虑因果等关系的传递性,

软件工程ch3结构化需求分析与建模

软件工程ch3结构化需求分析与建模
SA的核心:数据流图
数据流图:用来表示信息流程和信息变换过程的 图解方法,可以方便地描述用数据流的流动联系 的各种功能。
数据字典:数据流图中的各项数据。 结构化英语、判定树、判定表用于具体描述数据
流图中的基本功能(或过程)。 依赖数据流图的自顶向下的建模方法。
2021/3/11
41
2021/3/11
2021/3/11
22
三、业务流程图
业务流程图(Transaction Flow Diagram, TFD) 是描绘物理系统的传统工具。系统流程图可用图形 符号来表示系统中的各个元素。例如,人工处理、 数据处理、数据库、文件等。
业务流程图表示所描述部件的信息流程,而不表示 信息加工的控制过程。
系统流程图在可行性研究阶段也可以使用
(2)地理上分布广 调查表问题类型:(1)封闭问题
(2)定量问题 (3)开放问题
2021/3/11
33
某出版社管理系统问卷调查表
编号 1 2 3 4 5
6
提出问题
您在哪个部门工作? 出版业务流程是什么? 您每日都处理那些文件、数据、报表? 工作中手工处理特别麻烦的事情是什么? 工作中手工处理什么问题解决不了?影响效率的 问题有哪些?
传统 方法
用例图
用例和场景描述
关联图
DFD片断
交互图
状态图
数据流定义 处理描述
其他OO模型
分析
其他传统模型
设计类图
包图
设计
结构图 系统流图
对象数据库
2021/3/11
混合关系数据库模式
用户界面对话框、标单、报表
系统控制 伪代码 结点与定位图
关系数据库
40

第3章 结构化需求分析

第3章  结构化需求分析
第3章 需求分析
为了开发出真正满足用户需求的软件 产品,首先必须知道用户的需求。 产品,首先必须知道用户的需求。
教学目的
掌握需求分析的任务 理解E-R图、数据流图、数据字典的编制 理解 图 数据流图、 理解解需求规格说明的制作
对软件需求的深入理解是软件开发工 作获得成功的前提和关键, 作获得成功的前提和关键,不论我们把设 计和编码工作做得如何出色, 计和编码工作做得如何出色,不能真正满 足用户需求的程序只会给用户带来失望, 足用户需求的程序只会给用户带来失望, 给开发者带来烦恼。 给开发者带来烦恼。
在非正式的访谈中, 在非正式的访谈中,将提出一些可以 自由回答的开放性问题, 自由回答的开放性问题,以鼓励被访问的 人员表达自己的想法,例如, 人员表达自己的想法,例如,询问用户为 什么对目前正在使用的系统感到不满意。 什么对目前正在使用的系统感到不满意。
当需要调查大量人员的意见时, 当需要调查大量人员的意见时,向被 调查的人员分发调查表是一个十分有效的 做法。 做法。
在对用户进行访谈的过程中使用情景 分析技术往往非常有效。 分析技术往往非常有效。所谓情景分析就 是对用户运用目标系统解决某个具体问题 是对用户运用目标系统解决某个具体问题 的方法和结果进行分析。 的方法和结果进行分析。
3.2.2 术
简易的应用规格说明技
这种方法提倡用户与开发者密切合作, 这种方法提倡用户与开发者密切合作, 共同标识问题,提出解决方案的要素, 共同标识问题,提出解决方案的要素,商 讨不同的方法并指定基本的需求。今天, 讨不同的方法并指定基本的需求。今天, 简易的应用规格说明技术已经成为信息系 统界使用的主流技术。 统界使用的主流技术。
快速原型应该具备的第二个特性是 容易修改” “容易修改”。如果原型的第一版不是用 户所需要的, 户所需要的,就必须根据用户的意见迅速 地修改它,构建出原型的第二版, 地修改它,构建出原型的第二版,以更好 地满足用户的需求。 地满足用户的需求。

第3章_结构化分析与设计

第3章_结构化分析与设计

无效书单
发票

审查并
领书单



开发票
领书单

购书单
图3.4 改进了的目标系统逻辑模型
●软件开发是要实现目标系统的物理模型。需求分析 的任务就是借助于当前系统的逻辑模型导出目标系 统的逻辑模型,解决目标系统“做什么”的问题。
当前系统
怎么做 模型化
物理模型
做什么 抽象化
逻辑模型
导 出
目标系统
具体化 物理模型
它是形成需求说明书、进行软件设计的基础。
② 编写需求规格说明书(SRS) 在完全弄清用户对软件系统的确切要求的基 础上,用“需求规格说明书”( SRS)把用户 的需求表达出来。 需求规格说明书为开发人员和用户提供软件 开发完成时质量评价的依据。 ●SRS应该具有准确性; ●SRS应该防止二义性; ●SRS应该直观、易读、易于修改。
①数据流(条目):给出DFD中数据流的定义,列 出该数据流的各组成数据项,通常写成公式的形 状。 例3.3 发票=学号+ 姓名+{书号+单价+数量+总价}+
书费合计 对较长和较复杂的数据流,可分层次描述,使条 目更清楚。如上述数据流“发票”可表示为: 发票=(学号) +姓名+{发票行}+书费合计 发票行=书号 + 单价 + 数量 + 总价
(Process SPECification, PSPEC) ●对数据流图的每一个基本加工,必须有一个 加工说明, 其主要内容如下所示:
(1)加工名; (2)加工编号; (3)输入数据流; (4)输出数据流; (5)加工逻辑; (6)执行频率。
其中最重要的是加工逻辑。
●加工逻辑描述基本加工如何把输入数 据流变换为输出数据流的加工策略,而 不需描述实现加工的细节。 ●加工逻辑通常采用结构化语言 (Structured Langauge)、 判定表 (Decision Table)、 或 判定树(Decision Tree)作为描述工具。

第3章 结构化分析建模

第3章 结构化分析建模


外 部 实 体 , 即 数 据 输 入 源 ( S o u rc e ) 或 数 据 输 出 汇 点 ( S in k ) 。 其 中 要 注 明 数 据源或数据汇点的名字。

数据存储。要用名词或名词性短语为数据存储命名。 数 据 流 。描 述 被 加 工 数 据 及 传 递 方 向 。箭 头 旁 边 要 注 明 数 据 流 的 名 字 ,可 用 名 词或名词性短语命名。
3.1 软件需求分析阶段的任务
• 需求分析
(4) 可行性:包括技术可行性 、经济可行性 、社 会可行性 。 (5) 充分性:获取的需求是否全面、周到。
3.1 软件需求分析阶段的任务
• 需求分析
由于分析的过程会对获取的需求做部分调整,也即 从获取的需求N中去掉了一些a,又补充了一些c, 从而得到的是分析的需求R1(b+c)。
3.4 数据建模
• 数据对象


数据对象是目标系统所需要的复合信息的表示, 所谓复合信息是具有若干不同属性的信息。在ER 图中用矩形表示数据对象。 在实际问题中,数据对象(实体)可以是外部实 体、事物、角色、行为或事件、组织单位、地点 或结构等。
3.4 数据建模
• 属性


属性定义数据对象的特征,如数据对象学生的学号、姓名、 性别、专业等,课程的课程编号、课程名称、学分等。 在ER图中用椭圆或圆角矩形表示属性,并用无向边将属性 与相关的数据对象连接在一起。
系统的执行速度
系统的响应时间
最பைடு நூலகம்存储容量 信息传输速度
最大用户数量
出错处理要求
区分功能需求 性能需求和数据需求
• 红绿灯控制模块必须把红绿灯平面上的绿灯 切换为黄灯,不得将其切换为红灯。 • 根据管理人员的要求,该系统必须以HTML 格式生成每日、每周、每月和每年的销售报 表。 • 当用户按下启动循环按钮之后,必须禁用该 按钮,一直到循环结束为止。必须启动循环 的递减计数时钟,必须把所有循环计数器复 位为0,必须清空并启用用户输入文本框。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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) 画出环境图(顶层数据流图)
相关文档
最新文档