《数据库系统》课程设计题目:考勤管理系统专业:计算机科学与技术年级:大二班级:学号:姓名:指导老师:完成时间: 2017年6月8号目录一、实验目的 (2)二、实验平台 (2)三、实验内容 (2)四、实验要求 (2)五、实验步骤 (3)1.系统需求分析 (3)1.1系统功能分析 (3)1.2系统功能模块设计(划分) (3)1.3与其它系统的关系 (3)1.4数据流程图 (3)2.数据库设计 (3)2.1数据库需求分析 (4)2.2数据库概念结构设计 (4)2.3数据库逻辑结构设计 (4)2.4使用PowerDesigner16进行数据库的设计与建立 (6)2.5使用Axure RP 8 进行界面的设计 (7)3.各功能模块的设计与实现 (7)3.1功能说明 (7)3.2用户界面设计 (8)3.3各功能模块的实现 (13)4.系统实现 (14)4.1系统总体设计 (14)4.2ODBC连接方式的实现 (14)4.3登陆界面的实现 (17)4.4注册界面的实现 (18)4.5找回密码的实现 (19)4.6主界面的实现 (20)4.7上下班时间设置的实现 (20)4.8考勤修改的实现 (21)4.9出勤记录的实现 (22)4.10加班记录的实现 (23)4.11请假记录的实现 (24)4.12出差记录的实现 (24)4.13考勤统计和记录删除的实现 (25)六、实验心得 (26)七、部分代码展示 (1)一、实验目的数据库系统课程设计是为了配合数据库原理及应用开发而设置的,是计算机科学与技术、网络工程、信息安全、物联网工程、软件工程等专业集中实践的教学环节,是将关系数据库理论知识转化为解决实际问题能力的重要环节。
数据库系统课程设计目的在于加深对关系数据库理论知识的理解,通过使用具体的 DBMS,掌握一种实际的数据库管理系统并掌握其操作技术,熟练掌握使用数据库前端开发工具(如 VB、 C++、 Java、Delphi、 PowerBuilder等),进一步提高同学们运用数据库技术解决实际问题的能力。
二、实验平台●PowerDesigner●Axure●Sql sever 2005●QT 5.6三、实验内容目前市面上流行的后台数据库管理系统有:适合大型企业的Oracle,适合中小型企业的SQL SERVER,以及开源的 MySQL。
考虑到数据库管理系统的易操作性以及实验室的实际情况,本次课程设计推荐使用 SQL SERVER 作为课程设计的后台数据库管理系统,也可以使用MySQL或 Oracle 等。
前台数据库应用开发工具有 VB、PB、Delphi、VC、Java,以及广泛流行于互联网上的.NET、J2EE 技术等。
.NET、J2EE 技术采用的是典型的 B/S 计算模式,是大学后续课程涉及到的开发技术,目前不适合本次课程设计实践教学开发环境。
经典的桌面数据库应用开发是典型的 C/S计算模式,即应用数据库前端开发工具编写客户端程序,通过客户端程序来连接和访问后台数据库。
考虑到同学们都学习过C/C++,因此,本次选用VC++作为前台数据库开发工具(也可以选用VB、Delphi、Java 等)。
两周的课程设计要求同学们开发一个小型数据库管理信息系统。
所设计的小型管理信息系统应包含查询、插入、删除、修改、统计、用户权限管理等基本功能,界面采用菜单或对话框的形式。
根据同学们所选的设计课题,给出系统需求分析,设计出系统的概念模型、逻辑模型,用SQL语言实现数据库的建立、应用和维护,最后写出详细的设计说明书。
四、实验要求考勤制度是每个企事业单位所必需的,计算机的出现使员工出勤情况的记录和统计变得十分简单。
考勤管理系统的主要功能如下:●上下班时间的设定。
上下班时间相对固定,可保存在客户端的设置文件中。
●员工出入单位的情况记录。
出入情况主要由考勤机来记录,但是需要设置人工添加的功能,以针对特殊情况的处理。
●请假、加班和出差情况的记录。
●每个月底进行整个月的出勤情况统计。
考勤系统记录了员工上下班的情况,为工资管理直接提供每个月工作时间的统计结果,用以计算工资。
同时考勤系统也需要其它系统提供的员工、部门等信息。
五、实验步骤1.系统需求分析1.1系统功能分析考勤管理系统的主要功能如下:●上下班时间的设定。
上下班时间相对固定,可保存在客户端的设置文件中。
●员工出入单位的情况记录。
出入情况主要由考勤机来记录,但是需要设置人工添加的功能,以针对特殊情况的处理。
●请假、加班和出差情况的记录。
●每个月底进行整个月的出勤情况统计。
1.2系统功能模块设计(划分)本系统功能模块如图 1所示。
1.3与其它系统的关系考勤系统记录了员工上下班的情况,为工资管理直接提供每个月工作时间的统计结果,用以计算工资。
同时考勤系统也需要其它系统提供的员工、部门等信息。
1.4数据流程图系统的数据流程如图 2所示。
出勤的原始时间记录主要来源于考勤机,并且以固定格式保存的数据库中。
考勤管理系统的任务是如何处理这些数据。
2.数据库设计2.1数据库需求分析根据数据流程,可以列出以下管理系统所需的数据项和数据结构●出勤记录:记录号、员工、出入情况、出入时间。
●请假记录:记录号、员工、假期起始时间、假期结束时间、请假缘由。
●加班记录:记录号、员工、加班时间长度、日期。
●出差记录:记录号、员工、出差起始时间、出差结束时间、具体描述。
●月度考勤统计:记录号、员工、年月、累计正常工作时间、累计请假时间、累计加班时间、累计出差时间、迟到次数、早退次数、旷工次数所需的外部数据支持:●人员信息:员工号、密码、权限、姓名、部门、当前状态等●部门设置:部门编号、名称等2.2数据库概念结构设计图 3是本系统所需数据的E-R 模型图。
2.3数据库逻辑结构设计根据系统的 E-R 图,总共需要 8 个数据表的数据支持。
其中人员信息和部门设置可以使用人事管理系统中已有的数据表,而出勤记录、月度考勤统计、请假、加班、出差表和上下班时间表需要独立设计。
这8个数据表的结构如表 1到表 8所示。
表1 ATTENDANCE出勤记录表表3 LEAVE请假记录表表6 PERSON员工个人信息表表8 Commuting schedule上下班时间表2.4使用PowerDesigner16进行数据库的设计与建立Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。
利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。
数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
具体过程如下:●打开PowerDesigner16,新建一个概念模型项目,将上面进行需求分析和数据库设计所得的表在软件中表示出来,同时将各个表之间的联系给关联好。
●概念模型设计好之后,选择 Tools -> Generate Physical Date Model ,在DBMS 选项中选择想要生成脚本的对应的数据库,我这里选择的是对应的Microsoft SQL Server 2005 ,点击确定即可生成对应数据库的物理模型。
●生成物理模型之后,再检查下实体之间是不是有一些和预计的不同的地方,有的话则是概念模型的设计不正确,需要重复第一步,没有的话就可以继续下一步。
●检查完物理模型之后,就可以将建立的模型以SQL脚本的形式导出来,具体操作是 Datebase -> Generate Datebase ,再点确定就可以将脚本导出来。
●打开SQL Server Management Studio ,在自己的数据库位置单击右键,选择新建查询,然后导入上一步生成的SQL脚本,选择执行即可将在PowerDesigner16中设计好的物理模型生成在SQL Server ManagemenatStudio中,至此,数据库的设计与建立工作完成。
2.5使用Axure RP 8 进行界面的设计Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。
具体过程如下:(以登陆界面为例)●首先明确登录界面需要多少的输入框和标签以及按钮,需要多少就拖多少到中间的空白处去。
●为了能够更好地理解各个控件是干什么用的,最好把对象名给改成自己能够理解的。
●按照自己喜欢的风格摆放各个控件的位置,调整属性。
●具体教程可以参考百度。
3.各功能模块的设计与实现3.1功能说明a)上下班时间设置系统默认采用每个季节八点上班,晚上十点下班,在上下班时间设置模块中能够更改选中季节的上下班时间。
b)添加修改出勤记录通过系统选用上班(I)或者下班(O)进行出勤记录的添加,如果上班记录添加的时间晚于当个季节的上班时间,则会在迟到记录中加一,下班也是同样的道理。
c)加班记录通过系统可以选择添加加班小时数,同时添加加班记录的时刻会被记录在记录表中。
d)请假记录通过系统可以添加请假记录,选择请假的起始时间和结束时间后,系统会自动将请假的时间记录到记录表中。
e)出差记录通过系统可以添加出差记录,选择出差的起始时间和结束时间后,系统会自动将出差的时间记录到记录表中。
f)考勤统计系统可以自动汇总出勤表、加班表、请假表、出差表的数据,计算出每个员工的考勤情况如加班小时数和迟到次数等等。
3.2用户界面设计完成数据库创建和功能说明以后,我们可以进行下一步工作,即设计用户界面。
a)登录认证窗口登录认证采用两种身份验证方式,管理员方式和员工方式。
b)主窗体主窗体用来选择所要执行的功能。
c)上下班时间设置窗体上下班时间窗体用来设置选中季节的对应上下班时间。
d)考勤修改窗体考勤修改窗体用来记录每次的上下班时间。
e)添加修改出勤记录界面出勤修改界面用来修改出勤记录,如迟到次数和早退次数等等。
f)加班记录界面加班记录界面用来记录加班信息。
g)请假记录界面请假记录界面用来记录请假信息。
h)出差记录界面出差记录界面用来记录出差信息。
i)考勤统计窗口考勤统计窗口用来显示或者全部删除或者指定删除统计信息。
j)注册窗口注册窗口用来注册新员工信息。
k)忘记密码窗口忘记密码窗口用来重置密码。
l)提交成功窗口提交成功窗口用来显示提交是否成功。
3.3各功能模块的实现a)数据模块的创建数据模块的创建通过导入PowerDesignr16生成的脚本文件生成,导入的是数据的结构,也可以和脚本一起导入数据,但是我选择的是手动输入数据。