收藏 分销(赏)

遂宁市十一郎区块链无人超市人事管理系统详细设计说明书.docx

上传人:人****来 文档编号:3370128 上传时间:2024-07-03 格式:DOCX 页数:55 大小:930.95KB
下载 相关 举报
遂宁市十一郎区块链无人超市人事管理系统详细设计说明书.docx_第1页
第1页 / 共55页
遂宁市十一郎区块链无人超市人事管理系统详细设计说明书.docx_第2页
第2页 / 共55页
遂宁市十一郎区块链无人超市人事管理系统详细设计说明书.docx_第3页
第3页 / 共55页
遂宁市十一郎区块链无人超市人事管理系统详细设计说明书.docx_第4页
第4页 / 共55页
遂宁市十一郎区块链无人超市人事管理系统详细设计说明书.docx_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、 人事管理系统详 细 设 计 说 明 书项目组成员:何岁岁、刘盼盼、 孙亚洲具体设计说明书编写者:何岁岁【十二月二十日】目录一、引言- 3 -1.1编写目的:- 3 -1.2 项目背景:- 3 -1.3 定义- 3 -1.4 参考资料:- 4 -二、数据库设计- 4 -2.1 数据库表列表- 4 -2.2 逻辑结构设计:- 4 -2.3 物理结构设计:- 5 -2.4 数据表代码记录- 7 -三、软件结构- 10 -3.1 顶级结构- 10 -3.2 一般职工界面结构- 10 -3.3 管理员界面- 11 -3.4 超级管理员界面- 12 -四、程序模块描述- 13 -4.1 登录模块- 13

2、 -4.2 职工考勤模块- 15 -4.3 个人信息模块- 19 -4.4 修改密码模块- 21 -4.5 部门管理模块- 22 -4.6 职工管理模块- 25 -4.7 职工出勤模块- 27 -4.8 管理员管理模块- 29 -五、登录体验- 31 -一、 引言人事管理系统是针对公司内部人事管理设计,分角色实现对公司部门及各部门员工的增、删、改、查以及对员工考勤的管理。1.1 编写目的:在系统需求分析的基础上,对需求分析中产生的功能模块进行过程描述,设计功能模块的内部细节,涉及算法和具体数据结构,为编写源代码提供必要的说明,并作为测试和维护的参考文档。具体设计说明书的预期用户为所有与此项目相

3、关的决策人员、开发人员和测试人员。1.2项目背景:项目名称:人事管理系统解决方案名称:CompanyPersonnelManagementSystem本项目创意的提出者:孙亚洲、何岁岁、刘盼盼 开发者:孙亚洲、何岁岁、刘盼盼 项目介绍: 人事管理是一套先进的管理模式,其实行要取得成功,必须有必需的技术和工具支持,公司人事管理软件(CPM)是实行人事部门人员管理职工必不可少的一套技术和工具集成支持平台。CPM管理系统基于通讯、计算机等信息技术,能实现公司对职工、部门的良好管理,可以协助管理者更好地完毕管理的两项基本任务:管理和了解职工状况。1.3 定义CPM:CompanyPersonnelMa

4、nagement,公司人事管理系统的缩写命名规则: 窗体命名格式:功能模块名+Form (例如:部门管理窗体,SMF) 控件命名格式:窗体名+功能名+控件名(例如:部门管理窗体中的添加按钮,SMF_Addbtn) 字体格式:主窗体控件:微软雅黑,五号,粗体,字体颜色:黑色次窗体控件:微软雅黑,小五,粗体,字体颜色:黑色 程序命名:类:首字母大写属性:首字母大写 方法:首字母大写 字段:单词首字母大写、 变量:小写1.4 参考资料:具体设计说明书模板资料、人事管理系统需求分析说明书 二、 数据库设计数据库名称:HRManagement2.1 数据库表列表序号关系名称表描述1部门表存储公司的部门名

