(计算机软件与理论专业论文)面向嵌入式软件测试的配置管理平台的研究与设计.pdf_第1页
(计算机软件与理论专业论文)面向嵌入式软件测试的配置管理平台的研究与设计.pdf_第2页
(计算机软件与理论专业论文)面向嵌入式软件测试的配置管理平台的研究与设计.pdf_第3页
(计算机软件与理论专业论文)面向嵌入式软件测试的配置管理平台的研究与设计.pdf_第4页
(计算机软件与理论专业论文)面向嵌入式软件测试的配置管理平台的研究与设计.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(计算机软件与理论专业论文)面向嵌入式软件测试的配置管理平台的研究与设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

气、 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 五! 】;丕 日期:年月日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 盈l 】li 奉导师签名: 日期: z 娃武 年月日 - 摘要 摘要 随着软件规模的不断扩大和软件工程复杂程度的不断提升,人们普遍采用配 置管理相关策略对软件过程进行规范化管理。随着软件配置管理在软件企业中的 普及,很多国内外商业组织也推出了自己的软件配置管理工具。但是,由于面向 嵌入式软件测试的配置管理工具相对贫乏,导致测试过程可能缺乏有效的配置管 理机制。 本课题的最终目标是搭建面向嵌入式软件开发工作的统一协同平台。在这一 背景下,开始本课题的初步研究,通过建立配置管理平台对测试过程进行管理, 提高嵌入式软件测试工作的效率和质量。 大体上,本文的主要工作包括: ( 1 ) 研究了配置管理工具在国内外的发展状况,并对当前各种常用的配置管 理工具进行对比; ( 2 ) 在分析了嵌入式软件测试过程中的常见问题后,提出一种面向嵌入式软 件测试的配置管理平台的功能模型; ( 3 ) 在功能模型的基础上,确定了系统平台架构,并进行需求分析和概要设 计,并对关键模块进行了详细设计,最终实现了一种基于w e b 的配置管理平台, 完成项目初期建设的目标。 在技术方案上,本平台多选用开源产品,以s u b v e r s i o n 为版本服务器,t o m c a t 为w e b 服务器,通过s v n k i t 实现了t o m c a t 与s v n 之间的通信,结合数据库和 j 2 e e 相关技术,共同搭建起一个基于w e b 访问的配置管理平台。 市面上的商业化配置管理工具价格不菲,且多为标准化产品,不能很好地满 足企业配置管理方面的需求。而本产品由于多采用免费的开源产品,具有成本优 势,也使得企业定制配置管理平台成为可能,从而较好地满足企业的需求。 本文的研究工作对开源技术在配置管理平台上的运用具有重要作用。 关键词:s u b v e r s i o n ,嵌入式系统,软件测试,软件配置管理 “ a b s t r a ( 了r a b s t r a c t a st h es c a l ea n dc o m p l e x i t yo fs o f t w a r ee n g i n e e r i n gi n c r e a s e ,c o n f i g u r a t i o n m a n a g e m e n ti sw i d e l ya d o p t e di n t h es t a n d a r d i z e dm a n a g e m e n to fs o f t w a r ep r o c e s s w i t ht h ew i d e s p r e a do fs o f t w a r ec o n f i g u r a t i o nm a n a g e m e n ti ns o r w a r ee n t e r p r i s e s , m a n yd o m e s t i ca n df o r e i g n c o m m e r c i a lo r g a n i z a t i o n sh a v ed e v e l o p e d 廿l e i ro w n s o f t w a r ec o n f i g u r a t i o nm a n a g e m e n tt o o l s y e t ,t h et e s t i n gm a n a g e m e n tt o o l sf o r e m b e d d e ds o f t w a r et e s t i n ga r er e l a t i v e l ys c a n t y , w h i c hm a yr e s u l ti nal a c ko fe f f e c t i v e c o n f i g u r a t i o nm a n a g e m e n tm e c h a n i s mi nt e s t i n g t h ep r o j e c ti sd e s i g n e dt oe s t a b l i s hau n i f i e dc o o p e r a t i v ep l a t f o r mf o re m b e d d e d s o f t w a r ed e v e l o p m e n t t h er e s e a r c hw o r ka tt h ei n i t i a l s t a g ea i m st oi m p r o v et h e e f f i c i e n c ya n dq u a l i t yo fe m b e d d e ds o f t w a r et e s t i n gb ye s t a b l i s h i n gac o n f i g u r a t i o n m a n a g e m e n tp l a t f o r mt om a n a g et h et e s t i n g t h er e s e a r c hw o r km a i n l yi n c l u d e s : ( 1 ) ac a r e f u ls t u d yo nt h ed e v e l o p m e n to fc o n f i g u r a t i o nm a n a g e m e n tt o o l sb o t ha t h o m ea n da b r o a d a n dac o m p a r i s o nb e t w e e nt h e f i e q u e n t l yu s e dc o n f i g u r a t i o n m a n a g e m e n tt o o l sa r em a d e ; ( 2 ) b a s e do nt h ea n a l y s i so ff i e q u e n tp r o b l e m si ne m b e d d e ds o f t w a r et e s t i n g , a f u n c t i o n a lm o d e lo fc o n f i g u r a t i o nm a n a g e m e n tp l a t f o r mf o re m b e d d e ds o l , r a r et e s t i n g i sp r o p o s e d ; ( 3 ) t h es y s t e mp l a t f o r ma r c h i t e c t u r ei s d e t e r m i n e db a s e do nf u n c t i o n a lm o d e l r e q u i r e m e n ta n a l y s i s ,p r e l i m i n a r yd e s i g na n dd e t a i l e dd e s i g n sf o rt h ek e ym o d u l e sa r e c a r d e do u t f i n a l l yaw e b - b a s e dc o n f i g u r a t i o nm a n a g e m e n tp l a t f o r mi se s t a b l i s h e d , w h i c hf u l f i l l st h eo b j e c t i v ea tt h ei n i t i a ls t a g eo ft h ep r o j e c t t e c h n i c a l l y , s u b v e r s i o ni ss e l e c t e da st h ev e r s i o ns e r v e rf o rt h ep l a t f o r ma n d t o m c a ta si t sw e bs e r v e r t h ec o m m u n i c a t i o nb e t w e e nt o m c a ta n ds v ni sr e a l i z e db y s v n k i t f i n a l l yaw e b - b a s e dc o n f i g u r a t i o nm a n a g e m e n tp l a t f o r m i se s t a b l i s h e di n c o m b i n a t i o nw i t hd a t a b a s ea n dr e l e v a n tj 2 e et e c h n o l o g i e s a st h ec o m m e r c i a lc o n f i g u r a t i o nm a n a g e m e n tt o o l sa r ee x p e n s i v ea n dm o s to f t h e ma r es t a n d a r d i z e dp r o d u c t s ,t h e yc a n n o tf u l l ym e e tt h ee n t e r p r i s e s c o n f i g u r a t i o n i l a b s t r a ( 玎 m a n a g e m e n tr e q u i r e m e n t s t h i sp r o d u c ti sc o m p e t i t i v e i n p r i c e a si ti sm a i n l y d e v e l o p e db yf r e eo p e n - s o u r c et o o l sa n dm a k e si tp o s s i b l ef o r t h ee n t e r p r i s e st o c u s t o m i z ec o n f i g u r a t i o nm a n a g e m e n tp l a t f o r m s ,w h i c hb e t t e rm e e t st h ee n t e r p r i s e s r e q u i r e m e n t s t h er e s e a r c hw o r ki nt h i sp r o j e c tp l a y sa ni m p o r t a n tr o l ei nt h ea p p l i c a t i o no f o p e n - s o u r c et e c h n o l o g i e si nc o n f i g u r a t i o nm a n a g e m e n tp l a t f o r m k e yw o r d s :s u b v e r s i o n ,e m b e d d e ds y s t e m ,s o f t w a r et e s t i n g ,s o f l a v a r ec o n f i g u r a t i o n m a n a g e m e n t i i i 乞 目录 目录 第一章绪论1 1 1 配置管理工具概述1 1 2 国内外研究现状2 1 2 1 软件配置管理的发展2 1 2 2 软件配置管理工具的比较3 1 2 3 面向嵌入式软件测试的配置管理工具3 1 2 4 支持w e b 访问的版本管理工具5 1 3 课题任务5 1 3 1 课题背景5 1 3 2 课题任务6 1 3 3 研究意义6 1 4 论文组织7 第二章软件配置管理与嵌入式软件测试8 2 1 软件配置管理8 2 1 1 软件配置管理中的基本概念8 2 1 2 配置管理中的关键活动1 0 2 2 嵌入式软件测试。1 2 2 2 1 嵌入式软件测试1 2 2 2 2 嵌入式软件测试的特殊性1 2 2 3 嵌入式软件测试中配置管理的实施1 2 2 3 1 嵌入式软件测试中的问题1 3 2 3 2 配置管理的解决方案。1 4 2 3 3 模型的提出及功能描述l5 2 4 本章小结16 第三章平台工具背景介绍1 7 3 1 相关产品介绍1 7 :;1 1 a p a c h e 1 7 :;1 2t o m c a t 17 7 i v 目录 3 1 - 3s v n 。1 8 3 1 4s v n k i t 1 9 3 2 配置管理工具的选择2 1 3 3 本章小结2 1 第四章系统需求分析2 2 4 1 系统设计目标2 2 4 2 系统功能结构图2 2 4 - 3 系统需求分析2 3 4 3 1 基本信息管理2 4 4 3 2 测试管理2 4 4 3 3 配置标识2 5 4 3 4 版本管理2 5 4 3 5 变更管理2 7 4 4 本章小结2 9 第五章系统概要设计3 0 5 1 系统平台体系的选择3 0 5 2 系统层次结构3 0 5 - 3 主要模块设计31 5 3 1 基本信息管理31 5 - 3 2 测试管理3 5 5 3 3 版本管理3 8 5 3 4 变更管理4 1 5 4 本章小结4 7 第六章系统关键技术的研究与实现。4 8 6 1 平台体系结构图。4 8 6 2 平台搭建4 8 6 2 1 系统软硬件平台配置4 8 6 2 2s v n 与a p a c h e 的集成4 9 6 3 基于i 强a c 的权限管理5 1 6 3 1r b a c 模型简介5 1 6 3 2 基于r b a c 的算法实现5 1 6 3 3 基于r b a c 的目录访问权限近似实现5 3 v 目录 6 4 版本管理策略及算法。5 5 6 4 1 版本存储机制5 5 6 4 2 版本号的演化算法5 6 6 4 3 基于b s 体系的版本管理平台的研究5 8 6 4 4 核心算法的实现6 2 6 5 本章小结6 5 第七章结束语6 6 7 1 论文工作总结6 6 7 2 不足和展望6 7 7 2 1 不足6 7 7 2 2 课题展望6 7 致谢6 8 参考文献6 9 v i 第一章绪论 1 1 配置管理工具概述 第一章绪论 从2 0 世纪7 0 年代开始,随着计算机应用领域的不断拓宽以及计算机软件系 统的规模和复杂性的增长,软件危机出现了。人们在研究如何应对软件危机的过 程中,提出并发展了软件工程理论,当时这一理论最重要的组成部分之一就是配 置管理。美国国防部首先提出了配置管理的概念,主要用于设备的设计和制造, 并于1 9 6 2 年制定并发布了首个配置管理标准d o d s t d 2 1 7 6 ,要求软件企业采用 规范化的软件开发方法并实施配置管理。不久,美国h n , 少l , i 大学巴巴拉分校的l o e n p r c s c s r 教授提出了变更和配置控制的理论;1 9 7 5 年,他在自己开设的公司s o f t t o o l 里研制出世界上第一款配置管理工具:c c c 。至此配置管理工具正式进入人们的 视野,并在此后获得飞速发展。 配置管理工具是伴随着软件项目的内在需求飞速发展起来的。随着软件工程 的发展,配置管理体系日益成熟。符合现代软件开发模式、提供更加专业有效的 服务是配置管理工具的发展方向之一【l 】。人们逐渐认识到软件产品的质量很大程 度上取决于软件过程的管理。配置管理工具为软件企业提供的不再只是传统意义 上的“版本控制 的支持,还提供了工作空间管理、过程管理、并行开发、变更 管理的支持。如今的配置管理工具已经成为一个能够为软件开发人员提供协作、 能够与多种开发工具、开发平台协同的集成环境的平台。 配置管理工具按其应用规模,主要可以划分为以下三种类型: ( 1 ) 面向大型软件企业,如i b m 的c l e a r c a s e 2 】【”,提供了一整套很成熟的 商业解决方案,能够和多种开发工具、开发平台进行集成,已经成为现代配置管 理工具的代名词。 ( 2 ) 面向中小企业,由于受发展规模、人员、资金等诸多方面的制约,目前 还停留在配置管理工具的初级使用阶段,主要选用的配置管理工具有开源软件 c v s 、微软的v s s ( v i s u a ls o u r c es a f e ) 等。 ( 3 ) 面向特定领域,根据软件企业自身发展需要,研制符合自身需求的配置 管理工具,主要通过对开源产品( c v s 、s u b v e r s i o n 、g i t 等) 进行二次开发。 随着软件配置管理技术的日趋成熟,软件配置管理工具已经得到普遍应用, 电子科技大学硕士学位论文 但仍然面临着一些问题:比如在新型的软件开发模式下,配置管理工具应该如何 应用、如何集成,配置管理工具应该如何引入、应用新型技术。这些问题的解决 将决定下一代软件配置管理工具的发展趋势【4 j 【5 1 ,可概括如下: ( 1 ) 与其他软件产品、软件开发平台的集成 配置管理工具作为项目开发管理工具,不再是一个独立的个体。它需要与其 他软件产品、软件开发平台进行协同集成,成为各种工具相互交织的一部分。这 种集成包括与软件开发工具的集成、配置管理系统之间的集成和与其他软件产品 的集成,如缺陷跟踪与管理工具、软件自动化测试工具等。 ( 2 ) 配置管理需要适应现代软件的开发模式 i n t e r n e t 技术的成熟与兴起、多团队的组织模式、跨地域的协同模式等对传统 的配置管理工具提出了新的挑战,这就要求配置管理工具提供w e b 接口支持。这 种支持表现在两个方面:一方面要求传统的配置管理工具提供w e b 接口;另一方 面要求建立与w e b 环境开发相适应的配置管理工具。 1 2 国内外研究现状 1 2 1 软件配置管理的发展 国外的软件配置管理已经发展了三十多年,在国外软件企业中广泛普及,深 受重视。国外一些优质企业不仅设有专业的配置管理人员,有的还设有变更控制 委员会,统一管理公司内的配置管理工作;此外,国外的软件业还定制了 c m m ( c a p a b i l i t ym a t u r i t ym o d e l ) 标准,并将配置管理作为c m m 可重复级的关键 过程域【6 】【7 】。 同时,国外的配置管理产品公司推出了许多优秀成熟的配置管理工具,如 i b m 面向商业用户的重量级c l e a r c a s e ,微软的与自身产品配套的v s s ,以及活 跃在开源社区的产品c v s 、s u b v e r s i o n 等。 在国内,软件配置管理虽然也发展了十多年,但同发达国家相比,国内的一 些软件企业对配置管理的认识程度还不够深刻、充分,缺乏科学的配置管理软件 流程。有些企业为了达到c m m 的等级或通过其他资质的评审而采用配置管理, 流于形式,未能从根本上解决软件开发过程中质量控制的问题;还有些企业虽然 意识到配置管理的重要性,但不知道如何将配置管理与自身情况相结合,拿来主 义严重,不能发挥配置管理的作用,提高项目品质。然而庆幸的是如今市场上也 2 第一章绪论 出现了一些有资质的配置管理咨询公司,为相关企业定制可行配置管理解决方案, 开发相关配置管理工具。 国内对配置管理进行研究的群体主要限于科研机构,他们根据自身的研究方 向也推出了相应的配置管理工具,如北大软件工程研究所正在研究基于构件的软 件配置管理系统j b c m 8 】【9 】【l o 】:华中科技大学正在研制集成配置管理系统 h s c m s t n 】;复旦大学正在研制支持可变粒度的配置管理工具w i n g c m 1 2 】。这些 配置管理工具无论从应用规模还是专业程度而言都处于初级阶段。 总体来看,配置管理在国内的应用范围逐步扩大,但其重要性还未能得到普 遍认识。尽管目前配置管理相关应用已经日趋成熟,但仍有很多问题有待解决, 仍有很多方面需要完善。 1 2 2 软件配置管理工具的比较 市面上较有代表性的常用配置管理工具有r a t i o n a lc l e a r c a s e 、c v s 、 s u b v e r s i o n 、v s s 等。下面以前三款工具为例,从支持平台、安全性、协议支持 等几个方面进行比较,比较结果见表1 1 。 与s u b v e r s i o n 、c v s 相比,c l e a r c a s e 无疑是功能最强大的一款产品。它能够 应对复杂的软件开发过程管理,配套产品系列十分丰富,也提供了非常完备的技 术支持服务,但是由于部署成本、运营成本、培训成本所限,通过c l e a r e c a s e 实 施配置管理的公司仅限于有实力的软件公司。 c v s 是一款成熟的老牌版本管理工具,方便易用、部署成本低廉,但是缺少 官方的技术支持,后期升级维护难度较大。 s u b v e r s i o n 是一款免费开源的版本控制系统,它针对c v s 的局限性进行了改 良,如提供了二进制文件、目录文件的管理,全面支持c v s 现有的功能,并增加 了许多特性,如事务提交、分支管理、变更跟踪等,易于部署升级,维护成本低, 并且在开源社区的受关注度很高,发展较快,有很多与之配套的相关产品。 1 2 3 面向嵌入式软件测试的配置管理工具 嵌入式软件的测试包含了几乎所有类型的测试,如果没有一个统一的工具对 这些测试进行管理,会在一定程度上影响测试工作的进度和质量。目前,面向嵌 入式软件测试的配置管理工具为数不多,通常以集成在测试管理工具集的方式出 现。其中比较有代表性的产品有r a t i o n a l 的商业产品t e s t m a n a g e r 、c l e a r c a s e 等。 3 电子科技大学硕士学位论文 表1 1 常见配置管理工具比较 c l e a r c a s ec v ss u b v e r s i o n 厂商 i b mr a t i o n a l 开源社区开源社区 平台h d o w s l i n u x u n i xw i n d o w s l i n u ) 舢n i xw i n d o w s l i n u x u n i x 支持使用繁琐的p p c 协议实现多 私有协议( 客户端与服务类似c v s ;支持基于 协议数操作,辅助以网络文件系器通信) ;支持w e b 接口 h t t p h t t p s 的访问, 统n f s s m b 访问存储库文( 第三方厂商v i e w v c ,w e b d a v + d e l t a v 协 件,支持w e b 接口c v s w e b 等)议,支持多种w e b 接口 安全权限控制可针对用户、用户传输链路支持s s h 协议:有专用数据库,文件存 性 组,或元素、目录、存储库权限设置单一,但能通过储采用非共享目录方 进行划分,权限管理比较灵编写相应c v s 脚本实现式,安全性较高 活。精细权限设置 命令很强大,所有的功能都能通提供简单的命令集以支持类似c v s 集过命令集实现日常需求 优势 对软件开发过程中的所有对部署简单、操作简单,易 类似c v s ,但较c v s 提 象进行控制管理,支持复杂于使用,部署无需采购费高了二进制文件和目录 的软件开发过程管理;与用 类型数据的控制能力 i b m 周边软件配合度好 不足部署复杂,使用复杂;实施功能相对单一;不支持目 类似c v s ( 但支持目录 成本高,软件许可证和技术录管理,过程控制,工作 管理) 支持费用昂贵空间管理等;无技术支持 r a t i o n a l 公司提供的t e s t m a n a g e r 是一款有效支持嵌入式软件测试的测试管理 工具。它是r a t i o n a ls u i t et e s t s t u d i o 的一个独立模块,不依赖开发平台和语言, 因此可用于嵌入式软件的测试。与其他嵌入式测试管理的工具相比,t e s t m a n a g e r 最显著的特点就是可以和i b mr a t i o n a l 的其他产品如c l e a r c a s e 、c l e a r q u e s t 等进 行很好的连接,用于对测试过程的任意环节进行跟踪管理、处理变更请求,从而 达到对测试过程实施配置管理的目的;同时也提供各种相关a p i ,支持二次开发。 4 第一章绪论 1 2 4 支持w e b 访问的版本管理工具 早期的版本管理工具很少能支持w e b 访问,但随着开发团队跨地域合作的开 发模式的出现,已有一部分版本管理工具开始支持w e b 访问。比较典型的有 c l e a r c a s e ,这款工具在设计的时候就充分考虑了多种协议,其中也包括h t t p 协 议,因此c l e a r c a s e 是三款工具中唯一一款不需要第三方软件支持就能支持w e b 访问的产品。c v s 本身不提供w e b 访问的支持,也没有实现w e b 接口,只能通 过第三方工具( v i e w v c ,c v s w e b 等) 提供w e b 访问支持。s u b v e r s i o n 在项目 初期并未过多地专注于提供w e b 访问支持,后来由于开源社区力量的壮大, s u b v e r s i o n 开始支持以插件的方式与a p a c h e 进行集成,从而实现了w e b 接口的 扩展。 s u v e r s i o n 是一款优秀的开源产品。目前市面上已出现了基于s u b v e r s i o n 的软 件产品,其中的开源产品以g o o g l ec o d e 尤为出名。它是一款类似s o u r c e f o r g e 的 开源项目托管社区站点,支持s v n 协议、采用了s u b v e r s i o n 存储库,支持软件开 发人员在线进行项目管理、代码管理、版本发布等。商业产品方面以v i s u a ls v n 为例进行简要介绍。v i s u a ls v n 是一款将s u b v e r s i o n 集成到v i s u a ls t a t i o n e t 平台 的插件产品,主要由a p a c h e 、s u b v e r s i o n 、m a n a g e m e n tc o n s o l e 三部分构成,为 s u v b e r s i o n 提供了简便完整的管理界面,支持开发人员在线提交代码。 1 3 课题任务 1 3 1 课题背景 本课题来源于国家核高基项目数字电视嵌入式软件开发平台。作为其中一 个子课题,本课题的最终目标是搭建一个面向嵌入式软件支持嵌入式软件开发工 作的统一协同平台。课题的建设主要分为四个阶段:第一个阶段是平台搭建阶段, 初期目标是搭建起一个基于b s 架构平台的雏形,将嵌入式软件测试中的项目文 档、源码、测试用例、测试脚本等配置项纳入配置管理,重点实现版本管理功能, 包括版本检入、检出、版本比较等功能;第二个阶段是系统化阶段,进一步完善 配置管理系统,主要是实现制定配置计划、变更管理、配置状态和审计等功能: 第三个阶段是工具集成化阶段,主要是与周边系统集成,如与开发工具、自动测 试平台、缺陷跟踪管理系统、邮件系统等系统进行整合,最后建立起一个协作平 台系统;第四个阶段是配置优化阶段,针对企业流程进行优化,实现可配置的管 5 电子科技大学硕士学位论文 理策略。 在本项目中,作者主要负责该项目初期阶段的准备工作,即初期平台的选型 和建立部分技术方案。 1 3 2 课题任务 本文针对当前嵌入式软件测试的实际情况,将配置管理的理念引入实际的测 试过程中,提出了一种基于配置管理的解决方案。 具体研究任务如下: ( 1 ) 通过分析当前嵌入式软件测试中面临的实际问题和工程需求,提出解决 方案,并以此确定配置管理平台的功能需求,制定技术方案,进行平台设计。 ( 2 ) 根据有关设计,对本系统的主要功能模块进行详细设计和实现。 本文的主要研究工作包括:确定平台的基本框架和技术方案,重点研究w 曲 平台下版本管理如何搭建、如何设计、如何实现的问题;对用户权限设计、细粒 度目录权限控制、版本存储策略、版本演化算法、版本比较算法等关键技术进行 深入研究。 1 3 3 研究意义 ( 1 ) 国内面向嵌入式软件测试可供选择的配置管理工具较少;将配置管理引 入嵌入式软件测试过程,有利于解决测试过程中出现的实际问题。 ( 2 ) 市面上支持w e b 的版本管理工具相对缺乏。本课题所研制的平台能为 用户提供基于w e b 平台的版本管理支持。 ( 3 ) 本课题多采用了开源产品,有助于建立低成本的配置管理平台的研究。 目前,国内软件行业里有相当一部分是中小企业。由于受资源和资金等限制, 主要选用一些免费的开源工具,如a p a c h e 、m y s q l 、j b o s s 等。本课题所采用的 产品和技术多来源于开源社区。由于开源,这些产品就有可能相互集成,有可能 进行二次开发,从而满足企业配置管理建设的要求。 ( 4 ) 有助于配置管理平台集成化的研究。 集成化是当今配置管理工具发展的趋势。配置管理工具不是一个独立的个体, 它需要与其他软件研制平台、软件成果进行协同集成,作为一个整体为企业提供 服务。这种集成方式能有效解决单一的开发工具之间协作的问题,减少流通环节, 减少重复性软件操作劳动,提高开发效率,提高产品质量,节约企业成本。 6 第一章绪论 本课题采用与开源软件s u b v e r s i o n 集成的方式,实现版本管理的功能。在后 期的研发过程中,可以考虑与b u g z i l l a 集成实现缺陷管理,与t e a m w o r k 集成实 现团队管理等。 1 4 论文组织 本论文共分为七章,内容安排如下: 第一章为绪论,介绍课题的背景和研究意义,阐述了配置管理工具的国内外 研究现状,并说明课题来源和主要研究内容。 第二章,首先介绍软件配置管理的基本概念,然后简要介绍嵌入式软件测试 的特殊性,对当前嵌入式软件测试所面临的问题进行分析,提出基于配置管理的 解决方案。 第三章,对平台相关产品工具的背景进行介绍,通过比较分析,选定 s u b v e r s i o n 为本系统的版本服务器。 第四章,结合第二章的解决方案,首先对系统设计目标进行概述,给出对应 的功能结构示意图;然后按模块对系统的需求进行简要分析。 第五章,对系统的整体功能需求进行分析,对基本信息管理、测试管理、版 本管理、变更管理模块进行了功能设计、流程设计、和数据库结构设计。 第六章,论述系统关键技术的研究与实现过程,介绍平台体系架构、平台具 体搭建工作、结合实际研制过程中遇到的问题和难点,提出解决方案。对用户权 限设计、细粒度目录权限控制、版本存储策略、版本演化算法、版本比较算法等 做了详细的设计。 第七章,对全文工作进行总结,指出存在的不足和下一阶段的研究工作方向。 7 电子科技大学硕士学位论文 第二章软件配置管理与嵌入式软件测试 2 1 软件配置管理 软件配置管理( s o f t w a r ec o n f i g u r a t i o nm a n a g e m e n t ,简称s c m ) 是软件工程 中用于管理软件资产变更的一项规程,包括软件过程和相关工具,常用于规范软 件流程,进行变更管理【1 3 】 1 4 】。关于软件配置管理的定义较多,其中以i e e e 软 件配置管理计划标准的定义比较全面、详细、系统,涵盖了软件配置管理的所 有功能,它是这样描述软件配置管理的: s c m 中包含了适用于各种类型的软件项目的良好工程实践方法,包括阶段性 的开发、快速原型式的开发以及处于维护阶段的开发【l5 1 。s c m 通过以下几种方式 增强软件的可靠性,提高软件质量【1 6 】: ( 1 ) 提供用于识别和控制文档、代码、接口和数据库的结构框架,适用于软 件开发生命周期的所有阶段。 ( 2 ) 支持某种特定开发及维护工作方法,它符合需求、标准、政策、组织结 构以及相关的管理策略。 ( 3 ) 针对基线状态、变更控制、测试、发布版本和审计活动等,生成相应的 管理信息和产品信息。 综上所述,软件配置管理是一套管理软件开发、软件维护及其中间软件产品 的方法和规则。它能全面地记录管理软件过程中的演变历程,系统地控制软件配 置项的变更,并在软件生命周期中维护配置项的完整性和可跟踪性。软件配置管 理使得整个软件产品的演变过程处于一种透明的状态,可以为相关人员提供该软 件产品的演变信息。例如软件产品由什么组成,处于什么状态,谁对软件产品做 了变更,做了哪些变更,为什么要做变更等。 2 1 1 软件配置管理中的基本概念 1 配置项 配置项又称软件配置项s c i ( s o t h v a r ec o n f i g u r a t i o ni t e m ) ,是配置管理的对象 【1 7 1 。在软件开发的整个生命周期中,会产生很多输出信息,如源码、可执行文件、 各种文档以及数据。人们需要知道这些信息中哪些是正在变更的,哪些是要被管 8 第二章软件配置管理与嵌入式软件测试 理与控制的,就把它们标识出来,参与配置管理。这些由一个或多个文件组成的 标识出来的信息,被称为配置项或软件配置项【l 引。 配置项是配置管理活动里的最小单位【1 9 】。配置项的命名需要满足唯一性和可 追溯性【2 0 】【2 l 】。配置项的标识信息通常包括:组名、项名、项标识( 文件名或命名 规则) 、版本编号规则、版本号、以及所遵循的变更控制制度等。配置项在经过审 查和评审后进入软件配置管理。随着软件过程的深入和配置项的不断加入,软件 配置管理需要在软件周期内对配置项进行标识、管理和控制,并维护其完整性、 一致性和可跟踪性【2 2 】。 软件配置项的分类和特征如表2 1 所示。 表2 1 软件配置项的分类、特征和举例 分类 特征 实例 环境类 软件开发环境、维护环境 编译器、操作系统、开发工具 定义类需求分析及定义阶段完成后得到的产品需求规格说明书、测试验收计划 设计类 设计阶段结束后得到的产品系统设计规格说明、编码准则 编码类编码及单元测试后得到的工作产品源码、单元测试数据及单元测试结果 测试类系统测试完成后的工作产品系统测试数据、系统测试结果、操作 手册、安装手册 维护类进入维护阶段以后产生的工作产品上述可能发生变更的软件配置项 2 版本 版本是指某一配置项的具体实例。不可变的源对象经质量检查合格后所形成 的新的相对稳定的配置成为软件版本。进行配置管理,就必须对那些处于版本控 制下的配置项进行统一标识。这既包括用于管理和设计系统的配置项( 例如项目 计划和设计模型) ,也包括用于实现系统设计的配置项( 如源代码、库以及可执行 文件) 。i e e e 把这种行为称之为配置标识( c o n f i g u r a t i o ni d e n t i f i c a t i o n ) - “配置管 理的一个基本内容,包括为系统挑选出一些配置项,并在技术文档中记录它们的 功能特性和物理特性,【2 3 1 。 版本实际上是同一个配置项实例演变的抽象,用来定义一个具体的配置项实 例的属性【2 4 1 。每个软件配置项可具有一个版本库。随着软件的演变,不同的配置 项的不同版本空间,就构建了版本库。版本库中的版本项彼此间具有特定的关系, 这种关系用以描述其演变历程。版本库通常呈树状结构。 版本的演化方式有串行和并行两种。串行演化是一种简单的版本演化形式, 9 电子科技大学硕士学位论文 在该方式下形成的每一个新版本都是由当前最新版本演化所得,版本的演化按照 一对一的映射关系前进。串行演化表明版本间的传递依赖关系。并行演化中,版 本按照一对多的映射关系前进。并行演化表明版本有朝另一个方向进行演化的可 能。在实际应用中,这两种方式常常结合在一起,形成更为普遍的带分支的版本 树【2 5 1 。 3 基线 i e e e 对基线的定义是:“已经通过正式评审和批准的某规约或产品,它因此 可以作为进一步开发的基础,并且只能通过正式的变更控制过程进行改变”【2 5 1 。 基线是在软件开发过程中经过正式审核并作为下一阶段开发基础的软件配置项, 也是后续项目开发工作的基准。基线在形式上表现为一组冻结的软件配置项。 在项目的关键里程碑处,需要记录组成系统或子系统的所有工件及构件的版 本信息。基线作为软件开发过程中阶段性的标识,可将其视为项目特定时期内的 一个或多个配置项的“快照”,其标志是有一个或多个配置项进行交付并通过技术 审核。 通常情况下,软件测试过程中会根据所处阶段产生相应的基线,常见的测试 基线有: ( 1 ) 测试需求分析基线; ( 2 ) 测试设计与实施基线; ( 3 ) 测试总结基线。 2 1 2 配置管理中的关键活动 1 版本管理 版本管理又称版本控制,是软件配置管理的核心功能。通常情况下,对版本 的控制就是对版本操作的控制,包括版本的检入、检出、版本的分支与合并、版 本历史记录等。版本管理的目的在于对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论