软件工程需求分析 PPT
合集下载
(完整版)《软件需求分析》PPT课件

4.1.1 需求分析的特点
需求分析虽处于软件开发过程的开始阶段,但它对 于整个软件开发过程以及软件产品质量是至关重要 的。需求分析是指开发人员要进行细致的调查分析, 准确理解用户的要求。将用户非形式的需求陈述转 化为完整的需求定义,再由需求定义转换到相应的 形式功能规约的过程。
2020/4/10
2020/4/10
广东工业大学计算机学院
11
(4)用户界面需求:用户操纵界面的形式、输入 /输出数据格式、数据传递的载体等。
(5)系统的可靠性、安全性、可移植性和可维护 性等方面的需求。
2020/4/10
广东工业大学计算机学院
12
2. 导出软件的逻辑模型
分析人员根据前面获取的需求资料,要进行一致性 的分析检查,在分析、综合中逐步细化软件功能, 划分成各个子功能。同时对数据域进行分解,并分 配到各个子功能上,以确定系统的构成及主要成分。 最后要用图文结合的形式,建立起新系统的逻辑模 型。
2020/4/10
广东工业大学计算机学院
10
1. 问题明确定义
(1)功能需求:指所开发的软件必须具备什么样 的功能。
(2)性能需求:要开发软件的技术性能指标,如 访问时延、存储容量、运行时间等限制。
(3)环境需求:软件运行时所需要的硬件的机型、 外设;软件的操作系统、开发与维护工具和数据库 管理系统等要求。
2020/4/10
广东工业大学计算机学院
5
3. 交流障碍
需求分析涉及人员较多,系统分析员要与软件系统 用户、问题领域专家、需求工程师和项目管理员等 进行交流。但是这些人具备不同的背景知识,处于 不同的角度,扮演不同角色,造成了相互之间交流 的困难。
2020/4/10
《软件工程》PPT课件

