版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南商务职业技术学院毕业设计
目录
1引言4
1.1项目开发背景4
1.2开发工具及相关技术介绍5
1.2.1Pycharm简介5
1.2.2MySQL描述6
1.2.3Python编程语言7
1.3项目开发环境与部署7
2需求分析9
2.1功能需求分析9
2.1.1员工管理系统功能需求9
2.1.2管理员管理系统功能需求11
2.2非功能需求分析12
2.3安全性需求分析12
2.3.1系统的安全性12
2.3.2数据的安全性13
2.4数据流程分析13
2.5需求用例建模13
2.5.1用户功能模块的用例13
2.5.2留言功能模块的用例14
2.5.3通知功能模块的用例15
2.5.4请假功能模块的用例16
3系统概要设计16
3.1系统设计原则16
3.2系统架构设计16
3.3系统总体设计17
3.4系统功能设计18
3.4.1用户功能模块功能设计18
3.4.2留言功能模块功能设计19
3.4.3通知功能模块功能设计20
3.4.4请假功能模块功能设计20
3.5数据库设计21
3.5.1设计原则21
I
湖南商务职业技术学院毕业设计
3.5.2概念设计21
3.5.3数据需求分析21
3.5.4数据字典22
4系统详细设计24
4.1用户子功能模块设计24
4.1.1用户子功能模块设计图24
4.1.2用户子功能模块详细设计25
4.2留言子功能模块设计25
4.2.1留言子功能模块设计图25
4.2.2留言子功能模块详细设计26
4.3通知子功能模块设计26
4.3.1通知子功能模块设计图26
4.3.2通知子功能模块详细设计27
4.4请假子功能模块设计27
4.4.1请假子功能模块设计图27
4.4.2请假子功能模块详细设计28
5系统实现28
5.1数据库访问层的实现28
5.2管理员首页模块的实现29
5.3用户模块的实现30
5.3.1用户模块界面设计30
5.3.2用户模块核心代码实现32
5.4留言板模块的实现34
5.4.1留言班模块界面设计34
5.4.2留言板模块核心代码实现35
5.5通知模块的实现38
5.5.1通知模块界面设计38
5.5.2通知模块核心代码实现39
5.6请假模块的实现40
5.6.1请假模块界面设计40
5.6.2请假模块核心代码实现42
6系统测试44
6.1管理员登录功能测试44
6.2留言模块功能测试44
II
湖南商务职业技术学院毕业设计
6.3通知模块功能测试45
6.4请假模块功能测试45
7结论与展望46
7.1结论46
7.2展望46
参考资料48
III
湖南商务职业技术学院毕业设计
基于Python的员工信息管理系统设计
1引言
在现代社会,办公自动化已经渗透到每一个角落,而员工信息管理系统就是
办公自动化的一个微观展现。它为复杂且繁琐的员工数据管理提供了便利,提升
了员工信息管理的效率,为办公自动化的广泛应用奠定了基础。员工信息管理系
统是所有现代企业和事业单位不可或缺的一部分,其内容对于企业和事业单位的
管理者来说极其关键。员工信息管理系统应能为管理者提供充足的信息资源及便
捷的查询途径。然而,当前许多单位尚未实现对员工工作的电子化管理,导致管
理人员众多、管理效率不高、决策依据不足的尴尬现象。
1.1项目开发背景
随着信息技术的飞速发展,企业管理方式也在不断演进。员工信息管理系
统作为企业内部管理的一个重要组成部分,对于实现高效的人力资源管理、提升
工作效率和数据安全性具有至关重要的作用。本项目旨在设计和实现一款基于
Python的员工信息管理系统,以满足企业对人力资源管理的需求,提高信息处理
的效率和准确性。
随着企业规模的扩大和组织结构的复杂化,传统的手工管理方式已经难以满
足快速发展的企业需求。员工信息的管理涉及到招聘、入职、晋升、离职等多个
环节,需要高效的信息管理系统来支持这些流程。同时,为了更好地了解和分析
员工数据,企业需要可视化、统计分析的工具,帮助管理层做出更明智的决策。
作为一种简洁、易学、功能强大的编程语言,Python具备丰富的生态系统和
广泛的应用领域。特别适用于快速开发原型和中小型项目。在这一背景下,选择
Python作为主要开发语言,不仅有助于提高开发效率,还能够利用其强大的数据
处理和分析能力,为员工信息管理系统提供更多可能性。
本员工信息管理系统将包括员工信息的录入、修改、删除等基本功能,同时
通过数据统计与分析模块,为管理者提供全面的员工数据分析报告,帮助企业更
好地制定人力资源策略。系统还将具备用户权限管理模块,以确保不同用户角色
之间的数据安全和隐私保护。
通过该系统的实施,企业可以更加轻松地管理员工信息,提高人力资源管理
的效率,降低管理成本,为企业的可持续发展提供有力支持。在不断变化的商业
4
湖南商务职业技术学院毕业设计
环境中,这样一款灵活、高效、安全的员工信息管理系统将成为企业信息化建设
中的重要组成部分。
1.2开发工具及相关技术介绍
1.2.1Pycharm简介
PyCharm是一款由JetBrains公司开发的集成开发环境(IDE),专门用于
Python语言的开发。它是一种强大的工具,提供了丰富的功能和工具,旨在提高
开发者的生产力。以下是PyCharm的一些主要特点和功能:
主要特点:
1.智能代码编辑:提供智能代码完成和代码建议,可以加速编码过程。
支持快速导航、查找定义和查找用法等功能。
2.强大的调试工具:集成了全功能的调试器,支持远程调试。提供可视化的
调试数据,如变量的实时值和堆栈跟踪。
3.代码分析与错误检查:内置的代码分析工具可以帮助发现潜在的错误和代
码质量问题。支持PEP8风格指南,并提供代码风格检查和改进建议。
4.项目管理:可以轻松管理大型项目,支持版本控制系统(如Git、Mercurial)。
提供项目导航、搜索和重构工具。
5.数据库工具:集成了数据库工具,支持对数据库进行查询和管理。
支持主流的数据库系统,如MySQL、PostgreSQL等。
6.Web开发支持:提供对Django、Flask等Web框架的支持。支持HTML、
CSS、JavaScript等前端语言。
7.科学和数据科学工具:集成了科学计算库,如NumPy、SciPy等。支持Jupyter
Notebooks,方便进行数据分析和可视化。
8.自动化工具和测试支持:集成了自动化测试工具,支持单元测试和集成测
试。支持代码覆盖检测,帮助评估测试的覆盖率。
9.插件系统:提供丰富的插件系统,可以根据需求安装和使用各种插件。社
区和第三方插件丰富,可以扩展PyCharm的功能。
10.跨平台支持:PyCharm支持Windows、MacOS和Linux等多个平台,确
保开发者可以在不同操作系统上愉快地使用。
总结:
PyCharm以其强大的功能、友好的用户界面和高度定制化的能力而闻名,成
为许多Python开发者的首选集成开发环境。无论是初学者还是经验丰富的开发
5
湖南商务职业技术学院毕业设计
者,都能从PyCharm的丰富功能和工具中受益,提高Python项目的开发效率。
1.2.2MySQL描述
MySQL(结构化查询语言,StructuredQueryLanguage)是一种开源的关系
型数据库管理系统(RDBMS),由瑞典公司MySQLAB开发,并于2008年被
SunMicrosystems收购,后来SunMicrosystems被OracleCorporation收购。MySQL
以其高性能、可靠性和易用性而闻名,是全球最流行的开源数据库之一。
主要特点:
1.开源性质:MySQL是开源软件,用户可以免费获取、使用、修改和分发
它,符合开源社区的理念。
2.跨平台支持:MySQL支持多种操作系统,包括Windows、Linux、macOS
等,使其可以在各种环境中运行。
3.高性能:MySQL通过采用索引、缓存和其他优化技术,实现了出色的性
能,适用于高并发的数据库访问场景。
4.可扩展性:MySQL支持垂直和水平两种扩展方式,可以通过升级硬件、
优化配置或者搭建分布式数据库来应对不断增长的数据量和访问负载。
5.ACID兼容:MySQL遵循ACID(原子性、一致性、隔离性、持久性)属
性,确保了数据库事务的可靠性和稳定性。
6.数据类型:MySQL支持丰富的数据类型,包括整数、浮点数、日期时间、
字符串等,以满足不同数据存储需求。
7.事务支持:MySQL提供事务支持,开发者可以使用事务来确保数据库操
作的原子性,即要么全部执行成功,要么全部回滚。
8.安全性:MySQL通过密码认证、访问控制列表(ACL)等机制,保护数
据库免受未经授权的访问和恶意攻击。
9.多语言支持:MySQL支持多种编程语言的接口,如Python、Java、C++
等,方便开发者在不同语言中使用MySQL。
10.存储引擎:MySQL支持多种存储引擎,例如InnoDB、MyISAM等,每
种引擎有不同的特性和适用场景,允许用户根据需求选择合适的引擎。
11.活跃的社区支持:由于其开源性质,MySQL拥有庞大而活跃的社区,用
户可以获取丰富的文档、教程和技术支持。
MySQL在Web应用程序、企业级软件和大数据环境中都得到广泛应用,是
许多知名网站和公司的首选数据库管理系统之一。其稳定性、性能和开源特性使
其成为数据库领域的领导者之一。
6
湖南商务职业技术学院毕业设计
1.2.3Python编程语言
Python是一个编程编程语言,能用直译的形式实现计算机编程语言,并且支持
面向对象编程。它是由GuidovanRossum于十九世纪八十年代末开发出来,并于
九一年公开发布使用。比Python有许多优点,包括有简单的语言,清晰的语言,以及
丰富的类库。正式由于这些优点,能够非常快速的和其他语言进行结合,来实现
各种功能模块。很多人给它起了个外号叫“黏黏胶”语言。使用Python快速生成
程序的原型,是现在很多程序员使用的方法。如果其中有比较特殊要求的地方,
也非常方便的进行修改。
PyQt拥有两个认证,这确保了其在UNIX、MS和苹果等多个平台上的正常
操作。在开始Python编程之前,必须先对各个平台进行安装,并从中获取各自
的版本,接着设定环境变量,这样才能开始操作。
Python特点:
1.相对于其他计算机语言来说学习起来比较简单:Python的关键字较少,
结构相对简单,语法简单,对于刚学编程语言的人来说更容易上手。
2.阅读起来也相对简单:Python代码结构简洁明了,并在定义上看起来也
非常清晰,所以在阅读的过程中更加简单。
3.维护起来方便:Python的维护简单方便。
4.标准库特别广泛:Python的最大的最大优势是有非常多的库,而且是跨
平台的,而且对系统的兼容性很好,比如在UNIX,Windows和Macintosh系统
上都能够进行兼容。
5.具有便捷的交互方式:有了交互方式的支撑,开发人员能够从程序就能够
看出结果,这样开发人员对于编程的检查和测试,变得的更加简单。
6.可移植性好:Python可以跨平台运行。
7.扩展性非常好的:如果有关键的代码,你可以用特殊的语言进行编写,
也能够在系统中调试运行。
1.3项目开发环境与部署
在django的运行过程中,我们需要创建一个django的开发项目,本次我们
使用的是Pycharm的社区版,在软件的命令台中输入django-admin
startprojectemployees来创建一个命名为emmployees的django项目,在本次的
项目中我们需要搞清楚django的各个py文件的含义,相关更详细的介绍如图1-1
所示。
7
湖南商务职业技术学院毕业设计
图1-1jango框架流程执行图
用户通过浏览器向我们的服务器发起一个请求(request),这个请求会去访问
视图函数:a.如果不涉及到数据调用,那么这个时候视图函数直接返回一个模板
也就是一个网页给用户。b.如果涉及到数据调用,那么视图函数调用模型,模型
去数据库查找数据,然后逐级返回。视图把返回的数据填充到模板中空格中,
最后返回网页给用户。
.图1-2如何进入django开发的项目的图
在了解完django的整体项目示意图之后,我们在电脑桌面上打开mysql
的数据库和服务,并在Pycharm命令台中输入pythonmanage.pyrunserver,
我们看到服务已经启动,并点击下图的网址,即可进行网页的跳转,如图1-2
所示。
http:///:8000/manager/login/,在登录界面输入(账号:admin,
密码:123456)即可进入管理系统。
8
湖南商务职业技术学院毕业设计
2需求分析
2.1功能需求分析
2.1.1员工管理系统功能需求
员工管理系统是一个涵盖人力资源管理方方面面的系统,其功能需求需要覆
盖员工信息管理、权限控制、统计与分析、通知与提醒等多个方面。以下是基于
这些方面的员工管理系统功能需求分析:
1.用户认证和权限管理
1.1用户登录
描述:用户通过合法的用户名和密码进行登录。
要求:提供安全的用户认证机制,包括密码加密和防暴力破解措施。
1.2用户注销
描述:允许已登录的用户进行注销操作。
要求:确保用户注销后不能再进行敏感操作。
1.3用户权限管理
描述:区分不同用户角色,如管理员、普通员工和人力资源专员等,设置
不同的权限。
要求:提供可配置的权限管理界面,确保权限变更及时生效。
2.员工信息管理
2.1员工信息录入
描述:提供员工信息的录入表单,包括姓名、工号、部门、职位、入职日
期、薪水、联系方式等。
要求:实现对各字段的数据校验,确保录入的信息准确有效。
2.2员工信息查看
描述:在系统中显示员工列表,提供简洁清晰的员工信息。
要求:支持按照部门、职位等条件筛选,提供搜索和排序功能。
2.3员工信息修改
描述:允许用户对员工信息进行修改。
要求:提供详细的修改记录,确保修改的准确性和追溯性。
2.4员工信息删除
描述:允许用户删除员工信息。
9
湖南商务职业技术学院毕业设计
要求:提供删除确认机制,避免误操作。
3.统计与分析
3.1员工数量统计
描述:统计系统中的总员工数量。
要求:提供图表展示,支持按部门、职位等维度的统计。
3.2部门人数统计
描述:统计各个部门的人数。
要求:提供图表展示,支持按照部门层级的统计。
4.数据导出与备份
4.1数据导出
描述:允许管理员导出员工信息和统计报表数据。
要求:支持多种导出格式,如CSV、Excel等。
4.2数据备份
描述:定期对数据库进行备份,确保数据安全。
要求:提供手动和自动备份选项,支持定制备份策略。
5.操作日志
5.1操作日志记录
描述:记录用户对系统的操作,包括登录、修改信息、删除信息等。
要求:提供详细的操作日志,支持按用户、时间等条件查询。
5.2操作日志审计
描述:系统管理员能够对操作日志进行审计。
要求:提供审计工具,支持检查操作日志的完整性和准确性。
6.用户界面设计
6.1主页面
描述:显示员工列表,提供导航按钮。
要求:提供查看员工详细信息和修改信息的链接。
6.2添加员工页面
描述:提供表单输入新员工信息。
要求:提供提交按钮,支持数据校验。
6.3修改员工信息页面
描述:显示当前员工信息,允许修改。
要求:提供保存修改的按钮,支持数据校验。
6.4统计分析页面
描述:显示员工数量、部门人数、年龄分布等统计数据的图表。
10
湖南商务职业技术学院毕业设计
要求:提供可视化、直观的统计图表。
以上功能需求分析为员工管理系统提供了一个全面的功能框架,确保系统能
够满足企业人力资源管理的实际需求,提高管理效率、降低成本、加强数据安全
性。
2.1.2管理员管理系统功能需求
管理员系统通常是员工管理系统中的一个重要组成部分,用于管理系统的整
体运行和维护。以下是管理员系统功能需求的一个示例列表:
1.用户管理
1.1添加、编辑和删除用户账号。
1.2分配用户角色和权限,如管理员、普通用户等。
1.3重置用户密码或生成临时密码。
2.信息管理
2.1查看、添加、编辑和删除员工信息。
2.2对员工信息进行搜索和过滤。
2.3导出员工信息报表。
3.部门管理
3.1查看、添加、编辑和删除部门信息。
3.2设置部门主管。
3.3对部门信息进行搜索和过滤。
4.职位管理
4.1查看、添加、编辑和删除职位信息。
4.2对职位信息进行搜索和过滤。
5.权限管理
5.1管理系统的访问权限,包括页面访问权限和功能操作权限。
5.2分配和调整用户的权限角色。
6.日志管理
6.1记录管理员操作日志,包括登录、添加、编辑、删除等操作。
6.2提供日志查询和导出功能。
7.系统设置
7.1配置系统参数和选项,如网站名称、LOGO、邮件服务器设置等。
7.2管理系统通知和提醒设置。
8.安全管理
8.1管理用户密码策略,包括密码复杂度、过期时间等。
11
湖南商务职业技术学院毕业设计
8.2监控系统安全事件,如登录失败、异常操作等。
9.数据备份与恢复
9.1定期备份系统数据。
9.2支持数据的快速恢复和迁移。
10.系统维护
10.1提供系统状态监控和性能分析功能。
10.2执行系统维护任务,如数据库清理、日志清理等。
11.系统升级与扩展
11.1支持系统版本升级和更新。
11.2管理系统插件和扩展的安装和更新。
12.用户反馈与支持
12.1提供用户反馈渠道,收集用户意见和建议。
12.2提供技术支持和帮助文档。
2.2非功能需求分析
首先,关注系统功能软件,在设计过程中,是否能充分满足各类用户的基本
功能需求。若无法较好地满足用户需求,则该系统的存在价值将大打折扣。针对
软件系统的非功能性需求分析,从七个方面展开:性能分析、安全分析、完整度
分析、可维护性分析、可扩展性分析以及适应业务的性能分析。在对学生试题测
试与系统在性能、安全、扩展、完整度等七个方面的性能进行综合比对分析后,
发现有必要进行相应的非功能性需求分析。
2.3安全性需求分析
2.3.1系统的安全性
安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企
业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是
对企业的负责。尤其针对于员工管理与系统来说,必须要有很好的安全性来保障
整个系统。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来
确保系统的安全性。
12
湖南商务职业技术学院毕业设计
2.3.2数据的安全性
数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的
数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据
库系统,尤其是多用户的关系数据库系统首要关注的问题。[1]
因此,在写入数据库时,要保证数据完整性、正确性和一致性。
2.4数据流程分析
针对系统数据流的分析,可以将系统使用者划分为两类:普通用户与管理员。
系统主要针对界面信息传输、登录信息验证、注册信息接收以及用户各类操作的
响应进行处理。以下为系统顶层数据流图示例。
图2-1顶层数据流图
为了确定用户身份,系统会根据登录信息进行判断,并相应地跳转至相应功
能界面。在系统内部,用户可以对数据进行操作,数据库中心则能接收到系统传
输的有效数据流,并根据相应的SQL语句进行相应操作。
系统可以分为前台和后台两部分,每一种操作后系统都返回操作结果。前台
和后台的数据连接主要通过数据库,既分别对数据库做不同的操作。
2.5需求用例建模
2.5.1用户功能模块的用例
13
湖南商务职业技术学院毕业设计
通过对功能需求的分析,创建以下总体用例模型,如图2-2所示。
图2-2图书管理系统的总体用例模型
在登录功能上,了解到其对于系统的重要性,是保护相关数据的第一道门,
同时也是用户对于一个系统的第一印象,让其外观好看和美观是不错的开发
需求。在与用户的交谈的过程中,发现了其在使用的时候主要功能是前期对数据
的添加,而后期是对数据的查找和修改,所以对此功能进行了添加,同时为了
防止用户在使用的时候造成数据无法及时的保存,添加了退出保持的功能,希
望通过系统设作流的处理现给用户。
2.5.2留言功能模块的用例
14
湖南商务职业技术学院毕业设计
留言模块用例展示了员工用户如何查看留言和发表留言,设计了如图2-3留
言功能模块用例。
图2-3留言功能模块用例
2.5.3通知功能模块的用例
通知模块用例展示了员工用户如何查看通知和管理员发表通知,设计了如图
2-4通知功能模块用例。
图2-4通知功能模块用例
15
湖南商务职业技术学院毕业设计
2.5.4请假功能模块的用例
请假模块用例展示了员工用户如何申请假期和管理员审核假期,设计了如图
2-5请假功能模块用例。
图2-5请假功能模块用例
3系统概要设计
3.1系统设计原则
一个产品系统的设计原则是需要从多个方面去进行考虑的,具体的行沟通,
了解管理系统的问题,在安全性上,一个好的产品系统是需要有一定的防黑客、
病毒等的功能,在合理性上,一个系统一般开发给用户去使用的,所以你需
要去尊遵循用户的相关的使用习惯,使其满足用户的基本需求。
3.2系统架构设计
员工管理管理系统的架构设计主要分为可以3层,主要有Web层,业务层,
Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展
层和数据访问层。
系统架构如下图所示。
MVVM就是将其中的View的状态和行为抽象化,让我们将视图UI和业
务逻辑分开。当然这些事ViewModel已经帮我们做了,它可以取出Model的
数据同时帮忙处理View中由于需要展示内容而涉及的业务逻辑。它强制性的把
16
湖南商务职业技术学院毕业设计
应用程序的输入、输出和处理全部分开,将其分为三个核心部分,这三个部分分
别有不同的功能。
图3-1系统架构图
视图层视图是指被用户所看到的并且能够与之进行交互的界面。视图可以向
用户展示相关的数据,并接收用户输入的数据,但对用户数据不进行任何实际业
务操作处理。
模型层通过控制层来处理视图层传递的数据,同一个模型可以给不同的视图
提供数据,也可以被不同的视图重复使用。由于Model的主要内容是数据、方
法和行为,其也是MVVM中逻辑最为复杂,代码量最多的部分,其中包含了
许多应用中需要用到的业务逻辑,因此模型层的开发也变得尤为重要,后期一般
不会对模型层进行大规模改动,也是MVVM最稳定的部分。
控制层主要负责视图层和模型层之间的数据传输和处理请求操作。当用户通
过视图发送数据和请求时,控制层可以接收请求和数据并决定调用哪些模型、通
过模型的哪些操来处理数据和请求,处理完成后,控制层再将数据返回给相应的
视图。[3]
3.3系统总体设计
员工管理管理系统总体分为前台用户模块和后台管理员模块。
两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块
的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
综上所述,系统功能结构图如下图所示。
17
湖南商务职业技术学院毕业设计
图3-2系统功能设计结构图
3.4系统功能设计
登录模块:登录模块是进入系统的入口,所有用户必须登录后才能访问系统。
登录需要输入用户名和密码,如果多次尝试登录需要输入验证码。登录时需要选
择用户的角色,是一般用户还是管理员登录等。登录成功后,会通过数据库获取
用户的权限,并跳转至用户的主页面。
员工数据模块:可分为用户信息查看,修改,添加,留言功能,通知功能,
请假功能四个模块,管理员对员工数据有维护的权限,发布新的员工数据、更新
已有的员工数据等。
管理模块:员工管理分为员工添加、修改和入库出库,通知发放,请假审批
等。员工由管理员进行修改、删除操作;通知发放,请假审批由管理员或领导来
执行。
3.4.1用户功能模块功能设计
系统功能模块分模块化后,又分为了好多的子功能,下面描述的是用户模块
是子功能的基本信息和操作。请看下表3-1。
表3-1用户功能模块功能设计
18
湖南商务职业技术学院毕业设计
功能名称信息查看
功能概述可以看到当前登录用户的名称,邮箱等基本信息
输入内容只可查看
系统处理在页面上显示用户的基本信息情况
输出内容只可查看
功能名称信息修改
功能概述修改用户的名称,邮箱,密码等基本信息
输入内容输入修改的信息
关联数据库,对用户进行信息的修改
系统处理
输出内容输出修改后的信息,重新显示
功能名称用户登录
功能概述输入账号和密码进行用户登录
输入内容账号和密码
连接后台数据库,输入正确登录,不正确,重新
系统处理
登录
输出内容跳转到主页面
功能名称用户注册
功能概述用户姓名,密码,邮箱,部门等信息注册
输入内容姓名,密码,邮箱,部门。
数据库添加注册一个新的user用户,注册信息
系统处理
正确,注册成功
输出内容跳转到登录页面进行登录
3.4.2留言功能模块功能设计
系统功能模块分模块化后,又分为了好多的子功能,下面描述的是用户模块
是子功能的基本信息和操作。请看下表3-2。
表3-2留言功能模块功能设计
19
湖南商务职业技术学院毕业设计
为员工提供留言的模块
发表一些留言,促进员工交流
对于不同类别进行设计和规划,对类别增、删、改查功
能
操作成功或者失败的提示
3.4.3通知功能模块功能设计
系统功能模块分模块化后,又分为了好多的子功能,下面描述的是用户模块
是子功能的基本信息和操作。请看下表3-3。
表3-3通知功能模块功能设计
管理员发表通知,员工接收
发表通知,员工查看
对于不同类别进行设计和规划,对类别增、删、改查功
能
操作成功或者失败的提示
3.4.4请假功能模块功能设计
系统功能模块分模块化后,又分为了好多的子功能,下面描述的是用户模块
是子功能的基本信息和操作。请看下表3-4。
表3-4请假功能模块功能设计
员工申请假期,管理员审核
员工填写假期申请表,管理员审核
对于不同类别进行设计和规划,对类别增、删、改查功
能
操作成功或者失败的提示
20
湖南商务职业技术学院毕业设计
3.5数据库设计
3.5.1设计原则
为取得较好的设计效果,进行数据库设计需要遵从以下原则:1.标准化
原则
数据库设计务必要遵照统一的设计标准与命名规范。具备统一设计分类与编
码规范的数据库不仅设计清晰直观,更有利于后期数据库及程序的维护,为以后
项目可扩展性提供条件。
2.冗余原则
以往数据库的设计要求不允许有冗余,要尽可能的满足3NF。然而,在系
统运行过程中,满足3NF的数据库设计并不能高效运行。复杂的表间关系,
会降低访问数据库执行的效率;过低的范式标准,又会导致数据库数据。所以,
在数据库设计中,适当的冗余设计(允许派生性冗余设计,杜绝重复性冗余设
计),找到冗余与数据处理速度的平衡点,常常可以既提高速度,又能提升性
能。
3.5.2概念设计
在数据库概念设计的过程中,采用E-R图来描述概念设计的结果。E-R图
是概念数据模型的高层描述所使用的数据模型或模式图,它为表述实体联系模
式图形式的数据模型提供了图形符号。根据员工管理系统数据进行分析,采用
E-R图来描述概念设计的结果。
3.5.3数据需求分析
从前面可以分析到数据库中最重要的是企业员工。分析可以得到如下数据描
述:
平台用户:用于记录用户的各种信息,包括姓名、邮箱、密码、家庭住址、
部门、职位等数据项。
管理员:记录管理员的登录信息。包括用户名,密码,权限等数据项。
员工管理:储存企业员工资料的信息数据项。
员工部门管理:存储员工部门资料的信息数据项。
员工职位管理:存储员工职位资料的信息数据项。
21
湖南商务职业技术学院毕业设计
员工留言管理:存储用户留言的信息数据项。
员工评论管理:存储员工评论的信息数据项。
员工通知公告管理:存储企业通知的信息数据项。
员工请假管理:存储员工请假的信息数据项。
3.5.4数据字典
数据库逻辑结构就是将E-R图在数据库中用具体的字段进行描述。用字段
和数据类型描述来使对象特征实体化,最后形成具有一定逻辑关系的数据库表结
构。[2]员工信息管理系统所需的部分数据结构如下表所示:
1.用户信息表-User
名称类型长度不是null主键注释
Usernamechar50是是用户名
EmailChar20是不是邮箱
PasswordChar20是不是密码
AddressChar20是不是家庭住址
PositionChar20是不是职位
DepartmentChar10是不是部门
StatusBoolean是不是状态
is_leaderInt2是不是是否为领导
2.部门表
名称类型长度不是null主键注释
Department_namechar10是是部门名
3.职位表
名称类型长度不是null主键注释
Positionchar20是是职位名
22
湖南商务职业技术学院毕业设计
DepartmentChar10是不是部门
4.留言表
名称类型长度不是null主键注释
Contentchar200是是留言内容
UserChar50是不是用户
AddtimeDate是不是留言时间
5.评论表
名称类型长度不是null主键注释
Contentchar128是是评论内容
UserChar50是不是用户
LeavingmessageChar200是不是留言
TimeDate是不是评论时间
6.公司通知表
名称类型长度不是null主键注释
ContentText是是通知内容
AddtimeDate是不是通知时间
UserChar50是不是领导
7.请假信息表
名称类型长度不是null主键注释
UserChar50是是用户
ReasonChar256是不是请假原因
StatusBoolean是不是状态
ApplydateDate是不是申请时间
23
湖南商务职业技术学院毕业设计
4系统详细设计
4.1用户子功能模块设计
4.1.1用户子功能模块设计图
用户模块分为三个子模块,分别为用户登陆、用户注册,以及管理员登录。
使用UML序列图对需求分析中各子功能的用力进行分析与设计,以下图4-1为用
户模块时序图
图4-1用户模块时序图
24
湖南商务职业技术学院毕业设计
4.1.2用户子功能模块详细设计
根据需求设计细化,得到了相关类及方法如下表4-1所示
表4-1用户子功能模块相关类及方法描述表
类名User
描述与用户相关的接口方法
属性与用户相关的接口方法
Login(用户登录)
方法
Loginout(退出登录)
类名User
描述用户注册类
属性用户注册方法
方法user_register
4.2留言子功能模块设计
4.2.1留言子功能模块设计图
留言功能模块主要包括用户查看留言,评论留言,发表留言三个子功能模块。
留言子功能模块设计如下图所示:
图4-2留言子功能模块设计图
25
湖南商务职业技术学院毕业设计
4.2.2留言子功能模块详细设计
根据需求设计细化,得到了相关类及方法如下表4-2所示。
表4-2留言子功能模块相关类及方法描述表
类名LeavingMessage
描述留言管理类接口
属性留言相关方法
show_leavingmessage(留言界面)
Comment(评论)
方法del_comment(删除评论)
add_leavingmessage(发表留言)
del_message(删除留言)
4.3通知子功能模块设计
4.3.1通知子功能模块设计图
通知模块主要包括员工查看通知,领导发表通知两个模块。通知子功能模块
设计如下图所示:
图4-3通知子功能模块设计
26
湖南商务职业技术学院毕业设计
4.3.2通知子功能模块详细设计
根据需求设计细化,得到了相关类及方法如下表4-3所示。
表4-3通知子功能模块相关类及方法描述表
类名CompanyNotice
描述通知管理类接口
属性通知相关方法
com_circular(通知界面)
方法Addcircular(发布公司通告(领导权限))
del_notice(删除公司通告(发布领导可删))
4.4请假子功能模块设计
4.4.1请假子功能模块设计图
请假子功能模块主要包括用户查看请假,及申请请假模块,管理员请假审批
模块,请假状态模块。请假子功能模块设计如下图所示:
图4-4请假子功能模块设计
27
湖南商务职业技术学院毕业设计
4.4.2请假子功能模块详细设计
根据需求设计细化,得到了相关类及方法如下表4-4所示。
表4-4请假子功能模块相关类及方法描述表
类名ApplyLeave,UserForm
描述通知管理类接口
属性通知相关方法
leave_list(休假情况单)
方法leave_edit(员工休假编辑(领导权限))
apply(申请请假)
apply_leave(展示所有请假)
Approval(批准请假(领导权限))
5系统实现
5.1数据库访问层的实现
基于Django的员工管理系统数据库访问层可以通过Django的ORM
(Object-RelationalMapping)机制实现。ORM是Django提供的一种方式,用
于将Python对象与数据库表进行映射,从而可以使用Python代码来操作数据
库。
以下是一个简单的示例,展示如何使用Django的ORM实现员工管理系
统的数据库访问层:
1.首先,在Django项目中创建一个应用,用于管理员工数据。可以使用以
下命令创建应用:
```shell
pythonmanage.pystartappemployee_management
```
2.在`employee_management`应用的`models.py`文件中定义员工模型。
例如:
28
湖南商务职业技术学院毕业设计
```python
fromdjango.dbimportmodels
classEmployee(models.Model):
name=models.CharField(max_length=100)
age=models.IntegerField()
department=models.CharField(max_length=100)
position=models.CharField(max_length=100)
email=models.EmailField()
```
上述代码定义了一个名为`Employee`的模型,包含员工的姓名、年龄、部
门、职位和电子邮件等字段。
5.2管理员首页模块的实现
系统呈现出一种简洁大方的首页:界面简约、鳞次栉比,用户能轻车熟路的
使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台。
如下图所示为系统的管理员登录界面。
图5-1管理员登录界面页面
29
湖南商务职业技术学院毕业设计
图5-2管理员管理界面页面
5.3用户模块的实现
文章可分为两部分,即登录前的登录界面与登录后的用户功能界面。在登录
界面,用户需输入用户名和密码。若其中一项为空,系统将提示“用户名、密码
不能为空”。随后,系统将查询数据库,若用户名存在且密码正确,则登录成功;
否则,登录失败。若登录失败,系统将给出提示,并将焦点停留在文本框上。登
录成功后,全局变量username将被设置为用户名。
登录成功后,用户可进入会员功能模块,包括修改会员基本信息、发布考试
信息管理、发布信息及退出功能。退出功能将清除全局变量username的值,并
返回首页。
5.3.1用户模块界面设计
30
湖南商务职业技术学院毕业设计
图5-3用户登录前界面
用户登录后界面如下图所示:
图5-4用户登录后界面
当新员工注册时,注册界面如下:
31
湖南商务职业技术学院毕业设计
图5-5用户注册界面
5.3.2用户模块核心代码实现
用户登录的逻辑代码如下:
#01用户登录页面
deflogin(request):
ifrequest.method=='POST':
#获取用户提交的数据
email=request.POST.get('email')
password=request.POST.get('password')
#通过获取的email,password来查看数据库中是否有此用户存在
user_obj=models.User.objects.filter(email=email,
password=password).first()
print(user_obj)
ifuser_obj:
#如果用户存在,那么使用此用户对象拿到此用户的用户名
username=user_obj.username
#设置session
request.session['is_login']=True
#将刚刚拿到的用户名存入session中
request.session['user_id']=user_obj.pk
request.session['username']=username
32
湖南商务职业技术学院毕业设计
request.session['pk']=user_obj.is_leader
print(request.session['pk'])
returnredirect('/user/index')
error='邮箱或者密码有误'
returnrender(request,'user/login.html',locals())
#02退出登录
deflogin_out(request):
delrequest.session['user_id']
delrequest.session['is_login']
delrequest.session['username']
returnredirect('/user/login')
用户注册
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿色勘查专项实施方案
- 浙江省杭州二中白马湖学校(公办)等校2026年(上)八年级英语学科期中学能诊断卷(含答案)
- 2026年农业现代化种植园成本控制降本增效项目分析方案
- 施工现场外来人员安全管理制度
- 河南1121火灾事故
- 小吴村美丽庭院建设方案
- 农田托管站农业废弃物资源化利用项目可行性研究报告
- 待建变电站建设方案
- 绿色建筑自查工作方案
- 短视频市场饱和度论2025年内容创新与流量变现方案
- 雨污分流工程竣工验收汇报
- 基坑沟槽开挖安全培训课件
- 保安安全培训资料大全课件
- 2025湖北省高考生物试卷(含解析)
- 同居协议分手协议书模板
- 窗口人员礼仪培训课件
- 期中自主检测卷(1-4单元)(试题)(含答案)2024-2025学年一年级下册数学人教版
- 工业厂房施工环境保护体系与措施
- 小学生公安课件
- 辽宁劳务派遣管理办法
- 维修人员激励管理办法
评论
0/150
提交评论