2.1需求分析-数据流图

合集下载

[工学]软件工程导论张海藩第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)存储:一个局部存储只要当它作为某些处理的 数据接口或某个处理特定的输入输出时就要把它画出来;

2.2 需求分析--数据字典和加工说明

2.2 需求分析--数据字典和加工说明
IF–THEN-ELSE; CASE-OF-ENDCASE; 3、循环结构
WHILE-DO; REPEAT-UNTIL
一、结构化语言
结构化语言举例
例一 根据当前流动资金值确定贬值数。 IF the Current–Capital–Value is less than $1000 Then
Set Depreciated–Amount to Current–Capital–Value. Set Current–Capital–Value to zero. Else Set Depreciated–Amount to 10% of Current–Capital– Value. Reduce Current–Capital-Value by 10%.
2
X=(a) 表示 a 可在X中出现,也可不出现 X=“a” 表示X是取值为字符a 的数据元素 X=1 • • 8 表示X可取1到8中的任意一个值
数据流条目 给出了DFD图中数据流的定义,通常列出该数据
流的各组成数据项。 例如,数据流“乘客名单”由若干“乘客姓名”、 “单位名”和“等级”组成,则词典中的“乘客名 单”条目是:
基本原则应用举例
例:考察下图中子父图的平衡。
A
B
C
1
3
M
N
T
2
父图
N 图a
T2.12.2来自PQ2.3 S
子图
显然,图a中子图与 父图不平考察衡结果
1
2
提货单
订货单 333
4 5
6 父图
图b
客户 3.1
帐号
提货单 3.2
如果有如下数据条目:
数量 3.3 子图
订货单=客户考+账察号结果+数量, 则子、父图平衡

数据流图与讲义需求分析建模案例

数据流图与讲义需求分析建模案例

图 2..16
2.2.5 画分层DFD图的基本原则
数据守恒与数据封闭原则 所谓数据守恒是指加工的输入输出数据流是否匹配,
即每一个加工既有输入数据流又有输出数据流。或者说一 个加工至少有一个输入数据流,一个输出数据流。
数据封闭是对整个系统而言。
加工分解的原则 自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀的几
画各层DFD图时,“由外向内”。
先全局后局部, 分层
先整体后细节,
DFD 图
X
先抽象后具体.
0图
顶 层
3 12


1.2 1.3
1图
1.1 1.4
2.2

2.1
2图
1.1.1 1.1.2
2.1.3 2.1.2 2.1.1
2.2.1 2.2.3
2.2.2
底 层
1.1图
2.1图
2.2图
2.2.4 实例:医院病房监护系统
对数据流图中包含的所有元素的定义的集合构成了数 据词典。词典中可有以下四种类型的条目:
数据流 文件
数据项 加工
A、 数据流条目 给出某个数据流的定义,通常是列出该
数据流的各组成数据项。
例如: 报名单=姓名+单位名+年龄+性别+课程名
常用符号:=、+、[|]、{}、()、{...}
n m
B、文件条目 给出某个文件的定义,同数据流一样,文件
精品
数据流图与需求分析建模 案例
2.2.3 画分层DFD图的方法
“先全局后局部,先整体后细节,先抽象后具体”
通常可将这种分层的DFD图,分为顶层、中间层、底层。 具体步骤:
1。先确定系统范围,画出顶层的DFD图。 2。逐层分解顶层DFD图,获得若干中间层DFD图。 3。画出底层的DFD图。

需求分析、数据流图

需求分析、数据流图

1、欲开发一系统,如果客户不能完整描述他们的需求,则开发过程最适合采用(50)。

(50)A.原型模型 B.瀑布模型 C.V模型 D.螺旋模型2、数据流图包含的成分有(51)。

(51)A. 关系、实体和属性 B. 数据流、加工和数据存储C. 数据流、数据源和数据实体D. 数据流、属性、数据存储和加工3、在软件开发的各个阶段中,对软件开发成败影响最大的是(54)。

(54)A. 需求分析B. 概要设计C. 详细设计D. 编码4、关于数据流图中加工的命名规则,正确的是(48)。

(48)A. 加工的名字要说明对数据进行的处理和算法B. 加工的名字要说明被加工的数据以及产生的结果C. 加工的名字既要说明被加工的数据,又要说明对数据的处理D. 加工的名字应该与输出结果一致5、数据流图的作用是(50)。

