1. 需求分析的目的是什么,有什么作用:
- 定义:需求分析是指在开发一个新的或升级一个已有的软件系统时描写新系统的目的、范围、定义和功能时所要做的所有工作。
- 目的:要求开发人员准确地理解用户需要什么,进行细致地调查分析,将用户的需求陈述转化为完整的需求定义,再由需求定义转化为相应的软件需求规格说明。
- 作用:需求分析虽处于软件开发的初期阶段,但它对于整个软件开发过程以及产品质量至关重要。
2. 软件需求有哪些分类?请举例说明:
业务需求(Business requirement):反映了组织机构或客户对系统、产品高层次的目标要求。从组织或者客户的角度,实质就是业务的建设方;比如房地产市场的开发商
用户需求(user requirement):用户的目标,或用户要求系统必须能完成的任务。从使用产品的用户的角度;比如买房的人
功能需求( functional requirement):规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。从产品本身的角度,即产品要具备怎样的功能,才能满足相应的业务需求和用户需求;比如房子。
非功能需求(non-functional requirements):非功能需求主要与系统的总体特征相关,是一些限制性要求,是对实际使用环境所做的要求。
- 性能
- 外部接口
- 设计约束
- 质量属性。
举例:股票交易系统必须在一定时间内返回用户查询结果。
3.需求分析过程有哪些步骤:
需求分析主要是理解客户需要什么、分析要求、评价可行性、协商合理的方案、无歧义地详细说明方案、确认规格说明、管理需求以至将这些需求转化为需求规格说明定义。
过程包括:
- 沟通
- 导出需求
- 与客户和用户协商
- 可行性研究
- 精化需求
- 编写需求规格说明
- 验证需求
- 管理需求
4. 需求获取方法有哪些:
会谈技术
- 非正式会谈:提出一些可自由回答的问题.
- 正式会谈:提出一些事先准备好的议题.
调查技术:
- 确定调查内容
- 非正式会谈
- 制定调查表
- 组织调查
- 可靠可信分析
- 检查问卷指标是否合理
- 指标之间是否存在关联
- 结果是否可信
场景分析技术
- 场景:用户与软件系统交互的过程
- 分析员与项目相关人员共同识别出场景,并捕获这些场景的细节。
- 场景是对交互实例片段的描述,每个场景可能包含一个或多个交互,它们能在不同的细节层次上提供不同类型场景的信息。
- 情景开始于一个框架,在导出过程中,细节被逐渐增加,知道产生交互的一个完整的描述。
快速原型法
- 快速建立软件原型的核心是用交互的、快速建立起来的原型取代了形式的、僵硬的(不易修改的)的规格说明,用户通过在计算机上实际运行和试用原型而向开发者提供真实的反馈意见。