目录

      一、项目简介

      二、Github链接推送

      三、客户需求

      四、需求分析

      五、项目设计

      六、完成效果

      七、JUnit单元测试

      八、总结


一、项目简介

项目名称:复利计算器
目前版本:3.0
版本类型:web版;
使用工具:MyEclipse,Tomcat.
使用JDK版本:1.7
使用框架:Struts2,Spring,Bootstrap
主要功能:计算满期额、计算本金、计算投资时长等
开发人员:梁植淋
主要用途:银行存款计算、股票盈利计算、投资计算等
版权所属:广州商学院14级商业软件工程1班


二、Github链接推送

github上代码地址:请点击这里

github上Wiki地址:请点击这里


三、客户需求

1.客户说:帮我开发一个复利计算软件。

2.如果按照单利计算,本息又是多少呢?

3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?

4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢?

5.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢?

6.如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少?如果换成每月定投3000呢?


四、需求分析

根据客户需求,项目需要有如下六个功能块:

1.单利计算:用于简单的存款计算,存款期内本金不变,直到取款时才把利息加上。

2.复利计算:与单利计算不同的是,复利计算每期所得利息将加入本金内进行再次存款,实现了利滚利的计算。

3.本金计算:在复利的前提下,能根据终额、利率和存款期倒推所存本金。

4.投资时长计算:在复利的前提下,根据本金、终额、利率计算所需投资时长。

5.利率计算:在复利的前提下,根据本金、终额、投资时长,计算中间的利率。

6.定投计算:在复利的前提下,每年投入定额资金,实现本金的增长,如此下来,计算出一定年后的终额。


五、项目设计

1.做成web版程序,实现在线使用的效果。

2.利用Spring、struts2框架,提高程序的质量及开发效率。

3.利用Bootstrap框架,把界面往简洁美观的方向做。

4.src目录下的java包分成action、service、service.impl三层,实现代码的低耦合与易维护。

5.视图方面可根据不同的计算模块分层不同的jsp页面,以避免单个jsp页面代码量太大,难以维护。但是,各页面间必须保持较好的连接性,以免给用户不好的体现。

6.不同的jsp页面中相同的一些代码提取出来作为公有调用,如页面的大标题、页脚备注等。


六、完成效果

1.单利计算效果

2.复利计算效果

3.本金计算

4.投资时长计算

5.利率计算

6.定投计算


七、Junit测试

  前面说到代码按功能的分层思想,这样的好处在测试时就开始体现出来了,因为真正逻辑计算的代码都在service.impl层,并且与其他层的耦合性不高,所以这里主要对该层的方法进行测试。下面以复利计算模块为例:

该模块的测试代码如下:

 package com.evan.service.impl;
import org.junit.Test;
public class FuliTest { @Test
public void testCalculate() {
// System.out.println("测试");
CalculateService cs = new CalculateService();
String test = cs.calculate(10000, 0.03, 10);
System.out.println("复利测试结果"+test);
} }

然后,测试结果如下:

其他模块的测试也一样,笔者就不一一在这里列举了。

八、总结

先是老师布置的三个任务: 

1.统计前两次实验提交的代码数据:所用语言与工具,代码行,工作量(人时)。

所用工具:主要是MyEclipse2014

代码行:java代码300行左右,jsp代码就不算了,没太大技术含量

工作量:三个版本,总时长约为20小时。

2.估计完成4、5、6所需代码行与工作量,并做记录。

原估计100行代码左右,约用时2小时

3.完成过程中注意记录自己的实际工作量,完成之后与自己之前所做的估计进行对照。

4、5、6逻辑编程实际用时1小时,比预估用时要少,但整个项目用时并不少,时间主要花在了一些小细节的修改与bug的修复上。

然后是自我总结:

1. 项目不大,但我做的东西也不少了,因为我觉得编程方面就应该在练习时候往复杂的方向做,达到锻炼目的,当然以后工作了就要反过来往简单的方向做了,毕竟工作是讲究效率,而不是个人的提高。

2.同一个项目,可以用很多的方法去做,不同的方法又会有不同的有点,比如本项目用异步请求的方法来做也是很好的,无论什么方法,用活了就是好方法。

3.自我能力和经验还是不够啊,很多时候都会犯一些低级错误,卡住很久,以后还得多加练习才行。

4.值得一提的是,我觉得心态很重要,类似这种小项目的作业,我们可以不把它当作业来做,或者说是把自己想象成此项目经理,这个项目做成怎样完全由你做主,你就会重视一些做作业不会重视的问题,比如说命名规范、又比如说是否稳定、是否易维护(我承认因为时间问题,我在本程序中这些做得还是不太好),只有这样,才能把项目做成你心中的样子。说重点,就是一句话:认真对待吧。