第四课时
第一章第四课时
喷泉模型 软件工程的任务与研究范围 软件开发的原则与开发方法
返回
喷泉模型
瀑布模型要求在软件开发的初期就完全确定软件的需求,这在很多 情况下往往是做不到的.螺旋模型试图克服瀑布模型的这一不足.SM 把软件开发过程安排为逐步细化的螺旋周期序列,每经历一个周期, 系统就细化和完善一些.SM每—螺旋周期由六个步骤组成: <1> 确定任务目标: 根据初始需求分析项目计划,确定任务目标、可选 方案和限制.<2>选择对象:对各种软硬件设备、开发方法、技术、 开发工具、人员、开发管理等对象进行选择:并决定软件是进行研 制、购买还是利用现有的.<3>分析约束条件:软件开发的时间、经 费等限制条件.<4>风险分析:评估目标、对象、约束条件三者之间 的联系,列出可能出.现的问题及问题的严重程度等,把最重要的问 题作为尚未解决的关键问题的风险.<5>制定消除风险的方法:应有 详尽的说明和周密的计划,并估计可能产生的后果.依此来开发软件, 为制订下一周期的计划打下基础.<6>制定下一周期的工作计划:在 第一个螺旋周期,确定目标、选择对象、分析约束,通过风险分析制 订消除风险的方法,初步开发原型1,制定系统生存周期计划.
软件工程的任务与研究范围
•软件产品的特点 •软件工程的研究内容与方法 •软件工具与软件支撑环境 •软件管理
软件开发的原则与方法
•软件开发的原则 • 自顶向下与模块结构 •软件开发的方法 •1.非自动形式的系统开发方法 •〔1〕系统流程图〔2〕结构分析法〔3〕结构化设计法 •〔4〕数据结构法〔5〕层次输入——处理——输出方法<HIPO法> • 2.半自动形式的系统开发方法 •〔1〕软件需求工程法〔2〕问题说明语言与分析法 • 3. 自动形式的系统开发方法 〔HOS方法〕:由计算机自动确定规 范、自动分析、自动编程、自动执行与模拟,以规范语言AXES、资 源分配工具RTA为工具.能自动进行分析、设计,工作量少、设计规范, 也能自动进行修改和维护.该方法适用于系统分析和设计.
第一章第四课时
喷泉模型 软件工程的任务与研究范围 软件开发的原则与开发方法
返回
喷泉模型
瀑布模型要求在软件开发的初期就完全确定软件的需求,这在很多 情况下往往是做不到的.螺旋模型试图克服瀑布模型的这一不足.SM 把软件开发过程安排为逐步细化的螺旋周期序列,每经历一个周期, 系统就细化和完善一些.SM每—螺旋周期由六个步骤组成: <1> 确定任务目标: 根据初始需求分析项目计划,确定任务目标、可选 方案和限制.<2>选择对象:对各种软硬件设备、开发方法、技术、 开发工具、人员、开发管理等对象进行选择:并决定软件是进行研 制、购买还是利用现有的.<3>分析约束条件:软件开发的时间、经 费等限制条件.<4>风险分析:评估目标、对象、约束条件三者之间 的联系,列出可能出.现的问题及问题的严重程度等,把最重要的问 题作为尚未解决的关键问题的风险.<5>制定消除风险的方法:应有 详尽的说明和周密的计划,并估计可能产生的后果.依此来开发软件, 为制订下一周期的计划打下基础.<6>制定下一周期的工作计划:在 第一个螺旋周期,确定目标、选择对象、分析约束,通过风险分析制 订消除风险的方法,初步开发原型1,制定系统生存周期计划.
软件工程的任务与研究范围
•软件产品的特点 •软件工程的研究内容与方法 •软件工具与软件支撑环境 •软件管理
软件开发的原则与方法
•软件开发的原则 • 自顶向下与模块结构 •软件开发的方法 •1.非自动形式的系统开发方法 •〔1〕系统流程图〔2〕结构分析法〔3〕结构化设计法 •〔4〕数据结构法〔5〕层次输入——处理——输出方法<HIPO法> • 2.半自动形式的系统开发方法 •〔1〕软件需求工程法〔2〕问题说明语言与分析法 • 3. 自动形式的系统开发方法 〔HOS方法〕:由计算机自动确定规 范、自动分析、自动编程、自动执行与模拟,以规范语言AXES、资 源分配工具RTA为工具.能自动进行分析、设计,工作量少、设计规范, 也能自动进行修改和维护.该方法适用于系统分析和设计.
软件工程需求分析(精品PPT)

•确定被开发软件系统的系统元素
•将功能和信息结构分配到这些系统元素中 •需求分析的任务
•深入描述软件的功能和性能 •确定软件设计的约束和软件同其它系统元素的接口细节
•定义软件的其它有效性需求
第四页,共七十七页。
需求(xūqiú)分析的具体任务
•需求分析阶段的具体任务:
•确定对系统的综合要求
•系统功能要求
第四章 析根底
软件工程 需求分 (ruǎn jiàn ɡōnɡ chénɡ)
第一页,共七十七页。
第四章 需求分析 根底 (fēnxī)
• 需求(xūqiú)分析的任务与原那么〔重点〕 • 需求分析的任务 • 需求分析的过程 • 软件需求分析的原那么 • 初步需求获取技术 • 需求建模〔重点〕 • 问题抽象、问题分解与多视点分析 • 支持需求分析的快速原型技术 • 需求规格说明书
第二十六页,共七十七页。
教务管理系统调查分析过程 1、认真学习教务管理方面的知识,重点掌握其中
的名词和术语 2、收集目前教务管理方面资料和软件,了解其特
•了解系统的需求 •软件开发是系统开发的一局部,仔细分析研究系统的需求 规格说明,对软件的需求获取是很有必要的
第十六页,共七十七页。
✓需求调查对象
对组织的高层管理者,进行组织管理目标或经营方 针等组织战略问题的调查
对中层的管理者,进行全部业务流的调查 对业务工作人员,进行详细业务信息的调查
✓市场调查 了解市场对待开发软件有什么样的要求;了解市场上 有无与待开发软件类似的系统
第十页,共七十七页。
需求(xūqiú)分析流程
第十一页,共七十七页。
软件需求(xūqiú)分析的原那么
1、需要能够表达和理解问题的信息域和功能域 信息域应包括:
•将功能和信息结构分配到这些系统元素中 •需求分析的任务
•深入描述软件的功能和性能 •确定软件设计的约束和软件同其它系统元素的接口细节
•定义软件的其它有效性需求
第四页,共七十七页。
需求(xūqiú)分析的具体任务
•需求分析阶段的具体任务:
•确定对系统的综合要求
•系统功能要求
第四章 析根底
软件工程 需求分 (ruǎn jiàn ɡōnɡ chénɡ)
第一页,共七十七页。
第四章 需求分析 根底 (fēnxī)
• 需求(xūqiú)分析的任务与原那么〔重点〕 • 需求分析的任务 • 需求分析的过程 • 软件需求分析的原那么 • 初步需求获取技术 • 需求建模〔重点〕 • 问题抽象、问题分解与多视点分析 • 支持需求分析的快速原型技术 • 需求规格说明书
第二十六页,共七十七页。
教务管理系统调查分析过程 1、认真学习教务管理方面的知识,重点掌握其中
的名词和术语 2、收集目前教务管理方面资料和软件,了解其特
•了解系统的需求 •软件开发是系统开发的一局部,仔细分析研究系统的需求 规格说明,对软件的需求获取是很有必要的
第十六页,共七十七页。
✓需求调查对象
对组织的高层管理者,进行组织管理目标或经营方 针等组织战略问题的调查
对中层的管理者,进行全部业务流的调查 对业务工作人员,进行详细业务信息的调查
✓市场调查 了解市场对待开发软件有什么样的要求;了解市场上 有无与待开发软件类似的系统
第十页,共七十七页。
需求(xūqiú)分析流程
第十一页,共七十七页。
软件需求(xūqiú)分析的原那么
1、需要能够表达和理解问题的信息域和功能域 信息域应包括:
软件工程需求分析课件

