csdn开源夏令营中期总结

本文主要总结了开源项目的需求分析过程,包括与导师的沟通以明确需求,详细介绍了增加的录制与回放功能的实现,以及前后端并行开发的经验。单元测试采用了Junit,并提到了使用Firefox的poster工具辅助调试。未来计划对前端进行优化,并修复后端的bug。
摘要由CSDN通过智能技术生成


需求分析

         从接手这个开源项目以来,做的最多恐怕就是需求分析。对于软件工程,我认为最重要也是需求分析。通过与张老师线上线下的沟通交流,逐步明确了需求,包括很多业务逻辑上的细节。


 

录制版本功能:Terminator现阶段只支持录制一段数据进行回放,在实际使用过程中可能需要录制多段数据,并打上版本号,回放的时候根据需求回放特定版本数据。

回放模式选择:数据回放过程中可能遇到这样的问题,就是在录制时对于两个一样的请求,返回结果不一样。那么在回放的时候就可以有多种选择,一种就是按照录制的顺序依次返回应答,一种就是每次都返回第一次的应答,还有一种就是每次都返回最后一次应答。

录制版本功能点具体要求:

    用户在录制数据的时候有一个版本管理功能,在每次录制结束可以保存为一个特定版本,同时也能删除历史版本;
    用户在回放时可以选择历史版本数据。

回放模式选择:

    依上面所述,用户在回放时可以选择3种回放模块进行回放

增加功能

        明确了需求,就可以进行编写代码了。刚开始的时候,正是因为需求不明确,所以走了一些弯路。

        比如,在录制的过程中,没有真正版本的含义,以为只要录制一次就成为一个版本,这样的话所有的版本就存在一个文件中,对于回放模式,回放非常不方便。后来,明白录制与回放功能都是针对某一个版本进行。所以在录制的时候,我们需求将历史版本罗列出来或者新建一个版本到数据库中。在选定版本后再进行其他操作。

        在回放的时候,因为需要选定回放模式,所以我们在link链路的属性里加入回放模式,这样ReplayR的时候就可以根据不同的Handler进行回放。

前后端并行开发

        首先在数据库中,我加入版本数据库version_index

     我们可以看看version_index和data-index的结构

       可以看到在这两个数据库当中都有了链路跟版本的ID,以便于我们后续操作。

       很明显,有了数据库,我们就可以建立相应的操作方法及mapper文件,在action里加入相应action,用于网页操作。

       在前端上,部署到tomcat上,启动链路均默认TUNNEL,这样做是方便以后操作。选择工作模式RECORD,此时先停止链路,为什么这样做?这是因为当启动链路后,整个link的storage已经被固定,而我们在RECORD里,要保存某个版本,必然先指定一个版本号,也就是会在磁盘上创建一个相应的文件夹用于保存版本信息。而在TUNNEL中是没有版本的,

         此时,你可以选择新建版本,也可以继续录制历史版本,这个是用div浮层做的。目前不怎么美观,后续会完善。当新建版本时就会将这个版本加入到version_index中,包括它的linkId,name,addtime   历史录制是按照录制时间按最近排列,点击继续录制就会启动链路,并且将工作模式转为RECORD,实现RECORD功能。停止 是用来停止链路。而删除用来删除此版本,这个就是一个数据库的操作,同时将磁盘上相应文件删除。


         对于回放模块,跟录制类似

          首先将历史版本罗列出来,在回放模式这里有一个下拉框,在这里可以选择回放模式,目前是两种,一是按照最近一次,另外是按照第一次的。当我们在首页转换工作模式为REPLAY时,就先断开链路,跟录制类似,当弹出此窗口,点击REPLAY时,就启动链路并设置为REPLAY,在给web服务器传递参数时,我们会将这个回放模式一块儿传过去,作为link的一个属性,在回放handler里,根据回放模式来选择不同的handler,达到效果。



单元测试

        在开发的过程中,刚开始,我用的myeclipse,所以测试只是写了一个很简单的测试程序,用JunitI测试,有时非常不方便,因为当测试完成,整个链路服务就会断掉。后来跟老师沟通后,用ecplise j2ee版,因为此项目原来就是来这上面创建的。这样可以实时将项目在tomcat上部署调试。

另外,还使用了firefox里的poster工具,可以在没有前端开发完成的情况下给服务器传递url参数

后续完善

        首先前端上还需要大量优化,使其更人性化。

        另外,后端上还有一些bug,需要不断调试完善。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值