5、称2职位表存储部门有哪些职位3性别表存储人的性别4民族表存储不同民族信息5学历表存储不同的学历6员工表存储公司的员工信息7工作时间类别表标记时间种类8工作时间表存储上下班时间信息9打卡状态存储打卡正常、迟到、早退三种状态10上班打卡登记表存储员工上班打卡信息11下班打卡登记表存储员工下班打卡信息12管理员表存储管理员级别的员工进入系统的用户名及密码信息,管理员有对员工和部门增删改查的权限13超级管理员表存储超级管理员信息,超级管理员增长了对管理员信息查看、修改和删除的权限14用户表存储员工进入系统的用户名及密码信息2.2逻辑结构设计:序号关系名称关系的属性1部门表部门ID、部门名称2职位表职位

6、ID、职位名称3性别表性别ID、性别名称4民族表民族ID、民族名称5学历表学历ID、学历名6员工表Id、职工ID、姓名、性别ID、职位ID、部门ID、学历ID、生日、照片、籍贯、现住地址、民族ID、联系方式、工作年限、毕业院校、专业、身份证号码、入职时间7工作时间类别表类别ID、类别名称8工作时间表工作时间ID、工作时间、类别ID9打卡状态打卡状态ID、状态名称10上班打卡登记表记录ID、打卡时间、状态ID、职工编号11下班打卡登记表记录ID、打卡时间、状态ID、职工编号12管理员表管理员ID、用户名、密码、职工编号13超级管理员表超级管理员ID、用户名、密码、职工编号14用户表用户ID、员工

7、工号、密码2.3物理结构设计:1. 部门表(Sections)字段说明类型可空备注SectionIDIDNvarchar(2)No主键SectionName部门名称Nvarchar(20)No唯一2. 职位表(Positions)字段说明类型可空备注PositionIDIDNvarchar(2)No主键PositionName职位名称Nvarchar(20)No唯一3. 性别表(Sexs)字段说明类型可空备注SexIDIDintNo主键,自增SexName性别名称Nvarchar(4)No唯一4. 民族表(Nations)字段说明类型可空备注NationIDIDintNo主键,自增Nation

8、Name民族名称Nvarchar(16)No唯一5. 学历表(EduBackgrounds)字段说明类型可空备注EduBackgroundIDIDintNo主键,自增EduBackgroundName学历名称Nvarchar(10)No唯一6. 员工表(Staffs) 字段说明类型可空备注IDIDIntNo主键,自增StaffID职工IDNvarchar(10)No组合项:部门ID+职位ID+数字标记StaffName姓名Nvarchar(10)NoSexID性别IDIntNo外键PositionID职位IDVarchar(4) No外键EduBackgroundID学历IDIntNo外键Bi

9、rthday生日Nvachar(10)YesPicture照片ImageYesNativePlace籍贯Nvarchar(40)YesNowAddress现住地址Nvarchar(40)YesIDcardNo身份证号码Nvarchar(18)No唯一NationID民族IDInt Yes外键ContactWay联系方式Nvarchar(30)YesWorkSeniority工作年限IntNoSectionID部门IDNvarchar(2)No外键GraduateSchool毕业院校Nvarchar(30)YesMajor专业Nvarchar(16)YesEmployedDate入职时间Date

10、timeNo7. 工作时间类别表(WorkingTimeType)字段说明类型可空备注WTTypeIDIDintNo主键,自增WTTypeName类别名称Nvarchar(14)No唯一8. 工作时间表(WorkingTimes)字段说明类型可空备注WorkingTimeIDIDintNo主键,自增WorkTime工作时间Nvarchar(5)No唯一WTTypeID类别IDIntNo外键9. 打卡状态(ClockStatus)字段说明类型可空备注ClockStatusIDIDintNo主键,自增ClockStatusName状态名称Nvarchar(10)No唯一10. 上班打卡登记表(St

11、artClockRecords)字段说明类型可空备注SClockRecordsIDIDintNo主键,自增SColckTime打卡时间DateTimeNoSClockStatusID打卡状态IDIntNo外键StaffID职工IDNvarchar(10)No外键11. 下班打卡登记表(EndClockRecords)字段说明类型可空备注EClockRecords IDIDintNo主键,自增EColckTime打卡时间DateTimeNoEClockStatusID打卡状态IDIntNo外键StaffID职工IDNvarchar(10)No外键12. 管理员表(Adms)字段说明类型可空备注A

