软件工程方法论
我觉得软件工程方法论更多的是给予开发人员一个可行的、系统性的整体结构的理论框架。软件工程方法论包含3个要素:方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
从对任务的抽象逻辑分析开始,一个阶段一个阶段的开发,前一个阶段任务的完成是后一个阶段工作的前提和基础,而后一个阶段任务的完成通常是使前一阶段提出的解法更进一步具体化,加进了更多的物理细节。每一个阶段的开始和结束都有严格标准,每一个阶段结束之前都必须进行正式严格的技术审查和管理复审,对于软件开发有着重要的作用,是必不可少的组成部分。
这些方法论肯定是有用处的。举个最简单的例子,就比如我们现在的开发过程,我们就是按照敏捷开发的方法在做的。这个方法给了我们一个学习的模式,一个开始的框架。
对于我们初学者而言,这种方式,这些开发的方法,一定都是有帮助的。但是这种东西,我个人觉得,它的价值就在于,这是别人的经验。别人的经验,也就是,有可能对你有用,也有可能对你没用,但是你了解了,你就有了个认识,然后懂得该注意什么,哪里应该干什么了,哪里又应该怎么怎么样,又比如遇到什么事情应该如何处理等等。这是经验,但是并不是真理。也就是说,这个东西并不是一定就是这么回事,换了参数条件就有可能不一样了。
所以,一定不能盲信,一定要自己有思考,然后自己懂得根据不同的情况调整不同的方式和方法。也就是要学会灵活。就比如,两篇文章中都说过,方法论在预测需求和度量项目方面都是不可行的,然后有的人说,代码行数已经没有什么价值了,因为也么有办法度量你的能力了,然后就进一步怀疑方法论(之前已经因为方法论没法预测需求然后度量项目而怀疑过了),然后也有的人说,代码复审等等都是对于软件开发有很大帮助的。所以我觉得,对于这样的方法论,就是应该去学习,而不是盲从。
其实某种程度上来说,我们稍微哲学一点,对于这种经验总结的得出的结果,就比如科学,都是需要有一种怀疑的精神,科学理论也是不停地被推翻的。所以我们更应该抱有一种学习的态度。我觉得从这角度上来理解,软件工程的方法论和科学的用处是很像的。我们使用这种东西都可以帮助我们去完成某些东西,但是我们有时候都需要调整。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!