软件需求分析(经典中的经典)(171).doc
《软件需求分析(经典中的经典)(171).doc》由会员分享,可在线阅读,更多相关《软件需求分析(经典中的经典)(171).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下载 第一局部 软件需求: 是什么和为什么 第1 章 根本的软件需求 “喂,是Phil吗?我是人力资源部的 Maria,我们在使用你编写的职员系统时遇到一 个问题,一个职员想把她的名字改成Sparkle Starlight,而系统不允许,你能帮帮助吗? “她嫁给了一个姓 Starlight 的人吗? Phil问道。 “不,她没有结婚,而仅仅是要更改她的名字, M a r i a 答复。“就是这问题,好 像我们只能在婚姻状况改变时才能更改姓名。 “当然是这样,我从没想过谁会莫名其妙地更改自己的姓名。我不记得你曾告诉 我系统需要处理这样的事情,这就是为什么你们只能在改变婚姻状况对话框中才能 进入更
2、改姓名的对话框。 Phil 说。 M a r i a 说:“我想你当然知道每个人只要愿意都可以随时合法更改他她们的 姓名。但不管怎样,我们希望在下周五之前解决这个问题,否那么, S p a r k l e 将不能支 付她的账单。你能在此前修改好这个错误吗?“ “这并不是我的错!我从来不知道你需要处理这种情况。我现在正忙着做一个新 的性能检测系统,并且还要处理职员系统的一些需求变更请求传来翻阅稿纸的声 。 音 “我还有别的事。我只可能在月底前修改好,一周内不行,很抱歉。下次假设有 类似情况,请早一些告诉我并把它们写下来。 “那我怎么跟 S p a r k l e说呢? M a r i a追问道,
3、“如果她不能支付账单,那她只能挂 帐了。 “ M a r i a ,你要明白,这不是我的过错。 P h i l 坚持道,“如果你一开始就告诉我, 你要能随时改变某个人的名字,那这些都不会发生。因此你不能因我未猜出你的想 法需求就责备我。 M a r i a不得不愤怒地屈从:“好吧,好吧,这种烦人的事使我恨死计算机系统了。 等你修改好了,马上打 告诉我,行吧? 如果作为客户有过类似的经验,你一定知道:一个不能进行一项根本操作的软件产品是多么令人烦恼。尽管开发者最终会满足你的要求,你也不会感谢他。但从开发者角度来看,在整个系统已经完成后,用户再提出对功能的进一步要求是多么烦人的事。同时,修改系统的
4、请求迫使你放下当前的工程,而且往往修改请求还要求你优先处理,也是令人很不愉快的。 其实,在软件开发中遇到的许多问题,都是由于收集、编写、协商、修改产品需求过程中的手续和作法方法失误带来的。例如上面的 P h i l 和 M a r i a,出现的问题涉及到非正式信息的收集,未确定的或不明确的功能,未发现或未经交流的假设,不完善的需求文档,以及突发的需求变更过程。 对大多数人来说,假设要建一幢 2 0 万美元的房子,他一定会与建房者详细讨论各种细节, 2 第一局部 软件需求:是什么和为什么 下载 他们都明白完工以后的修改会造成损失,以及变更细节的危害性。然而,涉及到软件开发, 人们却变得“大大咧
5、咧起来。软件工程中百分之四十至百分之六十的问题都是在需求分析 阶段埋下的“祸根 L e ffingwell 1997 。可许多组织仍在那些根本的工程功能上采用一些不 合标准的方法,这样导致的后果便是一条鸿沟期望差异 开发者开发的与用户所想得 到的软件存在着巨大期望差异。 在软件工程中,所有的风险承当者 stakeholder都感兴趣的就是需求分析阶段。这些风 险承当者包括客户、用户、业务或需求分析员负责收集客户需求并编写文档,以及负责客 户与开发机构之间联系沟通的人、开发人员、测试人员、用户文档编写者、工程管理者和客 户管理者。这局部工作假设处理好了,能开发出很出色的产品,同时会使客户感到满意
6、,开发 者也倍感满足、充实。假设处理不好,那么会导致误解、挫折、障碍以及潜在质量和业务价值上 的威胁。因为需求分析奠定了软件工程和工程管理的根底,所以所有风险承当者最好是采用 本书提供的有效的需求分析过程。 本章将帮助你: 了解软件需求开发中使用的一些关键名词。 警惕在软件工程中可能出现的与需求相关的一些问题。 知道优秀的需求规格说明应该具有的特点。 明白需求开发与需求管理之间的区别。 1.1 软件需求的定义 软件产业存在的一个问题就是缺乏统一定义的名词术语来描述我们的工作。客户所定义 的“需求对开发者似乎是一个较高层次的产品概念。而开发人员所说的“需求对用户来 说又像是详细设计了。实际上,软
7、件需求包含着多个层次,不同层次的需求从不同角度与不 同程度反映着细节问题。 IEEE 软件工程标准词汇表 1997年中定义需求为: 1用户解决问题或到达目标所需的条件或权能 Capability。 2系统或系统部件要满足合同、标准、标准或其它正式规定文档所需具有的 条件或权能。 3一种反映上面 1或 2所描述的条件或权能的文档说明。 1.1.1 一些关于“需求的解释 IEEE公布的定义包括从用户角度系统的外部行为,以及从开发者角度一些内部特性 来阐述需求。 关键的问题是一定要编写需求文档。我曾经目睹过一个工程中途更换了所有的开发者, 客户被迫与新的需求分析者坐到一起。分析人员说:“我们想与你谈
8、谈你的需求。客户的第 一反响便是:“我已经将我的要求都告诉你们前任了,现在我要的就是给我编一个系统。而 实际上,需求并未编写成文档,因此新的分析人员不得不从头做起。所以如果只有一堆邮件、 贴条、会谈过几次或一些零碎的对话,你就确信你已明白用户的需求,那完全是自欺欺人。 另外一种定义认为需求是“用户所需要的并能触发一个程序或系统开发工作的说明Jones 1994 。需求分析专家 Alan Davis 1993拓展了这个概念:“从系统外部能发现系统 下载 第1章 根本的软件需求 3所具有的满足于用户的特点、功能及属性等。这些定义强调的是产品是什么样的,而并非产品是怎样设计、构造的。而下面的定义那么
9、从用户需要进一步转移到了系统特性 S o m m e r v i l l eand Sawyer 1997 : 需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性, 是在开发过程中对系统的约束。 从上面这些不同形式的定义不难发现:并没有一个清晰、毫无二义性的“需求术语存在,真正的“需求实际上在人们的脑海中。任何文档形式的需求例如:需求规格说明仅是一个模型,一种表达 Lawrence 1998 。我们需要确保所有工程风险承当者在描述需求的那些名词的理解上务必达成共识。1.1.2 需求的层次 下面这些定义是需求工程领域中常见术语的定义说明。 软件需求包括三个不同的层次 业务需求、用户
10、需求和功能需求 也包括非功能需求。业务需求 business requirement 反映了组织机构或客户对系统、产品高层次的目暌螅窃谙钅渴油加敕段牡抵杏枰运得鳌没需求 user requirement 文档描述了用户使用产品必须要完成的任务,这在使用实例 use case 文档或方案脚本 s c e n a r i o说明中予以说明。功能需求 functional requirement 定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。所谓特性 feature是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。软件需求各组成局部之间的关系如图 1
11、-1 所示。 业务需求 工程视图与范围文档 用户需求 质量属性 其它非功 使用实例文档 能需求 系统需求 功能需求 约束条件 软件需求规格说明 图1-1 软件需求各组成局部之间的关系 在软件需求规格说明 software requirements specification ,SRS中说明的功能需求充分描述了软件系统所应具有的外部行为。软件需求规格说明在开发、测试、质量保证、工程管 4 第一局部 软件需求:是什么和为什么 下载理以及相关工程功能中都起了重要的作用。对一个复杂产品来说,软件功能需求也许只是系统需求的一个子集,因为另外一些可能属于软件部件。 作为功能需求的补充,软件需求规格说明还应
12、包括非功能需求,它描述了系统展现给用户的行为和执行的操作等。 它包括产品必须遵从的标准、标准和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。所谓约束是指对开发人员在软件产品设计和构造上的限制。质量属性是通过多种角度对产品的特点进行描述,从而反映产品功能。多角度描述产品对用户和开发人员都极为重要。 下面以一个字处理程序为例来说明需求的不同种类。业务需求可能是:“用户能有效地纠 ,正文档中的拼写错误 该产品的包装盒封面上可能会标明这是个满足业务需求的拼写检查器。而对应的用户需求可能是“找出文档中的拼写错误并通过一个提供的替换项列表来供选择替换拼错的词。同时,该拼写检查器还有许
13、多功能需求,如找到并高亮度提示错词的操作;显示提供替换词的对话框以及实现整个文档范围的替换。 管理人员或市场分析人员会确定软件的业务需求,这使公司运作更加高效对信息系统而言或具有很强的市场竞争力对商业软件产品而言。所有的用户需求必须与业务需求一致。用户需求使需求分析者能从中总结出功能需求以满足用户对产品的要求从而完成其任务,而开发人员那么根据功能需求来设计软件以实现必须的功能。 从以上定义可以发现,需求并未包括设计细节、实现细节、工程方案信息或测试信息。需求与这些没有关系,它关注的是充分说明你究竟想开发什么。工程也有其它方面的需求,如开发环境需求或发布产品及移植到支撑环境的需求。尽管这些需求对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析 经典 中的 171
限制150内