软件开发管理系统设计与实现硕士学位论文.doc

上传人:仙人指路1688 文档编号:4069158 上传时间:2023-04-03 格式:DOC 页数:91 大小:1.38MB
返回 下载 相关 举报
软件开发管理系统设计与实现硕士学位论文.doc_第1页
第1页 / 共91页
软件开发管理系统设计与实现硕士学位论文.doc_第2页
第2页 / 共91页
软件开发管理系统设计与实现硕士学位论文.doc_第3页
第3页 / 共91页
软件开发管理系统设计与实现硕士学位论文.doc_第4页
第4页 / 共91页
软件开发管理系统设计与实现硕士学位论文.doc_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《软件开发管理系统设计与实现硕士学位论文.doc》由会员分享,可在线阅读,更多相关《软件开发管理系统设计与实现硕士学位论文.doc(91页珍藏版)》请在三一办公上搜索。

1、工程硕士学位论文软件开发管理系统设计与实现Software development management system design and implementation By Wu Yun B.E.(Hunan University)2006A thesis submitted in partial satisfaction of the Requirements for the degree ofMaster of EngineeringInSoftware EngineeringIn the Graduate SchoolOf Hunan UniversitySupervisorProf

2、essor Ye BoLongJuly,2011湖 南 大 学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入有关数

3、据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密,在_年解密后适用本授权书。2、不保密。(请在以上相应方框内打“”)作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日摘 要软件配置管理是CMM中的一个关键过程域,贯穿于整个软件生命周期中,其目的是建立和维护软件产品的完整性、一致性和可追踪性. 讨论了软件配置管理的基本概念,提出了一种基于CMM实施配置管理的流程,重点讨论了配置标识、版本控制、变更控制、配置状态统计和配置审核等实践活动.本文以软件配置管理的功能为主线,聚集于对国内企业的开发过程的特点,针对特定环节,浅谈可能存在的问题以及相应的

4、解决方法或实现途径。本文是讨论软件开发管理系统的设计和实现的研究。主要研究的内容包括:12整个系统的体系结构的设计。针对这样一个复杂的大型系统,怎样的架构才能保障整个系统的顺利建立,并保证长期稳定的运行;3对于复杂的管理系统,如何提供完善的维护管理,以实现实时,科学管理。通过对软件开发管理系统的设计和实现的研究,体现了软件开发管理的一种实现方案。通过此课题的研究,使得研究成果能够运用于软件开发过程管理中,提高软件项目的开发速度,提升软件服务质量,从而为软件项目的顺利实施提供了基础保障。关键词:软件配置管理;CMM ;SCM;.NET;Abstract CMM software configur

5、ation management is a key process in the field, throughout the entire software life cycle, the goal is to establish and maintain the integrity of software products, consistency and traceability. Discusses the basic concepts of software configuration management is proposed based on CMM implemented a

6、configuration management process, focusing on the configuration identification, version control, change control, configuration status and configuration auditing statistical practice. This software configuration management functions to the main line, gathered in the process of development of domestic

7、 enterprises, the characteristics of specific aspects of possible problems and corresponding solutions or Realization. This article is to discuss the development and management system software design and implementation of research. The main contents include: 1. The whole system architecture design.

8、For such a large and complex systems, how to protect the structure of the smooth establishment of the whole system, and to ensure long-term stable operation; 2. Research data collection. Data collection, the whole management system is based. The integrity of data acquisition, real-time and correctne

9、ss of the normal operation of the entire system of protection; 3. For complex management system, how to provide comprehensive maintenance and management, in order to achieve real-time, scientific management. Software development management system through the design and implementation of research, de

10、velopment and management software reflected a realization. Through this research project, making the research results can be applied to software development management, improve the speed of software development projects, improve software quality of service for the software project to provide a basis

11、 for the smooth implementation of safeguards. Key Words: software configuration management; CMM ; SCM;. NET; 目 录学位论文原创性声明I摘 要IAbstractII目 录IV第1章绪 论11.1 课题的背景和意义11.2 国内外配置管理现状综述21.3 本文的主要研究内容61.4 本文的组织结构7第2章 相关理论知识介绍82.1 CMM82.2.NET技术13处理任务的组织方式202.3 Oracle技术20第三章 软件开发过程管理系统开发设计规划223.1系统总体技术方案设计223.1

