• 软件需求分析第一次课后作业


          用作者所说的一句话开篇,需求分析既是一份体力活儿,更是一份技术活儿,它既是人际交往的艺术,又是逻辑分析与严密思考的产物。通过阅读文章,我认为软件需求分析需要掌握以下几个主要内容:

    1. 深入地去理解客户的业务,当客户提出业务变更时,找到更合理的客户乐于接受的方案去满足这个需求。当客户给我们一个业务后,要深刻理解客户的业务。客户的业务含义只有客户自己知道是不行的,我们应该理解客户的业务想干什么,不然按照我们开发人员自己的心里所想去开发软件,做出来的东西也只能是我们自己喜欢的,但客户不一定满意,所以理解客户业务非常有必要。当客户对业务提出变更时,尽量不要立马答应,要先过过脑子,这样变更是否对业务有好处,是否有比客户的想法更好的,更方便执行的方案,通过和客户沟通让客户采纳我们的建议,这样不仅我们的任务会变得简单易行,也会加强我们和客户之间的信任,客户也会放心满意我们做他的业务。
    2. 不能客户怎么说软件我们就怎么做,必须实事求是,基于技术可实现的角度去考虑。客户只是布置任务,就像古代皇帝皇榜一样,客户就像皇帝,他发布任务,招揽天下人才来接这个皇榜,当我们揭下皇榜后我们就要完成这个任务,而且要让客户满意,但是客户是不懂任务的技术含量的,所以他才要找我们完成,但是客户找我们就有给我们提要求的权利,而这些要求是一个不懂任务需要哪些技术的技术菜鸟提出的,可能会有些离谱,以当前的技术水平可能根本无法实现,如果我们盲目答应客户的这些要求,不但完不成任务,还会让客户失望,甚至不把任务交给我们了,这就是得不偿失了。因此要及时拒绝客户的这些无法实现的要求,拒绝的同时也要给客户解释清楚。让客户明白并不是真的不想实现这些要求,而是技术不到位。
    3. 必须进行角色分析,然后对不同角色进行调研。当我们接到一个为大量客户服务的任务时,我们首先要考虑的就应该是角色分析,因为我们面临的不是一个客户,而是形形色色不同的人,每一个阶层的客户都可能有自己的要求,如果我们不进行角色分析,而只是为一类客户服务,那么当我们完成任务时,也只是满足了一类客户,若是这一类是大量客户还算好的,若只是一小部分客户那势必会遭到客户的吐槽,所以必须要进行角色分析,分析好客户的类型有哪几种,然后分别进行需求分析,将这些需求整合到一起,总结出一套满足所有类型的客户要求的需求分析,这个时候在开始开发才是胸有成竹的姿态。
    4. 需求分析应该贯穿整个开发周期。客户的任务不是一成不变的,某些不确定因素发生时,客户可能会对要求发成变化,如果我们不在整个开发周期都进行需求分析的话,那么开发出来的项目可能不会是客户满意的东西,在整个开发周期都进行需求分析的话会最大程度的满足客户的要求,开发出来的项目自然就会是客户心中所想的软件了。

       读了这篇文章,我也从作者那学到了怎么做需求分析:学会如何和客户沟通,不卑微,不自傲,给客户一个平易近人的印象,但也要让客户明白,不是他的每一个要求我们都会实现,那些不能实现的要求我们也会拒绝。再有就是和客户搞好关系,设想一下,如果提出业务的是你的好朋友,好兄弟,那他们还会为难你,给你提一些不合理的要求吗,那肯定不会的啊,所以要和客户处好关系,就像文章中说的中国人讲究情分,中国人做事往往比较重视感情,这是与中国数千年的文化分不开的。需求调研不是一蹴而就的事情,是一件持续数月甚至数年的工作(假如项目还有后期维护)。在这漫长的时间里,我们需要依靠客户这个群体的帮助,一步一步掌握真实可靠的业务需求。不仅如此,技术这东西总有不如意甚至实现不了的地方,我们需要客户的理解与包容,这都需要有良好的客户关系。按照现在的软件运作理念,软件项目已经不是一锤子的买卖,而是长期的、持续不断的提供服务。按照这样的理念,软件供应商与客户建立的是长期共赢的战略协作关系,这更需要我们与客户建立长期友好的关系。

    以上就是我读过文章后的感受,有需求分析需要掌握哪些内容和我自己的理解,以及怎样做需求分析的一些拙见。

    绘图示意:

  • 相关阅读:
    第一篇:spring+springMVC项目启动最终笔记(一web.xml)
    Mysql优化系列之查询性能优化前篇1
    Mysql优化系列之索引性能
    java设计模式系列1-- 概述
    操作系统-死锁(重要)
    Mysql优化系列之表设计规范和优化
    Mysql优化系列之数据类型优化
    git-常见问题解决
    使用 jenkins 搭建CI/CD流水线 (MAC)
    jenkins 异常
  • 原文地址:https://www.cnblogs.com/zhangliqiangvictory/p/8525462.html
Copyright © 2020-2023  润新知