求JAVA程序员试练的一些项目解决思路

求JAVA程序员试练的一些项目解决思路

求JAVA程序员试练的一些项目
我是计算机专业的大三的学生.想作JAVA程序员.现在这个暑假我一直在学JAVA方面的东西.我学过了J2SE,html,JSP和WEB也学的差不多了.我想搞一些有关JAVA程序员的一些项目好为快到的工作做准备.一般别人都说学课本再多还不如做个项目.

------解决方案--------------------
那给你一个题目:勤务管理系统。

某公司,上下班刷IC卡,刷卡的数据被保存到一个excle文件中。

现要求做一个系统,有一下功能:
1,从刷卡数据中算出每个人的上下班时间。
2,计算每个人的工作时间,加班时间。判断是否迟到早退等。

上面只是核心。具体运用是还需要很多别的功能,我写几个,别的要你自己来想。
1,公司可能实行浮动上下班*,比方说规定,上午8:30开始10:30为止为上班开始时间,总工作时间为8小时,中午1小时休息,就此可以推算出可以下班时间。比方说,8:55刷卡,那么按规定,15分钟为一个时间段,就算他9:00上班,那么18:00后他他可以下班。如果,10:30以后刷卡算迟到;刚才那个例子18:00以后没有刷卡记录的话,说明他早退。
浮动上下班*的具体时间变化,每天上班的核心时间,可能发生变化,所以不能程序写死。

2,从刷卡数据中算出每个人的上下班时间,允许个人人工调整。因为,从算出上下班时间没有那么容易。比方说,有人加班到晚上2点,然后回家,那么他的入门记录可能是有一条1点多的(当时他去厕所回来刷的?),这个1点多的记录,不能被当成当天的上班记录。同样,如果当天最后一条是23:50的出门记录,那么这个23:50未必就是当天的下班时间,有可能他去厕所了,0:05又回来继续加班。所以,从原始数据如何抽出上下班的时间,你要好好想一想,必要时需要提供一个画面,让个人自己填写。

3,这个项目现在使用excle文件作为输入文件,但是也许你的项目被做成产品,卖到别的公司去,别的公司未必用excle文件,也许oracle数据库中有考勤时间,也许有个FTP服务器上放着一个csv文件,要本系统自己去取。也就是说,输入文件的形式,方式方法可能非常不同。你做的如果是产品当然要考虑到这种变化,本系统的核心在不同公司不用改变,只是增加符合自己设计的interface的实装。具体有点像jdbc的factory设计模式。

4,输出的内容有上下班时间,迟到早退与否,那么如果和人事系统相连,取到个人的级别,可以算出迟到早退扣多少钱,加班费该给多少。算出这些后又可以和财务系统相连。总之,和哪些外部系统可能可以联系的接口要留出,才是好的solution。

5,还有很多很多,你可以发挥你的想象。我再随便举个例子:如果当天没有记录,那么可以判断他没有上班。那么如果公司有workflow,请假的话,会向上级发申请并得到承认的记录会留在某个系统中,那么本系统可以和那个系统相连,得到当天未上班是合理的请假?还是旷工?

考勤系统麻雀虽小,五脏俱全,可以和很多系统串连起来,发挥你的想象,好好设计实现这个系统吧。