当描绘循环运行过程时,通常并不关心循 环是怎样启动的。 当描绘单程生命期时,需要表明初始状态 和最终状态。
43
例题:
办公室复印机的工作过程大致如下: 未接到复印命令时处于闲臵状态,一旦接到复 印命令则进入复印状态,完成一个复印命令规定的 工作后又回到闲臵状态,等待下一个复印命令; 如果执行复印命令时发现缺纸,则进入缺纸状 态,发出警告,等待装纸,装满纸后进入闲臵状态, 准备接受复印命令;如果复印时发生卡纸故障,则 进入卡纸状态,发出警告等待维修人员排除故障, 故障排除后回到闲臵状态。
系统对事件的响应,既可以是做一个(或一系 列)动作,也可以是仅仅改变系统本身的状态 ,还可以是既改变状态又做动作。
40
初态: 终态: 中间状态:
状态名 状态变量
活动表
事件:
事件名(参数表)[条件]/动作表达式
状态转换:
41
状态图中使用的主要符号
42
状态图可以表示系统循环运行过程,也可 以表示系统单程生命期。
时就应该再次订货。
27
再次阅读可知:
事务有类型,需要根据不同情况处理;---处理事务
对各类事务要更改库存信息;对出库事务当 库存量少于临界值时,要产生订货信息。
订货信息不同于订货报表,报表要有严格的 格式。------产生报表
28
库存清单(信息)
订货 订货报表 CRT终端 事务 2 1 采购员 (仓库管 处理事务 信息 产生报表 (部) 理员) 订 货 信 息 订货信息 订 货 信 息
11
系统流程图(4)
12
系统流程图(5)
13
数据流图(1)
一.数据流图的作用
43
例题:
办公室复印机的工作过程大致如下: 未接到复印命令时处于闲臵状态,一旦接到复 印命令则进入复印状态,完成一个复印命令规定的 工作后又回到闲臵状态,等待下一个复印命令; 如果执行复印命令时发现缺纸,则进入缺纸状 态,发出警告,等待装纸,装满纸后进入闲臵状态, 准备接受复印命令;如果复印时发生卡纸故障,则 进入卡纸状态,发出警告等待维修人员排除故障, 故障排除后回到闲臵状态。
系统对事件的响应,既可以是做一个(或一系 列)动作,也可以是仅仅改变系统本身的状态 ,还可以是既改变状态又做动作。
40
初态: 终态: 中间状态:
状态名 状态变量
活动表
事件:
事件名(参数表)[条件]/动作表达式
状态转换:
41
状态图中使用的主要符号
42
状态图可以表示系统循环运行过程,也可 以表示系统单程生命期。
时就应该再次订货。
27
再次阅读可知:
事务有类型,需要根据不同情况处理;---处理事务
对各类事务要更改库存信息;对出库事务当 库存量少于临界值时,要产生订货信息。
订货信息不同于订货报表,报表要有严格的 格式。------产生报表
28
库存清单(信息)
订货 订货报表 CRT终端 事务 2 1 采购员 (仓库管 处理事务 信息 产生报表 (部) 理员) 订 货 信 息 订货信息 订 货 信 息
11
系统流程图(4)
12
系统流程图(5)
13
数据流图(1)
一.数据流图的作用
软件工程PPT课件第3章 软件需求分析

