系统分析师论文范文-论项目的配置管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
论项目的配置管理
【摘要】
2010年6月,我公司承接了某高校的《网络多媒体教学录播系统》项目的开发,我有幸参与其中,并担任项目经理一职,主要负责项目的开发管理工作。
该项目的目标是应用先进的流媒体技术构建直播、点播教学平台。
文章结合本项目的实践,重点讨论源代码的配置管理。
以往项目开发过程中,普遍存在版本混乱、源代码的管理安全性差等问题。
为了有效地解决这些问题,本项目中,我们加强了源代码配置管理,主要从版本控制和变更控制两个方面进行。
在版本控制方面,主要安排专门代码配置管理角色、选用VSS版本控制工具、建立代码配置库、集中存放代码至VSS服务器、建立安全权限机制。
在变更控制方面,主要制订变更控制流程。
该项目已经成功上线,我们采取的源代码配置管理措施取得良好的效果,但在具体执行过程中,也遇到了一些问题,例如,部分人员有抵触情绪。
针对这些问题我们已经采取了一些措施。
【正文】
随着现代教育技术改革的深化,流媒体技术也越来越多的应用于教学领域。
《网络多媒体教学录播系统》正是在这样的背景下被开发的,其主要功能是通过校园网络直播教师授课实况,并将实况媒体流记录成ASF格式媒体文件供学生课后点播用。
具体功能有音视频采集、音视频编解码、音视频回放、记录文件、索引文件、剪辑合并文件、点播、直播等。
音视频采集功能:从采集卡获取音视频数据。
音视频编解码:采用WMV/WMA编解码算法进行音视频的编解码。
音视频回放:播放本地文件或网络媒体流。
记录文件:将网络媒体流记录成ASF格式的音视频文件。
索引文件:对记录生成的ASF文件进行索引。
剪辑合并文件:剪辑ASF格式的文件;将两个ASF格式的文件合并成一个文件。
直播点播:用户通过网络播放ASF文件或网络媒体流。
我参与了上述项目的开发,并担任项目经理,主要负责项目开发管理工作。
本项目合同规定的开发期限为9个月,共计7人参与了项目开发,其中,项目经理1名、系统分析人员1名、设计与编码人员3名、测试人员2名。
使用的主要开发工具是VS2010。
项目的配置管理主要是对软件生命周期中的各个阶段产品、最终演化和变更地管理,它是软件质量管理的重要组成部分。
结合本项目的开发实践,本文重点讨论对源代码的配置管理。
在以往项目开发过程中,对源代码的管理,主要由开发人员采用多
份拷贝的形式保存在本地计算机上,这样导致了许多问题,主要表现如下:1)源代码版本混乱。
由于开发过程中,功能模块、子系统等均会产生了许多中间版本,每个子系统可能有多个功能不同的版本,例如,发布给不同OEM用户的版本。
这样,导致了版本数量膨胀,而且对每个版本也缺少必要的说明,往往到项目开发的后期,版本出现混乱现象,例如,开发人员自己都不太能搞清楚,每个版本的具体功能,还有哪些待解决的问题等。
2)代码安全性难以保证。
源代码分散保存多台计算机上,安全策略难以有效执行,开发计算机在遭到恶意入侵、感染病毒等情况后,可能会导致源代码的丢失。
为了消除或减少上述问题,提高项目开发效率和产品的质量。
本项目中,我们建立了代码的版本控制和变更机制,并选用微软公司的VSS版本控制工具来辅助代码的管理。
一、版本控制配备专门的代码版本控制角色,即配置管理员。
仔细分析以往项目中的源代码管理问题,不难发现,缺少人力资源支持是其重要原因之一。
因此,本项目中,我们指定一名测试人员来负责版本管理,工作内容主要有选择管理工具、建立维护代码配置库、分配权限、建立代码管理流程和制度等。
选用VSS版本控制工具辅助源代码管理。
我们选用了微软公司开发的版本控制工具VSS。
该工具由服务器和客户端两部分组成。
服务器主要由配置管理员操作。
使用VSS工具建立代码配置管理库。
本项目中,建立了两类代码配置库,分别为开发库和产品库,它们的库结构相同。
其中,开发库主要存放开发过程中编码人员频繁修改的代码版本;产品库主要存放每个开发周期结束发布的可操作的版本的所有代码版本。
配置库是由一组三层树状目录结构组成。
第一层为根目录,开发库的目录名称为“录播项目代码开发库”,产品库的目录名称为“录播项目代码产品库”;第二层为子系统目录层,开发库和产品库完全相同,目录名称有编码子系统、媒体分发子系统、子系统共享等;第三层为功能模块目录层,开发库和产品库完全相同,目录名称有音频采集、视频采集等。
建立安全访问配置库的机制,集中存放项目代码。
配置管理员在VSS服务器上建立每个项目组成员的登陆信息,内容包括登陆账号和密码。
将配置库中的每个目录的访问权限分为3类,即不可见、只读、可写和完全控制(读、写、删除等)。
为每个项目组成员分配库目录访问的权限,例如,对音频采集目录,负责该模块代码编写的工程师有完全控制权限,项目经理有只读权限,相关程序组长有写权限,其它人员为不可见权限。
项目组内所有编码人员将源代码集中存放至配置库中,并配置管理员分配的权限范围内使用Check In和Check Out访问。
二、版本变更控制以往的项目开发实践表明,对项目地变更不加控制很快就会引起混乱。
因此,本项目中,针对某些变更我们制订了严格的变更流程。
通常这些变更包括增加或删掉某些功能,或者为了改变完成某个功能的方法需要的变更等。
具体变更流程如下:1)用户提出书面的变更请求,详细说明变
更的理由、变更的价值、是否愿意承受变更相关影响等。
2)由变更控制机构评价变更的技术可行性、变更带来的风险、变更引起成本的增加等,并生成变更评价报告。
本项目中,变更控制机构是由部门经理、项目经理、系统分析、相关设计人员组成。
3)提交变更评价报告给变更控制负责机构,该机构由项目相关的市场负责人或用户、部门经理、项目经理组成。
4)变更控制负责机构以书面的形式正式批准变更。
5)相关人员从代码配置库(通常是产品库)Check Out相关源代码,并根据变更要求实施变更,进行回归测试,再把测试后的版本Check In进代码配置库中建立下一个新版本。
6)生成变更完成报告,并向变更控制负责机构提交该报告。
本项目已经成功上线,受到用户好评。
源代码的版本控制和变更控制执行地效果良好,开发过程中没有出现版本混乱现象,代码集中存放安全性也有很大的提高。
但是,我们也碰到一些问题,例如,在项目编码实现的开始阶段,开发人员觉得麻烦,不太愿意接受VSS地控制。
针对该问题,我们加强配置管理知识的培训;将VSS版本控制工具地使用列入项目组人员的业绩考核范围,从思想上和制度保证配置管理的有效实施。