复利计算--结对项目<04-11-2016> 1.0.0 lastest 阶段性完工~

结对项目:Web复利计算

搭档博客地址:25江志彬  http://www.cnblogs.com/qazwsxedcrfv/

个人摘要: 

(2016-04-09-12:00)补充:之前传送门没做好,忘记补上超链接了...

(2016-04-09-15:20)补充:

            想法:希望项目能做到一天一更新。

            理由:相信对安卓手机刷机这方面有研究的童鞋都听说过Cyanogenmod吧(简称CM),有一类的刷机包-----nigthly(俗称叫:每夜版)。

               跟现在flyme和miui的每周更新的方式是一样的,差别就在于更新量上,每夜版没有每周更新的多,但是都是在更新完善。nigthly这个

               版本每天更新的东西都不多,基本都是一些优化和一些小bug的解决,但是久而久之随着更新的次数越多,整个功能完整性也得到了提升,

               所以我也希望我们的结对项目每天都有进展,而且能多完善一些功能,虽然可能没别人做的完美,但是尽我们所能做的完美就ok了,我们

               并不局限于一周一更新,而且我们都属于在学习过程中,有这么一个作业,我们可以当作一个项目来做,在项目中锻炼自己,虽然现在还没

               接触到一个真正的项目,但是这样的心态也是我们在为日后做项目上提供一个基础吧~

代码:

  github:https://github.com/sunhailin-Leo/Web-Compounding  (有BUG) (暂时解决了一些,已更新至第三版且每1-2天会进行更新) (已更新至1.0.0)

 

 个人笔记小结地址:

  http://www.cnblogs.com/LeoSunhailin/p/5362648.html (不定时补充一下)

结对项目需求以及评价:

一、项目需求:

     即要追求利益,又要面对不可预知的金融投资风险, “不能把鸡蛋放在同一个篮子里”,所以有必要进行组合投资。

     通过上述计算与对比,可以帮助客户进行投资决策。 

     客户:那么能否帮我记录下一笔一笔不同类型的投资,并动态显示资金现值呢?

二、完成要求:以结对方式完成。

三、复利计算再升级------------------------------------------------------------

  客户在大家的引导下,有了更多的想法:

  1. 这个数据我经常会填.....帮我预先填上呗?......
  2. 把界面做得简单漂亮好操作一点呗?  (已完成)
  3. 能不能帮我转成个APP,我装到手机上就更方便了?
  4. 我觉得这个很有用,很多人可能都需要这些功能,做到我的微信公众号上吧?
  5. 能不能不要让我填表单,让我发条消息,或者对着手机说句话就可以了?

队友评价:

  1、队友一直和我早出晚归,为了这个项目也费了很多时间,基本每天都在对这个复利计算进行优化。

  2、队友在第一版出来之前帮我完成了界面的设计,那时候我主要做后端数据库和连接数据库那块。

     随后我们一起把整个的项目的界面以及易用性提高了,虽然还有不足,但是我们也会攻克的。

      3、项目中遇到的问题我们也会在一起讨论,然后一起完成,然后由我集中弄出一个笔记帖,贴出一些

           问题和解决方案。

结对项目英文名:Web-Compounding-Calculator

项目简介:两人结对项目将原先java控制台版本开发到Web平台并将数据存入数据库中。

项目工具:MyEclipse10,Navicat Premium

项目语言:Java,Javascript,JSP,SQL,CSS

项目框架以及技术:Servlet,Ajax,Boostrap,JQuery

项目接口:JDBC

项目类型:B/S

项目难点:( * 代表难度等级,* 越多难度越大 )

1、数据封装传递以及数据库的连接(*)

2、设计数据库的规范格式(*)

3、Servlet的配置(**)

4、界面设置(**)

5、数据的查询回调,动态显示(***) <暂未实现,现阶段还在攻克刷新问题...后续进行改进>  <仅显示了复利模块>  <均已实现>

6、Ajax异步技术局部刷新页面(****) <暂未实现,正在努力攻克该问题>   <现在提交可以进行异步刷新,仅限复利模块,其余模块待加入代码>  <均已实现>

     功能需求:提交表单数据而不刷新页面,使提交的数据保留在输入框并且显示.

7、等待发现....

   

项目改进点:

1、防止页面重复刷新提交数据到数据库.<已发现该问题!转入BUG区> (0.0.4版本中已更新此问题)

2、异常输入的提示.<有一定的提示>

3、考虑数据的可实现性即现实性,防止异常数据的出现.(暂时完成,待测试)  (已完善)