–多个来回
6
软件需求分析的通信途径
7
分析建模
结构化分析模型 面向对象分析模型 分析模型描述工具
DFD、DD和PSPEC(加工规约)
CFD、CSPEC(控制规约)和STD E-R图 用例图,对象-关系图,对象-行为图
8
结构化分析模型
数据对象 说明 E-R图 加工说明 DFD图
44
数据流图
数据流图(DFD)是一种图形化技术,它描绘信息
流和数据从输入移动到输出的过程中所经受的变换 。 在数据流图中没有任何具体的物理部件,它只是 描绘数据在软件中流动和被处理的逻辑过程。 数据流图是系统逻辑功能的图形表示,即使不是 专业的计算机技术人员也容易理解它,因此是分析 员与用户之间极好的通信工具。 此外,设计数据流图时只需考虑系统必须完成的 基本逻辑功能,完全不需要考虑怎样具体地实现这 些功能。
2
需求分析的结构化分析方法准则
(1) 必须理解并描述问题的信息域,根 据这条准则应该建立数据模型。 (2) 必须定义软件应完成的功能,这条 准则要求建立功能模型。 (3) 必须描述作为外部事件结果的软件 行为,这条准则要求建立行为模型。 (4) 必须对描述信息、功能和行为的模 型进行分解,用层次的方式展示细节。
40
分析模型的元素
数据字典(DD):模型核心(中心库) E-R图(ERD): 数据流图(DFD)
指明数据在系统中移动时如何被变换; 描述对数据流进行变换的功能;
DFD中每个功能的描述包含在加工规约 (小说明)。
状态变迁图(STD)
指明作为外部事件的结果,系统将如何 动作。
41
3.4.2 数据建模
4
需求分析的任务和步骤
《软件需求工程》课件

需求变更管理
需求变更分类
将需求变更分为功能性需求变更、非功 能性需求变更和设计约束变更等。
变更影响分析
对需求变更的影响进行分析,评估变 更对项目进度、成本和风险等方面的
影响。
变更控制流程
建立严格的变更控制流程,包括变更 申请、审批、实施和验证等阶段。
变更实施与跟踪
实施需求变更,并对变更实施过程进 行跟踪,确保变更的有效性和正确性 。
用于记录和管理需求变更,确保需求的一致性和完整性。
如Enterprise Architect、Visio等,用于绘制数据流图、实体关 系图等,帮助分析人员更好地理解和管理需求。
通过建立需求与设计、代码、测试用例之间的关联,确保需求 的实现和验证。
如录音笔、屏幕录制软件等,用于记录用户的原始需求和问题 ,便于后续分析和整理。
风险识别
识别需求工程中可能出现的风险,如需求变 更频繁、需求不清晰等。
风险应对措施
制定风险应对计划,包括风险预防、减轻和 转移等措施。
风险评估
对识别出的风险进行评估,分析风险发生的 概率和影响程度。
风险监控与报告
对风险应对措施的实施过程进行监控,定期 报告风险状态和应对效果。
06 软件需求工程实践
需求分析的步骤
01
需求获取
通过与用户沟通、观察用户操作 等方式,了解用户的需求和期望
。
03
需求评审
对已定义的需求进行审查和评估 ,确保需求的准确性和完整性。
02
需求分析和定义
对获取的需求进行整理、分类和 细化,明确需求的范围、功能、
性能等要求。
04
需求变更管理
建立需求变更的流程和机制,确 保在项目过程中对需求的变更进
软件工程培训课件(PPT)