(50)A. 描述数据对象之间的关系 B. 描述对数据的处理流程C. 说明将要出现的逻辑判定D. 指明系统对外部事件的反应6、采用结构化方法开发软件时,常使用数据流图来描述系统数据处理过程,它是(53)阶段产生的。

(53)A. 系统分析 B. 概要设计 C. 详细设计 D. 编码7、结构化分析方法(SA)采用“自顶向下,逐层分解”的开发策略,其需求分析的结果中不包括(50)。

(50)A. 一套分层的数据流图 B. 一本数据字典C. 一组加工逻辑D. 一组用户界面8、软件需求分析阶段要进行问题识别、分析与综合等几方面的工作,其中问题识别是双方确定对问题的综合需求,包括功能需求、(53)及用户界面需求等内容。

(53)A. 性能需求、经费需求 B. 环境需求、人员需求C. 人员需求、经费需求D. 性能需求、环境需求9、在数据流图(DFD)中,顶层数据流图仅包含一个(50)。

(50)A.数据处理B.数据存储C.数据流D.数据源或者数据汇点10、待开发软件的技术性能指标属于软件的___(52)_____。

(52)A.功能需求 B.性能需求 C.环境需求 D.用户界面需求。

软件工程实验一需求分析。

软件工程实验一需求分析。

淮海工学院计算机工程学院实验报告书课程名:《软件工程》题目:学生信息管理系统设计与实现——需求分析班级:网络122学号:***********名:**1、实验目的与要求(1)上网查询浏览有关软件工程环境网站,了解有关软件工程环境的定义、配置、功能和用途;(2)下载有关软件工程标准,如国际ISO9000-3、国家GB8567-1988、2006和行业标准等,重点阅读软件分析阶段的文档编写指南;(3)由指导老师指定或由学生自己选择一实验题目——软件工程项目。

(4)安装、运行、熟悉Visio绘图工具的基本功能,并熟练掌握各种分析建模工具的使用方法,如系统流程图、数据流图、E-R图等,完成选定题目需求规格说明书中功能、数据和行为模型的创建与和说明。

2.1实验背景随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。

服务教学、提高教学水平和效果是校园网建设的核心目标和核心价值,本系统立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高高校的现代化管理水平,实现信息资源的共享。

该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面‘软件’质量。

可以说它适用于每一所高校,因此很有开发价值。

我们不敢说该产品是所有该系列产品中最好的,但是我们这里要强调的是它具有使用范围广,实用性强,使用简单,所花经费少等优点。

我们可以肯定的说它将在高校的使用过程中其优点将得到最充分的体现。

2.2需求分析2.2.1业务流程图部分:2.2.2管理功能部分:从业务流程图可以看出,学生成绩管理系统中分为大的三个方面:系统管理员模块、教师模块、学生模块,其主要管理功能有:(1)、系统管理员功能系统管理员进入学生成绩管理系统的主要功能是:实现管理员用户的添加、修改和删除,以及对教师添加、教师修该、教师删除、教师查询、学生的添加、学生的修改、学生的查询等基本功能,并且参与开设课程、选择课程的管理,安排教师的任课和学生的选课工作,管理元为每门课程设置一个学分,没门课程可以是必修或选修,如果学生及格,学生将获得该课程学分。

软件需求分析-数据流图

软件需求分析-数据流图

2
分析数据流图中是否存在冗余或不必要的处理步 骤,以提高系统的效率和性能。
3
验证数据流图的逻辑正确性,确保数据处理和转 换的准确性。
结构化分析
01 将数据流图分解为更小的、易于理解和管理的组 成部分,如子图或模块。
02 分析数据流图的结构,确定各组成部分之间的关 系和依赖关系。
03 根据结构化分析结果,制定相应的开发计划和模 块划分方案,以便进行后续设计和实现。
用于需求分析和系统设计阶段,为后续的系统实现和测试提供
03
基础。
数据流图的组成元素
数据流
表示数据在系统中的流动路径,用箭头表示。
数据流图中的节点
表示数据处理过程或数据存储,包括数据流图的 起点、终点以及中间的处理过程和数据存储。
数据流图的连接线
表示数据流动的路径,连接各个节点。
02
数据流图的绘制
数据流图优化实例
实例1
一个在线购物系统的数据流图, 通过增加库存管理和订单处理等 细节,使数据流图更加完整和准 确。
实例2
一个银行系统的数据流图,通过 简化不必要的元素和合并相似的 处理流程,使数据流图更加简洁 明了。
实例3
一个医疗系统的数据流图,通过 使用不同的颜色和标记来突出关 键元素,使数据流图更加易于理 解和分析。
04
数据流图与软件需求分 析
数据流图与需求分析的关系
01
02
03
数据流图是软件需求分 析的重要工具,用于描 述系统中的数据流动和
数据处理过程。
数据流图可以帮助分析 人员更好地理解系统的 功能和结构,从而更准
确地把握需求。
数据流图可以清晰地展 示出数据在系统中的流 动和处理过程,有助于 发现潜在的问题和改进

