在复杂的软件项目管理中,还有一种技术管理手段会帮助工程人员趟过软件开发过程中的泥潭,它就是目前正被日益重视的—软件配置管理(SCM)。配置管理作为相对独立的管理分支,有着其自身特殊的作用和要求。
在软件开发过程中,由于各种原因,可能需要变动需求、预算、进度和设计方案等,尽管这些变动请求中绝大部分是合理的,但在不同的时机作不同的变动,难易程度和造成影响差别甚大,为了有效地控制变动,软件配置管理引入基线(baseline)的概念。
你想过将ClearCase由base方式转移到UCM方式吗?你的base配置支持你的组织当前的使用模型吗?你可能想考虑何时决定转移到UCM方式,这里有来自Christian Buckley和Darren Pulsipher的一些想法。
本文的目的是介绍某公司在将软件资产从其他配置管理工具迁移到IBM Rational公司的ClearCase UCM配置管理解决方案的一些经验。
由于CVS是建立在在原先 Unix 体系里很成熟的 SCCS 和 RCS 的基础上,所以CVS多是Linux(UNIX)系统中所使用,本文中服务器端设置也是以Linux为例。
财务管理软件虽然没有ERP系统那么复杂,但是一个功能齐全的财务管理软件,也包括很多内容。如应收应付管理、自动分录、总帐管理、成本管理、费用报销管理、发票管理等模块。这些模块是否需要一步到位、财务管理的流程是否需要进行更改,等等,这些就是涉及到财务管理软件的实施方法论。今天笔者就这个话题发表一下自己的看法。
软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。我们知道,在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
持续集成一种软件开发实践。通过它,开发团队的成员频繁的整合他们之间的工作。它不是简单的组装软件而是软件开发过程的核心实践,通过时时运行测试,保证软件现有的功能不被破坏,自动分析现有代码的状态(有无重复逻辑,代码的复杂度等)并发布相关的报告。这些功能根据开发团队所采用的持续集成服务器不同而有所不同,如TeamCity 采用自动的服务器端分析,而开源项目CruiseControl要求开发团队采用Checkstyle, Emma, Simian 等代码分析工具。
本文假设读者已经充分认识到日构建或者持续集成的好处,并且正打算把它应用到企业的开发管理流程中去,但是对于如何做日构建和持续集成,无论从技术上还是管理上还比较迷茫,那么这里将务实地与大家交流一下相关的一些的经验。
如果您使用这个自动化的方法,那么将您的所有机器更新至最新将会是一件非常简单的事,只需使用最新版本的构建目录来更新应用程序选择文件即可。
版本控制和文档修订留痕的比较是在文档管理中很重要的组成部分。在SharePoint中,版本控制是默认支持的。在mdms2003中,利用word2003的文档修订功能,以及event handler实现了将文档的修订留痕保留到SharePoint中的功能。在mdms2007中,也用了类似的方法。
大的开发版本主要涉及到架构的演进和模块开发重要接口模式的调整。这类新版本的设计规划一般由主开发员支持,由核心团队成员共同讨论制定。一个大版本的发布一般要经历多个Alpha、Beta和RC发布,最后发布最终版,开发周期一般在一年甚至更长。
本文探讨了很多机构今天面临的部署挑战,并讨论了如何在软件构建和部署之间架起一座桥梁。它还解释了使用IBM Rational ClearCase变更管理软件和 IBM Tivoli Configuration Manager 分布式软件能如何帮助自动化、流水化和加速软件的构建/部署过程。
说到版本控制工具,很多人可能都会马上想到CVS和Subversion,但自从开始使用git以后,我在自己的开发过程中都会优先选择git而非前者。