欢迎来到天天文库
浏览记录
ID:17731592
大小:190.50 KB
页数:12页
时间:2018-09-05
《03需求工程的推荐方法(教案)new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《软件需求(第2版)》,教案3需求工程的推荐方法13.1知识技能23.2需求获取33.3需求分析53.4规格说明63.5需求验证73.6需求管理83.7项目管理93.8开始新实践103.9需求开发过程113需求工程的推荐方法十多年前,我曾是一个软件开发方法集的爱好者。软件开发方法集(methodology)指包装好的整套模型和技术方法,用于为项目提供整体解决方案。但现在我更愿意寻找和应用行业的最佳方法(bestpractice)。最佳方法的做法是:在你的软件工具包中储存各种技术方法,用于解决不同的问题,而不是试图设计或购买整体解决
2、方案。即便采用商业开发方法集,也可以对其进行改造,使它最大程度地满足你的需求。还可以从工具包中选出其他有效方法补充该方法集。最佳方法是一个有争议的说法:谁能决定什么是“最佳”,他有什么依据?一种决定方法是召集一群行业专家或研究员来分析来自不同组织的项目。这些专家在其中寻找一些方法,它们的有效性能是和成功的项目联系在一起,而失败的项目则往往没有很好地实施这些方法,或者根本就没有实施。通过这些手段,专家们就那些一直产生良好结果的活动达成了一致。这些活动就被称为最佳方法。对于专业软件人员来说,这些活动代表了十分高效的方法,能够提高特定类
3、型或特定条件下项目的成功几率。表3-1列出了近50种方法,分别属于7个类型,它们可以帮助大部分项目开发团队更好地完成他们的需求工作。有几项方法属于多种类型,但是表3-1中每个方法只出现一次。这些方法并不能适用于所有情况,因此要运用合适的判断标准常识和经验而不是照本宣科地应用它们。注意并非所有这些方法都己经被认定为行业最佳方法,这就是为什么我将这一章的标题定为“需求正程的推荐方法”,而不是“最佳方法”的原因。我怀疑是否所有这些方法都曾为了这个目的而被系统地评估过。尽管如此,很多业内人士已经发现这些技术是有效的(Sommervillc
4、和Sawyer1997;Hofmann和Lehner2001)。本章中将简单介绍每一个方法,并给出了可以获得关于该技术的更多内容的章节或其他来源。本章的最后一节介绍了一个适合绝大部分软件项目的需求开发过程(一系列活动)。12表3-1需求工程推荐方法知识需求管理项目管理●培训需求分析员●对用户代表和管理者进行需求培训●对开发者进行应用领域相关的培训●创建术语表●定义需求变更控制进程●成立变更控制委员会●分析需求变更的影响●控制需求版本并为其建立基线●维护需求变更的历史记录●跟踪每项需求的状态●衡量需求稳定性●使用需求管理工具●创建需
5、求跟踪矩阵●选择合适的开发周期●根据需求制订项目计划●重新协商权利或义务●管理需求风险●跟踪需求耗费的人力物力●回顾以往的教训需求获取需求分析编写规格说明需求验证●定义需求开发过程●定义项目前景和范围●确定用户群●选择用户代言人●建立核心队伍●确定用例●确定系统事件和响应●举行进一步需求获取的讨论●观察用户如何工作●检查问题报告●重用需求●绘制关联图●创建原型●分析可行性●确定需求优先级●为需求建模●创建数据字典●将需求分配至各子系统●应用质量功能调度●采用SRS模板●确定需求来源●惟一标识每项需求●记录业务规范●定义质量属性●审
6、查需求文档●测试需求●确定合格标准3.1知识技能软件开发人员大都未曾接受过需求工程的正规培训。然而,许多开发人员在他们职业生涯的某些时刻都会担任需求分析员的角色,与用户打交道,获取、分析需求,并将它们编写成文档。期望所有开发人员天生就都胜任需求工程中需要进行大量沟通的工作是不合理的。培训可以提高分析员的熟练程度,使他们工作起来更得心应手,却无法弥补人际关系能力的不足或兴趣的缺乏。由于需求过程是必不可少的,因此项目的所有涉众都应该理解需求工程的概念和方法。将各方涉众召集起来利用一天的时间进行软件需求培训,这是打造团队的一种有效方法。
7、各方可以更好地理解合作伙伴所面临的挑战,明白为了整个团队的成功参与者们需要对方做些什么。同样,开发者也应该了解产品应用领域中的基本概念和术语。关于这些主题可以在以下章节中找到更详细的内容:·第4章●第10章培训需求分析员12所有将要成为分析员的团队成员都应该接受需求工程方面的基本培训。需求分析专家需要几天时间来进行这样的培训。熟练的需求分析员应具备以下特点:耐心,思维条理性强,有良好的交际和沟通能力,理解产品应用领域,并且掌握丰富的需求工程技术。对用户代表和管理者进行软件需求培训参与软件开发的用户应该接受一到两天的需求工程方面的培
8、训。开发经理和客户经趸也会发现这些内容很有用。培训可使用他们明白重视需求的意义;需求工作包括哪些活动,要提交什么样的结果;忽略需求过程会导致什么风险。一些参加过我的需求研讨课程的用户说他们从此更加体谅软件开发人员。对开发人员进行应用领域的相关培训为
此文档下载收益归作者所有