- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上节回顾
增量模型
喷泉模型
Agile敏捷开发 XP编程
分析与设计的方法: 结构化、面向对象
项目工作量(软件成本)的估算方法
专家估算法(Pert-delphi)
货币的时间价值 投资回收期/率
1
2
需求工程
软件工程
(Software Engineering)
3
发展史: 软件需求作为软件生命周期的一个阶段,其重要性越来越突出,到20世纪80年代中期,逐步形成了软件工程的子领域——需求工程。
90年代后,需求工程成为软件界研究的重点之一。从1993年起,每两年举办一次需求工程国际研讨会(ISRE),1994年起,每两年举办一次需求工程国际会议(ICRE)。一些关于需求工程的工作小组相继成立,使需求工程的研究得到了迅速进展。
4
内容摘要
1.什么是需求工程?
2.什么是软件需求工程?
3.软件需求的重要性
4.软件需求的困难
5.软件需求内容
6.需求工程的活动
5
1 )软件需求的基本概念
软件需求——是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。宽泛地讲,需求来源于用户的一些“需要”,这些“需要”被分析、确认后形成完整的文档,该文档详细地说明了产品“必须或应当”做什么。
通过对问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。
1 什么是需求工程
1 什么是需求工程
2)需求工程(RE)的概念
是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。
需求分析专家 Alan Davis 把需求工程定义为“直到(但不包括)把软件分解为实际架构构件之前的所有活动”
RE通过合适的工具和记号系统地描述待开发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。
6
7
2.什么是软件需求工程?
需求工程RE可分为系统需求工程(如果是针对由软硬件共同组成的整个系统)和软件需求工程(如果仅是专门针对纯软件部分)。
需求工程6个阶段:需求获取、需求分析与协调、系统建模、需求规约、需求验证、需求管理。
8
软件需求无疑是当前软件工程中的关键问题,没有需求就没有软件。
需求的重要性
Frederick Brooks在他1987年经典文章“No Silver Bullet”中阐述了需求的重要性:
开发软件系统最困难的部分就是准确说明开发什么。最困难的概念性工作是编写出详细的需求,包括所有面向用户、面向机器和其它软件系统的接口。此工作一旦做错,将会给系统带来极大的损害,并且以后对它修改也极为困难。
需求是产品的根源,需求工作的优劣对产品影响最大。就像一条河流,如果源头被污染了,那么整条河流也就被污染了。
国内软件业的痼疾:人们并不清楚究竟该做什么,但却一直忙碌不停地开发。
3.软件需求的重要性
9
3. 软件需求的重要性
美国于1995年开始对全国范围内的8000个软件项目进行跟踪调查。
分析失败的原因发现,与需求过程相关的原因占了45%,而其中缺乏最终用户的参与以及不完整的需求又是两大首要原因,各占13%和12%。
未完成
完成未实施
完成
10
4. 软件需求的困难
软件需求是软件工程中最复杂的过程之一:
应用领域的广泛性,它的实施无疑与各个应用行业的特征密切相关。
非功能性需求建模技术的缺乏及其与功能性需求有着错综复杂的联系,大大增加了需求工程的复杂性。
沟通上的困难,由于系统需求分析各方面人员有不同的着眼点和不同的知识背景,给需求工程的实施增加了人为的难度。
客户说不清楚需求;
需求自身经常变动;
分析人员或客户理解有误。
11
真正的软件需求获取如此困难(漫画)
12
需求工程是系统工程和软件工程的一个交叉分支,涉
及到软件系统的目标、软件系统提供的服务、软件系统的
约束和软件系统运行的环境。它还涉及这些因素和系统的
精确规格说明以及系统进化之间的关系。它也提供现实需
求和软件能力之间的桥梁。
需求工程
5. 软件需求内容
13
软 件需 求
软件需求的内容
5. 软件需求内容
14
功能需求
它是对系统应该提供的服务、功能以及系统
在特定条件下的行为的描述。它与软件系统的类
型、使用系统的用户等相关,有时需要详细描述
系统的功能、输入/输出、异常等,有时还需要申
明系统不应该做什么。
领域需求
是由软件系统的应用领域所决定的特有的功
能需求,或是对功能的约束。
15
非功能需求
16
因此系统应该具备以下功能:
⑴ 基本数据维护功能
⑵ 基本业务
文档评论(0)