软件工程第四周学习笔记-----需求

优秀需求工程师的目标识别错误假设、确保一致性、提升依从性、减少彼此误解、提高支持速度和效率、提升客户满意度、撰写优秀需求文档

需求分析师七宗罪:干扰、沉默、过度规约、矛盾、含糊、向前引用、不切实际与一厢情愿

需求是对外可见的系统特征。“需求管理”有三项任务:

(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)

猜你喜欢

转载自www.cnblogs.com/djesse1/p/10588526.html
今日推荐