12、.1系统体系结构设计223.2系统功能结构设计24系统总体功能结构设计243.3系统处理流程设计253.4子系统功能结构设计263.5任务子系统处理流程设计29部门人员维护30岗位权限维护30菜单维护30子系统维护303.6辅助功能子系统流程设计31留言管理31通告发布313.7系统开发环境32基本要求32硬件要求32软件要求323.8运行环境设计32运行环境要求32第四章 软件开发过程管理系统的实现334.1系统框架和权限控制33功能组334.1.1子系统管理功能模块334.1.2菜单管理功能模块354.1.3部门人员维护功能模块364.1.4岗位人员授权功能模块384.1.6辅助功能详细设

13、计41功能组414.1.7工作剪报功能模块434.1.8通告发布功能模块454.2任务系统详细设计46功能组464.2.1定制工作流程功能模块464.2.2问题录入功能模块474.2.3问题修改功能模块474.2.4问题分析功能模块484.2.5问题接收功能模块494.2.6问题确认功能模块494.2.7问题终止功能模块504.2.8问题查询功能模块504.2.9分配任务功能模块514.2.10接受任务功能模块524.2.11个人任务功能模块534.2.12任务确认功能模块544.2.13个人任务执行情况的查询功能模块554.2.14项目进度查询功能模块564.2.15任务分配情况的查询功能模

14、块574.3文件配置管理详细设计58【cf_create_package】函数58【cf_delete_package】函数59【cf_import_file】函数59【cf_export_file】函数60【cf_delete_file】函数60【cf_relateto_file】函数614.4版本配置管理详细设计61【cv_version】函数61【cv_delete_version】函数62【cv_create_scheme】函数634.5版本查询模块详细设计64【ver_doc_query】函数64【ver_code_query】函数644.6版本变更控制模块详细设计65【cu_fil

15、e_apply】函数65【cu_file_abort】函数66【cu_file_audit】函数66【cu_file_checkoutto】函数67【cu_file_checkout】函数67【cu_test_createplan】函数68【cu_test_checkinfrom】函数68【cu_test_checkin】函数69【cu_test_accept】函数70【cu_test_abort】函数70【cu_test_commit】函数71【cu_test_audit】函数714.7工作剪报功能模块724.8通告发布功能模块74总结与展望76参考文献77致 谢78第1章绪 论1.1 课题

16、的背景和意义随着上个世纪 70 年代的“软件危机”的产生使人们发现,传统的“软件作坊”往往依赖于人们急于创造财富的心理,生产处于一种混沌的、无序的状态,软件的质量得不到保证,甚至中途撤销软件项目的事也常有发生。随着软件产业的发展,软件产品的规模越来越大,开发越来越复杂,开发中所产生的大量中间产品也越来越难于控制,以前传统的生产方式已经不能满足需求了。是采用现代化的管理方法,还是沿用传统的研发手段,已成为软件业发展的关键。与此同时,为了使软件开发组织能够从初始混乱的开发过程,过渡到可重复、可管理的有序化过程,进而上升到更高的成熟度水平,我们需要采取一些方法来规范软件的开发过程,进行有效的软件开发

17、管理。正是在这种背景下,“软件工程”和“软件配置管理”概念被提出,经过长时间的实践,已经形成了一套比较成型的理论体系。软件配置管理是软件过程的一个关键部分,是支持项目团队开发和维护,是软件产品演化过程趋于稳定的一系列控制规则。软件配置管理系统在软件质量管理中起着重要的作用,是CMM I质量管理体系得核心内容之一,是一门用来记录并控制软件产品数据的管理学科。软件开发过程是一个持续不断变化的过程,在这个过程中会产生许多信息,同时由于不可避免的变更,软件产品相关文档、资料、数据的残缺与不一致,软件代码当前实现状态不清晰,不同个人对软件的更改冲突等,成了软件产品开发过程中普遍存在的问题,其结果是出现各

18、类软件故障或造成软件可维护性、可继承性较差。软件配置管理正是为解决这些问题而提出的,它为软件开发提供了一套管理办法和活动原则。随着软件开发规模的不断增大,现在人们越来越认识到配置管理是适应软件开发需求的一种非常有效和现实的技术,对于提高软件质量和软件开发过程的可靠性有着重要意义。什么是软件配置管理软件配置管理(Software ConfigurationManagement,SCM),是一套规范、高效的软件开发基础结构。SCM 可以系统地管理软件系统中的多重版本;全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。S

