软件需求与分析教程(第三章)_第1页
软件需求与分析教程(第三章)_第2页
软件需求与分析教程(第三章)_第3页
软件需求与分析教程(第三章)_第4页
软件需求与分析教程(第三章)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2,第3章 需求工程的推荐方法,表3.1列出了近50种方法,分别属于7个类型,它们可以帮助大部分项目开发团队更好地完成他们的需求工作。,3,3.1 知 识 技 能,开发者也应该了解产品应用领域中的基本概念和术语。 培训需求分析员所有将要成为分析员的团队成员都应该接受需求工程方面的基本培训。熟练的需求分析员应具备以下特点:耐心,思维条理性强,有良好的交际和沟通能力,理解产品应用领域,并且掌握丰富的需求工程技术。 对用户代表和管理者进行软件需求培训参与软件开发的用户应该接受一到两天的需求工程方面的培训。 对开发人员进行应用领域的相关培训为了帮助开发人员对应用领域有一个基本的理解,可以安排一个研讨课程,内容是客户的业务活动、术语和产品的目标。 创建项目术语表定义应用领域专业名称的术语表可以减少误解。,4,3.2 需 求 获 取,项目范围内的业务需求不能排斥任何必要的用户需求,每项功能需求都应该可以追溯到对应的用户需求。定义需求开发过程如何获取和分析需求、编写规格说明和验证需求的步骤编写成文档。编写前景和范围文档前景和范围(vision and scope)文档包含了产品的业务需求。确定用户群和他们的特点将产品的用户分成组,以避免出现某一用户群的需求被忽略的情况。为每类用户选择代言人为每类用户选择至少一位能够准确反映其需求的代言人。建立典型用户的中心小组把产品早期版本或同类产品的用户代表召集起来,收集他们对正在开发的产品的功能和质量特性的意见。,5,3.2 需 求 获 取,与用户代表沟通以确定用例与用户代表沟通、了解他们需要使用软件来完成的任务用例。确定系统事件和响应列出系统可能发生的外部事件以及对每个事件所期待的响应。召开专门的需求获取讨论会专门的需求获取讨论会可以方便分析员和客户进行合作。观察用户工作的过程观察用户执行业务任务的过程,能够确定用户对新的应用程序可能有哪些应用。检查当前系统的问题报告来进一步完善需求客户的问题报告及补充需求提供了很多建议,指出在新产品或新版本中应添加哪些功能。跨项目重用需求客户要求的功能与已有产品的某项功能很相似,查看需求(和客户!)是否具有足够的灵活性允许重用一些已有的组件。,6,3.3 需 求 分 析,需求分析包括对需求进行推敲和润色以保证所有的涉众人都能够理解需求,以及仔细检查找其中的错误、疏漏和其他缺陷。分析包括将高层的需求分解成具体细节、创建开发原型,以及评估可行性和协商需求优先级。 绘制关联图关联图是显示新系统如何适应它的环境的一个简单的分析模型 。创建用户界面和技术原型当开发人员或用户对需求不能确定时,可构建一个开发原型。分析需求的可行性在允许的成本和性能要求下,分析在指定的运行环境下实现每项需求的可行性。,7,3.3 需 求 分 析,确定需求优先级可采用分析方法确定产品功能、用例或单项需求的相对实现优先级。为需求建模模型包括数据流图、实体关系图、状态转换图或状态图、对话图、类图、序列图、交互作用图、决策表和决策树等。创建数据字典数据字典中包括系统用到的所有数据项和结构的定义。将需求分解到子系统 将多个子系统的复杂产品的需求分配到各个软件、硬件以及人员子系统和部件中去(Nelsen 1990)。应用质量功能调配质量功能调配(QFD)是一种高级系统技术,它将产品功能、属性与客户的重要性联系起来(Zultner 1993;Pardee 1996)。,8,3.4 规 格 说 明,获得需求,将它们编成一致的、可访问、可检查的文档。采用SRS模板该模板为记录功能说明和其他与需求相关的信息提供了统一的结构。确定需求来源为保证所有涉众都明白SRS中为何包括这些需求,以及便于进一步阐明需求,应追溯每项需求的来源。为需求分配惟一标号可定义一种约定,用于为SRS中的每项需求提供一个惟一的识别标号。记录业务规则业务规则包括公司章程、政府法规和计算机算法。定义质量属性在功能需求之外还应考虑非功能的质量属性这些属性包括性能、效率、可靠性、可用性等。,9,3.5 需 求 验 证,需求验证可确保需求声明是正确的、具备了所需的质量属性,而且能够满足客户的需要。审查需求文档对需求文档进行正式审查是保证软件质量的有效手段之一。测试需求根据用户需求推导出功能测试用例,以便记录产品在特定条件下应有的行为。定义合格标准让用户描述决定产品是否满足他们的需求并适合使用的标准。,10,3.6 需 求 管 理,有了项目的初步需求,就必须处理好开发过程中不可避免的来自客户、管理层、营销部门、开发团队以及其他群体的变更请求。定义需求变更控制过程建立一个用于提议、分析和解决需求变更的过程。成立变更控制委员会可授权由涉众组成的小组作为变更控制委员会(CCB)来接收需求变更的请求。分析需求变更的影响对影响进行分析有助于CCB做出明智的业务决策。建立基线和控制需求文档的版本基线是由已经被提交到一个指定版本中的实现(implementation)的需求组成的。,11,3.6 需 求 管 理,维护需求变更的历史记录记录需求规格说明变更的日期、变更的内容、变更的实施者和原因。跟踪每项需求的状态建立一个数据库,为每一项功能需求保存一条记录。衡量需求的稳定性记录已设为基线的需求数,以及每周提议和批准的需求的变更(增加,修改,删除)数。使用需求管理工具商业需求管理工具可用于在数据库中存储各种类型的需求。创建需求跟踪矩阵建立一个表,把每项功能需求和实现它的设计和代码部分、验证它的测试部分联系起来。,12,3.7 项 目 管 理,软件项目管理方法和项目的需求过程密切相关。应根据需要实现的需求来规划项目资源、进度和承诺。选择合适的软件开发生命周期组织应该定义多种开发生命周期,以适应不同的项目类型和不同程度的需求不确定性(McConnell 1996)。根据需求制订项目计划 当范围和详细的需求变得清楚时,应反复斟酌项目的计划和进度表。,13,3.7 项 目 管 理,需求变更时重新讨论项目承诺将新的需求合并到项目中时,应估计一下你是否仍然可以利用可用资源兑现当前的进度和质量承诺。管理与需求相关的风险以及编写风险文档确定与需求相关的风险并将它们编写成文档是项目风险管理活动的一部分。跟踪需求工程的投入记录下你的团队在需求开发和管理活动上投入的工作量。从其他项目的需求工程中积累经验组建一个学术研究组织专门管理项目回顾(也称为项目的审阅)以收集有价值的信息。,14,3.8 开始新实践,表3.2将本章中描述的需求工程方法,按照对大多数项目的相对影响以及实现的相对难度进行分组。,15,3.9 需求开发过程,图3.1 需求开发是一个迭代的过程图3.2给出了一个可用于(或经过适当调整后)很多项目的需求开发过程框架。,图3.1,图3.2,16,回到第1章的下一步中确定的与需求相关的问题。为你确认的每个问题在本章中找到可能有用的推荐方法。可参考附录C中的故障诊断指南。在你的组织中按影响程度将方法分成高、中、低三组。确定在你的组织或环境下实现每个方法的困难或障碍。了解谁能帮助你克服这些障碍?确定如何评估从那些你认为最有价值的方法中得到的好处。你会发现以后的策

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论