【软件工程】第5章 软件需求分析
思考题
- 需求分析的目的是什么,有什么作用?
- 软件需求有哪些分类?请举例说明。
- 需求分析过程有哪些步骤?
- 需求获取方法有哪些?
- 你所在的项目团队会选择采用哪些需求获取方法?请具体实践获取需求,在博客中展示(问卷调查表或会谈照片、小视频等)。并总结获取的功能需求以及非功能需求。
拙见
1. 需求分析的目的是什么,有什么作用?
- 首先,我们由定义来看——需求分析是指在
开发一个新的或升级一个已有的软件系统时描写新系统的目的、范围、定义和功能时所要做的所有工作。
- 所以,需求分析的
目的
即要求开发人员准确地理解用户需要什么,进行细致地调查分析,将用户的需求陈述转化为完整的需求定义,再由需求定义转化为相应的软件需求规格说明。
作用:
需求分析虽处于软件开发的初期阶段,但它对于整个软件开发过程以及产品质量至关重要。
2. 软件需求有哪些分类?请举例说明。
业务需求(Business requirement)
:反映了组织机构或客户对系统、产品高层次的目标要求。- 从组织或者客户的角度,实质就是业务的建设方;
比如
房地产市场的开发商
- 从组织或者客户的角度,实质就是业务的建设方;
用户需求(user requirement)
:用户的目标,或用户要求系统必须能完成的任务。- 从使用产品的用户的角度;
比如
买房的人
- 从使用产品的用户的角度;
功能需求( functional requirement)
:规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。- 从产品本身的角度,即产品要具备怎样的功能,才能满足相应的业务需求和用户需求;
比如
房子。
- 从产品本身的角度,即产品要具备怎样的功能,才能满足相应的业务需求和用户需求;
非功能需求(non-functional requirements)
:非功能需求主要与系统的总体特征相关,是一些限制性要求,是对实际使用环境所做的要求。性能,外部接口,设计约束,质量属性
。举例
:股票交易系统必须在一定时间内返回用户查询结果。
3. 需求分析过程有哪些步骤?
需求分析
主要是理解客户需要什么、分析要求、评价可行性、协商合理的方案、无歧义地详细说明方案、确认规格说明、管理需求以至将这些需求转化为需求规格说明定义。- 过程包括:
- 沟通
- 导出需求
- 与客户和用户协商
- 可行性研究
- 精化需求
- 编写需求规格说明
- 验证需求
- 管理需求
4. 需求获取方法有哪些?
- 会谈技术
- 非正式会谈:提出一些可自由回答的问题.
- 正式会谈:提出一些事先准备好的议题.
- 调查技术
- 确定调查内容
- 非正式会谈
- 制定调查表
- 组织调查
- 可靠可信分析
- 检查问卷指标是否合理
- 指标之间是否存在关联
- 结果是否可信
- 确定调查内容
- 场景分析技术
- 快速原型法
- 快速建立软件原型的核心是用交互的、快速建立起来的原型取代了形式的、僵硬的(不易修改的)的规格说明,用户通过在计算机上实际运行和试用原型而向开发者提供真实的反馈意见。
5. 你所在的项目团队会选择采用哪些需求获取方法?请具体实践获取需求,在博客中展示(问卷调查表或会谈照片、小视频等)。并总结获取的功能需求以及非功能需求。
慕课
需求的作用
判断(2分)
判断题:相比硬件而言,软件更容易被修改,而且更容易被正确地进行修改。
A.√
B.×单选(2分)
单选题:与软件工程不同,()是系统工程所追求的目标。
A.最优化
B.系统化
C.一体化
D.情境化判断(2分)
判断题:任何软件开发过程必须从软件需求入手。
A.√
B.×判断(2分)
判断题:采用瀑布模型的开发过程是一种自顶向下的开发方法,而软件构件复用的开发过程是一种自底向上的开发方法。
A.√
B.×
参考答案
B
A
A
A
需求的定义
判断(2分)
判断题:软件需求是待开发产品或系统的功能描述。
A.√
B.×单选(2分)
单选题:下面不属于需求的基本性质是()
A.必要性
B.无歧义性
C.可测性
D.可扩展性多选(2分)
多选题:下列哪些陈述可以作为软件需求()
A.系统应支持大规模并发用户访问
B.用户需凭用户名和密码登陆之后才可使用系统
C.系统界面要美观大方
D.当用户登录失败时,应弹窗提示失败原因
参考答案
B
D
BD
需求的分类
判断(2分)
判断题:非功能需求必须依附于功能需求而存在。
A.√
B.×单选(2分)
单选题:下列需求属于性能需求的是()
A.并发访问数
B.网络协议
C.异常响应
D.用户友好单选(2分)
单选题:下列需求属于外部接口需求的是()
A.第三方插件
B.安全隐私
C.编程语言
D.字体字号单选(2分)
单选题:下列需求属于设计约束的是()
A.响应时间
B.运行平台
C.错误处理
D.可维护填空(2分)
填空题:与其他类型的非功能需求不同,()是必须予以满足的,且对项目规划、所需的附加成本和工作产生直接影响。判断(2分)
判断题:质量属性必须要给出量化的测量指标。
A.√
B.×
参考答案
A
A
A
B
设计约束
A
需求发现
单选(2分)
单选题:当无法与用户进行直接交流时,可采用()的需求发现方式。
A.自悟
B.提炼
C.小组会
D.思考多选(2分)
多选题:下列哪些是观察这一需求发现的方法可能带来的问题。()
A.无法全面了解需求
B.被客户抵触
C.让客户误以为开发者已经熟悉了业务
D.消耗过多的时间判断(2分)
判断题:小组会和交流这两种需求发现方式的区别在于参加人员的多少。
A.√
B.×判断(2分)
判断题:需求发现常采用多种方式联合进行,但具体某一项需求常采用某一种具体的方式去捕获。
A.√
B.×单选(2分)
单选题:下述情况分别最适合采取哪种需求发现的方式()
① 为解决生活中遇到的麻烦事而开发的软件
② 有较多繁琐环节的社区医保系统的开发
③ 某小型团体组织开发其内部人员管理系统
④ 某大型连锁集团开发集团人员管理系统
⑤ 某专业化软件外包公司接手烂尾的软件开发项目
A.①-自悟;②-观察;③-交流;④-小组会;⑤-提炼
B.①-观察;②-自悟;③-小组会;④-交流;⑤-提炼
C.①-自悟;②-交流;③-观察;④-提炼;⑤-小组会
D.①-提炼;②-自悟;③-交流;④-观察;⑤-小组会
参考答案
A
BC
B
B
A
需求规约的概念和格式
单选(2分)
单选题:需求规约是一个软件产品/系统的()
A.开发模型
B.框架模型
C.概念模型
D.功能模型判断(2分)
判断题:需求规约是一个软件产品所有需求陈述的正式文档,它是不能被修改的。
A.√
B.×多选(2分)
多选题:下列哪些是需求规约的性质。()
A.完整性
B.一致性
C.不可修改性
D.稳定性
参考答案
C
B
ABD
需求规约的作用
多选(2分)
多选题:基于需求规约会产生下述哪两个文档。()
A.初始测试计划
B.系统测试计划
C.用户系统操作描述
D.软件可行性分析报告单选(2分)
单选题:在需求分析阶段会形成()的测试计划。
A.单元测试
B.集成测试
C.确认测试
D.系统测试判断(2分)
判断题:需求规约是软件开发组织和用户之间的技术合同书,只有当需求规约完成后才能开始产品的设计。
A.√
B.×判断(2分)
判断题:需求规约对于项目的大多数工作是一个管理控制点,因此需求规约中要给出软件项目的进度和规划。
A.√
B.×判断(2分)
判断题:需求规约作为设计的一个正式的、受控的起始点,它事实上给出了一份初步的设计文档。
A.√
B.×
参考答案
AC
C
A
B
B