19、CM 对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报。(引用GB/T11457(1995)软件工程术语、CMMII 等相关定义)配置管理的发展配置管理的概念源于美国空军,为了规范设备的设计与制造,美国空军1962 年制定并发布了第一个配置管理的标准。而软件配置管理概念的提出则在20世纪60年代末70年代初,加利福利亚大学的Leon Presser 教授撰写了一篇名为“Change and ConfigurationControl”的论文,

20、提出控制变更和配置的概念,这篇论文同时也是他在管理该项目(这个过程进行过近1400 万次修改)的一个经验总结。之后在1975 年,他成立了一家名为SoftTool 的公司,开发了自己的配置管理工具: C C C ,这也是最早的配置管理工具之一。随着软件行业的不断发展,软件配置管理越来越成熟,从最初的仅仅实现版本控制,发展到现在的提供工作空间管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力,已经形成了一个完整的理论体系。同时在软件配置管理的工具方面,也出现了大批的产品,如: 最著名的ClearCase;开源产品CVS;入门级工具Microsoft VSS;新秀Hansky

21、Firefly。4 配置管理的主要活动配置管理的主要活动包括: 识别配置、变化控制、状态记录和报告以及配置审计。识别配置是指找出需要管理的中间产品,使其处于配置管理的控制之下,并维护它们之间的相关关系,一般来说,这些中间产品主要包括项目文档,源代码,执行程序,相关设备及资料等;变化控制是指记录变化的有关信息(包括变化的内容、原因和实现者等),用以保障软件产品的质量;状态记录和报告是指通过记录各个配置的变化状态,达到记录和报告整个软件的变化过程的目的;配置审计是指利用配置记录验证软件达到了预期的要求。1.2 国内外配置管理现状综述 国内企业相对于欧美的企业留给别人的印象一般是客户需求繁杂,开发流

22、程单一,开发规模较小,维护期变更繁多。这些特点从本质上来说,可能是由于人的性格特点决定的,他们的细致入微和对所要求事情的精益求精使得我们在做软件项目时,各个细节都要清清楚楚,每件事情都能条理清晰。面对这种情况,软件配置管理的作用和功能显得尤为重要,它给项目提供了一个清晰的流程,合理的控制。如果在项目组内实施的话,便于配置项历史记录的回溯,可以节约对人来说尤其注重的时间,也能本质上提高软件产品的质量;如果是基于企业级建立的话,更是能积累软件财富,提高了软件重用率和软件的生产力,而且极大程度上降低了开发人员流动造成的风险,因为本项目的人员即使无奈被调出,其它项目组由于有着相同的开发规范,被调入的人

23、员和本项目组的人员沟通也会比较容易,具体操作也会非常容易上手。于是,软件配置管理的实施成为一种必然。1关于配置标识在软件开发过程中,为了便于控制和管理,对所有软件配置项,都应按一定的方式进行命名和组织,一般命名采用字符串描述,表明对象的类型(例如:文档、程序、数据) 。虽然客户业务上千差万别,但是从项目的开发产出和最终的产品交付清单上来看,交付物大体上还是相似的,因此,配置项如果在开始时就收集建立得比较合理完善的话,在经过类似CCB的机构审核和各个项目组的PM批准后,会给日后的工作少去很多不必要的麻烦。另外,有一点值得一提的是,当你在一个部门项目组工作过,如果换到另一个部门的项目组,你会很快熟

24、悉新的工作环境,因为各家国内企业都具备着很多的共性,配置项的命名等具有很大的相似性,这恐怕是国内企业在配置项上的一个最大特色了。在人员的配备上,根据实际情况,可以安排相应人数的配置管理员进行配置库的创建,以及日后的工作空间的维护。2关于版本管理理想状态下,每个配置项我们都希望只保存一个版本,既节省空间又看上去清晰,可是实际情况往往是一个项目要保持多个版本,并且随着系统的进一步维护,版本的数量会明显增加。笔者曾经做过这样一个维护项目:维护初期的时候只有少量的用户,后来,随着业务的推广以及产品知名度的提高,又增加了不少的用户,但是这些新增用户的业务流程和以前设计的有些不同,于是,一开始的时候我们采