12、dmIDIDintNo主键,自增AdmName管理员名Nvarchar(15)No唯一AdmPW密码Nvarchar(15)noStaffID职工IdNvarchar(10)No外键13. 超级管理员表(SuperAdms)段说明类型可空备注SuperAdmIDIDintNo主键,自增SuperAdmName管理员名Nvarchar(15)No唯一SuperAdmPW密码Nvarchar(15)noStaffID职工IdNvarchar(10)No外键14. 用户表(Users)字段说明类型可空备注UserIDIDintNo主键,自增StaffID职工IdNvarchar(10)No外键Use

13、rPW密码Nvarchar(15)no 2.4 数据表代码记录1. 部门表(Sections):ID,名称create table Sections(SectionID nvarchar(2) not null primary key,SectionName nvarchar(20) not null unique)2. 职位表(Positions):ID,名称create table Positions(PositionID nvarchar(2) not null primary key,PositionName nvarchar(20) not null unique)3. 性别表(Se

14、xs):ID,名称create table Sexs(SexID int not null identity(1,1) primary key,SexName nvarchar(4) not null unique)4. 民族表(Nations):Id,名称create table Nations(NationID int not null identity(1,1) primary key,NationName nvarchar(16) not null unique)5. 学历表(EduBackgrounds):Id,名称create table EduBackgrounds(EduBac

15、kgroundID int not null identity(1,1) primary key,EduBackgroundName nvarchar(10) not null unique)6. 员工表(Staffs):Id, 职工ID,姓名,性别ID,职位id,学历id,生日,照片,籍贯,现住地址,民族id,联系方式,工作年限,部门id,毕业院校,专业,身份证号码,入职时间create table Staffs(ID int not null identity(1,1) primary key,StaffID nvarchar(10) not null unique,StaffName n

16、varchar(10) not null,SexID int not null Foreign key references Sexs(SexID),PositionID nvarchar(4) not null Foreign key references Positions(PositionID),EduBackgroundID int not null Foreign key references EduBackgrounds(EduBackgroundID),Birthday nvarchar(10) not null,Picture Image not null,NativePlac

17、e nvarchar(40) not null, NowAddress nvarchar(40) not null,NationID int not null Foreign key references Nations(NationID),ContactWay nvarchar(30) not null,WorkSeniority int not null,SectionID nvarchar(4) not null Foreign key references Sections(SectionID),GraduateSchool nvarchar(30) not null,Major nv

18、archar(16) not null,IDcardNo nvarchar(18) not null unique,EmployedDate datetime not null)7. 工作时间类别表(WorkingTimeType):ID,类别create table WorkingTimeType(WTTypeID int not null identity(1,1) primary key,WTTypeName nvarchar(14) not null unique)8. 工作时间表(WorkingTimes):Id,工作时间,工作时间类别create table WorkingTime

