什么是工程方法?
是一种有目的、有计划、有步骤地解决问题的方法。此方法不是软件工程所独有的,建筑工程等工程类都可能会应用,只是步骤上略有不同。
说到步骤,工程方法分为六个阶段,分别是:想法、概念、计划、涉及、开发和发布。
想法:识别问题,也就是想要解决的问题,这是个从模糊到清晰的过程。定义好问题、研究可行性,检查是否有可行的解决方案。
概念:通过工具,如图纸、模型,提出一些概念性的解决方案。根据约束条件,最终确定一个符合需求的解决方案。
计划:确定人员、任务、完成任务的时间、任务之间的依赖关系,以及完成项目所需要的预算,也就是制定时间计划表,完成相应的目标。
设计:针对产品需求,将解决方案进一步细化,设计整体架构和划分功能模块,作为分工合作和开发实施的一个依据和参考。
开发:根据设计方案,将解决方案构建实施。此阶段是个迭代的过程,包括有构建、测试、调试和重新涉及迭代。
发布:展示结果(成果)。
下面以一个事例实战一下:
想法:为组内成员做一次技术分享,分享的主题是:Java7/8引入的新特性,此想法是可行的,目前项目中已使用了Java8,并且是从Java6逐步升级,可以作为一次复习或者说复盘。
概念:以Java6为基础,限定在Java7/8版本中引入的新特性进行说明,并延伸一下,对Java9-12的新特性带过性的说明。
计划:收集对应的资料,整理成文档,在添加对应的例子说明。收集资料时间限定为3天(周3-周5),1天(周1)整理成文档(ppt),2天准备相应的例子(周2-周3),周4或周5分享、演示。
设计:因此例子是有一人主导和参与,这一步骤合并到了计划中。
开发:此步骤就是具体的实施了。
发布:也即是分享和演示。
此事例并不完全贴切,只是第一次有意识的使用工程方法的一个演示。
其实核心并不是说使用了工程方法,而是在于有没有看到一件事情的全貌,有没有当成一个项目来看待,而不只是看到事情的局部。