25、取开发维护两个系统的方法,可是后来又对这两个系统进行了一体化的处理,这样,又恢复到了一个系统的维护。其间,版本产生了不少的演化。版本管理的重要性不言而喻。由此,就引出了配置管理的版本控制,它主要为了解决下列问题:(1) 根据不同用户的需要配置不同的系统;(2) 保存系统老版本,为以后调查问题使用;(3) 建立一个系统新版本,使它包含某些决策而抛弃另一些;(4) 支持两位以上工程师同时在一个项目中工作;(5) 高效存储项目的多个版本。外包企业中的版本控制相对来说是比较简单的,以上要解决的五个问题都会涉及到,但相对来说不需要考虑得很复杂深入,这是因为项目相对较小(一般80人/月左右) ,就算项目很

26、大的话,这个性格上谨小慎微,极度害怕失败的民族的客户一般会为了降低风险,要求开发方把一个大项目切割成几个小项目来完成,这样,虽然给日后的管理造成一定的影响,但是软件产品的成功概率会大大增加。随着项目的分割变小,涉及人员的减少,使得多个软件开发人员同时对一个配置项进行操作与处理的情况也相对降低许多,即使偶尔遇上诸如此类的事情也可以通过相对简单的方式(例如沟通)协同解决。人对于版本控制的安全授权机制一般都非常重视,它贯穿于软件开发周期的各个时期,各个方面。一旦项目启动,不同的项目组成员都会被分配到一个唯一的用户ID号,这表明了用户会拥有一个可供任意使用的私人空间,而且根据不同的工作内容,这唯一的用

27、户ID号也相应地明确了不同的用户权限:负责软件升级者有最大的读、写、运行的权限,一般开发人员在交付的目录下只有读权限,而在团队共享的集成工作空间的开发目录下有读、写、运行的权限等。当然,安全授权机制的方案可以有很多种,可以根据不同的情况进行制定,但是结论是我们应该认识到的:它对各个配置项的管理起到了一个不可估量的作用,既减少了发生错误的概率,也会使项目组成员更有责任感,良好习惯的培养预示着项目开发团队的光明前景,良好的开始是成功的一半。3关于变更控制变更在软件项目的开发期和维护期中都是非常常见的现象,可以毫不夸张地说,变更控制的成功与否将很大程度上影响到客户对开发项目组的满意度,因为人是比较暧

28、昧的民族,我们认为一定的事情他会说可能,我们认为可能的事他一般不会提,直到他能基本确认要发生,所以一旦客户要求变更,基本上是很难说不的,能行得通的方法就是和他们谈时间,但我们怎么可能和这种工作起来不要命的民族相比,谈多了,会认为我们干活不卖力,谈少了,又觉得太对不起自己的开发团队,成天加班怎么行,这真是骑虎难下,进退两难的境地啊!此时,作为软件配置管理的核心功能之一的变更控制管理就要发挥其里程碑式的作用了,合理制定变更流程,以此来提高办事效率,会使我们的变更井然有序,能以最佳的状态去面临每一次很难说不的变更。从变更流程本身来说,实际上并不会太复杂,有过几次变更经验,对此做一个好好的总结和思考,

29、很快便会制定出一个适合的流程来。但是,一旦建立了,就要严格遵守,客户一般不会轻易变化他们的变更请求方式,所以,从这个层面上讲,我们制定好了的流程一般也不会需要什么很大的过程改进。先期的试验项目如果获得成功的话,在整个公司的推广上应该不会带来很大的障碍,当然,各个项目组进行适当的裁剪也是可取的,毕竟,这个世界上不会有两片相同的树叶。有时候变更的内容较为简单,但是人对测试的要求是相当严格的, 一个很简单的变更可能会要求有很多条测试CASE,并且会要求一个不少的交付,这样的测试严格程度在国内一般的软件企业中是少见的。客户对变更履历的要求也是非常严格的,所有的文件一旦发生变更,不管是大是小,时间是宽松

30、或紧张,都会要求我们留下详细的履历,因为在他们眼里,凡是发生的变更都是重要的。为了保证配置项的可追溯性和可读性,这一点的确是非常必要的。4关于配置审核确认变更是否已正确实施有两种措施,一种是正式的技术复审,另一种是软件配置审核。正式的技术复审着重考虑所修改对象在技术上的正确性,复审人员对该对象是否与其他软件配置项以及在修改中可能发生的疏忽和副作用进行全面的评估。软件配置审核作为一种补充措施,主要考虑在正式复审中未被考虑的因素。由此我们可以看出,软件配置管理工作不仅仅是项目组内配置管理员的工作,它是充当各个角色的项目组成员之间的协同工作,只有彼此相互配合,这样才能把配置工作做好。从实际情况来看,

