首页 > 范文大全 > 正文

VisualSVN可视化版本控制在.Net三层架构开发中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇VisualSVN可视化版本控制在.Net三层架构开发中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:为解决项目团队开发过程中源代码版本控制问题,结合高校户籍管理系统,探讨了可视化版本控制软件visualsvn在.Net三层架构开发中的应用。

关键词:可视化版本控制;三层架构;团队开发

中图分类号:TP319文献标识码:A文章编号:16727800(2013)001008902

0引言

项目开发是一个团队协作、迭代开发的过程,历经需求分析、概要设计、详细设计、编码、测试和维护等阶段,期间,产生大量文档和源代码,文档和源代码不可避免地要经过多次变更,形成多个版本。并且,在团队开发的过程中,多位开发人员在同一个解决方案下协同工作,难免出现操作失误、代码被多次修改、替换等风险,版本控制与管理显得非常重要。

VisualSVN作为近些年兴起的一款开源的可视化的版本控制软件,基本取代了CVS,成为版本控制领域事实上的行业标准。VisualSVN能追踪项目从开始到结束的整个过程,在统一的版本仓库中对项目整体解决方案进行集中管理,团队成员可以方便地从版本仓库中获取各个历史版本以及项目的最新版本,并且可以随时向版本仓库中提交最新工作成果。

分层架构设计与开发非常流行,经典的分层架构开发将系统分为3个层次,即数据访问层、基本逻辑层和页面表示层,它对系统的性能、可扩展性、可移植性、安全性等提供了有力的保障。将VisualSVN可视化版本控制与三层架构软件开发相互结合,共同应用于项目的团队开发具有重要的理论与实践意义。为此,本文结合高校户籍管理系统,详细探讨VisualSVN可视化版本控制在基于.net三层架构设计与开发中的应用

1问题提出

团队项目开发过程中,团队协作和并行开发至关重要,为此,将VisualSVN版本控制有效地应用于三层架构的设计与开发中,须解决以下问题:

(1)三层架构的设计:项目的数据访问层、基本逻辑层和页面表示层的设计。层与层之间提供统一的接口,封装内部的实现细节,满足模块独立化、高内聚、低耦合的原则。

(2)团队成员的任务划分:在三层架构下,团队开发人员任务的划分。根据团队成员的技术等特点,将其分配到最擅长的一层,本层的人员只专注本层的设计、开发与测试等工作,效率高,代码质量高。其次,只需了解上下层的接口即可,不需要对上下层内部实现细节细究,减少工作量。

(3)并行开发中的版本控制:使用版本控制软件,提高团队的并行开发效率。团队成员虽划分的任务不同,所处的层次不同,但这三层同属一个项目解决方案,解决方案版本的更新、源代码的冲突、历史版本的获取等严重影响项目开发效率,VisualSVN版本控制的应用至关重要。

2VisualSVN在团队开发中的基本操作

VisualSVN与TortoiseSVN配合使用。VisualSVN为服务器端,TortoiseSVN为客户端。项目开发中,通常使用一台计算机作为开发组的服务器,VisualSVN配置在服务器上,每个开发成员只安装客户端。基本操作流程包括:配置VisualSVN、创建用户、分配用户权限、创建版本库,客户端通过版本库URL检出(CheckOut)、更新(Update)和提交(Commit)工作副本等。

3VisualSVN在三层架构开发中的应用

3.1高校户籍管理系统三层架构设计

高校户籍管理系统基本功能包括:户籍信息管理、信息查询管理、收费管理,操作日志管理、学院信息管理、系统恢复与备份、系统维护等。系统的整体架构如图1。

图1系统三层架构

3.2团队成员任务分工

团队成员的任务划分,既要考虑开发人员的专业知识和其擅长领域,又要与项目的需求相结合。

数据访问层负责数据库的连接与存取操作。本层开发人员负责所有的IStorages接口的设计与实现,建立数据库的连接及对数据库的增、删、改、查等操作,其中,对数据库的四大基本操作封装于接口方法的内部Wrapper类中。Wrapper类负责数据库中相应存储过程的调用。

基本逻辑层作为整个系统的逻辑处理中心,主要负责管理系统的业务逻辑和规则。本层开发人员负责逻辑处理的所有IManagers接口的设计与实现。

页面表示层负责接收界面输入和逻辑处理结果的显示。本层开发人员负责界面的布局与设计,调用基本逻辑层的接口实现相应功能。

数据库包括表的建立、存储过程、触发器的创建与调试、数据库备份与恢复以及各种约束条件的使用等。

3.3创建户籍管理系统版本库(Repository)

VisualSVN采用文件和记录的方式实现统一的管理,结合高校户籍管理系统三层架构,给出SVN版本库的文件结构目录,如图2所示。

图2SVN版本库三层架构文件结构

其中,DataAccessLayer为数据访问层,BusinessLogicLayer为基本逻辑层,ExternalApplication为页面表示层。当然,根据需要,可以添加Web项目页面表示层,不管是C/S还是B/S的项目,页面表示层都调用Source文件下的源代码。

数据访问层负责所有IStorage接口的实现。Storage通过各自的Wrapper封装类实现对数据库中存储过程的调用。

基本逻辑层下设BackEnd.BusinessEntities(实体类的定义)、BackEnd.BusinessLogic(逻辑处理)和BackEnd.lib(公共方法库)3个文件夹。其中,BackEnd.BusinessEntities负责所有实体类的定义,BackEnd.BusinessLogic负责所有IManager接口的实现,BackEnd.lib负责所有IManager和IStorage接口的定义以及项目所有公共方法的定义。

页面表示层负责各个forms或者web页面的设计、布局和美化,各种控件的使用以及对IManagers接口的实现类Managers的调用,以此完成项目的各个功能。

对项目成员的任务划分,就是赋予其相应的文件夹的操作权限。在同一个解决方案下,分组的成员只负责各自所在层的文件夹操作。

3.4并行开发中的版本控制

由于分组成员所处的层次不同,文件夹的操作权限不同,有效地避免项目团队开发中的代码冲突等问题。并且,由于实施严格的分层开发,层与层之间的接口保持不变,即使层内接口方法的内部实现细节发生变化,层间代码调用无需改变。

鉴于此,在项目团队开发过程中,只使用SVN简单的检出、更新和提交等操作就可以方便地完成项目团队开发中的大部分问题。团队所有成员从服务器中更新项目的最新版本,在每天工作完成之后,单独提交各自负责部分的开发工作,使服务器中的版本始终保持最新状态。提高了并行开发的效率,保证了代码完成的质量。

4VisualSVN与其它开发工具的联合使用

在项目开发中,辅助开发工具很多,可以结合使用Resharper和CodingStyleEnforcer工具保证编码风格的统一,使用NUnit、NCoverage等工具,结合每日构建技术,进行软件测试及覆盖率检测,保证产品质量。

5结语

结合户籍管理系统,探讨了VisualSVN在基于.NET三层架构设计与开发中的应用,给出具体的SVN版本库数据访问层、基本逻辑层和页面表示层的设计与实现。有效地解决团队开发中版本控制的问题,提高了团队开发效率。

参考文献:

[1]钟文峰,付小龙,杜炤.基于SVN的校级统一信息管理系统版本管理系统的设计与实现[J].中国教育信息化,2011(23).

[2]胡二彪.SVN在教育网站开发中的应用[J].软件导刊,2012(1).

[3]纪洲鹏,赵斐婓,姜文波.基于.Net三层架构高校户籍管理系统设计与实现[J].软件导刊,2011(9).(责任编辑:余晓)