最课程阶段大作业02:实现自己的利息计算器

2018-08-10 11:14:45来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

       上文描述了版本控制后,此篇才真正到了作业本身。我们第一次大作业要完成的是一个利息计算器。

       利息计算器或者说融资计算器有自己的图形化版本,每一个学习的同学如果想要直观的了解下功能,可以管自己的老师要或者加文末的QQ群向老师索取。不过我们今天要实现的是非图形化的界面,是CS版本的,简而言之就是你要利用自己在SE阶段学到的知识,实现一个在console下的利息计算器。当然,按照我们最课程的造性,肯定还要带点超纲题。

       在强调要做作业之前,我们先来看一下作业是怎么被描述来送到你手里的。

一:需求的地位

       作业是什么?你是一个程序员,你的作业就是完成一个软件的功能。功能是什么?功能就是需求。在整个软件开发体系(在我们这里,被描述为SPP:精简并行过程)中,它占据重要的一环。我们先来回顾下SPP模型:

       看到没,它处在整个项目研发过程的第一环。同时,在项目管理过程中,它也占据了一个重要的过程:需求管理。

       有一点需要强调,任何质量管理体系,评判是否完善的一个重要标志是:是否留下了一套完整的资产(软件领域中所谓资产,可以是代码、文档、数据库等等)。那么,涉及到需求的文档资产,就包括如下几个:

       而今天,我们的作业,就要以产品需求规格的形式被描述出来。

二:需求该怎么被描述

       不存在具体的“需求改怎么被描述”的形式,每个公司甚至于每个项目组都可以有自己习惯的方式去描述需求,在我们的SPP模型中,一份完整的需求包括大概包含如下部分:

       而具体描述功能需求的是一个个的用例(即“用户故事”,Use Case),它大致长这样。

       用例名称

       除了用例本身的描述以外,初学者不容易把握的另一个地方是,功能点应该细化到何种程度才能被归为一个“用例”?

       注意,一种简单粗暴但不是非常正确的做法是:一个页面就是一个用例。比如说,用户注册常常是一个页面,同时它也被称之为一个用例。但是,过于复杂的用户注册页面(或者说功能),可能就会是多个用例。比如,我们在注册用户的时候需要验证用户的手机号是否正确,那就需要获取手机验证码,那这里就会包含一个发送手机验证码的用例。

       一个典型的包含当前迭代全部用例的故事墙:

       你没看错,上面就是一个个的用例,如果你在我的软件公司里面进行开发,我们每天就会对着这堵墙来安排任务,然后根据状态移动这些case。故事墙也有专业的工具形成电子版,但我们更喜欢这种直观的方式。要知道这样一来,每个人当前都在负责什么,case进行到什么程度了,都一清二楚哦。

 

三:利息计算器的用例

       好了,接下来让我们描述用例。

       第一次大作业,并不要求大家自己去写用例。

       我们把主要的用例罗列如下:

1. 主界面

 

2. 等额本息页面

 

3. 按月付息到期还本页面

 

4. 一次性还本付息页面

 

5. 数据存储

 

6. 导出计算结果

 

7. 退出

 

四:作业完成标识

       1:首先,功能必须要实现,没有明显的bug;

       2:此处有超纲功能,就是对称加密。试着解决,解决不了,则明文存储;

       3:项目commit到SVN服务中;

       4:代码要优美,想想代码规范,同时整个应用程序的实现要有面向对象的思想;

       5:再一个超纲题,把类图画出来。这不是我们在课上讲解的内容,但我猜想你一定可以自己搞定。要注意哦,从现在开始就要养成:没有困难,制造困难也要上的习惯了~~。

       以上作业,我们还没加入测试协作。但能做到这种程度,说明你已经会写代码了,同时对于SE阶段的整个知识掌握的还不错。

       在未来的大作业中,我们将会整合更多的SPP流程,并且很重要的,我们要学会怎么跟测试部打交道哦。

 

华丽分割线

===========================================================

最课程JavaEE+互联网分布式新技术开班进行中,来http://www.zuikc.com看看吧。你想参加不一样的培训班,并且一毕业就NB,那就来加入我们吧;

更多技术文章和开班信息请加入,

QQ群:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java 线程--继承java.lang.Thread类实现线程

下一篇:Tomcat--安装与部署(一)