代码改变世界

个人理财小助手 —— 设计思路、功能说明

2007-08-01 21:40  金色海洋(jyk)  阅读(4368)  评论(29编辑  收藏  举报

详细功能(初步)

经过了几天断续的思考,终于有了一个比较完整的思路,先记录下来以免忘记。同时也请大家多多帮忙,看看思路是否可行。
 


一、收入

1.   工资收入,这个就不用说了吧。

2.   初始资金。使用本软件之前手里还剩余的资金,包括钱包里的、银行里的(活期、定期等)。

3.   利息收入,定期、活期的利息。

4.   储蓄,定期转活期等。

5.   借入。别人借给我钱。

6.   还入。别人还钱给我。

7.   出售物品。出售以前买的物品获得的钱。

 

l   1、2、3是真正的收入。

l   4、6本来就是自己的钱,5是别人的钱。这些不属于真正的收入。

 

为什么要把4、5、6都算作“收入”呢?因为我要跟踪资金的“流动”,而我只设计了支出和收入两个表,其他的都要往这两个表靠,所以才会这么设置。

 

二、支出

1.   缴费,比如水费,电费,手机费,上网费,公交车票等。

2.   购买物品,比如买衣服,家电等。

3.   购买食物,粮食、蔬菜,去饭店等。

4.   储蓄,就是存钱,工资存入活期、活期转定期等。

5.   借出,把我的钱借给别人。

6.   还出,把我的钱还给别人。

 

l   4、5并不是真正的支出,而只是把钱换了个地方,早晚还是要回来的(特殊情况除外。没办法程序员嘛总是考虑得比较多J)。

l   6别人的钱,还给了别人。这些不属于真正的支出。

 

为什么要把4、5、6都算作“支出”呢?和上面的原因是一样的,另外活期转定期、定期转活期是对应的;借出、换入,借入、还出是对应的。这样整个资金的流动就都联系起来了。

购买物品和出售物品也有一点关系,但是金额是很难符合的,这里还没有想到一个很好的处理方式。

在有缴费这里也是暗藏杀机,手机费是预交费,先交钱才能用;固定电话费时候交费,本月产生的费用,采个月才交;而煤气水电既可以先交钱,也可以后交钱。后交费的好办,可以确定一个月用了多少钱;而先付费的是先记了(记帐)一笔支出,但是这笔钱还没有真正的花出去呢。假设一次交了100圆的手机话费,省着点用的话可以用两个月(也许更多),那么想统计一下一个月的总共花费是多少就不好处理了。

 

三、银行储蓄

这里是没有添加的功能的,都是在支出的地方添加,这里是查看储蓄(比如某一个定期存款)的详细情况的。

 

四、物品管理

同上,对物品做一个管理,记录一下购买日期,不能使用(或者送人、卖掉)的日期,当然这里的物品指的是“大件商品”了。

 

五、功能举例

说了这么多,我到底想实现一个什么样的功能呢?举个例子来说明一下吧。

 

1、  某天收到了一月份的工资。

2、  在这份工资里拿出来300元钱,存成定期存款(三个月的整存整取)。

3、  三个月后到期了,转成活期后提取出来。

4、  用这笔钱买了一个手机。(能打电话就行的那种J)

5、  用了几天后发现不好用(一分钱一分货呀),于是决定卖掉。只买了100元钱。

6、  一个兄弟急用钱,把这100元钱借给了他。

7、  几天后还给了我100元钱。

8、  最后(好了不往下设想了),用这100元钱交了手机费。

 

(这个例子好像有点bt)

我想要达到的目的就是可以把这些账目关联起来。比如第6步里的100元钱是从哪里来的呢?向上一查发现是买手机的钱,那么买手机的钱是哪里来的呢?向上一查是一个定期存款的钱,最后发现是来自于一月份的工资。

什么您说这么弄是不是太累了?!是呀我也觉得有点累,有这么复杂和麻烦吗?可能是我举的这个例子太极端了吧。简单点的例子就是从一月份的工资拿出来400元买个手机、100交手机费、200元吃午饭……这样简单了吧。但是要知道一月份的工资都做了什么事情,二月份收入一共是多少,支出一共是多少。不能有重复的统计。

 

邀请函

最近园子里面向对象讨论的挺激烈的,平时也总是看到各位高手谈论面向对象、谈论各种模式,发表自己的见解。但是呢有一个共同点:理论多,实际的例子(程序上的)少!

理论终究是理论,我觉得还是拿点实际的代码来讲解,解决一个实际的例子更好一点。而不是设想一些鸭子了、鱼了什么的。这些例子挺生动的,但是对于我来说还是有点迷糊。理论挺好的但是到了实际中怎么编写代码呢?

在这里有一个大胆的请求:邀请各位高手,能不能在闲暇时间来看看我说的这个记帐的小功能,来写点解决方案、设计思路或者是实现代码(部分)。

一来可以结合实际讲解自己的看法;二来大家都是考虑同一个问题,不容易出现歧义;最后,理财是大家或多或少都会用到的吧,想一想不会有坏处吧J。


最后,我是一直使用面向过程,用“面向数据库”的方式来写程序的。面向对象是一点都不熟悉的。三层也没有用过。
所以下一步就是设计数据库,而不是设计类。

 


希望大家能够多多支持!

感兴趣的可以加入这个群:自然框架开源社区群 46212334。


ps:
1、我不清楚各位是否能够清楚地知道自己的工资都花在什么地方了,至少我是不知道了。所以我想写这个软件来记录一下。
2、写这么一个“复杂”的程序也是对自己的思维、编程技巧的一次挑战。
3、说实在的,有没有人去用我是不关心的,主要是挑战,挑战自己的能力。
4、在编写程序的过程中可能会对其他人有所帮助,因为我会公开一些思路、技巧、代码、数据库结构等。

 

2