Category Archives: software engineering

软件工程

SVN开发管理中的版本管理Trunk, Branch和Tags

trunk:主线,开发过程中的工作目录 branches:支线,临时分支,定制化需求 branches/OtasApp001 branches/OtasApp002 tags:发布目录,不做修改 tags/release-1.0 tags/release-1.1 场景一: 产品开发已经基本完成,并且通过很严格的测试,这时候我们就想发布我们的1.0版本,不再提交代码 1. svn copy svn://server/trunk svn://server/tags/release-1.0 -m “1.0 released” 场景二: 有一个客户想对产品做定制,我们可以从已发布库中选择一个版本,做为起点来开发 1. svn copy svn://server/tags/release-1.0 svn://server/branches/order009 -m “定单009″ 场景三: 有一天,突然在trunk下的core中发现一个致命的bug,那么所有的branches一定也一样,这时需要进行分支合并 1. svn -r 148:149 merge svn://server/trunk branches/order008 2. svn -r 148:149 merge … Continue reading

Posted in software engineering | Leave a comment

敏捷开发

敏捷开发,Agile Development,就是指能够在需求迅速变化的情况下快速开发软件。我们接触最多敏捷实践方式有:极限编程(XP)、结对编程、测试驱动开发(TDD)等。 追究敏捷的历史,就必须要提到著名的敏捷开发宣言,2001年,17位业界专家(其中包括我们非常熟悉的Martin, Martin Fowler)组成了一个敏捷联盟,并且创建了一份敏捷联盟宣言,宣扬了4条核心价值观: 1, Individuals and interactions over processes and tools(人和交互重于过程和工具) 2,Working software over comprehensive documentation(可以工作的软件重于易于理解的文档) 3,Customer collaboration over contract negotiation(客户合作重于合同谈判) 4,Responding to change over following a plan(响应变化重于遵照计划) 此外,还有公开了12条敏捷软件开发的规则。 1,Our highest priority is to satisfy the customer through … Continue reading

Posted in software engineering | Leave a comment