02《火球----UML大战需求分析》阅读笔记
在上一次的阅读笔记中,;我阅读的是开始部分和第一章,总结了其实UML不仅对于软件设计有很大的用处,对于软件的需求的分析也处于很高的地位。现在,读了第二章,真正的明白了UML对于需求分析的真正用处。
其实客户与我们所处的关系和医生与病人之间的关系,认识永远存在着偏差,就像对于用户和软件公司,对于需求的分析永远的存在着偏差。因为对于客户而言,每天的需求总是多变的,并且词不达意--à分析员的错误理解--à程序员的错误编码----à返回客户,客户的不满意。从中每个人开始互相的埋怨,其中有一句就像书中开始说的:“怎么又变了?就因该让客户书面的签字确认!”但是需求变更是一件好的事情,其实客户和我们之间一直存在着需求分析的差距,就是所谓的磨合期,客户通过需求的多次变更,更加的说明了用户对于需求的理解更加增进了一步,磨合期也就过去了。
所以我们如果想真正的了解用户的需求,就应该做到打破上面的局势,引领用户:从开始的客户对于需求的理解力----à透过本质找到交结点---à项目组能力的大大提高。但是在透过本质时就应该做到明确项目的背景---à客户的需要(不会更改)----à完成需求规格书(一般会更改很多次)。但是从中也存在问题,就是需求规格说明书导致程序员的认知错误。所以UML的业务流程再造(过程的改进工作)起到了很大的作用。因此UML必不可少。
对于我们程序员来说,什么叫做写好一个软件:就是用户得到满意。但是,同样的,用户怎样才能满意,只有软件满足用户的需求。所以,软件需求分析就是我们写软件时候的命脉,如果它不行了,那么软件就肯定不会成功。所以,总结的话就像书中说的:
1、“项目组不应该只将自己定位到软件的制造者,而应该是软件价值的创造者。最后实现双赢。”
2、真正的做到了解核心的问题
3、需求分析的首要问题是保证软件额价值。
问题:功能性需求和非功能性需求分别是什么,他们有什么区别。