博客阅读笔记
通过阅读该篇博客,我知道了本学期《软件需求与分析》需要掌握的必要内容有:
1.初识客户,2.拜访,3.研讨会,4.需求调研,5.迭代,6.需求捕获,7.需求分析
1.首先要求我们具有一种与人交往、沟通的能力、划分清楚角色。能够准确,恰当的和不同的人进行沟通、并从他们的话语中能够知道他们身处不同地位所考虑的不同问题、不同的部门,由于业务的不同,对软件的需求自然是不同的,因此我们在进行需求调研的时候,什么部门的需求就应当跟什么部门谈。。从而对客户提出的需求进行深入理解以后,运用我们专业知识,提出比客户的原始需求更加合理、可操作的解决方案,让客户感觉你说的正是他们想要的。如果能够这样,客户不仅能够欣然接收你提出的方案,而且会感觉你非常专业,你在客户心目中的形象也会无形中提高,使你有更多的机会提出有利于开发的可行方案,降低开发的风险。
2.做好初步认识之后,接下来就要拜访客户,需求调研不是一蹴而就的事情,是一件持续数月甚至数年的工作(假如项目还有后期维护)。在这漫长的时间里,我们需要依靠客户这个群体的帮助,一步一步掌握真实可靠的业务需求。不仅如此,技术这东西总有不如意甚至实现不了的地方,我们需要客户的理解与包容,这都需要有良好的客户关系。按照现在的软件运作理念,软件项目已经不是一锤子的买卖,而是长期的、持续不断的提供服务。按照这样的理念,软件供应商与客户建立的是长期共赢的战略协作关系,这更需要我们与客户建立长期友好的关系。
3.接着就是研讨会,业务研讨会是重要的,但同时又是灵活的,没有一个定式,甚至有时都不能称之为会议。项目经理需要根据实际情况,合理地与客户组织研讨会。但不论怎样组织,必须注意两点:有效抑制个性化差异、分模块组织专项研讨会。
4.由于在需求分析过程中,客户存在的最大问题就是提不出正确的需求,所以我们做需求分析,眼界不能仅仅停留在软件本身,应当更开阔一些,应当扩展到跟这个业务有关的那些领域知识中。在客户提出的所有原始需求中那些与业务实现有关的需求都是无效的需求,它们仅仅只能作为我们的一个参考。什么是与业务实现有关的需求呢?比如要求做成什么界面,数据要求怎样处理,等等。为什么是无效的呢?因为客户毕竟是非专业,我们应当有这种自信,在理解客户真实意图以后,能够提出比客户更优的解决方案。
5.需求分析不是一蹴而就的,是一个反复迭代的过程.它将从第一次需求分析开始,一直持续到整个项目生命周期。我们在一段时期内需要与客户进行反复地讨论,这个过程往往是这样一个反复循环的过程:需求捕获->需求整理->需求验证->再需求捕获••••••
6.有捕获哪来后面的整理与验证工作?需求捕获是这个迭代过程的开始,也是整个需求分析工作中最重要的部分。我们不能只是被动等待顾客放映,我们应主动地从客户那里捕获需求,不能被动地捕获,这样可以有效地分析客户业务的详细流程。需求调研与需求分析工作应当是相辅相伴共同进行的。每次参加完需求调研回到公司,我们就应当对需求调研的成果进行一次需求分析。需求分析不是一项一蹴而就就可以完成的工作,它需要一个长期的过程,而这个过程是一个由粗到细的过程,它体现了人类认识事物的客观规律。
7.功能角色分析是对系统宏观的、整体的需求分析,它用简短的图形绘制出了一个系统的整体轮廓。但仅仅进行功能角色分析是远远不够的,我们还需要在它的基础上做更加详尽的分析。需求分析不是一项一蹴而就就可以完成的工作,它需要一个长期的过程,而这个过程是一个由粗到细的过程,它体现了人类认识事物的客观规律。在需求分析的初期,我们对需求的认识往往是整体的、宏观的,随着分析工作的逐渐深入,一步步细化。按照这个思路,我们对需求的分析,首先应当从功能角色分析开始。所谓功能角色分析,就是从一个外部用户的视角分析整个软件系统能够提供的功能,以及这些功能到底是提供给哪些角色使用。