文档介绍:软件需求
Checking Settings
Entry/
OpenShutter( );
MeasureLight();
DetermineExposureTime(
Checking
Checking
Checking
Che
cking
Che
Ckin
Che
cking g
Checking Settings
Entry/
OpenShutter( );
MeasureLight();
DetermineExposureTime(
Checking
Checking
Checking
Che
cking
Che
Ckin
Che
cking g
Checking
Checking
Checking Settings
Entry/
OpenShutter( );
MeasureLight();
哈尔滨工程大学计算机科学与技术学院
海量数据挖掘及网络数据集成研究组
王念滨教授博导
1
第 8 章软件需求分析概述
2
本课主要讨论问题
2 需求分析技术
3 需求分析方法
第8章软件需求分析概述
4 前期需求分析阶段的建模与分析
1 需求分析的根本任务
5 需求分析活动
3
第8章软件需求分析概述
本课主要讨论问题
2 需求分析技术
3 需求分析方法
4 前期需求分析阶段的建模与分析
1 需求分析的根本任务
5 需求分析活动
4
第8章软件需求分析概述
1 需求分析的根本任务
需求分析是软件需求中最核心的工作,需求建模是需求分析
的主要手段。
需求分析是软件定义时期的最后一个阶段,它的基本任务是
准确地回答“系统必须做什么?”这个问题。
需求分析的任务还不
是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些
工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
5
软件的生存周期
问题定义
可行性研究
需求分析
软件设计
编码
测试
维护
计划时期
开发时期
运行时期
产品:需求分析报告
2 软件工程及软件需求概述
第1章需求工程导论
6
第8章软件需求分析概述
1 需求分析的根本任务
需求分析根本任务:建立分析模型,创建解决方案。
7
第8章软件需求分析概述
建立分析模型
将复杂的系统分解成为简单的部分以及它们之间的联系,确定本质特征
和用户达成对信息内容的共同理解
分析的活动主要包括识别、定义和结构化,它的目的是获取某个可以转换为知识的事物的信息
1 需求分析的根本任务
创建解决方案
将一个问题分解成独立的、更简单和易于管理的子问题来帮助寻找解决方案
创建解决方案的过程是创造性的
帮助开发者建立问题的定义,并确定被定义的事物之间的逻辑关系
这些逻辑关系可以形成信息的推理,进而可以被用来验证解决方案的正确性。
8
第8章软件需求分析概述
1 需求分析的根本任务
从实践角度考虑,需求分析不是分析如何实现用户的需求。
实际上,需求分析是以业务分析为导向,将用户零散的需求串联
起来,形成一个体系完成、组织合理、内容清晰的框架,为今后
的设计开发工作打下良好的基础。
What to do? Yes
How to do ? No
9
第8章软件需求分析概述
1 需求分析的根本任务
需求分析的任务:分解、提炼的过程,在此过程中消除需求矛盾
(1)分解
分解是人类控制复杂性,认识复杂事物的基本策略方法。无论是采用
结构化方法,还是采用面向对象方法,分解都是必须采用的手段。
传统方法一般采用系统导向的分解方法,而现代需求工程建议采用业
务导向的方法。
实践中,分解的策略很多,主要要根据团队的应用实践和用户的要求
选择适当的分解方法,主要包括以下几种:
1)业务流程为主线的分解策略;
2 )程序结构为主线的分解策略;
3 )基于场景的分解策略;
4 )基于数据的分解策略等。
10