一个“奇怪”的Web项目

首先简单的描述一下这个项目,一个Web考勤系统,数据库SQLServer,8个页面。其中2个页面在IPad中使用,其他6个PC使用。

规定无论是IPad和PC中,使用的客户端是WebKit内核的Safari浏览器。

现在这个项目,只做了三个页面,因为设计在不停的更改,所以代码属于在一直修改中。

既然提到了是个奇怪的项目,就给大家看看奇怪的地方吧。

奇怪1:项目体制

     这个项目由一个项目Leader带领3个设计人员及1个半代码人员,半个是我,我只做了Ipad的一个画面就撤出了这个项目组。Leader主要负责业务和数据库表设计,3个设计人员负责

业务逻辑,代码人员当然负责代码了。

    体制奇怪处1:4个设计对应一个开发人员,想累死写代码的人吧。

    体制奇怪处2:3个设计人员是刚进公司的新人,无开发和设计经验,当时讨论画面时,连Textbox是什么都不知道。

奇怪2:流程

    先不说新人做设计文档能做成什么样子,单说Leader带这些设计人员,只是对Leader对业务的口头描述拷贝成设计文档。描述有的,可能丢了,没有的,更直接没有。

    在后面的代码过程中,基本上由代码人员去找Leader确定设计,然后由设计人员修改。

奇怪3:业务

    本身这个项目没有用户基础表的录入画面,用户的基础信息由一个batch从Excel中导入。导入时将用户的5年考勤记录,作为空信息插入到数据库表中。

    开始我们一直奇怪的是,为什么设计里面对于考勤打卡这个手续,为什么只有Update,而没有Insert。后来在询问Leader的时候才知道因为batch都做了Insert处理了。

奇怪4:数据库设计

    在设计中,对于出勤时间的计算,跨天的当作前一天的数据计算,

    数据库表设计为

       出勤表:

出勤日期 出勤人员 出勤1 退勤1 出勤2 退勤2 出勤3 退勤3
YYYY/MM/DD NNNN HHmm HHmm HHmm HHmm HHmm HHmm
2012/01/01 0001 0800 0700        

      出勤1~退勤3为number(4,0)   ,其他为Varchar类型

      第二行数据是跨天数据

      打卡画面获取的是服务器时间,奇怪的是,我怎么能在第二天打卡点退勤按钮的时候,将数据记录在前一天里面,而且不是前2天,前三天里面。

      为此还跟Leader讨论的半天,终于Leader无语了,在每个出退勤的字段后都加上了一个辅助计算字段。格式是YYYY/MM/DD HH:mm。还是不放弃的保留了原先的出退勤字段。

      此上改动为做到第三本画面时,口头了解到出退勤时间计算方式时,找Leader确认计算方法时才知道。设计书上就没有说过,那个汗啊。

      幸亏是个小项目,大项目不就彻底崩溃了。

奇怪的人(日本人)带奇怪的项目,奇怪的项目出现奇怪的设计,奇怪的设计出现奇怪的代码,最后不出现BUG,就更奇怪了。

你可能感兴趣的:(纯技术)