第3讲-需求分析
第3章 需求分析
3.1 需求分析任务
需求分析的具体任务包括: (1)确定软件系统的综合需求(功能、性能、接 口、运行环境等); (2)分析系统的数据需求; (3)导出软件系统的逻辑模型; (4)修正系统开发计划; (5)开发原型系统; (6)编写需求规格说明书; (7)需求评审,验证需求分析的正确性。
第3章 需求分析
3.4 需求获取方法
XX项目需求问卷调查表(样式)
1.您的工作岗位是什么? 2.你的工作性质是什么? 3.您的工作任务是什么?(收集或绘制业务功能图) 4.您每天的工作时间安排?(绘制工作安排表) 5.您的工作同前/后续工作如何联系?(绘制工作流程图) 6. ……
如何建立计算机系统?您愿意学习操作吗?
3.5 需求分析模型
一对多(1:N)关联:对象A的一个实例可以关联到对象 B的一个或多个实例,而对象B的一个实例只能关联到对 象A的一个实例,如一个母亲可以有多个孩子,而一个孩 子只能有一个母亲。
一对多关系图
1
n
对象 A
关系
对象 B
1
n
母亲
母子
孩子
2019/12/15
返回
结束
28
第3章 需求分析
3.5 需求分析模型
XX先生/女士: 您好,请您抽空准备一下,我们将于X月X日与您会面。
谢谢! XX课题组
第3章 需求分析
3.4 需求获取方法
5.参加业务实践。如果条件允许,亲自参加业务实 践是了解现行系统的最好方法。通过实践还加深了 开发人员和用户的思想交流和沟通,这将有利于下 一步的系统开发工作。 6.收发电子邮件。通过互联网和局域网发电子邮件 进行调查,这可大大节省时间、人力、物力和费用。 7.召开电视电话会议。如果有条件还可以利用打电 话和召开电视会议进行调查,但只能作为补充手段, 因为许多资料需要亲自收集和整理。
第3章 需求分析
3.2 需求分析过程
需求分析是一项软件工程活动,它包括:需求获 取、需求建模、需求规格说明、需求评审。
1.需求获取 刻划出软件的功能和性能; 指明软件与其他系统元素的接口; 建立软件必须满足的约束。
第3章 需求分析
3.2 需求分析过程
2.需求建模 需求分析模型是准确地描述需求的图形化工具,主 要有实体关系图、数据流图、状态转换图。需求分 析建立起来的模型为日后软件设计人员提供了可被 翻译成数据结构、体系结构、接口和处理过程设计 的模型。
第3章 需求分析
3.5 需求分析模型
两个数据对象之间按关联的重数有以下三种关联: 一对一(1:1)关联:对象A的一个实例只能关联到对象B的 一个实例,对象B的一个实例也只能关联到对象A的一个实例。
1
1
对象 A
关系
对象 B
一对一关系图
1
1
丈夫
夫妻
妻子
2019/12/15
返回
结束
27
第3章 需求分析
2019/12/15
返回
结束
24
第3章 需求分析
3.5 需求分析模型
关系。关系表示实体之间的相互连接,用直线连接相关 联的实体,并在直线上用带关系名称的菱形来表示。
ER图中的基本符号
2019/12/15
返回
结束
25
第3章 需求分析
3.5 需求分析模型
关联的重数定义了在关联的一端可以存在的数据 实体实例的数量。 关联重数可以具有下列值之一: (1):表明在关联端存在且只存在一个数据实体 实例。 (0..1):表明在关联端不存在实体实例或存在一 个实体实例。 (*或N):表明在关联端不存在实体实例,或者存 在一个或多个实体实例。
采
购
审查
员
有效
开发 票
开购 货单
供货
采 购 员
采
采
发
购
货
购
购
票
货
物
申
单
单
请
(2)抽象出当前系统的逻辑模型
3.2 需求分析过程
第3章 需求分析
采 购 员采
购 单
审查 开票
供货 发 票
采
购
购
员
货
(3)分析目标系统与当前系统的差别,建立目标系统的逻辑模型
第3章 需求分析
3.2 需求分析过程
3.需求规格说明 把分析的结果用正式的文档记录下来,作为最终 软件配置的一个组成成分。需求规格说明为开发 人员和用户提供软件开发完成时质量评价的依据。 4.需求评审 作为需求分析阶段的复审手段,在需求分析的最 后一步应该对功能的正确性、完整性和清晰性以及 其他需求给予评价。
A
T
BA ⊕T
B
当A或B之一存在 C 就 有 C , 但 AB 不
会同时有
数据流图中的附加符号
第四章 软件需求分析与建模
第3章 需求分析
3.5 需求分析模型
3.分层数据流图 数据流图可分为不同层次,顶层(0层)DFD称为基本 系统模型,可以将整个软件系统表示为一个具有输入 和输出的黑匣子,其加工处理是软件项目的名称,用 一个圆圈表示。 DFD中的每一个加工可以进一步扩展成一个独立的数 据流图,以揭示系统中加工的细节。这种循序渐进的 细化过程可以继续进行,直到最底层的DFD图仅描述 加工的原子过程为止。每一层数据流图必须与它上一 层数据流图的输入输出保持平衡和一致。
3.5 需求分析模型
需求分析建模的方法有结构化分析建模和面向对象分析建模。
实体关系图 进行 数据建模
需 结构化分析
求
(SA)
分
数据流图 进行 功能建模 状态转换图 进行 动态建模
析 建
对象图 建立 对象模型
模 面向对象分析 状态图、事件追踪图建立 动态模型
(OOA)
数据流图 建立 功能模型
2019/12/15
第3章 需求分析
需求分析模型
2019/12/15
返回
结束
23
第3章 需求分析
3.5 需求分析模型
3.5.1 实体关系图 实体关系图(ER,Entity-Relationship Diagram): 是一种数据模型,是以实体、关系、属性三个基本概 念概括数据的基本结构,从而描述静态数据结构的概 念模型。 ER包括三种基本元素: 实体。表示具有不同属性的事物,用带实体名称的 矩形框表示。 属性。指实体某一方面的特征,用带属性名称的椭 圆表示。
第3章 需求分析
3.2 需求分析过程
(2)抽象出当前系统的逻辑模型 从上述步骤的“怎么做”抽取系统“做什么”的本质,舍 弃非本质的东西,即可抽象出当前系统的逻辑模型(数据 流图)。
(3)建立目标系统的逻辑模型 明确目标系统做什么,一般先比较目标系统和当前系统的 差异,对当前系统的数据流图变化的部分做相应的调整 (增加或删除部分功能,拆分或合并处理),获得目标系 统的逻辑模型。
(4)转换为目标系统的物理模型 根据目标系统逻辑模型建造物理模型(系统结构图),导
出新的物理系统。
3.2 需求分析过程
货物采购需求分析实例:
第3章 需求分析
采
购
主管
会计 出纳
供货
采 购
员采 李
采
室陈
员江 发
商王
购
货
员
购
购
票
货
物
申
单
单
请
(1)获得当前系统的物理模型
3.2 需求分析过程
第3章 需求分析
第3章 需求分析
3.5 需求分析模型
需求分析模型是准确地描述系统需求的图形化工 具。它可以使人们可以更好地理解将要建造的系 统,它有助于系统分析员理解系统的信息、功能 和行为,成为确定需求规格说明完整性、一致性 和精确性的重要依据,奠定软件设计基础。
2019/12/15
返回
结束
20
第3章 需求分析
第3章 需求分析
3.2 需求分析过程
目标系统模型的建立过程分4步完成: (1)获得当前系统的物理模型 了解当前系统的组织机构、输入输出、资源利用情况和日常数 据处理过程,分析理解当前系统的运行过程(也即理解当前系 统“怎么做”),并用一个具体的能反映现实的模型(系统流 程图)来表示。
根据当前系统模型建立目标系统模型的过程
2019/12/15
返回
结束
30
2019/12/15
返回
2
第3章 需求分析
例 , 工 资 计 算 系 统 图
ER
结束
31
第3章 需求分析
3.5 需求分析模型
3.5.2 数据流图 1.数据流图的概念 数据流图(DFD,Data flow diagram),是描述数据流和数 据转换的图形工具,它是进行结构化分析的基本工具,也是 进行软件体系结构设计的基础。 2.数据流图中的要素 DFD有四种元素,其基本符号如图所示:
返回
结束
21
第3章 需求分析
3.5 需求分析模型
结构化分析导出的分析模型包括数据模型、功能 模型和行为模型。
需求分析模型以“数据字典”为核心,描述了软 件使用的所有数据对象,围绕这个核心的是“实 体关系图”、“数据流图”和“状态转换图”。 具体形式如下图所示:
2019/12/15
返回
结束
22
3.5 需求分析模型
3.4 需求获取方法
需求获取是软件开发工作中最重要的环节之一, 其工作质量对整个软件系统开发的成败具有决定 性影响。需求获取工作量大,所涉及的过程、人 员、数据、信息非常多,因此要想获得真实、全 面的需求必须要有正确的方法。常规的需求获取 的方法有以下几种: 1.收集资料。收集资料就是将用户日常业务中所 用的计划、原始凭据、单据和报表等原始资料收 集起来,以便对它们进行分类研究。