软件工程方法论对我们经软件开发有多大用处?
我觉得软件工程方法论更多的是给予开发人员一个可行的、系统性的整体结构的理论框架。软件工程方法论包含3个要素:方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
从对任务的抽象逻辑分析开始,一个阶段一个阶段的开发,前一个阶段任务的完成是后一个阶段工作的前提和基础,而后一个阶段任务的完成通常是使前一阶段提出的解法更进一步具体化,加进了更多的物理细节。每一个阶段的开始和结束都有严格标准,每一个阶段结束之前都必须进行正式严格的技术审查和管理复审,对于软件开发有着重要的作用,是必不可少的组成部分。
方法论有很多用处。就比如我们现在的开发过程,我们就是按照敏捷开发的方法在做的。这个方法给了我们一个学习的模式,一个开始的框架。
对于我们初学者而言,这种方式,这些开发的方法,一定都是有帮助的。但是这种东西,我个人觉得,它的价值就在于,这是别人的经验。别人的经验,也就是,有可能对你有用,也有可能对你没用,但是你了解了,你就有了个认识,然后懂得该注意什么,哪里应该干什么了,哪里又应该怎么怎么样,又比如遇到什么事情应该如何处理等等。这是经验,但是并不是真理。也就是说,这个东西并不是一定就是这么回事,换了参数条件就有可能不一样了。
其实某种程度上来说,我们稍微哲学一点,对于这种经验总结的得出的结果,就比如科学,都是需要有一种怀疑的精神,科学理论也是不停地被推翻的。所以我们更应该抱有一种学习的态度。我觉得从这角度上来理解,软件工程的方法论和科学的用处是很像的。我们使用这种东西都可以帮助我们去完成某些东西,但是我们有时候都需要调整