美文网首页
功能规格说明书

功能规格说明书

作者: 828e200a9578 | 来源:发表于2016-01-10 20:25 被阅读525次

    摘要

    功能规格说明书(Functional Specification)是一个正式文档,它用来为软件开发者详细描述一个产品的潜在功能,表现以及与用户的交互性。当开发者写程序代码时,功能规格说明书是一个指导纲领和持续的参考书。

    造楼房(非狗窝)和桥梁需要蓝图,出门旅行要看地图,即使没地图,好歹也有一些生存技巧作为指引,比如有罗盘和北极星辨别方向。然而,没有了这些用来指引的东西来做事情,是赌博。是生,是死,听天由命。

    这篇文章不是给赌徒看的,目标读者是软件从业者,包括那个不可或缺该死的码农,还有项目经理,测试,产品狗等若干人等。

    写过代码的人都有这种感觉,一个人写代码的时候很爽,只要把这个软件相关的所有知识装载到脑袋里,然后用某种或者多种编程语言讲这些逻辑写下来,最后神奇的事情就发生了,一个可以正常工作的软件产品开始有了生命。

    随着软件的规模越来越大,一个人很难把所有的知识细节都加载到脑袋里,进入了像亚当斯密提到的钉子生产车间那样的分工协作时代。

    在软件工程里,最大的成本就是沟通。具体的数据我没有,但是软件开发过程中,人的成本之重要已经是共识,人与人之间最困难的事情就是沟通,因此把沟通成本放大也不会偏离正确的方向。

    然而如何保证高效的沟通,是个世界性的难题,但也绝不是不治之症。

    • 首先,要有聪明的人,这是前提条件,因为除了软件本身的知识技能以外,还要掌握软件本身所解决问题的所在行业的知识技能,毕竟软件大多数情况下是不会孤立存在的。因此软件从业者需要能够快速领会当前软件所需要的行业知识。
    • 其次,要认识到软件开发成本和维护成本的关系,业界共识是维护成本远大于开发成本。
    • 最后,要保证相关知识的传承,既然软件需要长期维护,那么人员更迭是必然的,要让后来者快速掌握当前软件的状态。

    看完以上几点,读者们应该也猜到了:文档很重要。

    然而前几年,一些软件工程的方法论给大家一种误导,说文档不重要。其实人家说的是减少不必要的文档。如同下面代码的注释一样,是不必要的:

    var i = i + 1;  // 将变量i加1
    

    那什么文档重要呢? 重要的文档有很多种,这里说的是其中之一:功能规格说明书。

    在本篇文章的摘要里是这样描述功能规格说明书的。

    功能规格说明书(Functional Specification)是一个正式文档,它用来为软件开发者详细描述一个产品的潜在功能,表现以及与用户的交互性。当开发者写程序代码时,功能规格说明书是一个指导纲领和持续的参考书。

    功能规格说明书就如同建造大厦的蓝图,野外探险的指南针一样。不可或缺。

    最后问一下,你的团队里有功能规格说明书吗?

    后记

    掰扯了半天,其实有人说的更好。如果这篇文章引起了你的兴趣,那么请移步看真正的高手是怎么说这件事的。

    相关文章

      网友评论

          本文标题:功能规格说明书

          本文链接:https://www.haomeiwen.com/subject/yihbhttx.html