大型软件项目的软件工程管理方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大型软件项目的软件工程管理方法

计研2郑震坤024891

摘要:

本文中介绍了软件配置管理的工具CVS并阐述了如何利用CVS来实现对开发文档和源代码的访问和版本控制。文中还设计了用于软件过程管理的软件工程管理系统,它包括任务管理系统、Bug管理系统和用户认证系统,此系统为管理软件生成过程和进行质量控制而建立,能够对软件项目的过程进行监控。此外,文章中还讨论了软件测试的一些方法和原则。最后,对组件技术以及基于组件的软件工程学方法进行了简要的介绍。

1 •概述

随着企业信息化的深入,对软件项目的需求日益复杂,并会产生频繁的变更,传统的个人英雄主义的开发方式已经越来越不能适应发展的需要。从软件企业的

发展战略来说,如何在技术日新月异和人员流动频繁的情况下,建立本公司的知

识库及经验库,把企业中分散的隐性的财富,即个人的知识及经验,转变为企业的知识和经验,以便提高工作效率,缩短产品周期,加强企业的竞争力,具有至关重要的作用。采用科学的管理思想,辅之以先进的管理工具,已经成为企业未来发展必不可少的手段。

如果软件开发机构不能有效地控制和使用软件资源,则在面对风险时就可能导致软件开发活动出现各种问题。由于不能很好地管理软件过程,会使得一些好的开发方法和技术没有起到预期的作用。项目的成功往往是通过工作组的杰出努力来达到的,这种仅仅建立在依赖特定高素质开发人员基础上的成功,不能保证

全组织的持续稳定的软件生产和质量的长期提高。因此,要降低软件开发过程的风险、保证软件产品质量,就必须加强管理,而软件配置管理是企业过程改善和能力提升的基础。本文中采用CVS作为软件项目中进行配置管理的工具,禾I」用它来对项目文档和源代码实现有效的管理。

软件项目监控的目的是通过建立对软件项目过程的可视性,使项目管理者在

软件项目性能与软件计划出现偏差时采取有效的纠正措施,以确保软件过程的质

量满足要求。优秀的软件过程管理平台是实现在整个项目生命周期中进行项目过程监控的工具保证,这一点尤其在现在大型软件协作开发中至关重要。本文中设

计了一个软件工程管理系统,它由项目管理系统、Bug管理系统和用户认证系统

三部分组成,利用这个系统,开发者和项目管理者可以更好地了解到整个项目的工作情况,对整个项目过程进行有效地监控。

信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。进行软件测试是质量控制的必要步骤,建立起一套有效的自动测试系统,在软件的开发过程中对软件经常地进行测试,这对软件的开发过程具有非常重要的意义。

最后,组件化的程序设计方法对于软件项目的开发也有着不少的帮助,采用组件技术,可以带来软件模块二进制级的复用。近几年来,组件在软件开发中得到了广泛的应用,尤其是J2EE和.NET技术将组件应用于In ternet,进行各种事务处理,显

示出了强大的功能。本文将对组件技术和基于组件技术的软件工程学方法进行简要介绍。

2.基于CVSC具实现软件配置管理

对于一个软件企业或者一个软件开发团队来说,可能遇到过或者正在被版本难以控制的问题所困扰。一个软件往往由许多的模块组成,在不同的阶段(基础功能、新增功能),很可能为了适应不同的环境(如不同的操作系统),并根据不同客户的要求开发了特点各异的版本,这些版本之间有大量的共享模块,以及属于自己的模块。当最后将这些模块组装成系统的某个版本时,会发现所需模块版

本无法确定。

此外,还可能会有团队中并行开发引起的冲突问题。例如:编程人员A和B

共同修改同一个模块,两人经过几个昼夜的奋战之后,又都回存到服务器上,但到了程序试运行的时候,才发现有一个人的修改被冲掉了,这会造成劳动力的严重损失。

因此,需要在软件企业中实施软件配置管理,简称为SCM( Software

Con figuration Man ageme nt )。SCM是一套规范、高效的软件开发基础结构,早已被发达国家软件产业的发展和实践所证明是管理软件开发过程的有效方法。SCh可以系统地管理软件系统中的多重版本;全面记载系统开发的历史过程;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化;SCM对开发

过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报。

软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,支持和控制着整个软件生命周期,同时对软件开发过程的宏观管理,即项目管理,也有重要的支持作用。良好的配置管理能使软件开发过程有更好的可预测性,使软件过程具有可重复性,使用户和主管部门对软件质量和开发小组有更强的信心。若要有效地实施软件配置管理,必须要培养软件开发者的管理意识,结合开发组织的实际情况制订出相应的配置管理规范,由开发人员依据规范,通过专业化的配置管理工具来实现。

在这里,基于CVS工具实现软件配置管理,对文档和源代码进行访问和版本控制。CVS(Concurrent Versions System ,并行版本系统)是基于TCP/IP 协议的版本控制工具,也是当前Open Source中最重要的开发工具之一。CVS是典型的Client/Server 结构的软件,它分为服务器端和客户端两部分,不过大多数CVS软件中将它们和二为一了。在CVS服务器端包含一个仓库(repository ),用于存放处于版本控制下的所有目录和所有各种版本的文件,它保存了对项目源

码每一次改动的记录,和改动的一些注释。CVS会完成对仓库的查询和更新,在

任何时候,你都可以找到仓库中任何文件的任何版本。它容许几个人同时工作在同一个文件,在他们提交文件时来合并他们所做的修改。在修改冲突时会发出警告来通知用户,是否确定将此文件的更新版本放入仓库内,并且是否由某人解决

发生的冲突。

使用CVS最基本的开发流程如下所述:

某个用户把他的所有代码导入(import )到CVS中,生成一个新的模块,然后

其他人可以导出(check out)源码树的一个工作拷贝;每个人都工作在自己

的本地计算机中,当源码树发生了改变,例如增添了一个新的功能时,他们

相关文档
最新文档