在今年8-10份,独自一个人担任促销管理系统的考勤系统的开发。从需求理解、到表设计、到API接口的输出,bug的修复到最后的完工。今天停下脚步总结一下。


在整个过程中,给我最深刻的时最开始的表设计。考勤打卡每个企业个性化比较强,我的这个项目是促销人员使用的考勤打卡系统,模式:班次–排版-考勤。 每个人各不相同,不具备使用考勤组。(其他考勤系统,常常用考勤组,便于管理)。

需求场景

  • 一个促销人员一天可以有多个班次,每个班次都有一个考勤,考勤和班次强关联
  • 每个班次必须要有签到和签退、签到签退可以打卡多次,但有效签到只取第一次,签退只取最后一次,
  • 每个班次可以设置限制最早打卡时间、最晚打卡时间;
  • 每个班次可以设置晚到多少时间不算迟到、同时保证考勤时长、签退时间应该顺延时间差值、
  • 每个班次可以设置一个时间段做为不计工时时间段。
  • 考虑到复杂性,将跨天情况进行排除;
  • 多班次,班次与客户,排版问题等、会涉及到大量一对多关系。

最后需要按月抽取一张报表,统计每个人员,应出勤天数、实际出勤天数、应出勤工时、实际出勤工时、迟到次数、早退次数、缺口次数、迟到总时长、早退总时长、且按月按请假类型汇总该有请假时长(请假类型固定)。


面临的问题:

  1. 如果一个人有多个岗位(角色)、使用不同的岗位打卡、如何统计这个人的考勤、;不管是多少岗位,都是一个人;即计表时;应该用人员id
  2. 如果冗余的字段会设计大量被更新的可能性、这样的冗余是不合适的。如果主表的时间被修改、则冗余字段是否应该修改,需要考虑两个问题:一、是历史数据;二、是未发生的记录。冗余字段适合 查询多、修改少)
  3. 报表的抽取问题、是按月抽取还是按日抽取;抽取的时间点很重要。如果按月抽取、这个月发生的数据不能形成报表;如果按照天抽取,是增量抽取,还是该月发生的数据抽取;同时考虑,人员变更情况(入职和离职)
  4. 如果存在跨月份审批问题;会修改过去月份;这个时候会设涉及更新历史报表汇总数据问题
  5. 数据校验问题、牵扯对象过多,校验变得越发复杂;
  6. 进度 vs 质量。 这个是一个需要权衡的点。领导更关注结果;但质量是我们对自己的要求。当然先完成任务可能偏重要一点

后记

在设计阶段应该将问题搞清楚、后面的工作才会更轻松一些。考勤系统多种多样;个性化强、没有所谓的通用版本。满足了客户要求;让客户用着安心才是软件开发目的。

