数据库设计原则-细

 常说“细节决定成败”,软件的细节决定软件的成熟度,主要体现能控制的程度是否精细,控制精细可以从两个方面(对象、时间)理解

 对象, 即可以根据什么来控制、统计。例如(员工,部门、职位、职等、职级、职
       称、员工类型、职位类型、部门类型、离职类型、 性别、学历、籍贯、民族、
       工龄、年龄、薪别、消费等级,时段、餐厅等),而且能否任意组合
        

  例如 1. 考勤系统中某员工A(技术部的工程师, 属于月薪人员)在2008-8-8日08:05 才来上班,本来上班时间08:00, 那么这个员工算不算迟到            
        第1步检查是否对该员工2008-8-8这一天作了特殊规则,如果这一天奥运会开幕,可以不计算迟到,那么该员工不算迟到,如果没有特殊规定               
        第2步检查是否对该员工有特别的规定,例如不计迟到,或者允许迟到10分钟,那么该员工就应该不算迟到, 如果没有特殊规定               
       第3步检查技术部的工程师是否有特殊规定,例如不计迟到,或者允许迟到10分钟,那么该员工就应该不算迟到, 如果没有特殊规定          
       第4步检查技术部的月薪是否有特殊规定,例如不计迟到,或者允许迟到10分钟,那么该员工就应该不算迟到, 如果没有特殊规定                        
       第5步检查工程师是否有职位规定,例如不计迟到,或者允许迟到10分钟,那么该员工就应该不算迟到, 如果没有特殊规定                            
       第6步检查技术部是否存在部门规定, 如果没有... 直到找到规定,                        
       第7步检查月薪人员是否存在规定,例如不计迟到,或者允许迟到10分钟,那么该员工就应该不算迟到, 如果没有特殊规定
       第8步按整个公司的制度执行, 如果整个公司允许迟到5分钟,则不算迟到,否则按迟到处理。 
                          

   由上可以看出控制对象最细可以精确到个人+ 日期、个人、其次部门+职位、次之部门+薪别、次之职位、次之部门、次之薪别、再次之整个公司,
   这样可以做到企业想怎么定义规则都行,特殊的情况特殊处理,就像现实社会上的日常生活例子,  
   例如去某部门办事,柜台人员,首先会判断是否领导特别吩咐过的人,接着判断是否自己的亲人、朋友等, 再判断是否VIP客户, 
   然后判断衣着是否属于有身份的,最后再按普通老百姓处理。
                          
                     

2. 某员工B去食堂消费, 那么该员工要不要扣款,扣多少呢?最大消费金额是多少呢?              
第一步检查今天是否属于特殊日子,整个企业免费提供,如果是,则不扣,                          
第二步检查该员工的是否为VIP卡,不扣钱的卡,如果是,则不扣,                           
第三步检查该员工的卡等级, 例如高层干部扣10元,中层干部扣8元,                          
第四步按普通卡扣款。
                           

由上可以看出控制对象最细可以精确到个人 + 日期、个人、等级,就像现实社会上的公交卡例子,                           
例如去乘公交车,首先会判断是否属于试业免费期,接着该线路是否免费接送车,接着判断卡片的类型(老年、残疾卡免费、学生卡半价等),                          
然后再判断卡的性质(年卡8折,月卡9折等),最后按普通卡处理。
                

以上例子可以说明,无论是社会,还是企业的控制系统都是根据其对象来的,其对象的精细程度直接决定系统是否考虑周到,通过对系统的控制对象                 
层层分解,几乎可以做到无论是细分(可以精确到最小单位),还是统一都能应用自如。

 
时间, 即可以根据什么时间来控制,统计。例如时间可以分为年、上半年、下半年、季度、月、半月、周、星期、日, 上午、下班、晚上, 而且能否自定义时间段?             
  其实控制时间可以理解为一个对象(例如上述公交车的例子,可以扩充到今年免费、本月免费等),只是为了方便理解,才独立出来的。下面举例说明
            

  例如:1. 薪资计算, 按照一般理解是按月来计算的,那么企业可能要求按半月计算、周计算,甚至自定义起止日期来计算,系统是否能支持?         
          2. 水电费计算,按照一般理解也是按月来计算的,那么企业可能要求精确到日,或者分段计算(例如A01房间1-10号有四个月入住,11号有一个员工离职 这时房间只能三个人, 到了20号有一个新员工入住,这时变成了4个人,为了让水电费更为公平精确,需要分段来算),系统是否能支持?
                
       3. 订餐系统,按照一般理解是上餐订下餐,可以订一天,那么企业可能要求,订一周、或者订一个月,甚至临时订餐,系统是否能支持?                

       4. 报表系统,例如离职率有月离职率,周离职率,那么企业要求季度离职率,年度离职率,甚至任意时间段的离职率,系统是否能支持像离职率一般是求部门离职率,系统是否能支持不同对象的离职率(如职位离职率、年龄离职率、工龄离职率,籍贯离职率,员工类型离职率等)

      例如迟到人数,一般有今天迟到人数,那么企业要求上午,下午、晚上分别迟到多少人,系统是否能支持?其实所有报表都有可能按任意时间来。
             

   由上可以说明时间的精细直接决定系统能否得出企业想要的数据,系统的时间控制可以由企业自定义,想要什么时候的数据,或者要控制什么时间段都行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值