【毕业论文+源码】基于ASP+NET的人事管理系统
- 引言
人事管理系统是针对企业内部人事管理设计,分角色实现对公司部门及各部门员工的增、删、改、查以及对员工考勤的管理。
-
- 编写目的:
在系统需求分析的基础上,对需求分析中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明,并作为测试和维护的参考文档。
详细设计说明书的预期用户为所有与此项目相关的决策人员、开发人员和测试人员。
1.2项目背景:
项目名称:人事管理系统
解决方案名称:CompanyPersonnelManagementSystem
本项目创意的提出者:孙亚洲、何岁岁、刘盼盼
开发者:孙亚洲、何岁岁、刘盼盼
项目介绍:
人事管理是一套先进的管理模式,其实施要取得成功,必须有必需的技术和工具支持,公司人事管理软件(CPM)是实施人事部门人员管理职工必不可少的一套技术和工具集成支持平台。CPM管理系统基于通讯、计算机等信息技术,能实现企业对职工、部门的良好管理,能够协助管理者更好地完成管理的两项基本任务:管理和了解职工状况。
1.3 定义
CPM:CompanyPersonnelManagement,公司人事管理系统的缩写
命名规则:
※ 窗体
命名格式:功能模块名+Form (例如:部门管理窗体,SMF)
※ 控件
命名格式:窗体名+功能名+控件名(例如:部门管理窗体中的添加按钮,SMF_Addbtn)
字体格式:
主窗体控件:微软雅黑,五号,粗体,字体颜色:黑色
次窗体控件:微软雅黑,小五,粗体,字体颜色:黑色
※ 程序命名:
类:首字母大写
属性:首字母大写
方法:首字母大写
字段:单词首字母大写、
变量:小写
1.4 参考资料:
详细设计说明书模板资料、《人事管理系统需求分析说明书》
- 数据库设计
数据库名称:HRManagement
2.1 数据库表列表
| 序号 | 关系名称 | 表描述 |
| 1 | 部门表 | 存储公司的部门名称 |
| 2 | 职位表 | 存储部门有哪些职位 |
| 3 | 性别表 | 存储人的性别 |
| 4 | 民族表 | 存储不同民族信息 |
| 5 | 学历表 | 存储不同的学历 |
| 6 | 员工表 | 存储公司的员工信息 |
| 7 | 工作时间类别表 | 标识时间种类 |
| 8 | 工作时间表 | 存储上下班时间信息 |
| 9 | 打卡状态 | 存储打卡正常、迟到、早退三种状态 |
| 10 | 上班打卡记录表 | 存储员工上班打卡信息 |
| 11 | 下班打卡记录表 | 存储员工下班打卡信息 |
| 12 | 管理员表 | 存储管理员级别的员工进入系统的用户名及密码信息,管理员有对员工和部门增删改查的权限 |
| 13 | 超级管理员表 | 存储超级管理员信息,超级管理员增加了对管理员信息查看、修改和删除的权限 |
| 14 | 用户表 | 存储员工进入系统的用户名及密码信息 |
2.2逻辑结构设计:
| 序号 | 关系名称 | 关系的属性 |
| 1 | 部门表 | 部门ID、部门名称 |
| 2 | 职位表 | 职位ID、职位名称 |
| 3 | 性别表 | 性别ID、性别名称 |
| 4 | 民族表 | 民族ID、民族名称 |
| 5 | 学历表 | 学历ID、学历名 |
| 6 | 员工表 | Id、职工ID、姓名、性别ID、职位ID、部门ID、学历ID、生日、照片、籍贯、现住地址、民族ID、联系方式、工作年限、毕业院校、专业、身份证号码、入职时间 |
| 7 | 工作时间类别表 | 类别ID、类别名称 |
| 8 | 工作时间表 | 工作时间ID、工作时间、类别ID |
| 9 | 打卡状态 | 打卡状态ID、状态名称 |
| 10 | 上班打卡记录表 | 记录ID、打卡时间、状态ID、职工编号 |
| 11 | 下班打卡记录表 | 记录ID、打卡时间、状态ID、职工编号 |
| 12 | 管理员表 | 管理员ID、用户名、密码、职工编号 |
| 13 | 超级管理员表 | 超级管理员ID、用户名、密码、职工编号 |
| 14 | 用户表 | 用户ID、员工工号、密码 |
2.3物理结构设计:
- 部门表(Sections)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| SectionID | ID | Nvarchar(2) | No | 主键 |
| SectionName | 部门名称 | Nvarchar(20) | No | 唯一 |
- 职位表(Positions)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| PositionID | ID | Nvarchar(2) | No | 主键 |
| PositionName | 职位名称 | Nvarchar(20) | No | 唯一 |
- 性别表(Sexs)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| SexID | ID | int | No | 主键,自增 |
| SexName | 性别名称 | Nvarchar(4) | No | 唯一 |
- 民族表(Nations)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| NationID | ID | int | No | 主键,自增 |
| NationName | 民族名称 | Nvarchar(16) | No | 唯一 |
- 学历表(EduBackgrounds)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| EduBackgroundID | ID | int | No | 主键,自增 |
| EduBackgroundName | 学历名称 | Nvarchar(10) | No | 唯一 |
- 员工表(Staffs)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| ID | ID | Int | No | 主键,自增 |
| StaffID | 职工ID | Nvarchar(10) | No | 组合项:部门ID+职位ID+数字标识 |
| StaffName | 姓名 | Nvarchar(10) | No | |
| SexID | 性别ID | Int | No | 外键 |
| PositionID | 职位ID | Varchar(4) | No | 外键 |
| EduBackgroundID | 学历ID | Int | No | 外键 |
| Birthday | 生日 | Nvachar(10) | Yes | |
| Picture | 照片 | Image | Yes | |
| NativePlace | 籍贯 | Nvarchar(40) | Yes | |
| NowAddress | 现住地址 | Nvarchar(40) | Yes | |
| IDcardNo | 身份证号码 | Nvarchar(18) | No | 唯一 |
| NationID | 民族ID | Int | Yes | 外键 |
| ContactWay | 联系方式 | Nvarchar(30) | Yes | |
| WorkSeniority | 工作年限 | Int | No | |
| SectionID | 部门ID | Nvarchar(2) | No | 外键 |
| GraduateSchool | 毕业院校 | Nvarchar(30) | Yes | |
| Major | 专业 | Nvarchar(16) | Yes | |
| EmployedDate | 入职时间 | Datetime | No |
- 工作时间类别表(WorkingTimeType)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| WTTypeID | ID | int | No | 主键,自增 |
| WTTypeName | 类别名称 | Nvarchar(14) | No | 唯一 |
- 工作时间表(WorkingTimes)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| WorkingTimeID | ID | int | No | 主键,自增 |
| WorkTime | 工作时间 | Nvarchar(5) | No | 唯一 |
| WTTypeID | 类别ID | Int | No | 外键 |
- 打卡状态(ClockStatus)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| ClockStatusID | ID | int | No | 主键,自增 |
| ClockStatusName | 状态名称 | Nvarchar(10) | No | 唯一 |
- 上班打卡记录表(StartClockRecords)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| SClockRecordsID | ID | int | No | 主键,自增 |
| SColckTime | 打卡时间 | DateTime | No | |
| SClockStatusID | 打卡状态ID | Int | No | 外键 |
| StaffID | 职工ID | Nvarchar(10) | No | 外键 |
- 下班打卡记录表(EndClockRecords)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| EClockRecords ID | ID | int | No | 主键,自增 |
| EColckTime | 打卡时间 | DateTime | No | |
| EClockStatusID | 打卡状态ID | Int | No | 外键 |
| StaffID | 职工ID | Nvarchar(10) | No | 外键 |
- 管理员表(Adms)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| AdmID | ID | int | No | 主键,自增 |
| AdmName | 管理员名 | Nvarchar(15) | No | 唯一 |
| AdmPW | 密码 | Nvarchar(15) | no | |
| StaffID | 职工Id | Nvarchar(10) | No | 外键 |
- 超级管理员表(SuperAdms)
| 段 | 说明 | 类型 | 可空 | 备注 |
| SuperAdmID | ID | int | No | 主键,自增 |
| SuperAdmName | 管理员名 | Nvarchar(15) | No | 唯一 |
| SuperAdmPW | 密码 | Nvarchar(15) | no | |
| StaffID | 职工Id | Nvarchar(10) | No | 外键 |
- 用户表(Users)
| 字段 | 说明 | 类型 | 可空 | 备注 |
| UserID | ID | int | No | 主键,自增 |
| StaffID | 职工Id | Nvarchar(10) | No | 外键 |
| UserPW | 密码 | Nvarchar(15) | no |
相关文章:
【毕业论文+源码】基于ASP+NET的人事管理系统
引言 人事管理系统是针对企业内部人事管理设计,分角色实现对公司部门及各部门员工的增、删、改、查以及对员工考勤的管理。 编写目的: 在系统需求分析的基础上,对需求分析中产生的功能模块进行过程描述,设计功能模块的内部细节&…...
计算机毕业设计 校园志愿者管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...
速通LLaMA2:《Llama 2: Open Foundation and Fine-Tuned Chat Models》全文解读
文章目录 概览LLaMA和LLaMA2的区别AbstractIntroductionPretrainingFine-tuning1. 概括2、Supervised Fine-Tuning(SFT)3、⭐Reinforcement Learning with Human Feedback(RLHF)🔺总览Training Objectives:…...
如何使用VM中win10搭建Hfish蜜罐(危险感知平台)。从下载到部署详细教程
得而不惜就该死。 -----古月方源 引言:最近跟一个老师做东西,叫我搞清楚蜜罐的搭建和一些底层逻辑,所以记录一下。 一、实验准备 (一)win10虚拟机 (若有需要可以后台私信) (二&…...
Rust: AES 加密算法库
在Rust中,进行AES加密通常会用到一些现有的库,因为Rust标准库中并不直接提供AES加密的API。一个非常流行的库是crypto-box或者更广泛使用的ring库,但ring库由于依赖问题有时可能难以编译,另一个常用的库是cryptography的Rust绑定&…...
计算机网络34——Windows内存管理
1、计算机体系结构 2、内存管理 分为连续分配管理和非连续分配管理 在块内存在的未使用空间叫内部碎片,在块外存在的未使用空间叫外部碎片 固定分区分配可能出现内部碎片,动态分区分配可能出现外部碎片 3、逻辑地址和实际地址的互相转换 4、缺页中断 …...
Redisson 总结
1. 基础使用 1.1 引入依赖 <dependencies><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId></dependency> </dependencies>包含的依赖如下 1.2 配置文件 其实默认主机就…...
EfficientFormer实战:使用EfficientFormerV2实现图像分类任务(一)
摘要 EfficientFormerV2是一种通过重新思考ViT设计选择和引入细粒度联合搜索策略而开发出的新型移动视觉骨干网络。它结合了卷积和变换器的优势,通过一系列高效的设计改进和搜索方法,实现了在移动设备上既轻又快且保持高性能的目标。这一成果为在资源受…...
文心智能体搭建步骤
通过使用文心智能体平台来创建智能体的过程。这种方法可以让没有编程经验的人也能快速构建智能体,降低了技 术门槛。以下是一些建议和心得: 1.选择合适的平台:文心智能体平台是一个优秀的选择,它提供了零代码和低代码的开发环境,极大地降低了…...
PHP安全
PHP伪协议: 一.【file://协议】 PHP.ini: file:// 协议在双off的情况下也可以正常使用; allow_url_fopen :off/on allow_url_include:off/on file:// 用于访问本地文件系统,在CTF中通常用来读取本地文…...
c++278函数指针
#define _CRT_SECURE_NO_WARNINGS #include<stdlib.h> #include<string.h> #include<stdio.h>//数组类型基本语法知识梳理 //定义一个数组类型 //int a[10];//定义一个指针数组类型//定义一个指向数组类型的指针 数组类型的指针void main() {int a[10];//a代…...
sklearn特征选取之SelectFromModel
sklearn.feature_selection.SelectFromModel 是一种基于模型的重要性权重进行特征选择的工具,允许我们根据学习器的权重或特征重要性自动选择特征。它通过从模型中提取特征的重要性来选择特征,常用于与那些具有 coef_ 或 feature_importances_ 属性的模型…...
vue一级、二级路由设计
一、一级路由设计 一级路由是指直接映射到应用程序中顶级页面或组件的路由。这些路由通常定义在Vue Router的配置中,作为应用程序导航结构的基础。 直接映射:一级路由直接映射到URL路径和Vue组件,没有嵌套关系。顶级导航:它们通…...
python爬虫:将知乎专栏文章转为pdf
欢迎关注本人的知乎主页~ 实现思路 用户输入专栏ID: 代码首先提示用户输入一个知乎专栏的ID,默认值为 c_1747690982282477569。输入的ID用于构建API请求的URL。 发送HTTP请求: 使用 requests.get() 向知乎API发送GET请求,获取指定…...
嵌入式笔记(入门系列2)
目录 宏函数 预处理器#include 内存泄漏 内存对齐 堆与栈 Malloc 和 New Inline 宏函数 宏函数,宏函数,实际上就是让宏像函数一样被使用。宏函数以函数形式的方式进行入参,但是返回结果是通过表达式求值得到。话说的抽象,我…...
并发编程多线程
1.线程和进程的区别? 进程是正在运行程序的实例,进程中包含了线程,每个线程执行不同的任务不同的进程使用不同的内存空间,在当前进程下的所有线程可以共享内存空间线程更轻量,线程上下文切换成本一般上要比进程上下文…...
【十八】MySQL 8.0 新特性
MySQL 8.0 新特性 目录 MySQL 8.0 新特性 概述 简述 1、数据字典 2、原子数据定义语句 3、升级过程 4、会话重用 5、安全和账户管理 6、资源管理 7、表加密管理 8、InnoDB增强功能 9、字符集支持 10、增强JSON功能 11、数据类型的支持 12、查询的优化 13、公用…...
巨潮股票爬虫逆向
目标网站 aHR0cDovL3dlYmFwaS5jbmluZm8uY29tLmNuLyMvSVBPTGlzdD9tYXJrZXQ9c3o 一、抓包分析 请求头参数加密 二、逆向分析 下xhr断点 参数生成位置 发现是AES加密,不过是混淆的,但并不影响咱们扣代码 文章仅提供技术交流学习,不可对目标服…...
传知代码-从零开始构建你的第一个神经网络
代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 从零开始构建你的第一个神经网络 在本教程中,我们将使用PyTorch框架从零开始构建一个简单的卷积神经网络(CNN),用于图片二分类任务。CNN 是一种深度学习模型&#…...
大厂面试真题:SpringBoot的核心注解
其实理解一个注解就行了@SpringBootApplication,我们的启动类其实就加了这一个 但是这么答也不行,因为面试官要的答案肯定不止这一个 我们打开SpringBootApplication的源码,会发现上面加了一堆的注解 相对而言比较重要是下面三个…...
告别环境配置烦恼:手把手教你搞定Qualcomm AI Engine Direct在Windows和Linux下的开发环境
高通AI引擎开发环境全攻略:Windows与Linux双平台实战指南 第一次打开Qualcomm AI Engine Direct SDK的压缩包时,你可能会有种面对乐高零件箱的错觉——各种架构的库文件、不同平台的工具链、错综复杂的依赖关系扑面而来。作为曾在多个芯片平台迁移AI模型…...
观察使用token plan套餐后月度api成本的可控性变化
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察使用token plan套餐后月度api成本的可控性变化 对于个人开发者或小型项目而言,大模型API的调用成本常常是预算中一…...
别再搞混了!SAP物料主数据、BOM、工艺路线里的三种损耗率(Scrap)到底怎么配?
SAP三大损耗率配置实战指南:从物料主数据到工艺路线的精准决策 在SAP PP模块实施过程中,物料损耗率的配置往往成为顾问团队争论的焦点。我曾参与过一个汽车零部件制造项目,由于初期对三种损耗率的理解偏差,导致MRP运算结果与实际情…...
seo优化具体需要做什么?老站长每天必做的4件日常工作
早上8点15分,启动电脑,打开百度统计与Google Search Console后台。接手一个上线刚满两周的新域名,查看昨日的独立访客(UV)和页面浏览量(PV)数字。B2B机械设备类的展示型网站,前30天的自然搜索点击量极少数能突破100次。每天只发企…...
在Taotoken平台观测不同模型API调用的延迟与用量数据实践
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Taotoken平台观测不同模型API调用的延迟与用量数据实践 当你在一个项目中集成了多个大模型,并希望通过Taotoken的统一…...
RK3588/RK3568嵌入式开发:从通用镜像到定制分区镜像的完整实践指南
1. 项目概述:从“通用”到“专属”的镜像进化最近在折腾RK3588和RK3568平台时,我发现了一个挺有意思的升级点:开发板和核心板的镜像支持定制分区了。这听起来可能有点技术化,但说白了,就是以前我们拿到的系统镜像&…...
别再从头训练了!用SAM-Adapter‘轻量化’微调,让你的分割模型快速适配新任务
SAM-Adapter:轻量化微调技术让图像分割模型快速适配新任务 在计算机视觉领域,Segment Anything Model(SAM)的出现无疑掀起了一场分割技术的革命。这个由Meta推出的基础模型,以其惊人的零样本泛化能力震撼了整个行业。然…...
别再死磕CNN了!用Python从零实现一个3层GCN,带你理解图数据怎么玩
从传统CNN到图卷积:用Python实战3层GCN的底层逻辑 当我们在处理社交网络中的用户关系、电商平台上的购买行为或是蛋白质分子结构时,数据的拓扑关系往往比像素网格复杂得多。传统的卷积神经网络(CNN)在规则网格上表现出色ÿ…...
租房避坑|在成都,我从“凑合住”到“安心住”经历了什么
姐妹们,千万别被“凤凰大街包租”几个字骗了!我的真实租房血泪史是不是最近总刷到那种“凤凰大街包租”“拎包入住”的宣传?说实话,刚来成都那会儿,我也被这些词儿晃花了眼。想着省心省力,结果踩的坑一个接…...
避坑指南:DolphinScheduler Docker部署后,MySQL数据源连不上的几种常见原因及排查
DolphinScheduler Docker部署MySQL数据源连接问题深度排查手册 当你兴冲冲地部署完DolphinScheduler的Docker版本,准备配置MySQL数据源时,突然遭遇"连接失败"的红色警告——这种挫败感我太熟悉了。去年我们团队迁移数据平台时就连续踩了三个坑…...