4、数据的删除功能以及修改能还没完善,待后续版本进行更新。(删除功能已完成,修改功能正在解决)  (修改功能已搁浅)

5、投资报表多页显示切换正在进行攻克,待后续版本进行更新。(已更新解决)

6、未完待续。。。

BUG:

1、第一版本的页面受限于servlet提交表单的方式(提交一次刷新一次,且输入框数据清空). <该问题大致上解决完毕,除了防止用户恶意或重复提交还没完善>

2、仅实现了复利计算这一模块,其余模块模板已经做好,待后续码字完成其功能.  单利和复利模块的报表以及数据库提交都已完成。其余部分的与队友商量后觉得没有进入数据库的必要。

3、防止页面重复刷新提交数据到数据库.<已发现该问题!>  <正在攻克> <已解决>

4、<04-11>一个隐藏已久的BUG,之前一直忽略,敲击回车键可以作为刷新键使用。<正在解决ing..>

项目数据库演示

网页上的数据库显示(仅完成了复利部分)

代码结构

更新摘要:

<2016-04-07-13:00> 

  1、完成投资报表的删除功能。

  2、优化了部分代码,避免部分重复代码。

  3、美化报表的显示界面。

     

<2016-04-07-18:30>

1、解决异步刷新的问题,提交数据后数据不再清空。

2、优化部分js代码,使输入框能对一些特殊字符和空格进行判别,并有提示。

<2016-04-08-21:00>

1、优化部分代码,解决一些多余的代码。

2、解决投资报表多行数据(大于5行)实现分页功能。队友功能实现传送门:http://www.cnblogs.com/qazwsxedcrfv/p/5367508.html

   这个功能涉及几个页码获参传参问题,有些细节传参问题是通过我们JSP的老师发给我们的例子才发现的,很多意外收获,获益匪浅,点个赞~

3、解决恶意重复提交的问题,这个解决方式有点坑爹。

   实现方式主要是提交按钮后让"计算"按钮不可用,然后需要按下"重置"按钮才能重新激活"计算"按钮。

     感想:有点不人性化....

<2016-04-09>

1、优化部分服务器端代码。

2、与队友共同完成单利和复利的数据查询。

 

 <2016-04-10>

1、今天半天都在学习其他框架,没进行更新,下午才继续完善。(题外话)

2、发现了验证用户输入这块存在比较严重的BUG,概率让用户可以忽略错误,然后提交进数据库,这个bug正在解决。

3、考虑更换框架,初步设想spring或者structs+hibernate,正在学习框架搭建中,在找一些例子进行实践~ 

 <2016-04-11>

1、在和队友商量后,决定取消了修改数据的功能。

2、优化部分js代码,整合funcion.js的功能使页面加载速度提高(本来就没多慢,只是为了好看哈哈~)

3、决定将版本号发布至1.0.0,简化一些js代码,去除一下没用到js函数,阶段性完工.(喝杯茶~)

4、改变后的报表页面由5个变化到8个一页。

5、回车键的BUG着手修复,1.0.1版在路上。

<2016-04-11>

1、解决在输入框按下回车键刷新页面的bug

   解决方法:

     (1)在function.js加入这个函数:

function judge_enter(){
    if(window.event.keyCode==13){
        window.event.keyCode = 0;//阻止页面刷新的作用
    }
}

     (2)在每一个输入框添加一个onkeypress事件

<input type='text' id='xxxx'onkeypress='judge_enter();'/>

2、复利计算这个任务算是完工了~撒花一下。继续学习三大框架的

合作照片

 

项目小结

1、项目工作量分配得当,前后端分工明确。

2、代码同步及时,方便双方同步更新代码。

3、学会servlet进行提交表单,正在学习用Ajax进行异步刷新。

4、后续改进点和BUG点正在努力修正。

5、后续小结将在以下更新。(传送门:http://www.cnblogs.com/LeoSunhailin/p/5362648.html

     

项目已完成的要求:

1.开发一个金融计算软件,界面美观整洁。

2.各种模式计算模块。

3.可以进行单利和复利的投资历史一览。

4.输入框的容错性,以及良好的交互界面,防止用户恶意操作。

5.投资数据存入在数据库中,便于后台管理。

6.在投资报表模块可以对用户不想要的数据进行删除。

未完成的要求:

1.安卓平台的APP的开发(App的开发正在路上)

2.修改功能未实现,考虑前台修改后台数据有点恶意所以没有进行相关的开发。

3.多用户的登录实现。个人本来想实现的,可是种种原因没有实现...    

原文地址:https://www.cnblogs.com/LeoSunhailin/p/5343702.html