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