软件工程与软件需求
什么是软件
软件是使硬件充分、自动、智能化地发挥作用的纽带软件是用户和计算机硬件之间的接口和桥梁
软件开发的目标是什么
为用户提供满意的软件产品或服务什么是需求
需求是在一定的时期,在一既定的价格水平下,消费者愿意并且能够购买的商品数量软件开发瀑布模型
需求分析、设计、编码、测试、维护软件项目成功的主要因素
*用户的参与执行层的支持
*清晰的需求描述
合理的规划
*现实的客户期望
软件项目失败的主要因素
*不完整的需求*缺乏用户参与
资源不足
*不切实际的用户期望
缺乏执行层的支持
*需求变更频繁
规划不足
*提供了不再需要的
缺乏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业务优先判断,再做技术依赖,项目风险判断