需求分析
1、需求分析的概念与意义
需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。
需求分析是在计算机系统的软件功能分配和软件设计之间起重要桥梁作用的一项软件工程活动。描述待开发的系统所要完成的功能。
需求分析使系统工程师能够刻画出软件的功能和性能,指明软件和系统其他元素的接口,并建立软件必须满足的约束。
需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。
2、需求分析面临的困难
软件功能复杂
需求的可变性
软件产品的不可见性
通常,一个计算机应用系统的需求分析工作是在系统分析人员与用户不断交互的过程中完成的。
3、获取需求的方法
面谈:系统分析员与用户方的专家和业务人员进行知识交流、与他们会谈,获得需求。
实地考察:实地观察用户的操作过程。对比现有的系统,思考如何采取更高效的方式。
问卷调查:若需访谈的个体太多,且需要回答容易确定的细节问题,可采取问卷调查方式。
查阅资料:收集和查阅相关的文献资料,如组织机构图、规章制度、相关文档、图表及报告等。
这些方法我们感觉都比较的简单,但是在实际操作的过程中间,需要注意到很多,我们这里着重介绍问卷调查
适合使用情况:
需访谈的个体太多
需要问答容易确定的细节问题
希望有详细的结果
注意事项:
使用问卷表尽可能的简短
估计回答问题需要时间,并在问卷表开头标注时间
制定问题前,先确定你需要的答案
4、需求分析的过程
A、标识问题:需求分析的第一步,通过对问题和标识获得的对所有求解问题及其运行环境的理解。
B、建立需求模型:目前在信息系统的需求分析中可使用结构化分析模型或面向对象分析模型。
C、描述需求:需求、功能、信息、性能、环境、其他需求。
D、确认需求:需求确认及评审。审核功能需求、
数据需求、性能、数据管理及其他需求。
目前在信息系统的需求分析中可使用如下方法:
结构化分析与建模方法
如:DFD建模、IDEF建模
面向对象分析与建模方法
如: UML用例建模
结构化分析方法的提出
20世纪70年代中期,Stevens、Myers与Constantine等人在结构化程序设计的基础上,倡导结构化设计(Structured Design, SD)技术。
70年代后期,Yourdon等人倡导了与SD配套的结构化分析(Structured Analysis, SA)技术,合称为结构化分析与设计方法。
结构分析与设计方法是瀑布模型的首次实践。
结构化分析任务
建立分析模型。SA模型是描述软件需求的一组模型,主要包括功能模型、数据模型和行为模型。
编写需求规格说明书。SRS是分析阶段编写的以文字为主的文档,主要内容包括:引言、信息描述、功能描述、行为描述、质量保证、接口描述以及其他需求等。
结构化分析的指导思想。抽象与分解是结构化分析的主要指导思想。
DFD需求建模方法
数据流图(Data Flow Diagram, DFD):DFD建模方法的核心是数据流,从应用系统的数据流着手以图形方法刻画和表示一个具体业务系统的数据处理过程和数据流。
数据流
数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
数据源(终点)
代表系统之外的实体,可以是人、物或其他软件系统。
对数据的加工(处理)
加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
数据存储
表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。
结构化基础建模
IDEF0需求建模方法
IDEF方法:ICAM DEFinition Method,由美国空军发明,从IDEF0到IDEF14(包括IDEF1X在内)共有16套方法,每套方法都是通过建模程序来获取某个特定类型的信息。
最常使用的是IDEF0~IDEF4:
IDEF0:描述系统功能及其相互关系;
IDEF1: 系统信息及其数据之间联系;
IDEF2: 系统模拟,动态建模;
IDEF3: 过程描述及获取方法;
IDEF4:面向对象设计;
结构化分析案例-教材销购案例
例题讲解
1.下列不属于DFD方法基本元素的是( )
A) 数据流
B)数据处理
C)数据存储
D)数据结构
答案:D
2.下列不属于信息系统需求分析常用建模方法的是( )
A) ER
B) IDEF0
C) DFD
D) UML
答案:A
3.获取需求的主要方法包括( )、 ( )、( )、 ( )。
答案:面谈、实地观察、问卷调查、查阅资料.
4.在信息系统的需求分析中,目前广为使用的结构化分析与功能建模方法主要有DFD、IDEF0等。其中,DFD建模方法也被称为过程建模和功能建模方法,其核心是( )
A) 数据
B) 软件
C) 数据流
D) 分析过程
答案:C