您好,欢迎访问三七文档
第4章需求获取概述软件学院代飞2012.春主要内容1.需求获取的常见困难2.需求获取的活动过程3.需求获取活动的要点4.需求获取的实践调查情况传统的软件工程认为:需求获取过程非常自然和顺畅。但现实情况不是这样的!需求获取活动用户头脑中隐藏和抽象的想法项目前景和范围(包含业务需求)问题域特性用户需求1.需求获取的常见困难用户和开发人员的背景不同,立场不同首先是知识理解的困难:用户有自己的表达方式和词汇集尽力去研究应用的背景,理解组织的状况,形成一个能够和用户进行有效沟通的粗略的知识框架默认(Tacit)知识现象使用Word编辑文档,要在退出之前保存文档尽量选择对计算机比较了解的用户来描述需求通过观察尽可能的发现默认知识1.需求获取的常见困难普通用户缺乏概括性、综合性的表述能力普通用户的知识结构就相对局限于一些具体的业务细节善于表达具体业务的细节问题专家用户的知识结构因其渊博性而具有概括性和广泛性能够回答概括性和综合性的问题开发人员在与用户接触之前就先行确定获取的内容主题,然后设计具体的应用环境和场景条件,由用户根据细节业务的执行来描述问题、表达期望。1.需求获取的常见困难用户存在认知困境潜在(Latency)知识:用户认识不到自己已经知道的知识需要利用各种有效的需求获取方法和技巧:设计初始原型和主动“创造”需求用户越俎代庖用户提出的不是需求,而是解决方案注意保持业务领域和解决方案的区分界限用户固执的坚持某些特征和功能分析用户的深层目的,找到隐藏在背后的需求1.需求获取的常见困难缺乏用户参与用户数量太多,选择困难用户认识不足,不愿参与用户情绪抵制,消极参与没有明确的用户主要内容1.需求获取的常见困难2.需求获取的活动过程1.子活动2.过程描述3.需求获取活动的要点4.需求获取的实践调查情况2.1需求获取的子活动研究应用背景,建立初始的知识框架;分析用户的高(深)层目标,理解用户的意图,设计一个高层次的解决方案;在业务需求范围,确定获取的内容和主题,设定场景;根据获取的需要,参取必要的获取方法和技巧;进行涉众分析,针对涉众的特点开展工作。2.2需求获取的活动过程问题分析问题域业务需求涉众高层次问题应用背景资料定义项目前景和范围项目前景和范围文档硬数据采样涉众分析选择获取方法、执行获取涉众特征文档资料系统环境业务数据资料采集范围样本数据高层次解决方案系统特性对问题解决的期望特征业务范围采样涉众记录结果获取内容获取源获取源获取环境内容目标用户需求问题域特性业务问题的期望业务解释内容获取笔录成果主要内容1.需求获取的常见困难2.需求获取的活动过程3.需求获取活动的要点1.获取的内容2.获取的来源3.获取的方法4.获取的过程5.获取的结果4.需求获取的实践调查情况3.1获取的内容需求:系统期望达到的目标通常体现为涉众的观点、看法、目标或者问题问题域描述用来承载和解释需求的相关领域环境与约束:限定系统的环境和条件环境与约束属于一种特殊的问题域特性获取的内容不是一次得到的,而是逐步积累的3.2获取的来源涉众用户客户领域专家市场人员、销售人员等其他用户替代源相关产品原有系统竞争产品协作产品(和解系统存在接口的其他软件系统)硬数据登记表格、单据、报表等定量文档备忘录、日志等定性文档重要文档原有系统的规格说明竞争产品的规格说明协作产品的规格说明客户的需求文档(委托开发的规格说明、招标书)相关技术标准和法规相关法律、法规及规章制度行业规范、行业标准3.3获取的方法传统方法问卷调查、面谈、硬数据分析、文档检查、需求剥离等集体获取方法头脑风暴(Brainstorming)、专题讨论会(Workshop)、JAD等原型认知方法任务分析(TaskAnalysis)、协议分析(ProtocolAnalysis)等基于上下文的方法观察、民族志(Ethnography)和话语分析(ConversationAnalysis)3.4获取的过程——注意事项在整体上制定组织方案确定系统的边界,建立上下文图或系统用例图维护项目的前景和范围接受需求的不稳定性控制探索性工作3.4获取的过程——防止需求遗漏务必让所有的涉众都表达出自己的意见。不要以抽象和模糊的需求作为结束。对抽象和模糊的需求,要进行细化,让真正的需求显露出来。使用多种方法表达需求信息。利用不同的分析技术为相同的需求进行建模,通过分析不同的关注点,考察需求是否完整。注意检查边界值和布尔逻辑。3.4获取的过程——结束获取活动的判断条件用户想不出更多的用例;用户想出的新用例都是导出用例(通过其他用例的结合可以推导出该用例);用户只是在重复已经讨论过的问题;新提出的特性、需求等都在项目范围之外;新提出的需求优先级都很低;用户提出的新功能都属于后继版本,而非当前版本3.5获取的结果肯定会产生获取笔录(ElicitationNotes)用户需求、问题域知识和约束可能具有组织差、冗余、遗漏、自相矛盾等诸多问题可以包括文字记录、录音、摄像等各种形式可能会产生两份定义明确的正式文档项目前景和范围文档用户需求文档主要内容1.需求获取的非平凡性2.需求获取的活动过程3.需求获取活动的要点4.需求获取的实践调查情况4.需求获取的实践调查情况实践中的需求获取活动主要关注以下几个问题:项目目标;项目成功的十大影响因素之一[StandishGroup]项目范围;用户参与;交流问题;获取方法的使用;项目目标解决实际问题是软件项目的主要目标运用计算机科学的知识和工程技术开发计算机软件,为实际问题提供成本效益的有效解决方案项目范围一方面,项目必须包含完备的功能,才能有效解决实际的问题另一方面,项目所包含的内容应该是必要的,这样才能达到解决方案的最佳成本效益比用户参与不足没有能够有效的选择参与项目的用户认识不足用户抵制没有明确的用户管理上的障碍交流问题最大的问题就是理解偏差常用的交流方式:非正式的电话交谈、正式的电话交谈(例如客户热线或者远程电话会议)、邮件、web反馈表、文档以及一些面对面的交流(例如JAD会议、原型等)面对面的交流方式是最有效,也是最受欢迎的直接交流途径优于间接交流途径信息传递过程获取方法的使用需求获取的方法很多,但没有在实践当中得到充分的应用存在选择问题五个方面的选择依据需求的目的知识的类型知识内化的特性要求可观察的现象约束维度类型采样观察非结构化面谈结构化面谈头脑风暴原型场景分析民族志群体面谈需求的目的建立规格说明x-√-√√-xx选择软件开发工具包x-√---xx建立需求方案-√√√√√-√√-√√知识的类型抽象行为√√√√√√√√√√√√处理过程√√√√√√√√√√√数据----√√√√√知识内化的特性要求新知识x√√√√√√√x√√明显的知识-√√√√√-√√-√√已认知知识xxx√√√√√x√√默认知识√√---√√√√√情景性工作知识xxxxxxxx惯性知识√√---√√√√√潜在知识√√---√√√√√可观察的现象√√xx-xx√√-约束需要开会x√√√√√x√需要准备时间√√√√-√√--√√√需要采集信息的时间√√√√√√√√√√√xx需要获得需求的时间-√√√√√√xx需求工程师数量11111111涉众数量11111126需要涉众友好-√√√√√√xx无前导技术要求√√√√√√√xx√x谢谢!
本文标题:需求获取概述_5
链接地址:https://www.777doc.com/doc-4536841 .html