优秀需求工程师的目标:识别错误假设、确保一致性、提升依从性、减少彼此误解、提高支持速度和效率、提升客户满意度、撰写优秀需求文档
需求分析师七宗罪:干扰、沉默、过度规约、矛盾、含糊、向前引用、不切实际与一厢情愿
需求是对外可见的系统特征。“需求管理”有三项任务:
(1).学习----需求获取
(2).剪枝----需求优选
(3).文档化-----撰写需求规格说明书
需求定义涵盖以下内容,这也是我们在考虑一个项目需求时应该最先想到的
(1).为什么要设计该系统
(2).系统由谁使用
(3).系统要做什么
(4).系统涉及哪些信息
(5).对解决方案有何额外限制
(6).如何使用该系统
(7).质量需达到何种程度
需求分类
产品 / 过程
• 产品需求
• 过程需求
产品需求
• 功能性需求
• ?功能性需求
抽象层次详细程度
• 业务需求
• ?户需求
• 系统需求
• 软件设计规约
业务需求:
• 业务需求是指那些可以帮助企业达成组织目标(包括策略目标)的需求项
• 企业的业务需求是关于企业业务的陈述,和这个需求如何被实现?关,?论是?动的还是通过系统来完成。
• 业务需求被叫做业务目标
• 例如:携程旅?的业务需求是卖?机票
系统需求:
• 系统需求的满?使得系统实现预期的功能,它从?户的角度描述系统在做什么, 与系统是由什么硬件和软件实现?关。
• 企业选择实现系统的?要条件是:系统需求满?组织的业务需求
• 例如
• 订票系统需要和?户数据库交互
• 新的软件会使得汽?的启动速度加倍
• 我们新产品制造的低成本将会让我们有更?的市场份额并满?销售目标
软件需求:
• 软件需求是指关于系统中软件部分的需求,它的满?帮助实现系统需求
举例:
• 订票系统软件通过标准的网络服务接?和航班信息交互
• ?户接?需要设置关于?户偏好的颜?和字体??
• 系统的API需要同时?持C++和Java来让程序员访问系统服务
?户需求:
• 系统的?户需求指的其满?会影响系统的?户接受程度的需求 有时候,?户需求被称作“?户接?需求” 。
举例
• 订票系统的?户接?需要提供和系统交互的选项,通过控制命令或者WIMP 接?
• 客户希望照相机背后有?个液晶屏幕,这样在拍照之后可以?上看到照?
功能性需求:
•系统的功能性需求是指满?系统需求需要提供的功能,有时,功能需求也被称为“?为需求”
举例
• 订票系统需要提供?个在任何航班上预留座位的功能
• 订票系统需要提供?个通过信?卡付费的功能
?功能性需求:
• ?功能性需求定义软件系统以及软件开发过程为满?系统功能需求要满?的其他约束条件
质量需求:
• 质量需求描述软件系统正常?作时需要满?的额外的、与质量相关的要求
• 在软件?程?献中,也称之为“质量属性”
• 它应答的是关于 “提供的服务好到何种程度”的问题 (How well)
例如:
• 订票系统的?户界?要满??户选择出发和终到站的过程不能超过四次按键
• 订票系统的订票请求响应时间要?于1分钟
• 图书馆的?名单应随时响应馆员的查询操作
• 列?加速控制软件的平均?故障时间是109 ?时
依从性需求:
• 依从性需求着重描述软件对国家法律、国际公约、社交法则、?化与政治习 惯、标准等环境约束的满?要求
例如:
• 两列??间的最?间距应满?国际铁路运输安全规范中的最坏情况停?距离
• 会议调度系统在缺省情况下,要排除目标市场所在地区的公众假期
体系结构设计需求:
•体系结构设计需求定义系统环境对待设计系统在结构上的约束
需求工程活动:
• 需求抽取(Elicitation)
• 需求分析(Analysis)
• 需求规约(Specification)
• 需求管理(Management)
• 需求验证(Validation)
需求抽取
目标:主动与干系人协同工作,找出他们的需求, 识别潜在的冲突,磋商解决矛盾,定义系统范围 与边界
实质:了解待解决的问题及其所属领域
关键:确保该问题的解决是有商业价值的
需求分析:
目标:对产品及其与环境的交互进行更深入的了解,识别系统需求,设计软 件体系结构,建立需求与体系结构组件间的关联,在体系结构设计实现过程 中进一步识别矛盾冲突,并通过干系人之间的协调磋商解决问题。
实质:概念建模———选择常用的建模语言,进行功能建模和信息建模
关键:体系结构设计与需求分配
需求验证:
• 对其他需求工程活动的质量的保证。通过数学的形式化工具或工程化的测试 过程来确保系统满足干系人的要求。
• 验证方法
• 评审(Review)
• 原型化(Prototyping)
• 模型验证(Model validation)
• 确认测试(Acceptance Tests)
需求管理:
贯穿从需求获取到软件系统下线的全过程。需求管理涉及软件配置管理、需 求跟踪、影响分析和版本控制
• 需求跟踪 (Requirements traceability) 描述和追踪一条需求的来龙去脉的能力,包括向前追踪到软件制品,向后 追踪到需求来源
• 变更请求管理 (Change Requests) 系统化的变更管理
• 需求属性管理 (Requirements attributes)
原文:https://www.cnblogs.com/djesse1/p/10588526.html