31、复审人员的工作责任是多而重的。复审人员在产品交付前或维护工作中定期对项目进行的配置审核活动所涉及到的范围非常广泛,例如整个配置管理的流程是否被遵循,是否遵守软件工程标准,对配置项是否做了特别的标记,所有的相关配置项是否已一并修改,对已发生变更请求的配置项的标识号是否保证了唯一,修改的日期和执行修改的人员是否已经注明等等。这种审核活动起到了一个监督、控制的作用,原本做得好的项目组继续保持,有欠缺的及时查缺补漏,这样从旁处着手分寸拿捏恰到好处的话,会给软件配置管理在整个软件生命周期里的实施有一个很大的牵引力。在国内企业中,这种类似活动还是比较常见的,而且每次所要确认的相关点还会很多,充分借鉴了人注

32、重细微处的好习惯。5关于配置状态报告为了让开发团队和客户了解项目所处的状况,配置状态报告还是要进行的。当某个软件配置项被赋予新标记或更新标记时,或被批准一项修改申请时,或配置审核完成时都将执行一次配置状态报告。由于它能跟踪任意模式的配置项,提供完整的各种变化的历史版本和汇总信息,所以信息累计起来,会为本项目组的管理控制和以后相似的开发和维护提供一个很有力的参考依据。配置状态报告的模板大体一致,有变更状态,配置库状态,发行信息,备份信息等栏目内容,实际上概述发生了什么事情,谁做的,何时发生的,有什么影响这样一些问题。各个项目组PM,软件配置管理人员,客户等所希望看到的配置状态统计信息的内容可能会

33、有不少的差异。项目组PM可能关心当前发布修复了哪些BUG,分别是什么类型的,是不是都顺利交付了等等;而客户如果心中有杆秤,他可能会更注意实际的工作量等。总之,关注方面千人千面,因人而异。我们要善加利用这个有用的资源。6关于管理工具的应用一些满足软件组织切合实际需求的管理工具可以促使软件配置管理更为合理有效,这是众所周知的;但是要想选择一款完全合适的,的确不是一件容易的事。如果是免费的,功能不很完备的,未必适合公司的管理配置的整个流程;如果是付费的,功能庞大的,可能经过裁剪会制定出合适的,但是购买的价格可想而知。对日软件外包企业现在在中国各大城市遍地开花,不象几年前奇货可居,所以如今,就按日方付

34、给中方的元/人月(工资)来讲也日趋缩小,外包企业可能承接的外包量越来越多,性价比却不见得有所提高,企业盈利也不会有什么质的飞跃。针对这种情况,企业领导也不见得会付巨资去买一些高档管理工具,最好的方法应该就是先用免费工具去实现配置管理中的一些基本功能,然后可以根据实际需要自己去开发一些小工具,要知道对日软件外包企业中虽然很少有配置管理专家,但是却会有了解自身企业需要的管理和技术人才,两者相互补足,随着时间的推移,功能的逐步完善,到时就会通过自己企业的力量开发出一套适合自身流程的工具。这样,既节约了成本投入,又有了合适的工具,更重要的是在企业内部也会使得管理和技术人员得到很好的沟通,更利于开展工作

35、,一举三得,何乐不为。3.1 合适的配置管理工具选择分析由于软件配置管理过程十分繁杂, 管理对象错综复杂, 如果是采用人工的办法不仅费时费力, 还容易出错。因此, 引入一些自动化工具是大有益处的, 同时也是做好软件配置管理的必要条件。目前,国外关于配置管理的研究相当活跃,也出现了一些产品和原型系统。其中具有代表性的软件配置管理产品主要包括有Rationnal公司的Clearcase,Platinum公司的CCC/Harvest,Microsoft的VisualSoureSafe等。配置管理系统主要有格勒诺布尔大学的Adele,Compaq系统研究中心的Vesta等( 1) 常用软件配置管理工具

