您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 数据库报告(酒店职工管理系统python版)
青岛理工大学数据库系统课程设计院(系):计算机工程学院专业:计算机网络工程姓名:班级:学号:题目:酒店职工管理系统起迄日期:_2011.12.26~2012.1.6_设计地点:计算机工程学院机房指导教师:王金龙第1章前言1.1课题背景随着全球经济的不断复苏与快速发展,酒店行业在全球与中国地区的发展速度与就业率将远远超出传统型行业。并且随着酒店行业的正规化和竞争的日益加剧,单纯的纸质信息管理已经无法通过有限的人工操作完成。为了节省酒店职工管理成本以及加强酒店管理的规范化,通过酒店职工管理系统可以有效地管理职工的工资发放情况,出勤情况,以及人事调动情况等等。作为劳动力流通比较频繁的酒店行业,人已成为信息化产业的一部分,信息化管理已经成为酒店管理的必经之路。1.2开发工具本系统在Ubuntu10.10下开发,利用PyQt.QtGui进行前台设计,采用PyQt4.QtSql进行数据库的操作,以mysql作为后台数据库。1.2.1Python简介Python(KK英语发音:/'paθɑn/,DJ英语发音:/瀂愀椀θ渂/)是一种面向对象、直译式计算机程序设计语言,由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。1.2.2Qt简介Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE的基础。基本上,Qt同XWindow上的Motif,Openwin,GTK等图形界面库和Windows平台上的MFC,OWL,VCL,ATL是同类型的东西,但Qt具有优良的跨平台特性、面向对象、丰富的API、大量的开发文档等优点。1.2.3PyQt简介PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。PyQt是由PhilThompson开发。PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。因为可用的类有很多,他们被分成几个模块。QtCore模块包含核心的非GUI功能。该模块用于时间、文件和目录、各种数据类型、流、网址、MIME类型、线程或进程。QtGui模块包含图形组件和相关的类,例如按钮、窗体、状态栏、工具栏、滚动条、位图、颜色、字体等。QtNetwork模块包含了网络编程的类,这些类允许编写TCP/IP和UDP的客户端和服务器,他们使网络编程更简单,更轻便。QtXml包含使用XML文件的类,这个模块提供了SAX和DOMAPI的实现。QtSvg模块提供显示的SVG文件的类。可缩放矢量图形(SVG)是一种用于描述二维图形和图形应用程序的XML语言。QtOpenGL模块使用OpenGL库渲染3D和2D图形,该模块能够无缝集成Qt的GUI库和OpenGL库。QtSql模块提供用于数据库的类。1.2.4Mysql简介MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1.2.5开发环境搭建1.从下载ubuntu10.10,按要求安装。2.进入ubuntu,打开terminal按以下内容输入。sudoapt-getinstallpython-pippython2.6-devlibxext-devpython-qt4qt4-dev-toolsbuild-essentialpipinstallPyQtpipinstallSIPcd~/build/SIPpython2.6configure.pymakesudomakeinstallcd~/build/PyQtpython2.6configure.pymakesudomakeinstall第2章需求分析2.1任务概述2.1.1系统目标本系统的设计原则:(1)实用性原则:可以为用户提供实用的,方便的操作服务,按照酒店职工管理的基本需求设计。(2)可靠性原则:保证了信息的安全可靠性。(3)友好性原则:本系统在用户进行操作时会有相应的提示和反馈,对于用户的操作会做出正确性判断并给出提醒。采用选项卡式布局,方便用户的操作。(4)可扩展性,本系统采用了开源模式,任何人都可以阅读并修改UI及添加需要的功能类。2.1.2用户特点本系统主要面向各大酒店,主要用于人力资源部的人员登记、考勤记录和财务部的工资管理。2.2系统的功能需求2.2.1系统的功能需求:本系统有一种角色:管理员1.管理员:新进人员登记;当月工资发放记录查询修改;查看部门人员名单;由姓名进行人员模糊查询;查询当天人员出勤情况。2.2.2功能模块:本系统主要负责管理模块,各个子模块功能需求如下:(1)人员部门登记模块功能需求管理员可以登记人员的部门调动等基本信息。可以该信息进行添加、删除、修改。(2)人员考勤记录模块功能需求管理员可以记录或修改每天人员的考勤记录。(3)人员工资发放模块功能需求管理员可以记录、修改、删除每个员工当月工资发放情况。(4)人员查找模块需求功能需求管理员根据姓名模糊查找员工。2.3系统的性能需求本系统适合于人员在500人以内的酒店使用,非员工查询操作软件。提供开源升级服务。2.4系统的数据需求根据各模块功能需求可以进一步确定数据需求,具体如下:(1).人员部门调动模块该模块主要管理人员与部门的调动关系。需要表示具体的调动信息,应包含调动人,调动日期,调动部门等数据项。(2).人员日常考勤模块该模块主要管理人员日常考勤记录。需要表示具体的考勤信息,应包含考勤人,考勤时间,考勤结果等数据项。(3).人员工资发放模块该模块主要管理人员每月的工资发放记录。需求表示具体的发放记录,应包含发放人,发放时间,发放金额,发放结果等数据项。数据流图提交人事调动申请无误上报考勤名单通过有误记录在案不通过核实又误填写工资单通过发放工资第3章系统总体设计3.1系统功能设计3.1.1系统总体功能酒店职工管理系统部门调动模块工资发放模块考勤记录模块职工核实,审议人事部核实考勤情况人事部核实发放情况财务部3.1.2各子模块的设计第四章数据库设计4.1数据库的概念设计根据系统的需求分析和各个功能模块的数据需求分析,可以得出的实体有:人员、职务、考勤情况、工资发放情况、部门共计五个实体。部门调动模块添加部门调动记录修改部门调动记录删除部门调动记录查看部门人员名单工资发放模块添加工资发放记录修改工资发放记录删除工资发放记录查看当月工资发放情况考勤记录模块添加考勤记录修改考勤记录删除考勤记录查看当天考勤情况人员表姓名职位号年龄联系电话性别ID工资发放情况ID描述考勤情况ID描述部门ID描述系统E-R图mnmnmn4.2表逻辑结构设计4.2.1表汇总以下给出该系统中所使用的所使用的表的简单描述:职位ID描述月薪人员工资发放情况考勤情况部门职位发放记录调动日期日期日期金额表名简要说明employee个人基本信息表,存放个人基本信息department部门基本信息表,存放部门基本信息categories出勤基本情况表,存放出勤基本信息releasec工资发放情况表,存放工资发放基本信息positionc职务表,存放职务基本信息。staffing人事记录表,存放人事调动记录。salaryrelease工资发放记录,存放工资发放记录。attendance考勤记录表,存放考勤记录。4.2.2表逻辑结构设计(1)employee(个人基本信息表逻辑结构)列名数据类型可否为空简介IDInteger不能为空主键,职工IDNameVarchar(20)不能为空职工姓名PositionidInteger不能为空外键,职位IDAgeInteger不能为空年龄SexVarchar(10)不能为空性别TelVarchar(20)不能为空联系电话(2)department(部门基本信息表逻辑结构)列名数据类型可否为空简介IDInteger不能为空主键,部门IDDesVarchar(20)不能为空部门描述(3)categories(出勤基本情况表逻辑结构)列名数据类型可否为空简介IDInteger不能为空主键,出勤情况IDDesVarchar(20)不能为空出勤情况描述(4)releasec(工资发放情况表逻辑结构)列名数据类型可否为空简介IDInteger不能为空主键,工资发放情况IDDesVarchar(20)不能为空工资发放情况描述(5)positionc(职务表逻辑结构)列名数据类型可否为空简介IDInteger不能为空主键,职务IDDesVarchar(20)不能为空职务描述情况。MonthlysalaryInteger不能为空月薪(6)staffing(人事记录表逻辑结构)列名数据类型可否为空简介IDInteger不可为空主键,人事记录IDDateDATE不可为空日期DepartmentidInteger不可为空外码,部门IDEmployeeidInteger不可为空外码,职工ID(7)salaryrelease(工资发放记录逻辑结构)列名数据类型可否为空简介IDInteger不可为空主键,发放IDDateDATE不可为空日期ReleaseidInteger不可为空外码,发放情况IDEmployeeidInteger不可为空外码,员工IDAmountVarchar(10)不可为空金额(8)attendance(考勤记录表)列名数据类型可否为空简介IDInteger不可为空主键,考勤IDDateDATE不可为空日期CategoriesInteger不可为空外码,考勤结果IDEmployeeInteger不可为空外码,员工ID第五章详细设计5.1程序结构设计在整个系统中,考勤记录模块、人事管理模块、工资管理模块较为重要,现在分别进行描述。(1)考勤记录模块,首先打开管理软件。点击考勤人,然后添加当天考勤信息,若不正确则输入无效。noyes开始选择要操作的员工操作员工考勤记录核实考勤记录结束(2)人事管理模块noYes(3)工资管理模块noyes开始选择操作的员工操作员工调动记录核实调动合法性结束开始选择操作的员工记录员工工资发放情况核实发放合理性结束5.2页面设计管理界面(从左到右依次为考勤、工资发放、人事调动、附加模块)类型管理界面(职务、部门、工资发放情况、考勤情况)5.3编码设计5.3.1取得数据库连接的代码db=QSqlDatabase.addDatabase(QMYSQL)db.setDatabaseName(hotel)db.setUserName(root)db.s
本文标题:数据库报告(酒店职工管理系统python版)
链接地址:https://www.777doc.com/doc-4460321 .html