习题课(软件工件-信息系统分析)

习题课(软件工件-信息系统分析)
9
解:(1)系统的数据源点、终点、处理功能及存储

源点:
病人:提供生理信号信息; 系统随时接收每个病人的生理信号(脉搏、体温、血 压、心电图等) 护士:要求病情报告信息; 护士可以要求系统印出某个指定病人的病情报告。 时钟:提供日期和时间信息的“时钟”。 系统应“定时记录病人情况以形成患者日志” 。




画出下列伪码程序的程序流程图和盒图: START 解:(1)程序流程图 IF p THEN 开始 WHILE q DO F T f p END DO q循环 g ELSE WHILEq BLOCK n f g n q循环 END BLOCK END IF 停止 STOP
24
本节练习
1
p
4 2
q
3
模块p、t、 u更新同一 个数据库
表1 模块接口描述
接口编号 1 2 3 4 输入 飞机类型 飞机零件清单 功能代码 飞机零件清单 控制 输出 状态标志 耦合类型 数据
r
5
s
6
5 6
零件编号 零件编号
零件制造商 零件名称
数据 数据
22
t
u
图1 一个程序的模块互连图
模块p、t、u之间为公共环境耦合


终点:

护士:接收警告信息和病情报告。
10
解:(1)系统的数据源点、终点、处理功能及存储

处理:
接收信号; 分析信号; 产生警告信息信息; 定时取样生理信号; 更新日志; 产生病情报告。


存储:

患者安全范围:医生规定的病人的生理信号安全范围; 患者日志:定时记录病人情况以形成患者日志。

需求管理规范

需求管理规范

需求管理规范引言概述:需求管理是软件开发过程中至关重要的一环,它涉及到需求的收集、分析、确认和变更控制等方面。

一个良好的需求管理规范能够确保项目的顺利进行,并有效地满足用户的需求。

本文将从需求收集、需求分析、需求确认和需求变更控制四个方面详细阐述需求管理规范的内容。

一、需求收集:1.1 需求收集的目标和方法:需求收集的目标是从用户、业务分析师和其他相关人员中获取到准确、完整和一致的需求信息。

为了实现这一目标,可以采用以下方法:- 面对面访谈:与用户和相关人员进行面对面的访谈,直接获取他们的需求和期望。

- 问卷调查:通过设计问卷并发放给用户和相关人员,收集他们的意见和建议。

- 观察法:观察用户在实际工作环境中的行为和操作,了解他们的需求。

1.2 需求收集的工具和技术:为了更好地收集需求,可以使用以下工具和技术:- 需求讨论会:组织相关人员进行讨论,深入了解需求的细节和背景。

- 原型设计:通过绘制原型图或创建交互式原型,帮助用户更好地理解需求,并提供反馈意见。

- 需求工作坊:组织用户和开发团队参与需求工作坊,共同讨论和确定需求内容。

为了确保需求的准确性和一致性,需求收集过程中应该进行文档化,包括以下内容:- 需求文档:详细描述用户需求的文档,包括功能需求、非功能需求和约束条件等。

- 用例文档:描述系统各个功能点的用例,帮助开发团队理解和实现需求。

二、需求分析:2.1 需求分析的目标和方法:需求分析的目标是将收集到的需求进行分析和整理,确定需求的优先级和可行性。

为了实现这一目标,可以采用以下方法:- 需求分解:将大的需求拆分成小的可管理的部分,帮助开发团队更好地理解和实现需求。

- 需求优先级排序:根据用户需求的重要性和紧急程度,确定需求的优先级,确保关键需求得到优先满足。