设计考勤打卡的心得体会相关推荐

  1. 学习《小学数学课堂教学中“核心问题”设计的策略探究》心得体会

    学习<小学数学课堂教学中"核心问题"设计的策略探究>心得体会 延安市新区第一小学  张婷婷 提问在教学过程中教师最常用的教学手段之一.优秀的数学教师都善于把握问题的力量 ...

  2. 机械原理c语言程序,机械原理课程设计心得体会范文

    课程设计是培训学生运用本专业所学的理论知识和专业知识来分析解决 实际问题的重要教学环节,是对三年所学知识的复习和巩固.下面是小编整理的机械原理课程设计心得体会,欢迎大家参考! [1]机械原理课程设计心 ...

  3. php 课程设计总结心得体会,课程设计心得体会

    对于不少学生来言,单片机课程设计是必上课程之一,因为它能帮助我们增强动手能力,也能提高大家的配合能力.以下是由出国留学网小编为大家整理的"单片机课程设计心得体会",仅供参考,欢迎大 ...

  4. c语言作业的心得土灰,作业心得体会范文4篇

    作业心得体会范文4篇 作业心得体会范文1 学习C语言已经一个学期了,刚开始学习的时候老是感觉力不从心.虽然认真听课了,但是并不能理解它.这种情况到了后来才有所改变. 之所以能有所改变,是因为本人找到了 ...

  5. 对c语言课程的心得体会,C语言课程设计心得体会

    C语言课程设计心得体会 回想这三周C语言课程设计的过程,真是痛并快乐着. 从领到书的那一刻,我就很郁闷?<C语言程序设计>到底事学什么的,到底有什么用.刚开始上课时?还在迷茫这门课程是用来 ...

  6. c语言程序设计课程设计心得体会,C语言程序课程设计心得体会

    在科技高度发展的今天,计算机在人们之中的作用越来越突出,学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要. 在这个星期里,我们专业的学生在专业老师的带领下进行了c ...

  7. 中国象棋程序的设计与实现(七)--心得体会和开发日志

    上大学那会,还没有自己专属的SVN仓库,但是我已经意识到了管理代码的重要性,我最常用的一种需求就是恢复到上一个正确的版本. 为此,我每实现一个重要功能,就会备份整个项目一次,增加开发日志,如" ...

  8. php网页设计设计心得体会,网页设计心得体会范文

    范文参考网最近发表了一篇名为<网页设计心得体会范文>的范文,好的范文应该跟大家分享,重新编辑了一下发到范文参考网. 一.网站规划 本工作室主要用来做个人网站,主题是介绍自我,让更多的朋友认 ...

  9. java web 课程设计_关于Javaweb课程设计的心得体会.doc

    关于Javaweb课程设计的心得体会 ----在线测试系统 这次课程设计我做的是章节自测系统, 主要是服务于学生进行阶段性自测和练习.系统分为练习和测试两部分,每一部分又各分若干专题.系统中采用的技术 ...

最新文章

  1. centos 7 jenkins安装
  2. UVA1103分区涂色+vc使用注意事项
  3. document操作例题1-延迟注册与二级菜单
  4. php ajax json post请求参数传递,javascript - ajax post 有个请求参数要用json 但请问js怎么转json的?...
  5. TreeSet()详解
  6. latex 图片大小_用LaTeX写作业——插入图片(二)
  7. 用户、组织结构、功能菜单、权限分配设计
  8. 《BI那点儿事》数据流转换——派生列
  9. bzoj 1014: [JSOI2008]火星人prefix(splay维护区间+Hash+二分)
  10. 计算机游戏蜘蛛纸牌如何还原,经典PC纸牌游戏空当接龙、蜘蛛纸牌等登陆iOS/Android...
  11. Java旅游管理系统本科生毕业设计任务书
  12. 【软件下载】Axure10正式版(含汉化包)
  13. RQNOJ-19 篝火晚会
  14. 【C语言】初识C语言(上篇)
  15. python查询12306余票_12306火车票余票查询Python实现邮件发送
  16. 求生之路服务器列表只显示ip,L4DL4D2 玩家进入退出+玩家转队伍SteamIdIP+国家+城市显示SQL版本 SP源码 2.4(2013-10-15更新)...
  17. React Native-6.React Native Text组件,多组件封装实战之凤凰资讯页面
  18. 社会管理网格化 源码_全县首家镇域网格妇联——“和大王”社会治理网格化服务管理中心妇联正式成立!...
  19. 图像渐变 java_JavaScript图形实例:利用插值实现图像渐变
  20. 上传声音 微信小程序_图文详解微信小程序中调用录音功能和音频播放的方法...

热门文章

  1. 2019暑期多校补题情况 hdu
  2. Excel用公式找出出现次数最多的数据
  3. 浪潮服务器进u盘硬盘没有初始化,出现驱动器 H 中的磁盘未被初始化.想现在初始化吗?要怎么修护U盘啊...
  4. office证书有什么用
  5. oracle rownum最后的数据,oracle rownum问题
  6. 利用机器学习识别细碎图斑实战(3):探索性数据分析
  7. 计算机视觉——Harris角点检测
  8. 天猫代运营公司前十位,国内天猫代运营排行榜
  9. onethink后台使用上传驱动时,文件上传失败
  10. DataFountain-用户逾期行为预测