




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
需求分析方法 1 软件需求的基础知识 目录 1 1需求分析在软件开发中所处的位置1 2什么是软件需求1 3软件需求的类型1 4软件需求的分类1 5质量属性的分类1 6需求对架构的影响1 7需求的易变更性 2 二 需求分析实践 目录 2 1需求的获取2 2需求分析的目的2 3需求分析的思维方式2 4软件需求的分层2 5需求分析的步骤2 6好的需求有哪些特征2 7需求验证与确认 3 三 需求管理 目录 3 1需求总是变化的3 2需求是渐变的3 3如何应对需求变更 4 软件需求的基础知识 5 在一个以软件架构为中心的软件项目开发过程中 需求分析在概念化阶段和架构设计之间 软件需求的基础知识 概念化阶段 分析阶段 架构设计阶段 详细设计阶段 并行开发与测试阶段 验收与交付阶段 交付的系统 软件需求规格 软件架构文档 软件设计文档 代码及集成系统 愿景文档 1 1需求分析在软件开发中所处的位置 6 这个软件到底要为用户做什么 软件需求的基础知识 1 2什么是软件需求 IEEE将需求定义为 用户所需的解决某个问题或达到某个目标索要具备的条件或能力 系统或系统组件为符合合同 标准 规范或其他正式文档而必须满足条件或必须具备的能力 RUP 统一软件开发过程 将需求定义为 需求描述了系统必须满足的情况或提供的能力 它可以是直接来自客户需求 也可以来自合同 标准 规范或其他有正规约束力的文档 7 软件需求的基础知识 软件需求 1 3软件需求的类型 非功能需求 功能需求 质量属性 约束 开发期质量属性 运行期质量属性 界面需求 软件架构重点关注的是质量属性 架构的基本需求主要是在满足功能属性的前提下 关注软件质量属性 商业需求 8 软件需求的基础知识 1 4软件需求的分类 功能需求描述要开发的软件系统应该做什么 既包括为用户提供的服务 又包括本系统为其他系统提供的服务 非功能需求包括质量属性 界面需求 约束以及商业需求 质量属性是架构设计最受关注的需求 架构设计通常不涉及界面需求 约束需求规定了开发软件系统时必须遵守的限制条件 如 为了获得相关行业或组织的认可 或者大型企业集团处于长期整合规划的要求 软件的设计和开发可能还必须遵守相关行业标准 企业标准等约束 商业需求可能包含系统的上线时间要求 成本因素等 9 软件需求的基础知识 1 5质量属性的分类 软件质量属性分为运行期质量属性和开发期质量属性两大类 开发期质量属性包含了和软件开发 维护和移植这三类活动相关的所有质量属性 开发期质量属性是开发人员 开发管理人员和维护人员都非常关心的 对最终用户而言 这些质量属性只是间接地促进用户需求的满足 运行期质量属性是软件系统在运行期间 最终用户可以直接感受到的一类属性 这些质量属性直接影响着用户对软件产品的满意度 10 软件需求的基础知识 1 5质量属性的分类 11 软件需求的基础知识 1 5质量属性的分类 性能 Performance 软件系统及时提供相应服务的能力 包括速度 吞吐量和持续行三个方面的要求吞吐量通过单位时间处理的交易数来度量速度往往通过平均响应时间来度量持续时间是指保持高速处理速度的能力安全性 Security 软件同时兼顾向合法用户提供服务 以及阻止非授权使用的能力易用性 Usability 软件易于使用的程度持续可用性 Availability 在预定的运行时间中 系统真正可用并且完全运行时间所占的百分比 12 软件需求的基础知识 1 5质量属性的分类 可伸缩性 Scalability 当用户数和数据量增加时 软件系统维持高服务质量的能力互操作性 Interoperability 本软件系统与其他软件系统交换数据和相互调用服务的难易程度可靠性 Reliability 软件在一定时间内无故障运行的能力鲁棒性 Robustness 软件系统在以下情况仍能够正常运行的能力 用户进行了非法操作 相连的软硬件系统发生了故障 以及其他非正常情况 13 软件需求的基础知识 1 5质量属性的分类 提高可靠性需要强调减少系统中断 故障 的次数 提高可用性需要强调减少从灾难中恢复的时间 A系统每年因故障中断十次 每次恢复平均要20分钟 B系统每年因故障中断2次 每次需5小时恢复 则A系统可用性比B系统高 但可靠性比B系统差 可靠性的量化指标是周期内系统平均无故障运行时间 可用性的量化指标是周期内系统无故障运行的总时间 一般提高可靠性的同时 也同时提高了可用性 要提高可靠性 可使用变更管理 UPS RAID Cluster 链路冗余等管理和技术手段减少系统Down机的可能性 要提高可用性 除提高可靠性外 还可以使用合理备份 业务连续性计划等方式来减少从灾难中恢复的时间 14 软件需求的基础知识 1 5质量属性的分类 易理解性 Understandability 指设计被开发人员理解的难易程度可扩展性 Extensibility 为适应新需求或需求变化为软件增加功能的能力可重用性 Reusability 重用软件系统或者其中一部分的能力的难易程度可测试性 Testability 对软件测试以证明其满足需求规约的难易程度可维护性 Maintainability 对软件运行时进行维护的难易程度可移植性 Portability 将软件系统从一个环境转移到另一个环境的难易程度 15 软件需求的基础知识 1 6需求对架构的影响 关键需求决定架构 其他需求验证架构 16 软件需求的基础知识 1 7需求的易变更性 需求的变更既蕴含了风险 又包含了机遇需求变更可能有三类来源我们要解决的问题发生了变化我们对问题的理解发生了变化我们理解问题的过程有误 17 软件需求的基础知识 1 7需求的易变更性 功能需求最易变 而质量属性需求最稳定功能需求的易变性中潜藏着两类不易变性功能需求中存在少量长期稳定的功能功能点本身趋于稳定约束性需求的稳定性稍差 技术趋势发生变化 法律规范重新界定 用户组织调整 都有可能使约束性需求变更 易变更性 从低到高 质量属性需求 约束性需求 功能需求 18 二 需求分析实践 19 软件需求分析实践 2 1需求的获取 需求获取五步法收集资料 了解概况 初步划定范围识别所有可能的需求提供者准备需要了解调研的问题调查和访谈总结归纳 准备新的问题 多次迭代 20 软件需求分析实践 2 1需求的获取 需求获取的方式与用户个别交流需求讨论会查阅相关文档分发问卷调查表现场访问客户业务流程分析同类产品分析根据现有系统推导需求回顾以往项目观察用户对原有系统的使用 21 软件需求分析实践 2 1需求的获取 识别所有可能的需求提供者谁使用该系统谁维护该系统谁需要从系统中获取数据系统会影响到谁谁推广该系统谁测试该系统谁生产该系统谁购买该系统 22 软件需求分析实践 2 1需求的获取 需求获取的常用技术需求访谈推荐3人访谈小组 1人提问 1人记录 1人辅助 用例技术最终用户使用用例来模拟用户与系统之间交互用例可以看作是解释如何使用系统的经历原型法需求原型 设计原型 产品原型纸上原型 界面原型 可执行原型抛弃型原型 演化型原型专题讨论会 头脑风暴 23 软件需求分析实践 2 2需求分析的目的 消除原始需求中存在的 冲突重叠遗漏不一致不切实际的细化需求划分需求的优先级需求建模 24 软件需求分析实践 2 3需求分析的思维方式 穷举 确保需求无遗漏分类 确保需求无遗漏并去除冗余的需求分层 结构化表达需求抽象 识别出稳定与变化的需求 25 软件需求分析实践 2 4需求的分层 26 软件需求分析实践 2 5需求分析的步骤 步骤一 列举需求消除客户需求中的矛盾与不一致补充遗漏的客户需求删除不必要的需求定义非功能性需求定义外部接口需求 27 软件需求分析实践 2 5需求分析的步骤 步骤二 整理需求功能分解定义内部接口平衡需求 进度 质量与投入识别需求相关的风险对需求进行分类划分需求优先级识别可复用需求建立需求分析模型 28 软件需求分析实践 2 5需求分析的步骤 步骤三 需求建模 简单的理解为将自然语言描述的需求转换为开发人员能够理解的设计语言 29 软件需求分析实践 2 5需求分析的步骤 步骤四 设定系统目标与划分系统范围 目标 要解决的核心问题是什么 为解决该问题的约束有哪些 范围 哪些是系统应该完成的任务 哪些不是系统的责任 从广度与深度2个纬度考虑范围 广度 覆盖的业务 部门 功能 深度 做到什么程度 Gilb的模糊目标定律 一个没有明确目标的项目 是不可能明确地实现其目标的 30 软件需求分析实践 2 5需求分析的步骤 步骤五 划分需求的优先级优先级的分配由系统分析员和客户一起完成优先级一般分为3级 不宜定义太多的等级帮助客户定义优先级的问题 最重要的3个需求是什么 是否有其他方法可以满足这一需求 如果忽略或者推迟实现这一需求 其后果是什么 如果不立即实现这一需求 对项目目标会有什么影响 需求的优先级可以从两个层次来划分用户划分宏观的优先级 需求优先级开发划分微观的优先级 特性优先级需求的优先级影响了开发顺序和开发计划 31 软件需求分析实践 2 5需求分析的步骤 步骤六 使用需求分析检查单来分析需求检查单中的问题 需求中包含不成熟的设计或实现信息吗 这项需求还可以细分为不同的需求吗 这项需求只是系统的装饰 而不是真正必须的吗 这项需求符合系统的目标吗 这项需求存在二义性吗 这项需求可以实现吗 这项需求是可测试的吗 32 软件需求分析实践 2 6好的需求有哪些特征 正确清楚无二义性一致必要完备可实现可验证确定优先级阐述 做什么 而不是 怎么做 33 软件需求分析实践 2 7需求规格说明书 Scrum开发模型 34 软件需求分析实践 2 8需求验证与确认方式 检查文档是否符合标准组织正式的需求审查需求审查应有一个多学科的小组来进行使用原型来确认需求编写用户手册草案设计测试用例 检查文档是否符合标准组织正式的需求审查需求审查应有一个多学科的小组来进行使用原型来确认需求编写用户手册草案设计测试用例 检查文档是否符合标准组织正式的需求审查需求审查应有一个多学科的小组来进行使用原型来确认需求编写用户手册草案设计测试用例 检查文档是否符合标准组织正式的需求审查需求审查应有一个多学科的小组来进行使用原型来确认需求编写用户手册草案设计测试用例 35 二 需求管理 36 软件需求管理 3 1需求的变化是永恒的 需求变化的原因误解遗漏了需求外部环境发生了变化 产生了新的需求 37 软件需求管理 3 2需求是渐变的 秃头论证稻草原理蚂蚁效应 量变引起质变 当你警觉时 项目已经变得面目全非了 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小白兔过河题目及答案
- 2025高考英语试题分类汇编:词类、短语辨析含解析
- 2025长期合作协议范本
- 2025授权贷款合同代理书模板
- 2025年建筑架子工(普通架子工)测试题(含答案)
- 物态变化实验试题及答案
- 2025项目部合同管理规程
- 2025年3月药学练习题库(含答案)
- 2025年国家特种设备安全管理人员A证考试题库(含答案)
- 2025养殖场租赁合同协议书
- 重症护理的护理课件
- 《电梯企业介绍》课件
- 《风景区概述》课件
- (完整版)书籍装帧设计
- 汉字形旁分类及其组字表
- NY-T 4251-2022 牧草全程机械化生产技术规范
- 代建项目安全生产管理办法20191226
- GB/T 26463-2011羰基合成脂肪醇
- 静脉治疗护理质量评价标准
- 连铸坯质量控制与缺陷控制课件
- 沥青混合料低温弯曲试验2002363
评论
0/150
提交评论