2.2 需求分析的工具和技术:为了更好地进行需求分析,可以使用以下工具和技术:- 数据流图:通过绘制数据流图,分析系统中的数据流动和处理过程,帮助理清需求之间的关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
▪ 面向数据结构的Jackson方法 (JSD, Jackson System Development )
▪ 面向数据结构的结构化数据系统开发方法 (DSSD,
Data structured system development)
▪ 面向对象的分析方法 (OOA, Object-Oriented Analysis) 等
软件工程
13/43
软件开发是要实现目标系统的物理模型。需求 分析的任务就是借助于当前系统的逻辑模型导 出目标系统的逻辑模型,解决目标系统 “做 什么” 的问题。
怎么做
当前系统 模型化 物理模型
抽象化
做什么
逻辑模型

导 出
解 需 求
具体化
目标系统
物理模型
实例化 逻辑模型
2021/4/8
软件工程
14/43
2021/4/8
软件工程
3/43
5) 推荐可行的方案 6) 编写可行性研究报告
经济可行性 成本–效益分析
成本估算 ✓ 专家估算技术(Delphi技术) ✓ 成本估算模型(COCOMO) 效益估算 ✓ 投资回收期 ✓ 纯收入 ✓ 投资回收率
2021/4/8
软件工程
4/43
系统开发和每年运行费用举例
$10,500
网络管理员(300小时/年,50美元/小时) $15,000
购买硬件、软件升级:
硬件 软件
$5,000 $6,000
物资和杂项
$3,500
每年总运行费用
$40,000
软件工程
技术可行性 技术风险分析
技术解决方案的实用性 ✓使用的技术实用化程度 ✓技术解决方案合理程度 技术资源的可用性 ✓参与人员的工作基础 ✓基础硬件/软件的可用性 ✓软件工具实用性
2021/4/8
软件工程
25/43
结构化分析的分析模型
数据对象描述
加工规格说明
实体— 关系图
数据 字典
数据流 图
状态—迁移图
2021/4/8
控制规格说明
软件工程
26/43
分析模型的要素
数据流图(DFD,Data Flow Diagram) DFD 用于功 能建模
描述数据在系统中如何被传送或变换,以及描述如何 对数据流进行变换的功能(子功能);
2021/4/8
软件工程
22/43
软件需求的层次
1) 业务需求 反映了组织或客户对系统、产品 高层次的目标要求,它们一般在项目视图和 范围文档中给予说明。
2) 用户需求 描述用户使用软件需要完成哪些 任务,它们可通过使用实例图或脚本说明加 以阐明。
3) 功能―非功能需求 定义了开发者必须实现 的软件功能,而非功能需求如表所示:
户要求; ✓ 刻划出软件的功能和性能; ✓ 指明软件与其他系统元素的接口; ✓ 建立软件必须满足的约束。
2021/4/8
软件工程
11/43
2. 需求分析的任务
需求分析是一项软件工程活动,它包括: 1) 需求获取
✓ 刻划出软件的功能和性能; ✓ 指明软件与其他系统元素的接口; ✓ 建立软件必须满足的约束。 2) 需求建模 需求分析建立起来的模型为日后软件设计 人员提供了可被翻译成数据、体系结构、 接口和处理过程设计的模型。
中间层流图则表示对其上层父图的细化。它的每一加工可 能继续细化,形成子图。
2021/4/8
软件工程
31/43
1
1.1
1.2
1.3
0
3 2
2.1
顶层 顶层图(关联 图)不能出现 数据存储
第一层
L1层图:必须包 含全部的四个元 素,缺一不可
2.2
第二层
3.2
3.1
3.3
分层的数据流图
2021/4/8
软件工程
2021/4/8
软件工程
9/43
法律可行性 侵权和责任问题
专利法 著作权法 软件保护条例
用户操作可行性
用户类型:外行型/熟练型/专家型 操作习惯 使用单位的计算机使用情况 使用单位的规章制度
2021/4/8
软件工程
10/43
2.1 软件需求分析
1. 软件需求分析的目的
需求分析是一项软件工程活动,其目的是: ✓ 清楚地理解所要解决的问题,完整地获取用
无效书单
学 购书单 审查并 发票

开发票
开领 领书单 学
书单

计算机教材管理系统的逻辑模型
需求建模过程 (4) 对目标系统的逻辑模型进行改进与优化 (5) 需求分析的验证
3、需求获取
需求获取是在问题及其最终解决方案之间架设 桥梁的第一步。 需求获取的目的是清楚地理解所要解决的问题, 完整地获得用户的需求。 获取需求的一个必不可少的结果是对项目中描 述的客户需求的普遍理解。一旦理解了需求, 分析者、开发者和客户就能探索出描述这些需 求的多种解决方案。
2021/4/8
软件工程
23/43
性能要求 实时性; 其他时间要求,如响应时间、处理时
间、包传送时间等; 资源配置要求; 精确度、