0316-复利计算器3.0---release的更多相关文章

  1. 复利计算器4.0之再遇JUnit

    复利计算器4.0之再遇JUnit 前言    虽然之前的复利计算器版本已经尝试过使用JUnit单元测试,但由于没有系统性地学习过JUnit的使用,用得并不好,主要问题表现在测试的场景太少,并没有达到测 ...

  2. 0406.复利计算器5.0版-release

    复利计算器5.0-release 目录 项目简介 Github链接推送 客户需求 新增需求分析 项目设计 效果演示 操作说明 程序结构 结对分工 合作照片 总结 1.项目简介 项目名称:复利计算器 目 ...

  3. 0414-复利计算器6.0.Release

    复利计算器6.0--Release 前言 本次复利计算器的版本更新,主要有以下内容的完善: 1.优化了Web版的页面,提供了更舒服美观的用户体现. 2.新增了移动端(安卓)app版本. 版本信息 项目 ...

  4. 复利计算器4.0 【java版】

    import java.util.Scanner; public class FuLi { public static void main(String[] args) { ; Scanner sca ...

  5. 0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟

    一.主要功能与需求分析 1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 2.如果按照单 ...

  6. 单利 复利计算器程序1.0 2.0 3.0 [ 合 ] 之 WEB

    对单复利计算器程序进行改进 更新为网页版的. 界面不太美观 请谅解 由于时间问题暂未完善好! 计算部分的主要源代码:

  7. 复利计算器v1

    public class MainFrame extends JFrame { /** * 文本框 */ private TextField[] texts = new TextField[5]; / ...

  8. 复利计算器app发布

    复利计算器app发布 抱歉:由于无法实现服务端的持续开启,发布的app仅为简单的单机版,暂时舍弃了c/s版本的一些功能,如:投资动态管理功能. 应用详情博客:请点击这里 apk下载地址1(百度手机助手 ...

  9. 复利计算1.0,2.0,3.0(java)

    程序源代码: import java.util.Scanner; public class ch { public static void main(String[] args) { Scanner ...

  10. ASP.NET Core 1.1.0 Release Notes

    ASP.NET Core 1.1.0 Release Notes We are pleased to announce the release of ASP.NET Core 1.1.0! Antif ...

随机推荐

  1. Openresty 安装教程

    Openresty的简单安装方法,如需高级编译安装,请参照安装选项 1.安装配置好Yum源,不赘述此步骤 2.安装必要组件 yum install pcre-devel openssl-devel g ...

  2. 关于css布局的几篇文章

    这可能是史上最全的CSS自适应布局总结 (http://www.cnblogs.com/qieguo/p/5421252.html) 使用 CSS 弹性框 (https://developer.moz ...

  3. 几组User-Agent

    Your User Agent String is: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.19 (KHTML, like Gecko) Ubun ...

  4. IOS RSA 加密方式

    采用RSA加密方式,主要是生成公钥和私钥,公钥用来加密,私钥用来解密,至于其中如何实现的,网上有很多原理. 参见如下: https://github.com/jslim89/RSA-objc PS: ...

  5. “HTTPS”安全在哪里?

    背景 最近基于兴趣学学习了下 HTTPS 相关的知识,在此记录下学习心得. 在上网获取信息的过程中,我们接触最多的信息加密传输方式也莫过于 HTTPS 了.每当访问一个站点,浏览器的地址栏中出现绿色图 ...

  6. saiku源代码安装

    以前的文章介绍了如何直接安装saiku,http://www.cnblogs.com/liqiu/p/5183894.html .这里面偷懒没有源代码编译,不过这几天也就这么用了. 最近随着使用的深入 ...

  7. 在linux下挂载、卸载U盘

    首先你得保证你的U盘的格式是fat格式. 先进入/mnt/目录新建一个usb目录 cd /mnt/ mkidr usb 先fdisk -l,然后插上U盘,fdisk -l 查看是否有新的硬盘添加上来了 ...

  8. Privacy Policy

    MINE Privacy Policy This unit values your privacy. You are using our service, we may collect and use ...

  9. ps裁剪圆角

    1.打开要编辑的图片 2.选择圆角矩形工具,并调整半径(半径越大,角越圆),本例半径为20像素 3.使用上述工具画出选区 4.按下ctrl+enter,可以看到选区边缘描上了虚线 5.菜单栏-图像-剪 ...

  10. Ubuntu 14.04 载入 JWS 或 访问 jsp异常的解决方法

    前段时间在Ubuntu 14.04中使用 Chrome登录 Webex准备面试的时候发现无法进入在线面试.搞笑的是前一天尝试进入 Webex的时候还一切正常,不过当时Webex的在线面试没有开始.等到 ...