36、简介 IBM公司的Rational C1earCase 是最好的商用版本控制软件, 功能强大, 但价格比较贵; 而且用户在使用它之前一般都要经过培训, 很难无师自通;CVS 是开放源码组织维护的软件, 在Linux 平台尤其有广泛的应用, 完全免费, 但缺乏技术支持;VSS 是Microsoft 公司的产品, 在Windows 平台的中小型项目开发管理上方便快捷, 但它只能在Windows 下运行, 不能在Unix, Linux 下运行。(2) 选择软件配置管理需要考虑的因素 功能是否符合实际需求, 是否符合团队特点; 性能是否满意; 费用是否可以接受; 售后服务如何。( 3) 配置管理工具选

37、择参考方案综合以上配置管理工具选择需要考虑的因素及中小型软件企业的特点, 提出以下工具选择参考方案: 开发人员较少,资金有限的软件企业建议首先采用VisualStudio 软件包中的VSS 做为配置管理工具。由于VSS 安装、配置、操作都十分简单, 上手容易, 这样在执行配置管理的过程中,工具的培训不会带来太大的阻力, 大家可以集中精力理解配置管理, 从而很快就在团队中形成了版本控制、配置管理的氛围与习惯; 然后再构建CVS 服务器, 作为整个开发组织的配置管理工具, CVS 能够有效地支援Windows、Linux 两个平台上的应用开发, 其性能优秀, 而且免费。 开发团队规模较大, 资金相

38、对雄厚的软件企业建议采用Rational C1earCase 等商用版本控制软件, 这样可避免像CVS、VSS 等工具由于本身某些方面的功能不足而带来的不方便, 从而可以帮助软件企业更好地实施软件配置管理。1.3 本文的主要研究内容本课题是对软件开发管理系统的设计和实现的研究。该系统设计分为两大模块,分别是任务控制子系统和版本控制子系统。其中版本控制子系统采用传统的CS结构,任务控制子系统拟采用BS架构。主要研究的内容包括:1整个系统的体系结构的设计。针对这样一个复杂的大型系统,怎样的架构才能保障整个系统的顺利建立,并保证长期稳定的运行;2数据采集的研究。数据的采集,是整个管理系统的基础。数据

39、采集的完整性、实时性和正确性是整个系统的正常运行的保障;3对于复杂的管理系统,如何提供完善的维护管理,以实现实时,科学管理。通过对软件开发管理系统的设计和实现的研究,体现了软件开发管理的一种实现方案。通过此课题的研究,使得研究成果能够运用于软件开发管理中,提高软件项目的开发速度,提升软件服务质量,从而为软件项目的顺利实施提供了基础保障。1.4 本文的组织结构本文主要研究了软件开发管理系统的设计与实现。文章的结构安排如下: 第二章介绍相关理论背景知识; 第三章是系统的概述,包括系统的体系结构以及开发环境的介绍; 第四章介绍了系统的详细设计; 最后是结论,对论文的作了总结,并对系统的改进提出了自己

40、的建议和设想。第2章 相关理论知识介绍本系统应用到的技术包括:CMM、.NET技术、Oracle技术。2.1 CMM1概述能力成熟度集成模型(CapabilityMaturityModelIntegration, CMM I)是由美国卡耐基梅隆大学的软件工程研究所( SE I)组织开发,于2002年发布的一种规范、实用的途径来管理软件过程的模型 1 .CMM I通过指导软件开发人员的活动来改进软件过程,以达到软件过程可复用性、可定量管理、可有效控制的目的.软件配置管理( Software Configuration Manage2ment, SCM)是CMMI可重复级的一个关键过程域(Key

41、ProcessArea, KPA) ,其目的是在整个项目的软件生命周期中,保持软件产品的完整性和可追踪性,这包含了对改变的控制和所有能影响到改变的软件因素的管理.2.1.1 软件配置管理的基本概念2.1.1.1软件配置项软件配置项( Software Configuration Item, SC I)指定为软件配置管理的对象且在软件配置管理过程中作为单个实体予以处理的软件工作产品. 项目SCM工作是从识别软件系统的配置项开始,以下3 类都可成为项目的配置项: (1)对外交付的软件产品,如源代码; ( 2)指定的内部软件工作产品,如需求文档、设计文档等; ( 3)指定的内部使用的支持工具,如编辑