处理量等要求
品 可靠性要求 有效性; 数据完整性
要 求
安全保密要求 运行要求
安全性; 保密性 使用频度、运行期限; 控制方式; 对操作员要

物理要求 系统的规模等
过 开发类型 实用性开发或试验性开发
数据源点或终点 (外部实体)
数据流
数据存储文件
2021/4/8
软件工程
28/43
例子-描述银行取款过程的数据流图
2021/4/8
软件工程
29/43
数据流与数据加工之间的关系
A C
*T
B
B
A
+
T
C
B A
T*
C
A C
+T
B
A C
+T
B
B A
T+
C
*与
+或
+ 互斥
2021/4/8
软件工程
30/43
数据流图的层次结构
32/43
数据流图的画法
基本原则:自外向内,自顶向下,逐层细化,完善求精。 步骤:
①先找系统的数据源点与终点。 ②找出外部实现的输出数据流和输入数据流。 ③在图的边上画出系统的外部实体。 ④从外部实体的输入数据流(系统的源点)出发,按照系统 的逻辑需要,逐步画出一系列逻辑加工,直到找出外部实体 所需要的输出数据流(既系统的终点),形成数据流的封闭。 ⑤进行检查和修改 ⑥再逐个加工处理过程,画出所需要的子图。
需求分析
大连民族大学 崔永瑞
内容大纲
2.1
2.2
需求分析 数据流图
2.3
实体关系图
2.4
状态迁移图
2.5
需求规格说明书范例
2021/4/8
软件工程
2/43
可行性研究
可行性研究 ❖ 从经济可行性、技术可行性、法律可行性和 用户操作可行性等方面评价系统是否值得做, 是否能做。
▪ 可行性研究的步骤 1) 确定项目的规模和目标 2) 研究当前正在运行的系统 3) 建立新系统的高层逻辑模型 4) 导出和评价各种方案
软件工程
系统开发和每年运行费用举例
购买硬件、软件:
20台工作站Windows软件
20台工作站内存升级 网络软件 20台工作站办公软件产品 系统开发总费用
$1,000
$8,000 $17,500 $20,000 $161,670
软件工程
系统开发和每年运行费用举例
2.年运行费用(每年)
人员:
维护程序员/分析员(250小时/年,42美元/小时)
程 项目估算 开发工作量估计
要 开发方法 质量控制标准; 里程碑和评审; 验收标准 求 优先顺序 权衡各种质量目标要求,排定优先实现次序
可维护性 可理解性、可测试性、可修改性、可移植性
2021/4/8
软件工程
24/43
常用的分析方法
▪ 面向数据流的结构化分析方法(SA, Structured analysis)
模型(model)
是对系统的模型,是现实世界某些重要方
面的表示。
模型一种抽象,从某个视点、在某种抽象
层次上详细说明被建模的系统。
有时我们使用术语“抽象”来表示模型,因
为我们从现实世界中抽象出对我们特别有用的东 西。
一句话:模型就是对现实的抽象。
模型化或模型方法是通过抽象、概 括和一般化,把研究的对象或问题转化 为本质(关系或结构)相同的另一对象 或问题,从而加以解决的方法。模型化 方法要求所建立的模型能真实反映所研 究对象的整体结构、关系或某一过程、 某一局部、某一侧面的本质特征和变化 规律。
2021/4/8
软件工程
34/43
画数据流图的步骤
4. 根据自顶向下,逐层分解的原则,对上层图中的 加工环节进行分解。
5. 重复步骤(4),直到逐层分解结束。分解结束 的标志是:对于每一个最底层的加工,其逻辑功 能已足够简单、明确和具体(原子加工或基本加 工)。
6. 对某图进行检查和合理布局,主要检查分解是否 恰当、彻底,DFD中各成分是否有遗漏、重复、 冲突之处,各层DFD及同层DFD之间关系是否 正确及命名、编号是否确切、合理等。对错误与 不当之处进行修改。
2021/4/8
软件工程
12/43
3) 需求规格说明
需求规格说明为开发人员和用户提供软件 开发完成时质量评价的依据。
4) 需求评审
✓ 需求分析研究的对象是用户的要求。
✓ 必须全面理解用户的各项要求,准确表 达被接受的用户要求。
✓ 只有经过确切描述的软件需求才能成为 软件设计的基础。
相关文档
最新文档