编码效率技巧:在保证代 码质量的前提下,应该尽 可能提高编码效率,减少 不必要的重复工作。
单元测试的方法与工具
测试用例设 计
执行测试流 程
测试工具选 择
测试结果分 析和报告
集成测试的方法与工具
测试方法:自 下而上、自上
而下
测试工具: JUnit、
Te s t N G 、 Selenium等
测试目的:检 测模块之间的 接口是否正确
方法:采用版本控制、变更 控制、状态报告等手段进行
管理
感谢观看
汇报人:
软件风险管理的方法与策略
风险识别:识别潜在的风险和 问题
风险评估:评估风险的大小和 影响
风险应对:制定应对策略和措 施
风险监控:持续监控风险的变 化和进展
软件配置管理的基本概念与方法
目的:确保软件产品的完整 性、一致性和可追溯性
范围:包括文档、程序、数 据等所有软件工程产品
定义:软件配置管理是一种 标识、组织和控制修改的技 术
质量控制:通过测试、统计等方 法,对软件开发过程中的质量进 行监控和评估,及时发现和解决 问题。
添加标题
添加标题
添加标题
添加标题
质量保证:通过一系列的质量保 证活动,如代码审查、测试、文 档编写等,确保软件质量的稳定 性和可靠性。
工具和技术:使用一些工具和技 术来辅助软件质量管理,如代码 审查工具、测试工具、项目管理 工具等。
编写要求:清晰明了,易于理解,方便查阅,及时更新
编写目的:方便用户和系统管理员使用和维护系统
06
软件工程管理
软件项目计划与进度安排
定义项目目标和范围 确定关键路径和里程碑 分配资源和工作任务 监控和控制项目进度
2024年度软件工程ppt课件完整版