42、环境.基线为了有效地控制变动, SCM专门引入了基线的概念. 基线常对应于开发过程中的里程碑,其标志是有一个或多个SCI的交付,且这些SCI已经过技术审核而获得认可. 对于已成为基线的SCI,在进行修改时,必须按照一个特殊的、正式的过程进行评估,确认. 基线一般分为功能基线、指派基线和产品基线.功能基线:系统分析与软件定义阶段结束时,产生系统设计规格说明中对待开发软件系统的规格说明,经正式评审和审批后建立该基线.指派基线:需求分析阶段产生软件需求的规格说明,经正式评审和审批后建立该基线.产品基线:组装与系统测试结束时,经系统测试与确认后,产生有关所开发的产品的全部配置项的规格说明,经正式评审、

43、鉴定和审批后建立该基线.角色软件配置管理过程中主要涉及到的角色包括项目经理、配置控制委员会( Configuration ControlBoard, CCB) 、SCM小组、CM 经理、配置管理员、系统集成员、开发人员和测试人员,不同的角色具备且只能具备自己职责范围内的相应权限.项目经理是整个软件开发活动的负责人,主要的职责是制定和修改项目的配置管理策略,批准和发布配置管理实施计划,审阅CCB的报告. 配置管理员根据配置管理计划执行各项管理任务,完成配置审核并提交报告,对开发人员进行相关的培训.CCB负责指导和控制配置管理的各项具体活动的进行,审核变更申请,根据配置管理员的报告决定相应的对策,

44、为项目经理的决策提建议. 对于普通的小型软件项目而言, CCB可由项目经理或者配置管理员替代. CM经理负责为项目团队提供全面的配置管理基础设施和环境,并支持配置管理活动的角色.版本版本是某一配置项的已标识了的实例. 在一般的开发中,修改后的文件保存会直接覆盖原有文件,而在配置管理中,配置项文件在发生变更后保存是形成该文件的新版本,与原有版本一同存在,这样使整个开发过程有迹可寻,确保回溯性和可视性.基于CMM 的软件配置管理的实施SCM是CMM 中的一个基础构件,在这个KPA中包含了业界普遍认可的、行之有效的最佳实践,然而,在该模型中,并没有给予如何实施配置管理的指导,只告诉实施人员在配置管理

45、过程中应该做什么以及一些简单的方法. 这给采用该模型进行软件过程改进、实施配置管理的组织带来了一定的难度.在实施配置管理的过程中,由SCM组与项目经理一起制定SCM计划. 要将制定配置管理计划的任务分配到指定的人员,要确保负责制定配置管理计划的人员在目标、规程和方法等内容方面接受培训,同时要确保所有受影响的部门或者个人都要参与评审配置管理计划.创建配置管理环境(1) 设置软件配置组织结构SCM过程实施必须有一个独立的机构,如SCM组. 配置管理组由配置管理专职人员组成,目前主要由CM经理、配置管理员. SCM过程中还涉及到其他的角色,具体见前文所述.(2) 建立SCM文件体系SCM实施文件体系

46、包括:第1层的SCM方针政策,描述SCM的目标、方法、途径,由CM经理编制;第2层次的SCM过程,是整个文件体系的核心,将SCM标准的包括执行活动在内的所有共同特性的关键实践予以文件化和制度化,由CM经理组织人员编制;第3层次的配置管理规范和适合目标机构的配置管理基本章程,为具体执行SCM活动提供作业规范或模板,一般由从事这项具体工作的人员编制,由CM经理审核,经项目经理批准. 下层的文件支持上层的文件,形成金字塔构架的文件体系.(3) 提供SCM所需的资源组织必须提供足够的资源以保证具备实施SCM的执行能力. 在实施CMM过程中, SCM是最需要软件工具支撑的KPA. 这些工具包括SCM软件、配置状态统计软件等,如Rational Clear Case、CVS等. 选择工具时须考虑SCM目标和过程,组织的规模、软件开发方式和特点. 在购买了工具软件后,必须对操作人员进行上岗培训.(4) 建立软件配置管理库系统建立软件配置管理库系统的主要目的是用来存放软件基线. 它可以对软件配置管理进行多级的控制,譬如在产品的开发周期中,不同的阶段有着不同力度的配置管理,随着产品不断成熟,控制力度也随之增强;提供对库中配置项的存储和修改的功能,支持在相关组之间和库中不同控制级间共享和传输配置项;支持生成软件配置管理的报告文档以及软件基线内容的报告文档

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号