《2022年酒店职工管理python》由会员分享,可在线阅读,更多相关《2022年酒店职工管理python(9页珍藏版)》请在金锄头文库上搜索。
1、青岛理工大学数据库系统课程设计院(系): 计算机工程学院专业: 计算机网络工程姓名 :班级:学号 :题目:酒店职工管理系统起迄日期 :2011.12.26 2012.1.6 设计地点 :计算机工程学院机房指导教师 :王金龙第 1 章前 言1.1 课题背景随着全球经济的不断复苏与快速发展,酒店行业在全球与中国地区的发展速度与就业率将远远超出传统型行业。并且随着酒店行业的正规化和竞争的日益加剧,单纯的纸质信息管理已经无法通过有限的人工操作完成。为了节省酒店职工管理成本以及加强酒店管理的规范化,通过酒店职工管理系统可以有效地管理职工的工资发放情况,出勤情况,以及人事调动情况等等。作为劳动力流通比较频
2、繁的酒店行业,人已成为信息化产业的一部分,信息化管理已经成为酒店管理的必经之路。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 9 页1.2 开发工具本系统在Ubuntu10.10 下开发,利用PyQt.QtGui进行前台设计,采用PyQt4.QtSql 进行数据库的操作,以mysql 作为后台数据库。1.2.1 Python简介Python(KK 英语发音: /pa n/, DJ 英语发音: / 瀂愀椀 渂/ )是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum 于 1989 年底发明, 第一个公开发行版发行
3、于1991 年。Python 语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C+)轻松地联结在一起。常见的一种应用情形是,使用python 快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C+ 重写。1.2.2 Qt简介Qt 是诺基亚开发的一个跨平台的C+ 图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt 是完全面向对象的,很容易扩展,并且允许真正地组件编程。自从1996 年早些时候,
4、 Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt 也是流行的Linux桌面环境KDE 的基础。基本上, Qt 同 X Window 上的Motif ,Openwin,GTK 等图形界面库和 Windows 平台上的 MFC ,OWL ,VCL ,ATL 是同类型的东西,但Qt 具有优良的跨平台特性、面向对象、丰富的API、大量的开发文档等优点。1.2.3 PyQt简介PyQt 是一个创建 GUI应用程序的工具包。它是Python 编程语言和 Qt 库的成功融合。 Qt 库是目前最强大的库之一。PyQt 是由 Phil Thompson 开发。PyQt 实现了一个 Py
5、thon 模块集。它有超过300 类,将近 6000 个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX ,Windows和 Mac 。 PyQt 采用双许可证,开发人员可以选择GPL和商业许可。在此之前, GPL的版本只能用在 Unix 上,从 PyQt 的版本 4 开始, GPL许可证可用于所有支持的平台。因为可用的类有很多,他们被分成几个模块。QtCore 模块包含核心的非GUI 功能。该模块用于时间、文件和目录、各种数据类型、流、网址、MIME类型、线程或进程。 QtGui 模块包含图形组件和相关的类,例如按钮、窗体、状态栏、工具栏、滚动条、位图、颜色、字
6、体等。QtNetwork 模块包含了网络编程的类,这些类允许编写TCP/IP 和 UDP 的客户端和服务器,他们使网络编程更精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 9 页简单,更轻便。 QtXml包含使用 XML文件的类,这个模块提供了SAX和 DOM API的实现。 QtSvg 模块提供显示的SVG文件的类。可缩放矢量图形(SVG )是一种用于描述二维图形和图形应用程序的XML语言。 QtOpenGL模块使用 OpenGL库渲染 3D和 2D图形,该模块能够无缝集成Qt 的 GUI 库和 OpenGL 库。 QtSql 模块提
7、供用于数据库的类。1.2.4 Mysql简介MySQL 是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在 2008 年 1 月 16 号被 Sun 公司收购。而2009 年,SUN又被 Oracle 收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的 SQL “结构化查询语言”。SQL 是用于访问数据库的最常用标准化语言。MySQL 软件采用了 GPL (GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥
8、有成本而选择了 MySQL 作为网站数据库。1.2.5 开发环境搭建1.从 http:/ ubuntu10.10 ,按要求安装。2. 进入 ubuntu,打开 terminal按以下内容输入。sudo apt-get install python-pip python2.6-dev libxext-dev python-qt4 qt4-dev-tools build-essentialpip install PyQt pip install SIP cd /build/SIP python2.6 configure.py make sudo make install cd /build/PyQ
9、t python2.6 configure.py make sudo make install 第 2 章需求分析2.1 任务概述2.1.1 系统目标本系统的设计原则:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 9 页(1) 实用性原则:可以为用户提供实用的,方便的操作服务,按照酒店职工管理的基本需求设计。(2) 可靠性原则:保证了信息的安全可靠性。(3)友好性原则:本系统在用户进行操作时会有相应的提示和反馈,对于用户的操作会做出正确性判断并给出提醒。采用选项卡式布局,方便用户的操作。(4) 可扩展性,本系统采用了开源模式,任何人都
10、可以阅读并修改UI 及添加需要的功能类。2.1.2 用户特点本系统主要面向各大酒店,主要用于人力资源部的人员登记、考勤记录和财务部的工资管理。2.2 系统的功能需求2.2.1系统的功能需求:本系统有一种角色:管理员1.管理员:新进人员登记;当月工资发放记录查询修改;查看部门人员名单;由姓名进行人员模糊查询;查询当天人员出勤情况。2.2.2功能模块:本系统主要负责管理模块,各个子模块功能需求如下:(1) 人员部门登记模块功能需求管理员可以登记人员的部门调动等基本信息。可以该信息进行添加、删除、修改。(2) 人员考勤记录模块功能需求管理员可以记录或修改每天人员的考勤记录。(3) 人员工资发放模块功
11、能需求管理员可以记录、修改、删除每个员工当月工资发放情况。(4) 人员查找模块需求功能需求管理员根据姓名模糊查找员工。2.3 系统的性能需求本系统适合于人员在500人以内的酒店使用,非员工查询操作软件。提供开源升级服务。2.4 系统的数据需求根据各模块功能需求可以进一步确定数据需求,具体如下:(1). 人员部门调动模块精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 9 页该模块主要管理人员与部门的调动关系。需要表示具体的调动信息,应包含调动人,调动日期,调动部门等数据项。(2). 人员日常考勤模块该模块主要管理人员日常考勤记录。需要表示
12、具体的考勤信息,应包含考勤人 , 考勤时间,考勤结果等数据项。(3). 人员工资发放模块该模块主要管理人员每月的工资发放记录。需求表示具体的发放记录,应包含发放人,发放时间,发放金额,发放结果等数据项。数据流图提交人事调动申请无误上报考勤名单通过有误记录在案不通过核实又误填写工资单通过发放工资第 3 章系统总体设计3.1 系统功能设计3.1.1 系统总体功能3.1.2 各子模块的设计第四章 数据库设计酒店职工管理系统部门调动模块工资发放模块考勤记录模块部门调动模块添加部门修改部门删除部门查看部门工资发放模块添加工资修改工资删除工资查看当月工资发放职工核实 ,审议人事部核实考勤情况人事部核 实
13、发放情况财务部精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 9 页4.1 数据库的概念设计根据系统的需求分析和各个功能模块的数据需求分析,可以得出的实体有:人员、职务、考勤情况、工资发放情况、部门共计五个实体。系统 E-R图m n m n m n 4.2 表逻辑结构设计4.2.1 表汇总以下给出该系统中所使用的所使用的表的简单描述:表名简要说明 employee 个人基本信息表,存放个人基本信息 department 部门基本信息表,存放部门基本信息 categories 出勤基本情况表,存放出勤基本信息 releasec 工资发放情
14、况表,存放工资发放基本信息 positionc 职务表,存放职务基本信息。 staffing 人事记录表,存放人事调动记录。 salaryrelease 工资发放记录,存放工资发放记录。 attendance 考勤记录表,存放考勤记录。4.2.2 表逻辑结构设计(1)employee(个人基本信息表逻辑结构) 列名数据类型可否为空简介ID Integer 不能为空主键,职工ID Name Varchar(20)不能为空职工姓名Positionid Integer 不能为空外键,职位ID Age Integer 不能为空年龄Sex Varchar(10)不能为空性别Tel Varchar(20)
15、不能为空联系电话人员表姓名职位号年龄联系电话性别ID 工资发放情况ID 描述考勤情况ID 描述部门ID 描述职位ID 描述月薪人员工 资 发放情况考勤情况部门职位发放记录调动日期日期日期金额精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 9 页(2)department(部门基本信息表逻辑结构)列名数据类型可否为空简介ID Integer 不能为空主键,部门ID Des Varchar(20)不能为空部门描述(3)categories(出勤基本情况表逻辑结构)列名数据类型可否为空简介ID Integer 不能为空主键,出勤情况ID De
16、s Varchar(20)不能为空出勤情况描述(4)releasec(工资发放情况表逻辑结构)列名数据类型可否为空简介ID Integer 不能为空主键,工资发放情况ID Des Varchar(20)不能为空工资发放情况描述(5)positionc(职务表逻辑结构)列名数据类型可否为空简介ID Integer 不能为空主键,职务ID Des Varchar(20)不能为空职务描述情况。Monthlysalary Integer 不能为空月薪(6)staffing (人事记录表逻辑结构)列名数据类型可否为空简介ID Integer 不可为空主键,人事记录ID Date DATE 不可为空日期D
17、epartmentid Integer 不可为空外码,部门ID Employeeid Integer 不可为空外码,职工ID (7)salaryrelease(工资发放记录逻辑结构)列名数据类型可否为空简介ID Integer 不可为空主键,发放ID Date DATE 不可为空日期Releaseid Integer 不可为空外码,发放情况ID Employeeid Integer 不可为空外码,员工ID Amount Varchar(10)不可为空金额(8)attendance(考勤记录表)列名数据类型可否为空简介ID Integer 不可为空主键,考勤ID Date DATE 不可为空日期
18、Categories Integer 不可为空外码,考勤结果ID Employee Integer 不可为空外码,员工ID 第五章 详细设计5.1 程序结构设计在整个系统中,考勤记录模块、人事管理模块、工资管理模块较为重要,现在分别进行描述。(1)考勤记录模块,首先打开管理软件。点击考勤人,然后添加当天考勤信精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 9 页息,若不正确则输入无效。no yes (2)人事管理模块no Yes (3)工资管理模块no yes 5.2 页面设计管理界面(从左到右依次为考勤、工资发放、人事调动、附加模块)
19、类型管理界面(职务、部门、工资发放情况、考勤情况)5.3 编码设计5.3.1 取得数据库连接的代码db=QSqlDatabase.addDatabase(QMYSQL) db.setDatabaseName(hotel) db.setUserName(root) db.setPassword(112358) 开始选择要操作的员工操作员工考勤记录核实考勤记录结束开始选择操作的员工操作员工调动记录核实调动合法性结束开始选择操作的员工记录员工工资发放情况核实发放合理性结束精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 9 页 if not d
20、b.open(): QMessageBox.warning(None,Hotel Manager, QString(Database Error: %1).arg(db.lastError().text() sys.exit(1) 第六章 结论和展望6.1 结论该系统设计并实现了酒店职工管理系统模块的基本功能,包括员工的人事管理、工资管理、考勤管理。添加了每天的考勤记录、每月的工资发放列表、人员搜索的附加功能。通过对系统各个功能和性能的测试,本系统运行基本稳定,性能可靠,基本指标达到了用户的要求,具有较好的易用性和实用性。6.2 系统的不足系统虽然实现了酒店职工管理的基本功能,但是还有一些需要
21、完善的地方:(1)系统界面简陋,颜色方面、布局都不令人满意,软件美化方面做得不够。(2)系统智能型不够强,很多地方没有实现自动填写默认值的功能。(3)数据库能实现的数据量还比较小,当数据量过大时,软件操作便捷性降低。参考文献1Mark Summerfield著 Rapid GUI Programming with Python and Qt .Text printed in the United States on recycled paper at Edwards Brothers in Ann Arbor, Michigan.First printing, October 20072Magnus Lie Hetland著司 维 等 译Begining Python From Novice to Professional Second Edition. 人民邮电出版社3Jasmin Blanchchette、Mark Summerfield著 闫锋欣等译 C+ GUI QT4 编程(第二版)电子工业出版社4 王珊 萨师煊著 数据库系统概论 (第四版 ) 高等教育出版社5 哲思社区可爱的 Python 电子工业出版社精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 9 页