软件需求复习

软件工程与软件需求

什么是软件 软件是使硬件充分、自动、智能化地发挥作用的纽带
软件是用户和计算机硬件之间的接口和桥梁
软件开发的目标是什么 为用户提供满意的软件产品或服务
什么是需求 需求是在一定的时期,在一既定的价格水平下,消费者愿意并且能够购买的商品数量
软件开发瀑布模型 需求分析、设计、编码、测试、维护
软件项目成功的主要因素 *用户的参与
执行层的支持
*清晰的需求描述
合理的规划
*现实的客户期望
软件项目失败的主要因素 *不完整的需求
*缺乏用户参与
资源不足
*不切实际的用户期望
缺乏执行层的支持
*需求变更频繁
规划不足
*提供了不再需要的
缺乏IT管理
技术能力不足
需求工程包括那两个部分 需求开发和需求管理
需求开发包括哪些基本过程 业务需求定义、需求获取、需求分析与建模、需求描述、需求验证

需求定义

什么是业务需求定义 明确需求目标
界定需求范围
业务需求定义与那个层次的需求相关 定义业务需求
SMART原则 s=specific 明确的
m=measurable 可衡量的
a=attainable 可达到的
r=relevant/realistic 相关的/现实的
t=timebased/timebound 有时间期限的
问题分析五步法是哪五步 问题定义达成共识
分析问题,理解根本原因
确定相关人员或用户
定义解决方案的界限
确定加在解决方案上的约束
如何确定目标 找到问题 -> 利用鱼骨图和Pareto图分析 找到主因
定义需求范围三步法是哪三步 划分主题域,[使用构件图]
确定主题域范围,[使用上下文关系图]
标识业务事件与报表,[event,report]
SRS 软件需求规格说明书

需求捕获

换句话解释什么是需求捕获 需求捕获就是收集用户需求
是熟悉用户的工作场景,了解业务事件、报表和流程,进而理解用户碰到的真正的问题和障碍
需求捕获有哪些策略 主动、聚焦、破解隐藏需求、破解阻碍心理、不忽视变更、协商
需求捕获有哪些主要方法 用户访谈、用户调查、文档考古、情节串联版、现场观摩、联合开发
需求捕获的常用工具 三表一图(业务属性表、业务活动表、业务岗位角色表、业务流程图)
SERU (主题、事件、报表、用例)
任务卡片
场景说明

需求分析与建模

需求分析做什么 是业务分析
是对业务相关人员、数据、事件、报表等作全面的分解和研究
是对业务活动和流程的梳理和理解
在上诉基础上通过流程图、活动图、数据流图对业务流程进行描述,通过类图、ER图对业务实体进行描述、通过用例图对需求场景和角色进行描述、并对上诉业务流程实体场景和角色的相关内容进行细化
需求分析的第一个周期是什么 理清框架和脉络
需求分析的第一阶段包括哪三个方面的分析 业务流程分析,业务实体分析,场景和角色分析
流程一般分为哪三个层次,一般有哪三种类型 三个层次:组织级、部门级、岗位级别
三种类型:生产流程、管理流程、支持流程
业务流程分析的产物包括哪三种图 跨职责流程图、活动图、数据流图
什么是业务实体分析 业务实体分析是找出业务相关的数据、报表、术语,以及他们之间的关系。
业务实体分析与业务流程分析有什么区别 流程分析是识别出各种活动的顺序或步骤
业务实体分析是识别出各种活动相关的数据输入、输出或其他相关角色、概念等。
业务实体分析等产物是什么 类图、E-R图
业务实体分析过程中进行类图绘制的主要步骤包括哪几步? 标识类、确定类的属性名和方法名、标识类间的关系、标识约束和规则
角色与使用场景分析中,参与者和用例是什么关系? 参与者是系统的使用者,是系统的直接参与者,在系统外,是用例的调用者;用例是系统的组成部分,在系统内。
需求分析的第二周期与第一周期的区别在哪里?试举例说明在第二周期中需明确的需求细节。 第一周期是理清框架和脉络,第二周期是确定细节。
在第二周期中需明确的需求细节如:类成员函数的参数、属性的类型、取值范围等。
需求分析的第二个周期做什么 填充细节
流程分析的细节: 入口条件、输入、活动、输出、输出条件、活动间的依赖关系。描述方法:流程表、跨职责流程图、活动图
实体分析的细节: 对第一阶段形成的报表、类图、E-R图等的细节进行填充
场景分析的细节: 明确事件流、功能点、界面原型、规则与约束等

需求验证

需求验证的方法 形式化方法和人工技术评审

需求管理

什么是SRS,什么是需求项 SRS是软件需求规格说明书
需求项是需求文档中相对独立的功能和非功能需求描述,被唯一的编号,不同的需求项之间没有矛盾没有重叠
需求项如何划分优先级 先做WBS
业务优先判断,再做技术依赖,项目风险判断
什么是德尔菲(Delphi)法 也叫专家意见法,即应用背对背的通信方式征询专家小组成员的意见
需求管理包括哪些 基线管理、变更管理、跟踪管理
什么是版本,什么是基线 在项目开发过程中,绝大部分的配置项都要经过多次的修改才能最终确定下来。对配置项的任何修改都将产生新的版本。所以版本是某个配置项的状态标识。基线则是特定的版本,是一组配置项的集合。
需求管理的目的是什么 为了有效地控制和管理需求更改等
为什么需求跟踪要双向跟踪
需求变更影响分析从哪三个方面进行 业务影响分析、技术影响分析、项目影响分析
需求变更的技术影响分析指的是什么? 是指变更带来多大工作量的变化的分析。
需求变更的业务影响分析指的是什么? 影响的范围、影响哪些人、影响的结果这三个方面,最后得出变更的合理性、必要性、影响度方面的评价。
需求变更的项目影响分析又是指什么? 是指基于工作量分析,对整个项目在时间、进度、成本方面的影响。