以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 软件工程论坛 』 (http://bbs.xml.org.cn/list.asp?boardid=48) ---- Elicitation Technique Selection: How Do Experts Do It?[需求工程论文阅读2] (http://bbs.xml.org.cn/dispbbs.asp?boardid=48&rootid=&id=32119) |
-- 作者:jiachong -- 发布时间:5/12/2006 12:08:00 PM -- 回去读读在发表意见 |
-- 作者:jiachong -- 发布时间:5/12/2006 12:08:00 PM -- 回去读读在发表意见 |
-- 作者:pennyliang -- 发布时间:5/12/2006 12:53:00 PM -- 这篇论文通过对9名大师的正式或非正式的interview,寻找一些在实际项目中需求工程是如何展开的,使用了哪些方法,在什么条件,什么时机使用这些方法,是颇有启发性的,startpoints式的paper |
-- 作者:njty_lzy -- 发布时间:5/14/2006 9:14:00 PM -- pennyliang ,首先谢谢你分享这篇文章,我看完了全文.它对各种需求获取技术总结是很全面的,但是对于各个大师的interview,反馈结果太简略了,论文中也提及了面对新的问题,虽然会作出一定的改进,但是基本上都是采用他们自己熟悉的方法,各个专家都不可能熟悉各种方法,当然在面对新问题时还是以他们自己的方法视角去看待问题.而且如果要真正地实施需求抽取,这些专家在论文中给出的回答可能与实际的工作也不可能一致的(论文有提及). 所以看了还是比较迷惘,我觉得需求获取的选取因人而异,因事而已,这是很正常的,文中的四个case的代表性也不全,照目前来看不可能进行进行详细的规定,那些需求必须要用哪些技术,人的主观性太强了! 不知道版友有何高见,请不吝赐教 |
-- 作者:pennyliang -- 发布时间:5/14/2006 9:28:00 PM -- 首先需求挖掘是一门科学,不是座在沙发上吹吹牛就可以大致搞定的。 其次需求挖掘不是一门系统化的,科学化的科学,至少不像自然科学看上去那么严谨,这是由于这么科学是涉及到人。 最后需求挖掘的却主观性很强,目前的研究都是实践走在前面,比如IBM的Jad方法,究竟哪一种方法在哪一种场合,什么时机采用这个和经验是有很大关系的,而且通常一些人会采用自己熟悉的方法,而不会去尝试陌生的方法。采用的方法的评价也是一个极大的困难,如果没有准确的评价你很难确定哪一种方法更好。所有软件工程的方法学都涉及到评价的问题,比如一个架构是否成本合理,范围合理,时间合理,你从那些角度出发,如何确定分值,在如一个生命周期模型好,那么他比其他生命周期模型好多少。 |
-- 作者:njty_lzy -- 发布时间:5/14/2006 9:41:00 PM -- 我承认你的观点,如你所说,需求挖掘是一门复杂的科学,需求挖掘过程和人的经验结合太紧密了,很难进行量化.可能每一个问题都有它独特的方法,但是现在的方法像我这样实践经验少的人是很难掌握其要领的,比如运用KAOS方法到医院信息管理系统,分析很难进行下去,按照这篇论文说的,那么面向目标的专家肯定会说,从why->what->how方向分析系统,但是具体分析起来还是无从下手. |
-- 作者:pennyliang -- 发布时间:5/14/2006 10:36:00 PM -- 按照我目前了解项目的经验看大概是这么个顺序 1)了解现有产品的功能,已知的市场上存在的产品,或者类似产品[必然的] 2)了解现有产品的用户评价,用户期望,还有那些问题没有解决好的。[必然的] 3)寻找代表性用户,了解需求。真实用户或模拟用户,可以是个体用户,使用结构化访谈,非正式聊天,可以是群体用户,问卷调查,获得统计数据。[很多都是技术人员想当然] 4)形式化详细的需求,形式化到可以和设计人员交流,比如去掉用户对于程度的描述,并对之进行合理量化。[极少有公司这样做] 5)用户和设计人员进行评审,反复跌代。[极少有公司这样做] 还有一个问题
|
-- 作者:njty_lzy -- 发布时间:5/15/2006 9:17:00 AM -- 需求挖掘过程应该是一个逐步迭代,精化的过程,这是毫无疑问的. 但是对于开发一个全新的系统,没有类似的产品作参考,只有客户的一些零碎的操作流程的描述,不知道从何入手来整合这些需求.个人觉得需求应该是具有层次的,不同的代表客户提出的需求所处的层次不同,一般来说,高层的需求比较稳定,而低层的需求是最容易改变的,因为它涉及到细节的问题.根据这样的思路,应该首先准确把握高层稳定需求,再逐步进行细化为具体的业务操作细节的需求. |
-- 作者:pennyliang -- 发布时间:5/15/2006 11:23:00 AM -- 我不太理解你说的高层的需求和底层的需求的区别,我估计你可能得意思是,领导的需求,和系统实际操作员的需求.事实上稳定的需求往往不是领导可以确定的,领导一拍脑袋的不切实际的想法往往和需求差距很大.真实的,能够实际解决问题的需求就是稳定的需求,反之,存在假定的,不经过调查的,想当然的需求,往往都是禁不起时间的考验的. |
-- 作者:njty_lzy -- 发布时间:5/15/2006 12:25:00 PM -- 我所说的不是指领导的需求,应该说是领域专家提出的需求,因为他们对系统有更深层次的理解,能把握一些本质的东西,我想这些应该是比较可靠而且稳定的.就比如一个信息管理系统,首先要划分为若干子系统,那么这些子系统划分的依据我认为就是根据领域专家的意见,因为具体的客户了解他所熟悉的某个具体的方面,而不是把握全局. |
-- 作者:pennyliang -- 发布时间:5/15/2006 6:05:00 PM -- 你说的有道理,但是领域专家是可遇而不可求,有些项目是很难找到领域专家,比如ERP,最令我难忘的就是XP的第一个项目,给克莱斯勒做的工资发放系统,由于先后由不同的领域专家充当现场客户,导致对项目的极大伤害,最终失败,还有些项目干脆就没有领域专家,比如QQ,QQ的需求不是领域专家提出的, |
-- 作者:njty_lzy -- 发布时间:5/16/2006 11:20:00 AM -- 我想大多数的条件下是能够找到领域专家吧,他们对于具体的业务比较熟悉.但是可能没有使用过系统来支持,就得从头开始做需求,他们首先提出的应该是类似于系统框架的需求,再通过与具体业务人员交流来细化 你说的情况我确实没有经历过,可能你们请的客户不能称为领域专家吧.对于QQ,我没有发言权,不过最初它的功能也很简单的,我想也是模仿聊天室的模式,只不过变成点对点的了,如果没有在聊天室聊天经验的人,他会想到要进行哪些改进吗 |
-- 作者:jiachong -- 发布时间:5/16/2006 12:35:00 PM -- 我们实验室有领域工程相关项目,所以我也有些认识 突出领域是为了充分复用领域级的业务知识和开发产物,可以体现为领域产品线或可定制的通用产品 我觉得领域的范围可大可小 往大了归共性少,领域开发难度高,但收益面广 往小了归共性多,领域开发难度低,但收益面窄 这个权衡是需要软件企业根据自己的市场定位和市场预期来判断的 领域小到极点就是单个项目,会被客户牵着鼻子走,需求多变且很难把握 至于QQ这种产品,由于是面向最终用户,且是人人适用的,因此应该更强调用户调查和自我体验(开发者本身也是QQ的用户),这种领域也可以说有领域专家,他熟悉现在上网一族的个性和流行需求,熟悉各公司已有产品的特性,当然他的很多知识也要通过用户调查或自我体验等手段来积累 |
-- 作者:jiachong -- 发布时间:5/16/2006 12:43:00 PM --
个人以为你对领域专家的理解有偏差 2)领域专家并不等同于业务用户,他们往往对一个领域有多年的积累,同时具有一定的软件思考能力,善于总结和归纳,这样他们所理解的领域需求是经过总结和归纳的领域需求,涵盖了多种特例需求,有的还带有预见性,有的甚至是用户所未表述出来的,说白了,领域专家要做到比用户更懂业务,这没有多年的积累是做不到的 3)你说的系统之所以失败,我觉得是因为这些所谓“领域专家”其实都只对最终系统有自己的片面的理解或要求,并没有把握潜在需求的实质。用户往往无法正确表达自己的根本需求,但他们能在看到原形实现后说“对了,就是这个”,所以必须挖掘根本需求,这个挖掘并不单纯针对用户的表述进行,还要根据自己对业务规则的理解,提出一些自己所认为的“合理化”建议并通过原型等手段让用户确认 |
-- 作者:pennyliang -- 发布时间:5/16/2006 11:06:00 PM --
你分析得很全面,得却如此,领域专家不一定是实际从事这个领域的人,也许是长期研究这个领域,有丰富经验的软件建模专家。如果不能对领域完全了解,就是伪领域专家了。 |
-- 作者:jiachong -- 发布时间:5/17/2006 12:53:00 PM -- :) 再多几个朋友讨论就好了 |
-- 作者:pennyliang -- 发布时间:6/24/2006 9:43:00 PM -- 就我们几个讨论很快就像近亲繁殖一样,不断退化了. |
-- 作者:Sibyl -- 发布时间:5/17/2007 2:09:00 PM -- 受益非浅,不过初入职场,经验不足,不发表意见了,先消化一下大哥们的观点0 |
-- 作者:zq_enoch -- 发布时间:1/16/2008 3:35:00 PM -- xiexie ~~~ |
-- 作者:gzwxh -- 发布时间:11/19/2008 5:23:00 PM -- 还是使用多次跌代开发的方法好。这样需求可以逐步提出、逐步实现。多次原型提交给客户使用(一定是整个软件应用有关的人群,不只是操作人员),这些客户做两件事:1、使用性测试;2、提出新的需求和修改意见。项目管理人员需要做好项目评估,估计多少次迭代,每次迭代需要完成多少任务,等等,这就是那个最有项目经验和开发经验的人要做的事。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
109.375ms |