考勤管理系统设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VFP 课程设计报告

理工大学继续教育学院计算机网络技术专业张华

开发背景:随着信息技术的高速发展,各行各业都充分利用信息平台提高自己的

管理效率。当今国内各企业已纷纷建立考勤制度,依托考勤管理系统,使管理效率显著提高。

课题:考勤管理系统时间:2011年12月24日——2012年1月5日

计算机综合实践说明书

数据库部分

设计总任务:

这次设计的程序是考勤管理系统,主要用于企事业单位的考勤,便于统计员工的出勤情况。

用户需求(程序功能)分析及程序流程图:

(1)系统功能:上班时间的设定。上下班时间相对固定,可保存在客户端的设置文件中员工出入单位的情况记录。出入情况主要由考勤机来记录,但是需要

设置人工添加的功能,已备特殊情况的处理请假、加班和出差情况的记录

每个月底进行整个月的出勤情况统计

(2)系统功能模块设计:

根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,功能模块如图所示

(3) 系统的数据流程图如图所示,出勤的原始记录主要来源于考勤机,并且以 固定

格式保存在数据库中。考勤管理系统的任务是如何处理这些数据。

(4) 数据需求分析

根据数据流程图,可以列出以下数据项和数据结构: 出勤记录:记录号、员

上下

班厲设畳

手工补计岀勤

谦假记录

出差记录

工、出入情况和出入时间月度考勤统计:记录号、员工、年月、累计正常

工作时间、累计请假时间、累计加班时间、累计出差时间、迟到次数、早

退次数和旷工次数请假记录:记录号、员工、假期起始时间/结束时间和

请假缘由加班记录:记录号、员工、加班时间长度和日期

出差记录:记录号、员工、出差起始时间/结束时间和具体描述人员信

息:员工号、密码、权限、姓名、部门和当前状态等部门设置:部门编

号、名称等

(5)数据库概念结构设计(E-R图)

ax

tHAinw

WUfl

#ii»n

(6)程序流程图

年冃

JU计工卄时iM

Hid iHMWd

JR 计JMftfl■问

迟那E

MtlrJ®

I (T工洛」

( 垃at ■号

起》wr词妬束

耐r司拔由

i£«n^

E取軻司

曰朝

软件测试结果:

在该考勤管理系统软件中经过测试可以达到预期的目标,即可以满足用户对

该考勤软件的基本要求;用户可以通过我们程序员事先为他们准备好的SQL数

据库语言在SQL Server中把自己所要建立的数据库建立好;并通过数据源(ODBC)建立想要建的数据源;之后用户便可以顺利的通过考勤管理软件对员工的出勤情况进行管理。打开考勤管理软件,首先出现的是考勤管理系统登录的对话框:它由数据源(ODBC)名称,用户名和密码三个输入框组成,用户只要将先前建好的数据源的名称,用户名和密码正确的输入编辑框即可登录考勤管理的主界面,如果不匹配,会弹出对话框提示。

登录成功后出现的主界面由“设置”,“出勤记录”,“统计”,“重新登录”,“退出”五个功能按钮组成。

单击主对话框中的各个按钮即可显示相应的对话框。其中“重新登录”按钮

用于回到登录对话框,并且隐藏主对话框;“退出”按钮直接退出应用程序;“设置”按钮用来弹出上下班时间设置对话框;“出勤记录”按钮用来弹出考勤修改对话框。单击“统计”按钮会出现统计对话框。

上下班时间对话框在系统中以摸态对话框形式弹出,因此在没有退出此对话框时,所有其他的窗口都无法使用。上下班的时间包括两对时间值,可根据需要设置。最后单击“修改”按钮,见时间设置保存到" work_plan.ini ”文件中。单击“恢复默认设置”按钮,系统会从

“ work_plan.ini ”文件中读取保存的时间设置。如果该配置文件不存在,则用程序中默认的时间来代替。

考勤修改窗口包括 4项记录修改功能,分别对应出勤记录,加班记录,请假记录和出差记录。这4项记录的显示使用同一个检索条件。检索条件包括时间范围和员工,可根据需

要设置。出勤记录的添加是为了防止考勤出故障时,保证记录的完整性,在批量输入时,进度条会显示当前完成的进度。在出勤记录列表的上方有两个按钮。一个用来删除当前的记录,

另一个用来激活检索条件。考勤修改对话框中其他三项记录的添加和修改基本与出勤记录类似。

考勤统计对话框分别为月度统计,检索条件和记录列表3部分。月度统计需要设定统

计的时间范围。最后统计结果保存到 ATTENDANCE_STA T数据表中。同样,进度条将显示统计的进度。检索条件和“检索”按钮用于快速定位记录,便于查询和修改。

代码简述:

用到的类:CaboutDIg, CattDIg, Ccou nterRS, Ccrypt, CdepartRS, Cerra ndRS, CleaveRS, ClinkButton, CloginDlg, CovertimeRS, CPage1, CPage2, CPage3, CPage4, CpersonRS, CstatDlg, CstatRS, Ctest, CworkplanDlg, CXieyuyingDBApp, CXieyuyingDBDlg, CXieyuyingDBRS.

成员函数:

OnChangeEdtSeekpersonid(),Encrypt(CString S, WORD Key), Decrypt(CString S, WORD Key), DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct), OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message), OnTimer(UINT nIDEvent), OnCreate(LPCREATESTRUCT lpCreateStruct), OnLButtonUp(UINT nFlags, CPoint point), OnLButtonDown(UINT nFlags, CPoint point), OnOK(),OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor), WindowProc(UINT message, WPARAM wParam, LPARAM lParam), OnChangeEdtDepartid(),OnChangeEdtPersonid(),IO_Add(CString strPersonID),

