目录
前言
软件构造过程与配置管理的过程在软件开发的过程中十分的重要,合理地安排自己的构造过程,恰当充分地使用相关的工具,可以大大地提高我们软件开发的速度,并且对我们所开发出的软件质量也会有着更好地保证。本篇文章就来总结一下课上所学的软件构造过程与配置管理的相关内容。
1.软件流程模型
1.1瀑布模型
就先该模型的名字表面的意思那样,该模型就如同瀑布一般,各个过程依次稳步下降。大致分为准备,设计,实施,测试,维护等阶段。该模型简单,其优缺点也十分明显。
优点:划分清晰,管理简单。
缺点:变化的更改代价大,因为后一阶段都依赖于前一阶段。
1.2增量模型
该模型是在瀑布模型的基础上,对瀑布模型的一个改进。简单来说,就是把瀑布模型划分为一个个小的增量,每个增量依旧是相当于瀑布模型,就相当于将一个瀑布模型划分为了多个小的瀑布模型。与瀑布模型相比,增量模型一个明显的优势是对于变化增量模型可以很好地处理,不用再花费很大的代价。
1.3V字模型
V字模型同样是在瀑布模型的基础上,对瀑布模型的扩展。在瀑布模型的每个阶段,都添加了相应的测试环节,其与瀑布模型相比,优势是显而易见的,那就是可以更好地保证所开发出的软件的质量。但相应的,其耗时也会有所增加。
1.4原型过程
设计出软件的原型后,通过来自用户的反馈,修改原型,并不断地重复该过程。该过程可以及时的发现用户需求方面的变化,也能更好地去处理变化。由于该过程需要一个不断反复的反馈和修改的过程,所以可知,这可以很大程度上保证软件代码的质量,但耗时也必然增加。
1.5螺旋模型
该模型在原型过程基础上,遵循原型过程,并会进行严格的风险测试,进行多轮的迭代,测试通过后才能进入下一轮的迭代。对代码质量有了更严格的保证。
2.敏捷开发
通过快速迭代和小规模的持续改进,以快速适应变化。在该过程中,开发者更加注重分工协作,注重与用户的交流反馈,因此才可以更好地适应变化。该过程每次迭代仅处理一个小规模的增量,其用户参与、迭代以及测试的过程都很迅速,我们可以形象的将其描述为小步快跑,将一个大的工作任务划分成了多个小块。
3.SCM和VCS
3.1SCM
SCM是指追踪和控制软件的变化,核心包括版本控制和基线的确立。简单来说,当软件发生变动时,我们要对此有所记录追踪。而软件的版本号就成了软件的身份标识,不同的版本之间的变化构成了线性的分支的图形结构。
而软件各个配置项的变化信息就储存在配置管理数据库中,即CMDB,也称其为仓库。
对软件的版本进行记录,可以帮助我们在出错时更便捷的找到更改的位置,找回软件的历史版本,对于软件的维护等有着极大的帮助。
3.2VCS
- 本地式VCS,即仓库保存在本地的其中,这就无法共享给他人,无法实现协作开发。
- 集中式VCS,即仓库保存在服务器上,可以使得不同的开发者获取其保存的信息,实现协作开发。
- 分布式VCS,即仓库同时保存在服务器和每个开发者的本地机器,同样可以实现协作开发。
4.Git
Git是进行软件配置管理的一个十分好用的工具。运用Git可以帮助程序员十分简单地管理本地仓库。同时,通过本地仓库与远程仓库的连接,可以实现仓库内容的共享,从而实现可以实现协作开发。
而Git与传统的VCS的不同是对于每次变化,Git会存储发生变化的整个文件,而不是像传统的VCS那样只把变化存储下来,在想前寻找得到最终版本。这样操作起来可以更快。
总结
软件构造的过程和配置管理的过程在软件开发过程中十分地重要,必须要好好掌握,这对自己开发软件能力的提高有着很大的帮助。同时,对于一些十分有用的工具,例如Git,要好好地利用,充分发挥其作用,在开发软件的过程中才能更加地得心应手。