软件园开发协作平台设计和实现.docVIP

  • 2
  • 0
  • 约2.6千字
  • 约 5页
  • 2017-08-31 发布于福建
  • 举报
软件园开发协作平台设计和实现

软件园开发协作平台设计和实现摘要:开发协作平台将分布在不同场所的工作人员高效组织起来,通过虚拟化技术在一个实时工作环境里进行高效协作,并在不同的项目组之间应用一致的流程和标准,从而提高开发效率,实现各类开发工件之间的完整追踪能力和生命周期管理,使软件交付活动更加透明。 关键词:开发协作;Dojo;Equinox;Comet 中图分类号:F426.672 文献标识码:A 文章编号:1007—9599 (2012) 14—0000—02 一、背景 自2000年6月国务院18号文件的签发以来,中国软件业经历了10多年的高速发展。时至今日,我国的软件园区已达200多家。但在成绩的背后,也应该看到我国具有核心竞争力的软件园区数量与国外相比依然偏少,主要原因在于产业公共服务缺乏、园区内企业之间以及企业内部组织之间不能高效地协作、产业链不完善等。这严重制约了我国软件业的发展,软件园开发协作平台的构建能够较好地解决这些问题。 软件园开发协作平台是一个开放性的平台,提供了一套支持在线开发的软件开发工具库,用于支持软件外包园区内各个企业间进行协作开发,减小其运作成本,从而实现整合外包园区内各个企业的研发资源和能力,同时提高协作性,最终实现提高整个软件园区的市场竞争力。 二、系统核心架构 开发协作平台的核心是一个整合了多个功能接口的业务平台,业务平台之下细分为权限控制模块、安全控制模块、文件处理模块、代码编辑模块、用户管理模块等五大功能模块。这五大功能模块是在对线编码工具进行功能分析和整合后所得出的高度内聚,彼此之间耦合度很低的功能套件,是整个平台功能实现的支撑。其中,部分模块又是对更加底层的数据或工具进行封装和二次处理后所形成的。在业务平台与前端页面之间由传统的请求\应答消息接口和服务器推送接口作为消息传递的方式。开发协作平台系统结构图如图1所示。 权限控制模块的作用是在协作开发的过程中,实现各个用户之间的文件操作权限控制,即当一个文件被一个用户打开时,与其协同开发的其他用户(被共享有这个项目的用户)将无法打开这个文件;当文件的拥有者释放这个文件时(关闭该文件或退出系统),该文件才能被其他人操作。该模块主要由User、UserManagement和FileSystem三个核心类组成。用户管理器UserManagement负责监管多个用户的生命周期,每个用户User都拥有一个FileSystem作为其专属的文件管理器,用于处理其相关的文件工作。用户的生命周期分为生成阶段,文件操作阶段,用户挂起阶段,消亡阶段。其中生成阶段和消亡阶段分别在用户登录和退出时发生,进行资源分配和资源回收工作。文件操作阶段是指用户打开或拥有至少一个文件,此时用户具有文件操作、修改的权力,并且此时要对被用户打开的文件加锁。加锁的过程中,实际上是对这个用户包含的FileSystem进行操作,即将文件状态信息和拥有权注入到FileSystem中。当用户释放资源时,也是操作其所包含的FileSystem对象的相关数据结构。 安全控制模块和文件处理模块相辅相成。一方面安全控制是对文件处理的安全控制,另一方面文件处理要受到安全控制的限制。为了更好地模块化开发,本系统将常用的文件操作类组织成文件处理模块,而将和安全有关的类组织成安全控制模块。图5所示是安全控制核心类的结构图,FileSystem类作为每个用户专属的文件系统管理和操作类,包含了四个支持安全控制的类,即ZipCipherUtil、Upload、JarGenerator、CipheUtil。其中ZipCipherUtil类用于提供文件和文件夹压缩和解压缩服务;Upload类提供文件上传功能,根据此功能能够实现本地文件和项目上传到平台进行开发或共享;JarGenerator用于将项目或文件打包成.jar格式的,可以提供给用户进行下载和本地化操作;CipherUtil类用于提供加密和解密功能。四个类被FileSystem类整合,共同协作,结合安全控制文件结构,实现了一套相对简单的安全控制机制。 代码编辑模块作为在线开发工具的核心功能,其涵盖面十分广泛,包含的子功能也非常多,因此采用Eclipse下的Equinox插件体系来完成。其关于代码编辑模块的核心包是org.eclipse.core.resources和org.eclipse.jdt.core这两个包。这两个包提供了一系列相关的工具,并且已经封装成相对来说操作较为简单的接口,无需自己从底层实现。 如图3所示的代码编辑模块核心类结构可以看出,ClientMessageHandler类专门用做功能接口,其主要功能是处理前端发送过来的各种消息,并经过初步解析和封装后调用后台各个功能块和系统;而调用后台功能块和系统是通过访问UserMana

文档评论(0)

1亿VIP精品文档

相关文档