2024/3/24
40
遗留系统现代化改造
遗留系统分析
分析遗留系统的结构、功能和性能等问题。
现代化改造策略
制定针对遗留系统的现代化改造策略,如重 构、替换或集成等。
改造实施与测试
实施改造策略,并对改造后的系统进行测试 以确保其正确性。
2024/3/24
版本迁移与数据迁移
将旧版本的数据迁移到新版本,确保数据的 完整性和一致性。
。
评审测试用例
组织相关人员对测试用例进行 评审,确保测试用例的准确性
和完整性。
执行测试用例
按照测试用例的步骤和预期结 果,执行测试用例并记录测试
结果。
缺陷管理
对发现的缺陷进行记录、跟踪 和修复,确保软件质量。
2024/3/24
25
缺陷跟踪与修复
缺陷记录
详细记录缺陷的描述、重现步 骤、严重程度等信息。
同时引入了风险管理机制。
螺旋模型的主要阶段包括:制 定计划、风险分析、工程实施
和客户评估。
2024/3/24
螺旋模型的优点在于其强调风 险分析和迭代开发,能够及时 发现并解决问题,降低项目风 险。
螺旋模型的缺点在于其需要较 高的项目管理能力和技术水平 ,且可能因为过度关注风险而 忽略其他重要因素。
11
控。
2024/3/24
评估变更影响
对变更请求进行评估, 分析变更对系统范围、 进度和成本等方面的影
响。
处理变更请求
根据评估结果决定是否 接受变更请求,并与相
关干系人进行沟通。
17
更新文档和计划
将批准的变更请求更新 到需求规格说明书中, 并调整项目计划和资源
安排。
04 系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
底层流图是指其加工不需再做分解 的数据流图,它处在最底层
中间层流图则表示对其上层父图的 细化。它的每一加工可能继续细化, 形成子图。
结构化分析方法步骤示例 商店业务处理系统
这个数据流图只是一个高层的系统逻 辑模型,它反映了目标系统要实现的 功能
数据流图绘制步骤
首先确定系统的输入和输出
根据商店业务,画出顶层数据流 图,以反映最主要业务处理流程
• 要给出系统的逻辑视图和物理视图
软件需求规格说明的原则
从现实中分离功能,即描述要“做 什么”而不是“怎样实现”
要求使用面向处理的规格说明语言 (或称系统定义语言)
如果被开发软件只是一个大系统中 的一个元素,那么整个大系统也包 括在规格说明的描述之中
规格说明必须包括系统运行环境 规格说明必须是一个认识模型 规格说明必须是可操作的 规格说明必须容许不完备性并允许
• 数据流图上所有图形符号只限于前 述四种基本图形元素
• 数据流图的主图必须包括前述四种 基本元素,缺一不可
• 数据流图的主图上的数据流必须封 闭在外部实体之间
• 每个加工至少有一个输入数据流和 一个输出数据流
• 在数据流图中,需按层给加工框编 号。编号表明该加工所处层次及上 下层的亲子关系
• 规定任何一个数据流子图必须与它 上一层的一个加工对应,两者的输 入数据流和输出数据流必须一致。 此即父图与子图的平衡
• 开发进度需求
• 预先估计以后 系统可能达到 的目标
大家有疑问的,可以询问和交流
可以互相讨论下,但要小声点
问题识别的另一项工作是建立分析所 需要的通信途径,以保证能顺利地对 问题进行分析。
(2) 分析与综合
从信息流和信息结构出发,逐步细 化所有的软件功能,找出系统各元 素之间的联系、接口特性和设计上 的约束,分析它们是否满足功能要 求,是否合理。剔除其不合理的部 分,增加其需要部分。最终综合成 系统的解决方案,给出目标系统的 详细逻辑模型。
设计的约束条件或限制条件是否符 合实际;
开发的技术风险是什么;
是否考虑过软件需求的其它方案; 是否考虑过将来可能会提出的软件需
求; 是否详细制定了检验标准,它们能否
对系统定义的原则
• 需要能够表达和理解问题的信息域 和功能域
• 要能以层次化的方式对问题进行分 解和不断细化
• 可以在数据流图中加入物质流,帮 助用户理解数据流图
• 图上每个元素都必须有名字
描述银行取款过程的数据流图
数据流与数据加工之间的关系
数据流图的层次结构
• 为了表达数据处理过程的数据加工 情况,需要采用层次结构的数据流 图。按照系统的层次结构进行逐步 分解,并以分层的数据流图反映这 种结构关系,能清楚地表达和容易 理解整个系统
分层的数据流图
在多层数据流图中,顶层流图仅包 含一个加工,它代表被开发系统。 它的输入流是该系统的输入数据, 输出流是系统所输出数据
需求分析的过程
(1) 问题识别
从系统的角度来理解软件并评审软 件范围是否恰当
确定对目标系统的综合要求,即软 件的需求
提出这些需求实现条件,以及需求 应达到的标准
软件的需求包括:
• 功能需求 • 性能需求 • 环境需求 • 可靠性需求 • 安全保密要求 • 用户界面需求
• 资源使用需求
• 成本消耗需求
常用的分析方法
• 面向数据流的结构化分析方法 (SA) • 面向数据结构的Jackson方法 (JSD) • 面向数据结构的结构化数据系统开
发方法 (DSSD) • 面向对象的分析方法 (OOA) 等
(3) 编制需求分析阶段的文档
软件需求说明书 数据要求说明书 初步的用户手册 修改、完善与确定软件开发实施计
划
(4) 需求分析评审
系统定义的目标是否与用户的要求一 致;
系统需求分析阶段提供的文档资料是 否齐全;
文档中的所有描述是否完整、清晰、 准确反映用户要求;
与所有其它系统成分的重要接口是否 都已经描述;
被开发项目的数据流与数据结构是 否足够,确定;
所有图表是否清楚,在不补充说明 时能否理解;
主要功能是否已包括在规定的软件 范围之内,是否都已充分说明;
扩充 规格说明必须局部化和松散耦合
软件需求方法
• 需求分析方法由对软件问题的信息 域和功能域的系统分析过程及其表 示方法组成
• 大多数的需求分析方法是由信息驱 动的
• 信息域具有三种属性: 信息流、信 息内容和信息结构。
3.2结构化分析方法
• 面向数据流进行需求分析的方法
• 结构化分析方法适合于数据处理类 型软件的需求分析
经过分析,商店业务处理的主要 功能应当有销售、采购、会计三 大项。主要数据流输入的源点和 输出终点是顾客和供应商。
然后从输入端开始,根据商店业 务工作流程,画出数据流流经的 各加工框,逐步画到输出端,得 到第一层数据流图
第一层数据流图
加细每一个加工框
销售细化
采购细化
检查和修改数据流图的原则
• 准确地表达被接受的用户要求
• 确定被开发软件系统的系统元素
• 将功能和信息结构分配到这些系统 元素中
• 需求分析的任务
就是借助于当前系统的逻辑模 型导出目标系统的逻辑模型,解决 目标系统的 “做什么” 的问题。
• 通常软件开发项目是要实现目标系 统的物理模型
• 目标系统的具体物理模型是由它的 逻辑模型经实例化,即具体到某个 业务领域而得到的
• 具体来说,结构化分析方法就是用 抽象模型的概念,按照软件内部数 据传递、变换的关系,自顶向下逐 层分解,直到找到满足功能要求的 所有可实现的软件为止
• 结构化分析方法使用工具: – 数据流图 – 数据词典 – 结构化英语 – 判定表与判定树
数据流图
• 数据流图中的主要图形元素
数据加工 (数据变换) 数据源点或终点 (外部实体) 数据流 数据存储文件
软件工程学
第3章 需求分析
3.1 软件需求分析的任务和过程 3.2 结构化分析方法 3.3 原型化方法 3.4 动态分析方法 3.5 数据和数据库需求
3.1软件需求分析的任务
• 深入描述软件的功能和性能 • 确定软件设计的约束和软件同
其它系统元素的接口细节 • 定义软件的其它有效性需求
• 需求分析研究的对象是软件项目的 用户要求
中间层流图则表示对其上层父图的 细化。它的每一加工可能继续细化, 形成子图。
结构化分析方法步骤示例 商店业务处理系统
这个数据流图只是一个高层的系统逻 辑模型,它反映了目标系统要实现的 功能
数据流图绘制步骤
首先确定系统的输入和输出
根据商店业务,画出顶层数据流 图,以反映最主要业务处理流程
• 要给出系统的逻辑视图和物理视图
软件需求规格说明的原则
从现实中分离功能,即描述要“做 什么”而不是“怎样实现”
要求使用面向处理的规格说明语言 (或称系统定义语言)
如果被开发软件只是一个大系统中 的一个元素,那么整个大系统也包 括在规格说明的描述之中
规格说明必须包括系统运行环境 规格说明必须是一个认识模型 规格说明必须是可操作的 规格说明必须容许不完备性并允许
• 数据流图上所有图形符号只限于前 述四种基本图形元素
• 数据流图的主图必须包括前述四种 基本元素,缺一不可
• 数据流图的主图上的数据流必须封 闭在外部实体之间
• 每个加工至少有一个输入数据流和 一个输出数据流
• 在数据流图中,需按层给加工框编 号。编号表明该加工所处层次及上 下层的亲子关系
• 规定任何一个数据流子图必须与它 上一层的一个加工对应,两者的输 入数据流和输出数据流必须一致。 此即父图与子图的平衡
• 开发进度需求
• 预先估计以后 系统可能达到 的目标
大家有疑问的,可以询问和交流
可以互相讨论下,但要小声点
问题识别的另一项工作是建立分析所 需要的通信途径,以保证能顺利地对 问题进行分析。
(2) 分析与综合
从信息流和信息结构出发,逐步细 化所有的软件功能,找出系统各元 素之间的联系、接口特性和设计上 的约束,分析它们是否满足功能要 求,是否合理。剔除其不合理的部 分,增加其需要部分。最终综合成 系统的解决方案,给出目标系统的 详细逻辑模型。
设计的约束条件或限制条件是否符 合实际;
开发的技术风险是什么;
是否考虑过软件需求的其它方案; 是否考虑过将来可能会提出的软件需
求; 是否详细制定了检验标准,它们能否
对系统定义的原则
• 需要能够表达和理解问题的信息域 和功能域
• 要能以层次化的方式对问题进行分 解和不断细化
• 可以在数据流图中加入物质流,帮 助用户理解数据流图
• 图上每个元素都必须有名字
描述银行取款过程的数据流图
数据流与数据加工之间的关系
数据流图的层次结构
• 为了表达数据处理过程的数据加工 情况,需要采用层次结构的数据流 图。按照系统的层次结构进行逐步 分解,并以分层的数据流图反映这 种结构关系,能清楚地表达和容易 理解整个系统
分层的数据流图
在多层数据流图中,顶层流图仅包 含一个加工,它代表被开发系统。 它的输入流是该系统的输入数据, 输出流是系统所输出数据
需求分析的过程
(1) 问题识别
从系统的角度来理解软件并评审软 件范围是否恰当
确定对目标系统的综合要求,即软 件的需求
提出这些需求实现条件,以及需求 应达到的标准
软件的需求包括:
• 功能需求 • 性能需求 • 环境需求 • 可靠性需求 • 安全保密要求 • 用户界面需求
• 资源使用需求
• 成本消耗需求
常用的分析方法
• 面向数据流的结构化分析方法 (SA) • 面向数据结构的Jackson方法 (JSD) • 面向数据结构的结构化数据系统开
发方法 (DSSD) • 面向对象的分析方法 (OOA) 等
(3) 编制需求分析阶段的文档
软件需求说明书 数据要求说明书 初步的用户手册 修改、完善与确定软件开发实施计
划
(4) 需求分析评审
系统定义的目标是否与用户的要求一 致;
系统需求分析阶段提供的文档资料是 否齐全;
文档中的所有描述是否完整、清晰、 准确反映用户要求;
与所有其它系统成分的重要接口是否 都已经描述;
被开发项目的数据流与数据结构是 否足够,确定;
所有图表是否清楚,在不补充说明 时能否理解;
主要功能是否已包括在规定的软件 范围之内,是否都已充分说明;
扩充 规格说明必须局部化和松散耦合
软件需求方法
• 需求分析方法由对软件问题的信息 域和功能域的系统分析过程及其表 示方法组成
• 大多数的需求分析方法是由信息驱 动的
• 信息域具有三种属性: 信息流、信 息内容和信息结构。
3.2结构化分析方法
• 面向数据流进行需求分析的方法
• 结构化分析方法适合于数据处理类 型软件的需求分析
经过分析,商店业务处理的主要 功能应当有销售、采购、会计三 大项。主要数据流输入的源点和 输出终点是顾客和供应商。
然后从输入端开始,根据商店业 务工作流程,画出数据流流经的 各加工框,逐步画到输出端,得 到第一层数据流图
第一层数据流图
加细每一个加工框
销售细化
采购细化
检查和修改数据流图的原则
• 准确地表达被接受的用户要求
• 确定被开发软件系统的系统元素
• 将功能和信息结构分配到这些系统 元素中
• 需求分析的任务
就是借助于当前系统的逻辑模 型导出目标系统的逻辑模型,解决 目标系统的 “做什么” 的问题。
• 通常软件开发项目是要实现目标系 统的物理模型
• 目标系统的具体物理模型是由它的 逻辑模型经实例化,即具体到某个 业务领域而得到的
• 具体来说,结构化分析方法就是用 抽象模型的概念,按照软件内部数 据传递、变换的关系,自顶向下逐 层分解,直到找到满足功能要求的 所有可实现的软件为止
• 结构化分析方法使用工具: – 数据流图 – 数据词典 – 结构化英语 – 判定表与判定树
数据流图
• 数据流图中的主要图形元素
数据加工 (数据变换) 数据源点或终点 (外部实体) 数据流 数据存储文件
软件工程学
第3章 需求分析
3.1 软件需求分析的任务和过程 3.2 结构化分析方法 3.3 原型化方法 3.4 动态分析方法 3.5 数据和数据库需求
3.1软件需求分析的任务
• 深入描述软件的功能和性能 • 确定软件设计的约束和软件同
其它系统元素的接口细节 • 定义软件的其它有效性需求
• 需求分析研究的对象是软件项目的 用户要求