投票软件功能点、技术难点及开发工作量分析

       前段时间,有个朋友让我给其写个网上自动投票软件,鉴于朋友不好拒绝,但又迫于时间、尽力根本没法一下子完成,于是给其做了个投票软件功能点、技术难点及开发工作量分析。

1.投票软件原理

         简单点说投票软件就是模拟手工投票的整个过程+IP欺骗(可能是Cookie清空,可能是不间断的拨号和断网,也可能是不间断的寻找可用代理)+不间断的循环操作,从而实现用户执行投票软件的投票操作,即可替用户完成耗时、耗力的简单手工劳动。

2.投票软件功能点

         1)网络诊断:PC机是何种方式上网,自动拨号和断开,代理侦听等;

         2)发送包和接收包的解析、模拟:不同的投票链接往往都有其特征发送包格式,而且现在很多投票已经不是简单的一次包发送和接收即可完成,而是需要多次发送和接收才可以成功投票;

         3)验证码识别:现在很多投票需要输入验证码,有数字的,也有字符的等等;

         4)代理服务器样本维护和评价问题:由于很多投票是严格IP唯一的,用户就必须通过代理来实现。为此,就要手工维护代理服务器样本库,然后投票软件自动作出代理服务器的好坏评价,这是软件本身的一个自我学习过程。

3.技术难点分析

         1)发送包和接收包解析、模拟问题,虽说技术上不是很复杂,但是需要做很多投票前的分析工作。就是说,在投票前,我们需额外分析发送包是什么样的格式,接收包还需不需要二次发送等等,只有这些分析完成并形成一个完整的发送包、接收包处理格式之后,投票软件才可以调用该格式完成投票。

         评价:该功能点技术虽说不上难,但是工作量很大。即使投票软件已经有现成的了,那么每次真实投票时,还要花费很多时间来分析发送包和接收包是如何处理的。

         2)验证码识别:投票时往往需要输入验证码,那么换成投票软件的话,投票软件必须能自动识别出该验证码具体是什么内容,即验证码识别。验证码识别由于涉及到图像处理、人工智能、复杂的算数运算,因此其开发难度很大,而且识别成功率视不同的验证码类型差异很大。

         评价:该功能点技术难度最大,而且可参考资料很少,因此,需要投入的人力会很多。

4.开发工作量分析

         0)软件详细设计:1人,2天;

         1)网络诊断:1人,4天;

         2)发送包和接收包解析、模拟:开发阶段1人,4天,应用阶段视实际投票的复杂情况,估计11小时是需要的;

         3)验证码识别:2人,18天;

         4)代理服务器样本维护和评价:12天;

         5)软件内部测试,加密:所有参与开发者,2天;

         6)总计(保守):1*2+1*4+1*4+2*18+1*2+3*2 = 54/天;

来源:老马历写记

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2009年3月19日
下一篇 2009年3月19日

相关推荐