基于 CMMI 的软件配置管理研究
- 格式:pdf
- 大小:183.17 KB
- 文档页数:4
_T ("欢迎使用%s "),wxVERSION_STRING );wxMessageBox (msg ,_T ("关于"),wxOK|wxICON_INFOR-MATION ,this );}(4)程序入口类指定宏:IMPLEMENT_App ()wxWidgets 为了调用OnInit 方法,提供了一个宏IMPLE-MENT_APP (…),这个宏有一个参数,需要将MyApp 做为参数传入。
即IMPLEMENT_APP (MyApp )。
这个宏相当于一个WinMain 函数(和控制台程序的main 函数类似),即在WinMain 函数中调用了MyApp 中的OnInit 函数。
在加入这个宏后,就可使用一个C ++编译器将以上的源程序编译生成exe 文件。
程序执行的一般过程:①每个wxWidgets 程序依照系统平台的不同,不同的main 函数或者winmain 函数或者其它类似的函数被调用(这个函数是由wxWidgets 提供的,而不是由应用程序提供的)。
②wxWidgets 初始化它自己的数据结构并且创建一个MyApp 的实例。
wxWidgets 调用MyApp ::OnInit 函数,这个函数会创建一个MyFrame 的实例。
③MyFrame 的构造函数通过它的基类wxFrame 的构造函数创建一个窗口,然后给这个窗口增加图标,菜单栏和状态栏。
④MyApp ::OnInit 函数显示主窗口并且返回真。
wxWidgets 开始事件循环,等待事件发生并且将事件分发给相应的处理。
3结束语跨平台类库wxWidgets ,如同MFC 、QT 类库一样开发GUI应用程序,只有充分理解wxWidgets 的框架结构、控件类等,才能真正开发出符合要求的程序。
本文详细阐述了使用wxWidgets 工具包开发跨平台GUI 的主要控件Frame ,Panel ,Sizer 的关系,并结合实例给出了开发GUI 程序的框架和流程,希望能对用C ++语言开发跨平台程序的有志之士有所帮助。
参考文献:[1]K EVIN H OCK ,STEFAN CSOMOR ,JULIAN SMART .Cross -Platfor -mGUIProgrammingwithWxWidgets [M ].UK :PrenticeHallPTR ,2005,7.[2]WxWidgets 跨平台GUI 开发[EB/OL ]./wiki/index.php/WxWidgets.2007,11.[3]熊凯,邓立苗,史新梁.利用wxWidgets 工具包开发跨平台程序的研究[J ].莱阳农学院学报,2006(2).[4]W.R ICHARD S TEVENS ,BILL FENNER ,ANDREW M.RUDOFF.UNIX network programming :the sockets networking API [M ].Addi -son Wesley ,2003,11.(责任编辑:卓光)基于CMMI 的软件配置管理研究金兰(华中科技大学武昌分校计算机与电子系,湖北武汉430064)摘要:软件工程过程中经常会遇到不正确性、不可见性、不完整性、不一致性等一系列问题。
以软件配置管理(Software Configuration Management ,简称SCM )作为研究对象,基于能力成熟度模型集成(Capability Maturity ModelIntegration ,简称CMMI )标准,提出了软件配置管理的实施步骤。
关键词:能力成熟度模型集成;软件配置管理;配置标识;配置库;版本控制;变更控制中图分类号:TP393.02文献标识码:A文章编号:1672-7800(2009)11-0042-040引言软件危机始终伴随着软件产业的发展,软件开发过程中产生了如下一些常见的问题:软件产品缺乏可视性;缺乏完整性和一致性;软件产品跟踪与审核的困难;制订下一阶段计划缺乏依据。
为了解决这些问题及与之相关的众多软件研发的问题,美国国防部资助卡内基梅隆大学软件工程研究所开发了软件能力成熟度模型集成(Software Capability Maturity Model Inte-gration ,SW-CMMI )。
软件配置管理简称SCM (Software Configuration Management ),是CMMI2级中的关键过程域。
首先确认在开发过程中所有会产生变动的软件产品的关键元素(如代码、设计文档)为配置项,并对其在接下来的所有变化进行相应管理,保留有益的变更,控制无益的变更。
SCM 最根本、最简洁的定义就是用于管理软件的变更的过程域,它可以有效控制软件开发过程的混乱程作者简介:金兰(1979-),女,湖北安陆人,硕士,华中科技大学武昌分校讲师,研究方向为软件工程,数据库,软件测试。
软件导刊Software Guide第8卷%第11期2009年11月Vol.8No.11Nov.2009第11期度,从而保证开发方向的正确性和产品质量的可靠性。
1配置标识配置管理的对象是配置项,一切功能的实施都必须在这之上来操作。
1.1选择配置项配置项可以由一个或多个文件组成。
配置项要进行一定的筛选,对于相当稳定,不易变化并且对最终产品没有直接影响的工作产品可以不作为配置项进行管理,譬如状态报告。
而项目计划,需求规格说明,设计文档,测试计划和数据,源代码,可执行代码,工具,质量手册等这些就是比较典型的配置项。
另外还可以对配置项进行一定程度的集成,譬如可以把用来生成一个“构件”的几个代码文件设定为一个配置项来进行统一管理。
1.2标识配置项配置项标识的内容包括:配置项名称、与其他配置项的联系以及版本信息等。
标识的具体形式需具有以下3个特点:唯一性、关联性和描述性。
1.3建立配置库标识好了的配置项要集中存储形成配置库(SCL),软件开发过程中的各配置项的各版本包括半成品或阶段产品以及最终产品都要存放在SCL里。
2版本控制为了适应不同环境特点和满足不同用户的个性需求,往往一个项目保存多个版本。
软件配置管理的版本控制主要解决下列问题:①根据不同用户的需要配置不同的系统;②保存系统老版本,为以后调查问题使用;③建立一个系统新版本,使它包含某些决策而抛弃另一些;④支持两位以上工程师同时在一个项目中工作;⑤高效存储项目的多个版本。
版本管理是针对各种软件配置项的修改和变化的管理。
它的主要功能是记录和追踪文件的变更,可以在任何时候恢复任何一个配置项的任意版本,保证产品的可追溯性,为调整代码、清除BUG提供了很大帮助。
版本管理的另一个主要功能是支持并行开发,它能有效地解决版本的同步以及不同开发者之间的沟通问题,从而减少错误、保证质量、提高了效率。
版本管理是软件配置管理的核心功能。
2.1版本演进版本控制规定:当开发人员编辑或修改一个文件时,必须通过检出(Check out)方式来访问软件配置库(SCL)中的文件,修改后再通过检入(Check in)方式以新的版本文件形式出现在配置库中,而不是覆盖原始文件。
如图1所示,文件在修改后以后的新版本与原先版本共同保存在配置库中。
文件的任何变动都可以保留下来,从而不会担心代码丢失的问题。
软件导刊2009年本的并行开发。
当3.0Version开发完后,进行3.0Version的发布。
同时,将从3.0BETA至3.0Version的变化部分合并到分支3.1中,从而使得分支3.1包含3.0Version中的全部功能,然后继续进行3.1的后续开发。
以图3为例说明该并行开发配置管理策略的实现机制。
(3)在软件的实际开发过程中,软件产品的不同的功能往往由不同的开发人员或开发小组分工完成。
如果不进行有效的分支管理甚至不建立分支,势必存在以下问题:①集成或合并版本时,正常的开发被迫停止;②当整个项目的个别功能没有完成时,项目无法发布,用户可使用的软件功能为零。
以上问题带来的后果必然是开发效率的降低、项目整体进度的延误、项目预算的超支等。
为解决如上问题,可采取针对不同功能的并行开发策略。
以图4为例进行说明。
在主分支(main分支)上建立一个集成分支,然后再在集成分支上建立两个独立的功能1分支和功能2分支。
开发完成的功能合并到集成分支上,再将集成分支合并到主分支,并进行测试和发布。
从而可以实现完成多少功能,就发布多少功能的管理目标。
第11期CMO将获准的CR交送开发组织负责人,由其负责安排相应的资源,从配置库中提取SCI来实施更改。
在更改实施的过程中,严格按设计、编码和测试的流程进行,同时,与程序相关的文档也必须做出相应修改,以保证一致性。
一旦完成更改还必须有反复的回归测试来保证变更已达到预期的目的,并且不会影响其它的正常功能。
(5)提交修改后的SCI将修改后的SCI和相应的回归测试报告一并提交给CMO,再次记录到更改数据库中。
(6)重建软件新版本(7)CMO生成变更报告并通知给所有相关人员。
4状态报告配置状态报告就是根据配置项操作数据库中的记录来向管理者报告软件开发活动的进展情况。
这样的报告应该是定期进行,并尽量通过CASE工具自动生成,用数据库中的客观数据来真实的反映各配置项的情况。
配置状态报告根据报告应着重反映当前基线配置项的状态,以作为对开发进度报告的参照。
同时也能从中根据开发人员对配置项的操作记录来对开发团队的工作关系作一定的分析。
配置状态报告应该包括的主要内容:配置库结构和相关说明、开发起始基线的构成、当前基线位置及状态、各基线配置项集成分支的情况、各私有开发分支类型的分布情况、关键元素的版本演进记录、以及其它应予以报告的事项。
状态报告中提供的数字是用数据库中的客观数据通过工具自动生成,因此它可以真实的反映出各配置项的当前状态及变更情况,比如可以客观地反映出更改申请单的已完成和未完成工作量,这就避免了项目实际情况与进度报告不符的问题发生,从而可以更有效的进行管理和控制。
5配置审计配置审计主要作用是作为变更控制的补充手段,其目标是为了确保软件配置管理的有效性,不允许出现任何混乱现象,体现了配置管理的最根本要求。
在某些情况下,它被作为正式的技术复审的一部分,但当软件配置管理是一个正式的活动时,该活动由软件质量管理人员单独执行。
6结束语软件配置管理的主要任务也就归结为以下5部分:对配置项进行标识;对配置项进行版本控制;对配置项进行变更控制;定期进行状态报告和定期进行配置审计。
几个领域之间的关系如图7所示。
配置标识和版本管理为基础,变更控制为核心,再辅之以状态报告和配置审计作为监控的手段。