19、s(WorkingTimeID int not null identity(1,1) primary key,WorkTime datetime not null unique,WTTypeID int not null Foreign key references WorkingTimeType(WTTypeID)9. 打卡状态(ClockStatus):ID,状态名称create table ClockStatus(ClockStatusID int not null identity(1,1) primary key,ClockStatusName nvarchar(10) not nu

20、ll unique)10. 上班打卡登记表(StartClockRecords):ID,打卡时间,状态ID,职工IDcreate table StartClockRecords(SClockRecordsID int not null identity(1,1) primary key,SClockTime Datetime not null,SClockStatusID int not null Foreign key references ClockStatus(ClockStatusID),StaffID nvarchar(10) not null foreign key referen

21、ces Staffs(StaffID)11. 下班打卡登记表(EndClockRecords):Id,打卡时间,标记id职工idcreate table EndClockRecords(EClockRecordsID int not null identity(1,1) primary key,EClockTime Datetime not null,EClockStatusID int not null Foreign key references ClockStatus(ClockStatusID),StaffID nvarchar(10) not null foreign key ref

22、erences Staffs(StaffID)12. 管理员表(Adms)Id,用户名,密码,职工idcreate table Adms(AdmID int not null identity(1,1) primary key,AdmName nvarchar(15) not null unique ,AdmPW nvarchar(15) not null ,StaffID nvarchar(10) not null foreign key references Staffs(StaffID)13. 超级管理员(SuperAdms)Id,用户名,密码,职工idcreate table Supe

23、rAdms(SuperAdmID int identity(1,1) not null primary key,SuperAdmName nvarchar(15) not null unique ,SuperAdmPW nvarchar(15) not null ,StaffID nvarchar(10) not null foreign key references Staffs(StaffID)14. 用户表(Users)Id,职工id,密码create table Users(UserID int not null identity(1,1) primary key,UserPW nva

24、rchar(15) not null ,StaffID nvarchar(10) not null foreign key references Staffs(StaffID) 2.5数据库RE图 三、 软件结构输用户名及密码,选择身份登录系统超级管理员界面3.1、顶级结构人事管理系统登录界面管理员界面一般职工界面3.2、一般职工界面结构上下班打卡(1)个人考勤块一般职工界面个人信息修改(2)个人信息块登录密码修改(3)修改密码块3.3管理员界面上下班打卡(1)个人考勤块个人信息修改(2)个人信息块登录密码修改(3)修改密码块修改添加(4)部门管理删除 管理员界面查看删除按个人查询查询添加按姓

25、名按部门查询修改(5)职工管理 按编号按入职时间按天个人出勤查询(6)职工出勤按月部门整体出勤按月按天 3.4超级管理员界面上下班打卡(1)个人考勤块(2)个人信息块登录密码修改(3)修改密码块个人信息修改修改(4)部门管理添加删除查看 超级管理员界面添加修改按姓名(5)职工管理按个人查询删除按编号查询按入职时间按部门查询个人出勤查询按天(6)职工出勤按月部门整体出勤按天添加按月修改(7)管理员管理按个人查询删除查询所有查询四、 程序模块描述4.1 登录模块1. 流程图:职工输入用户名、密码、选择 身份登录 登录 成功职工主界面管理员主界面超级管理员主界面 职工输入用户名、密码并选择登录身份,

26、根据选择的身份做不同的操作 若选择的是“职工”,系统将查询数据库中的用户表Users的记录,用户名密码核对对的后加载职工主界面; 若选择的是“管理员”,系统将查询数据库中的管理员表Adms的记录,用户名密码核对对的后加载管理员主界面; 若选择的是“超级管理员”,系统将查询数据库中的用户表SuperAdms的记录,用户名密码核对对的后加载超级管理员主界面; 三种身份,若用户名、密码核对不对的,弹出提醒消息框:“用户名或密码错误!”。2. 界面设计及代码如下: 用到的控件字段名、方法及变量有: 控件:用户名文本框名称:Login_UserNametxt密码文本框名称:Login_UserPWtxt

27、身份下拉列表名称:Login_Rolecom登录标署名称:Login_Enterlab退出标署名称:Login_Esclab 变量:UserChange uc = new UserChange(); /解决登录业务类的实例 调用方法:uc.GetUser(user); /核对一般职工的用户名、密码;uc.GetAdm(adm); /核对管理员的用户名、密码;uc.GetSupAdm(supadm); /核对超级管理员的用户名、密码。 “登录”标签的单击事件:private void Login_Enterlab_Click(object sender, EventArgs e) usertyp

28、e = Login_Rolecom.Text; try if (usertype = 职工) User user = new User(); user.StaffID = Login_UserNametxt.Text.Trim(); user.UserPW = Login_UserPWtxt.Text.Trim(); count = uc.GetUser(user); else if (usertype = 管理员) Adm adm = new Adm(); adm.AdmName = Login_UserNametxt.Text.Trim(); adm.AdmPW = Login_UserP

29、Wtxt.Text.Trim(); count = uc.GetAdm(adm); else if (usertype = 超级管理员) SuperAdm supadm = new SuperAdm(); supadm.SuperAdmName = Login_UserNametxt.Text.Trim(); supadm.SuperAdmPW = Login_UserPWtxt.Text.Trim(); count = uc.GetSupAdm(supadm); if (count 0) this.DialogResult = DialogResult.OK; username = Logi

30、n_UserNametxt.Text; this.Close(); else MessageBox.Show(用户或密码错误!); catch (Exception exc) MessageBox.Show(exc.Message); “退出”标签的单击事件:private void Login_Esclab_Click(object sender, EventArgs e) this.Close(); 4.2 职工考勤模块1. 流程图:上班打卡 所有的用户登录系统打卡 下班打卡完毕天天的上班打卡记录的录入系记录时 超级管理员登录系统 天天中午12点整完毕天天的下班打卡记录的录入 天天晚上22

31、点整 成功登录系统后 所有的职工都可以进行上下班打卡操作,每个职工天天只允许打一次上班卡和一次下班卡;上班打卡时间为天天的am 6:00 12:00,12点整截止,下班打卡时间为天天的pm12:00-22:00,22点整截止。 “超级管理员”登录,系统会在天天中午12点和天天晚上22点查询数据库中的职工表Staffs的记录,对未打卡的员工分别在上下班打卡登记表中标记为未打卡;必须保证天天这两个时间段超级管理员处在登录状态才干完毕上下班考勤记录。2. 打卡界面设计及代码如下: 用到的控件字段名、方法及变量有: 控件:上班打卡按钮名称:Login_UserNametxt下班打卡按钮名称:Login

32、_UserPWtxt 变量:staffed /登录员工的职工IDDateTime time;/记录当前时间 ClickCardOpt Copt = new ClickCardOpt();/解决打卡业务类的实例 调用方法:Copt.AddClockRecord(StartClockRecords, srecord) ; /添加上班打卡记录Copt.AddClockRecord(EndClockRecords, erecord) ; /添加下班打卡记录GetWorkingTime(上班); /获取上班时间表WorkingTimes的上班时间GetWorkingTime(下班); /获取上班时间表W

33、orkingTimes的下班时间 “上班打卡”按钮的单击事件:private void Clock_SDKbtn_Click(object sender, EventArgs e) int hour = Convert.ToInt32(time.Hour); if (hour = 12) /6-12点打上班卡时间 MessageBox.Show(抱歉,现在不是打卡时间!); else string workingtime = GetWorkingTime(上班); string worktimes = workingtime.Split(:); int workhour = Convert.T

34、oInt32(worktimes0); int workminute = Convert.ToInt32(worktimes1); StartClockRecord srecord = new StartClockRecord(); srecord.SClockTime = time; if (time.Hour workhour | time.Hour = workhour & time.Minute workminute) srecord.SClockstatusID = 2; else srecord.SClockstatusID = 1; srecord.StaffID = staff

35、id; if (Copt.AddClockRecord(StartClockRecords, srecord) MessageBox.Show(staffid + 打卡成功!); else MessageBox.Show(staffid +你已经打过上班卡了!); “下班打卡”按钮的单击事件:private void Clock_EDKBtn_Click(object sender, EventArgs e) int hour = Convert.ToInt32(time.Hour); if (hour = 22) /12-22点打下班卡时间 MessageBox.Show(抱歉,现在不是打卡

36、时间!); else string workingtime = GetWorkingTime(下班); string worktimes = workingtime.Split(:); int workhour = Convert.ToInt32(worktimes0); int workminute = Convert.ToInt32(worktimes1); EndClockRecord erecord = new EndClockRecord(); erecord.EClockTime = time; if (time.Hour workhour | time.Hour = workhour & time.Minute workminute) erecord.EClockstatusID = 3; else erecord.EClockstatusID = 1; erecord.StaffID = staffid; if (Copt.AddClockRecord(EndClockRecords, erecord)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服