OnBtnAddperson(),OnBtnAddall(),UpdateList(CXieyuyingDBRS& rs),

OnBtnDeleteattend(),OnBtnSeekio(),UpdateList(CLeaveRS &rs),

OnBtnLeaveAdd(),OnBtnLeaveDeleteattend(),OnBtnLeaveSeekio(),UpdateList(CErrandRS &rs), OnChangeEdtErrandPersonid(),OnBtnErrandAdd(),OnBtnErrandDeleteattend(),OnBtnErrandSeek

io(),OnChangeStatEdtSeekpersonid(),OnStatBtnSeek(),UpdateList(CStatRS&rs),

OnStatBtnStat(),OnWorkplanReset(),OnWorkplanModify(),ExitInstance(),OnInitDialog(),OnBtnE

xit(),OnBtnRelogin(),OnBtnConfig(),OnBtnRecord(),OnBtnStatistics(),Ctime, Cstring, BOOL. 相关的变量:

m_StartTime, m_EndTime,, m_strPersonID, m_strName m_bSeekbyperson, m_bSeekbytime,

m_COUNTER_V ALUE, m_DESCRIPTION, m_ID, m_NAME, m_MANAGER, m_INTRO, m_PERSON, m_START_TIME, m_END_TIME, m_DESCRIPTION, m_START_TIME, m_END_TIME, m_REASON, m_strDSN, m_strUser,

m_strPasswd, m_WORK_DATE, m_WORK_HOURS, m_cList, m_cProgress, m_strIOTime, m_strDepartID,

m_strDepartName, m_strPersonID, m_strPersonName, m_nHour, m_Date, m_strSTime, m_strETime,

m_strReason, m_BIRTHDAY, m_PASSWD, m_AUTHORITY, m_NAME, m_SEX, m_DEPARTMENT, m_JOB,

m_EDU_LEVEL, m_SPECIALTY, m_ADDRESS, m_TEL, m_EMAIL, m_REMARK, m_bSeekbytime,

m_bSeekbyperson, m_strSeektime, m_Stime, m_ETime, m_ERRAND_HDAY, m_ERRAND_HDAY ,

m_LATE_TIMES, m_EARL Y_TIMES, m_ABSENT_TIMES, m_YEAR_MONTH, m_Time1, m_Time2, m_Time3,

m_Time4, m_brush, m_pStatDlg, m_pAttDlg, m_nWidth,m_nHeight, m_nDx, m_nDy, m_IN_OUT,

m_IO_TIME. 编程感想:

1.通过程序设计,使我能够进一步掌握用程序设计语言解决实际问题的方法,在操作当中把所学到的用于实际的编程里去。

2.通过程序设计,使我能够提高分析问题、查阅资料、吸收新知识的能力,在分析解决问题时比以前有了很大的进步,一些常用的知识和一些常规的错误都能够解决。

3.我认为程序设计是给我们学习的一个大好机会,使我们在这样的机会里学到了一定的知识,毕竟理论要通过实践来锻炼,也只有自己参与了这样的一个锻炼,才能更好的发现自己的不足并加以改进和完善!

相关文档
最新文档