- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课件:需求分析方法.pptx
需求分析方法
软件需求的基础知识
目录
1.1 需求分析在软件开发中所处的位置
1.2 什么是软件需求
1.3 软件需求的类型
1.4 软件需求的分类
1.5 质量属性的分类
1.6 需求对架构的影响
1.7 需求的易变更性
二. 需求分析实践
目录
2.1 需求的获取
2.2 需求分析的目的
2.3 需求分析的思维方式
2.4 软件需求的分层
2.5 需求分析的步骤
2.6 好的需求有哪些特征
2.7 需求验证与确认
三. 需求管理
目录
3.1 需求总是变化的
3.2 需求是渐变的
3.3 如何应对需求变更
软件需求的基础知识
在一个以 软件架构为中心 的软件项目开发过程中,需求分析在概念化阶段和架构设计之间。
软件需求的基础知识
概念化阶段
分析阶段
架构设计阶段
详细设计阶段
并行开发与
测试阶段
验收与交付
阶段
交付的系统
软件需求规格
软件架构文档
软件设计文档
代码及集成系统
愿景文档
1.1 需求分析在软件开发中所处的位置
“这个软件到底要为用户做什么?”
软件需求的基础知识
1.2 什么是软件需求
IEEE将需求定义为:
用户所需的解决某个问题或达到某个目标索要具备的条件或能力。
系统或系统组件为符合合同、标准、规范或其他正式文档而必须满足条件或必须具备的能力。
RUP(统一软件开发过程)将需求定义为:
需求描述了系统必须满足的情况或提供的能力,它可以是直接来自客户需求,也可以来自合同、标准、规范或其他有正规约束力的文档。
软件需求的基础知识
软件需求
1.3 软件需求的类型
非功能需求
功能需求
质量属性
约束
开发期质量属性
运行期质量属性
界面需求
软件架构重点关注的是质量属性。架构的基本需求主要是在满足功能属性的前提下,关注软件质量属性。
商业需求
软件需求的基础知识
1.4 软件需求的分类
功能需求 描述要开发的 软件系统应该做什么,既包括为用户提供的服务,又包括本系统为其他系统提供的服务。
非功能需求 包括质量属性,界面需求,约束 以及 商业需求。
质量属性是架构设计最受关注的需求。
架构设计通常不涉及界面需求。
约束需求规定了开发软件系统时必须遵守的限制条件。如:为了获得相关行业或组织的认可,或者大型企业集团处于长期整合规划的要求;软件的设计和开发可能还必须遵守相关行业标准、企业标准等约束。
商业需求可能包含系统的上线时间要求,成本因素等。
软件需求的基础知识
1.5 质量属性的分类
软件质量属性分为运行期质量属性和开发期质量属性两大类:
开发期质量属性包含了和软件开发、维护和移植这三类活动相关的所有质量属性;
开发期质量属性是开发人员、开发管理人员和维护人员都非常关心的,对最终用户而言,这些质量属性只是间接地促进用户需求的满足;
运行期质量属性是软件系统在运行期间,最终用户可以直接感受到的一类属性,这些质量属性直接影响着用户对软件产品的满意度。
软件需求的基础知识
1.5 质量属性的分类
运行期质量属性
开发期质量属性
性能(Performance)
安全性(Security)
易用性(Usability)
可用性(Availability)
可伸缩性(Scalability)
互操作性(Interoperability)
可靠性(Reliability)
鲁棒性(Robustness)
易理解性(Understandability)
可扩展性(Extensibility)
可重用性(Reusability)
可测试性(Testability)
可维护性(Maintainability)
可移植性(Portability)
软件需求的基础知识
1.5 质量属性的分类
性能(Performance):软件系统及时提供相应服务的能力,包括速度、吞吐量和持续行三个方面的要求
吞吐量通过单位时间处理的交易数来度量
速度往往通过平均响应时间来度量
持续时间是指保持高速处理速度的能力
安全性(Security):软件同时兼顾向合法用户提供服务,以及阻止非授权使用的能力
易用性(Usability):软件易于使用的程度
持续可用性(Availability):在预定的运行时间中,系统真正可用并且完全运行时间所占的百分比。
软件需求的基础知识
1.5 质量属性的分类
可伸缩性(Scalability):当用户数和数据量增加时,软件系统维持高服务质量的能力
互操作性(Interoperability):本软件系统与其他软件系统交换数据和相互调用服务的难易程度
可靠性(Reliability):软件在一定时间内无故障运行的能力
鲁棒性(Robustness):软件系统在以下情况仍能够正常运行的能力:用户进行了非法操作;相连的软硬件系统发生了故障,以及其他
原创力文档


文档评论(0)