




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FH/QR/DESIGN/002文件编号FH/GYSJ/XX/XXXXXXX文件版本001拟制何永刚2010年1月22日审核年月日批准年月日SUBVERSION代码统计及取源代码工具设计方案FH/QR/DESIGN/002R20020060714201801092(15)修改记录序号版本号生效日期变更理由/变更内容变更人备注12345FH/QR/DESIGN/002R20020060714201801093(15)目录目录31术语与缩写解释42系统概述421背景422功能目标43系统总体结构431模块划分结构图44数据流程说明641数据流程图642数据处理流程743主要数据说明105模块设计126参考资料错误未定义书签。FH/QR/DESIGN/002R20020060714201801094(15)1术语与缩写解释缩写、术语解释REPOS_PATHSUBVERSIONREPOSITORYPATH,SUBVERSION数据仓库路径2系统概述21背景部门决定更换版本控制工具,从VISUALSOURCESAFE更换至SUBVERSION,版本控制工具相关外围工具也需要随之更换。版本控制器对外接口改变,原VSS代码统计工具VMANAGER不能在SUBVERSION中使用,因此需要针对SUBVERSION提供的接口进行开发。22功能目标获取指定源代码文件提交时间端内,指定作者所属的代码修改量。获取指定作者新建、维护的源代码,新建文件存放于CREATE文件夹,维护代码文件分NEW(修改后的源码文件)和OLD(修改前的源码文件)两个文件夹存放FH/QR/DESIGN/002R20020060714201801095(15)3系统总体结构31模块划分结构图SVN服务器SVN数据读取模块DBREADERSVN工作站用户界面任务读写模块TASKDEFINE存储模块SAVERESULT数据处理统计模块DATAANALYZE图311用户数据输入,任务制定、读取模块TASKDEFINE该模块重用自VMANAGER的TASKDEFINEDLG,存储和读取查询任务信息查询用户名AUTHORNAME,时间段、版本库路径REPOS_PATH等。SUBVERSION数据库连接、数据掘取模块;DBREADER该模块连接SUBVERSION数据库,由用户界面调用,以用户界面从任务读取模块获取的查询任务信息为参数,获取对应查询用户(作者)的源代码文件信息版本,日期,获取对应源代码文件内容等。中间数据处理、统计模块。DATAANALYZE该模块分析处理从SUBVERSION数据掘取模块获取的查询用户信息,进行查询结果统计源代码文件,代码量。FH/QR/DESIGN/002R20020060714201801096(15)文件、统计结果存储模块SAVERESULT该模块重用自VMANAGER的DISPLAY模块,存储数据处理模块的输出信息需存储源代码内容、存放路径。(有取代码需求时存储),代码量统计结果。用户操作界面用户界面,用户可通过界面操作进行任务制定、执行,并监视查询任务的执行状态4数据流程说明41数据流程图ALLREVERSIONSSUBVERSIONDBHISTORY数据分析模块INFOCHANGEDDIFF存储DIFF_REVERSION,_PREREVERSIONREPOS_PATHREPOS_PATHREPOS_PATHREPOS_PATH_REVERSION_REVERSION_REVERSION数据分析文件比较图411流程图中灰色部分是基本流程模块,黄色部分和绿色部分为二选一模块;黄色模块使用SUBVERSION自带的文件比较工具进行代码修改量统计,绿色模块使用VMANAGER代码统计工具中的文件比较模块进行代码修改量的统计,两种方式的执行效率及精确程度需要完成后比较。42数据处理流程1、HISTORY从SUBVERSION库(REPOS_PATH)获取该库的版本历史信息,将其保存为一个版本列表REVERSIONLIST如图421所示FH/QR/DESIGN/002R20020060714201801097(15)图4212、INFO根据版本号_REVERSION获取该版本的信息作者、时间、提交日志;由此可以得出数据对。图4223、CHAGED根据版本号_REVERSION获取该版本的修改信息(针对版本目录的),由此获得版本号、修改文件列表如下图示,由此得出数据对FH/QR/DESIGN/002R20020060714201801098(15)图4234、代码统计方法之一DIFF根据版本号_REVERSION获取版本目录下该版本所有修改文件的修改内容(见图424)分析该文件可获取代码修改量,代码修改内容,差异文件版本号。根据前面HISTORY、INFO、CHANGE获取的文件信息,判定差异版本是否属于同一作者,如果非同一作者,代码量计入结果;同一作者则不计。FH/QR/DESIGN/002R20020060714201801099(15)取源代码文件到本地时,取RVERSION版本到NEW文件夹,PREREVERSION版本到OLD文件夹。REVERSION为1时,取文件到CREATE文件夹。图4245、代码统计方法之二根据HISTORY、INFO、CHANGED获取的数据处理后可获得,已满足代码量统计的基本条件,以文件名为关键字,遍历文件的各个版本获取信息FH/QR/DESIGN/002R200200607142018010910(15)(前一版本为最近的不属于该作者的版本;版本由作者创建且一直维护则前一版本为0)通过CAT命令获取对应版本号的文件内容调用VMANAGER的文件比较模块CMPMNGR,比较两个版本的差异,进行代码量统计。存储REVERSION文件于NEW文件夹,存储PREREVERSION文件于OLD文件夹。PREREVERSION为0的,存REVERSION于CREATE文件夹。图425FH/QR/DESIGN/002R200200607142018010911(15)31系统处理流程ACCESSSVN结束开始USERINPUTTASKINFOINFORMATIONGETINFORMATIONANALYZEUSERINFOSAVEFILEYGETFILESTOLOCALNSAVERESULTFH/QR/DESIGN/002R200200607142018010912(15)5模块设计51界面模块功能(1)任务制定、读取入口接收用户输入,调用任务制定模块;开始、停止选定任务。(2)显示当前任务列表已执行任务、未执行任务。(3)显示当前任务处理进度。(4)提供配置选项如统计文件类型选择、多线程处理等。(5)任务制定界面,任务要素输入AUTHOR、DATETIME、REPOS_PATH,LOGINUSER,LOGINPWD。(6)提供结果显示界面,以TREEVIEW形式显示版本库及各目录、子目录对应的代码文件行数。界面示图类似于VMANAGER的FRAMEVIEW示图52SVN数据读取模块功能(1)创建CMD子进程,执行SVNLOOK程序,参数OPTIONHISTORY|INFO|CHANGED|DIFFRREPOS_PATHOPTIONCATRREPOS_PATHFILEPATH_INREPOS(2)通过创建管道PIPE,从CMD子进程读取SVNLOOK程序的执行结果。(3)简单分析SVNLOOK返回数据,主要数据说明见下文。(4)提供取文件接口给外部使用主要数据说明以数据处理顺序说明从SUBVERSION数据库取出处理的信息FH/QR/DESIGN/002R200200607142018010913(15)REPOSINFO(目录历史信息)REPOSITORY_PATHN32VERSIONS1REVERSIONINFO目录版本信息REVERSIONAUTHORNAMEDATETIMEFILE1FILE2FILELISTFILE3USERINFO作者信息,FILEINFO(文件信息)FILECHANGEINFO(文件修改信息)统计方法一FILENAMERN_AUTHOR_DATETIME_R3_AUTHOR_DATETIME_R2_AUTHOU_DATETIME_R1_AUTHOR_DATETIMEFH/QR/DESIGN/002R200200607142018010914(15)FILENAMEREVERSION1PREVERSION1LINESCHANGED1REVERSION2PREVERSION2LINESCHANGED2REVERSION_NPREVERSION_NLINESCHANGED_N主要流程SVNLOOKHISTORY开始读取ENDREVERSIONLISTSVNLOOKINFO_REVERSIONREVERSION,AUTHOR,DATETIMESVNLOOKCHANGED_REVERSIONREVERSION,FILELISTANALYZEDATETIMEISRIGHTREVERSIONINFOFILEINFOYESNOOUTPUTPUSH_BACKVERSIONLISTISEMPTYNOYES接口设计对外接口,READFILEFROMDBREPOS_PATH,FILEPATHINREPOS,REVERSION参数指定的版本库路径REPOS_PATH,文件在版本库中的绝对路径FILEPATHINREPOS,版本号REVERSION。根据参数调用CMD子进程,运行SVNLOOK程序,参数CATRREVERSIONREPOS_PATHFILEPATHINREPOS获取到指定文件指定版本的文件内容。53数据分析处理模块功能(1)接收SVN数据库读取模块返回的数据结构,REVERSIONINFO、FILEINFOFILECHANGEDIFO(2)对接收的数据信息进行分析统计方法一分析FILECHANGEDINFO数据结构,统计指定用户的总代码修改量;根据,调用SVN数据库读取模块提供的取文件接口,获取对应版本的文件内容,调用存储模块存储到本地;统计方法二分析REVERSIONINFO、FILEINFO数据结构,获取统计所需信息,用VMANAGER相同统计逻辑遍历文件的每个版本,获取信息;调用SVN数据库读取模块提供的取文件接口,获取对应版本文件内容,保存到本地;然后调用CMPMNGR模块进行文件比较(重用自VMANAGER)。主要流程FH/QR/DESIGN/002R200200607
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黄山健康职业学院《当代西方哲学》2023-2024学年第二学期期末试卷
- 个性化写真集定制服务行业深度调研及发展项目商业计划书
- 动力悬挂场地在线平台企业制定与实施新质生产力项目商业计划书
- 四川体育职业学院《工程师应用数学》2023-2024学年第二学期期末试卷
- 甘肃畜牧工程职业技术学院《商务统计分析》2023-2024学年第二学期期末试卷
- 人工智能与大数据图书企业制定与实施新质生产力项目商业计划书
- 河北民族师范学院《声乐五》2023-2024学年第二学期期末试卷
- 高山滑雪度假民宿行业跨境出海项目商业计划书
- 遵义医科大学医学与科技学院《非物质文化遗产传承教育:泥塑》2023-2024学年第二学期期末试卷
- 浙江师范大学行知学院《美术学科教学论》2023-2024学年第二学期期末试卷
- 2024年宁夏中考历史真题卷及答案解析
- 国家太空安全
- 2024年井下支护工技能鉴定考试题库-下(判断题)
- 广西版三年级美术下册全册教案
- 浙江省杭州市上城区2023-2024学年八年级下学期期末考试英语试题+
- 《生物安全培训》课件-2024鲜版
- 山东省临沂市郯城县2023-2024学年七年级下学期期末历史试题
- 2024年石家庄房展会城发投集团招聘笔试冲刺题(带答案解析)
- 2024年安徽省初中学业水平考试地理试卷(定心卷二)
- 生命哲学:爱、美与死亡智慧树知到期末考试答案章节答案2024年四川大学
- 供应链管理(山东联盟)-知到答案、智慧树答案
评论
0/150
提交评论