企业日常工作排班系统.docx
- 文档编号:29464578
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:51
- 大小:287.10KB
企业日常工作排班系统.docx
《企业日常工作排班系统.docx》由会员分享,可在线阅读,更多相关《企业日常工作排班系统.docx(51页珍藏版)》请在冰豆网上搜索。
企业日常工作排班系统
分类号:
密级:
学校代码:
10704专业代码:
080611W
西安科技大学
学士学位论文
企业日常工作排班系统
作者:
学科专业:
软件工程
指导教师:
技术职称:
论文提交日期:
2011年6月日
摘要
计算机和通信技术的飞速发展极大地改变了企业的经营管理方法,为了提高企业的竞争力,各行各业在建立了事务处理系统多年后正逐步建立企业自身的决策支持系统。
日常排班系统是公司、企业管理的一项日常工作,一种公平、合理的排班方法对于调动工作人员的工作积极性、提高工作效率都具有重要的意义。
目前排班系统主要都是基于手工排班的方式来考虑的而且约束条件较多,所以利用计算机进行排班的思想自然而生。
本系统主要面向两类人群使用:
企业管理人员、普通的职工,不同的角色拥有不同的权限进行不同的操作。
使用该系统中,企业管理人员对公司职工的信息和日常工作的管理会更加简便。
关键词:
日常排班;工作效率;信息;数据库;
ABSTRACT
Computerand communicationtechnology hasgreatlychangedthe rapiddevelopmentofbusinessmanagement methods,inorderto improvethe competitivenessofenterprises,businesses intheestablishmentof a transaction processingsystem isgraduallyestablished afteryearsof making theirown supportsystem. Daily schedulingsystem isacompany, a daily businessmanagement, afair andreasonable method for schedulingthework tomobilize theenthusiasmof thestaff toimproveefficiency are ofgreatsignificance. Scheduling systemismainly basedon thecurrent manual schedulingapproach is toconsider the constraints and more, sotheuseof computer schedulingidea ofnatural born.
The systemismainly used for two groups:
businessexecutives,ordinary employees,differentroles have differentpermissions for differentoperations. Theuseofthe system,the businessexecutives ofthecompany employees anddaily workmanagementinformation willbemore convenient.
KeyWords:
Daily scheduling;Efficiency;Information;Database
1绪论
1.1课题研究背景与意义
科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。
信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。
因此,日常工作排班系统也以方便、快捷、费用低的优点正慢慢地进入企业。
排班系统是公司、企业管理的一项日常工作,一种公平、合理的排班方法对于调动工作人员的工作积极性、提高工作效率都具有重要的意义。
目前排班系统主要都是基于手工排班的方式来考虑的而且约束条件较多,所以利用计算机进行排班的思想自然而生。
1.2课题发展现状
计算机和通信技术的飞速发展极大地改变了企业的经营管理方法,为了提高企业的竞争力,各行各业在建立了事务处理系统多年后正逐步建立企业自身的决策支持系统。
随着中国民用航空业的发展,市场竞争日益激烈。
要想稳固并扩大航空公司的市场份额,保持企业的竞争能力,建立有效的数字化管理系统尤显迫切和必要。
在各学科相互交叉相互渗透的今天,将遗传算法和模拟退火算法结合,既弥补了遗传算法收敛速度慢,容易陷入局部最优解的弊端,又增强了模拟退火算法的分布性和自适应性。
遗传算法和模拟退火算法的概念、原理及其在各个领域的应用。
通过工程项目“国际航空公司西南分公司乘务员智能排班调度系统”的研究,进一步的发现了遗传算法和模拟退火算法的应用优势,并通过项目更加加深了软件工程技术和软件质量保证的研究。
遗传算法和模拟退火算法在“乘务员智能排班调度系统”这一工程领域的优化问题。
对排班系统中所涉及到的乘务员排班通用算法模型、乘务员排班任务均衡算法模型、乘务员热门航线排班算法模型等模型进行研究。
通过遗传算法和模拟退火算法进行组合优化,也提出了GASA的混合算法问题。
在遗传算法中采用遗传算法的自适应全局优化概率搜索算法进行解决。
在模拟退火算法中,提出结合“逐日法”和“一个乘务员接一个乘务员”的方法组成试探性方法。
并使用了一组航空公司的数据进行模拟测试,发现目标函数与设计的算法是合理的也是有效的。
现有的民用航空器航线维修系统中存在人为安排造成的人力资源调配不合理、工作任务分配不均匀和难以准确统计生产人员工作量的情况;通过对该工作流程及客户需求进行梳理和分析,运用结构化设计理念,完成了民用航空器航线维修智能排班系统的设计,该排班系统能根据航线生产的航班信息、维修要素变化和生产人员状况动态对人员工作任务进行智能分配,解决了民用航空器航线维修中如何合理组织生产的问题。
1.3本课题主要研究内容
本次毕业设计题目:
“企业日常工作排班系统”主要目的是利用数据库软件编制一个管理软件,用以实现企业职工排班以及日常工作等多项管理。
同时对整个系统的分析、设计过程给出一个完整论证。
企业日常工作排班系统是一种基于集中统一规划的数据库数据管理新模式。
在对企业日常工作排班的管理以及职工信息的管理。
本系统的建成无疑会为管理者对企业管理系统提供极大的帮助。
本系统的设计主要从以下几方面做起:
系统业务流程分析、系统的功能设计、系统的数据库结构设计、系统输入/输出设计等。
作这些工作需对数据库知识有足够认识,并深入的了解VC++6.0的使用和管理系统的相关知识。
在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。
随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。
2可行性研究与需求分析
2.1系统可行性研究
并非任何问题都有简单明显的解决方法,事实上,许多问题不可能在预定的系统规模或时间期限之内解决。
如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软硬件资源和经费,都是无所谓的浪费。
可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题能否解决。
对系统的可行性分析,我们应该先导出系统的逻辑模型,然后从系统的逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案)。
对每一种解法都应该仔细研究它的可行性,一般来说,至少应该从技术可行性、经济可行性、操作可行性这三个方面来研究每种解法的可行性。
根据以上分析,下面就对本系统的可行性进行研究:
2.1.1系统的目标
企业日常工作排班系统是集合了企业管理人员管理,普通职工查询的综合性系统。
该系统由两个不同的角色来进行操作:
管理员、职工。
不同的角色拥有不同的权限来操作该系统。
管理员的可以进行的操作是添加职工信息、删除职工信息、进行排班管理、考勤管理、数据库的管理;普通职工可以进行的操作是查询自己的班次、自己的考勤、个人信息。
2.1.2导出系统的逻辑模型
描绘系统的逻辑模型,数据流图是极好的工具。
图2-1,图2-2是本系统的三个模块的数据流图。
图2-1
图2-2
2.1.3可行性分析
技术可行性:
本系统是一个基于数据库的编程,采用面向对象技术、数据库技术等先进技术开发的应用程序,现有的开发技术已非常成熟,且被广泛应用于各行各业,利用现有技术完全可以达到功能目标。
考虑开发期限较为充裕,预计可以在规定的时间内完成开发。
经济可行性:
一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资。
从投入的人力,财力与物力是小的,只要一台电脑,一台打印机,这个系统就可以运行起来。
因此经济的可行性不存在问题。
操作可行性:
本系统的研制和开发充分考虑用户工作流程、计算机操作水平等,尽可能提供更人性化、直观的界面,满足用户要求。
系统的操作方式在用户组织内可行。
结论:
经上述可行性分析,系统的研制和开发可以立即开始进行。
2.2需求分析
为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。
对软件需求的深入理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。
需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
2.2.1功能需求
本系统由两个角色来操作。
企业管理人员,普通职工。
各个角色在自己登陆进去的界面上进行操作,每个界面有不同的操作选项。
本系统将不同的操作分离成相对独立的模块。
系统的功能模块图如图2-4所示,各模块的功能需求介绍如下:
1)企业管理人员
添加职工卡号:
将职工的信息存入到数据库中,并且为其设定相应的登录信息;
删除职工卡号:
可根据职工的姓名,卡号进行删除操作;
添加职工信息:
根据职工的卡号对职工的个人信息进行编辑;
添加职工考勤:
根据职工的卡号对职工的考勤进行记录;
添加基础信息:
对职工的基础信息进行添加和删除;
数据库管理:
对数据库进行备份;
日常排班管理:
可根据职工的姓名,卡号进行排班。
2)普通职工
查询个人信息:
根据自己的卡号查询自己的个人资料;
查询个人班次:
根据自己的卡号查询自己的班次;
查询个人考勤:
根据自己的卡号查询个人的考勤信息。
3开发工具介绍
这里主要介绍了集成开发环境VisualC++6.0、Access数据库以及数据库连接技术ODBC。
3.1VisualC++6.0
VisualC++提供了一个支持可视化编程的集成开发环境:
VisualStudio(又名DeveloperStudio)。
DeveloperStudio是一个通用的应用程序集成开发环境,它不仅支持VisualC++,还支持VisualBasic,VisualJ++,VisualInterDev等Microsoft系列开发工具。
DeveloperStudio包含一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档。
使用DeveloperStudio,可以完成创建、调试、修改应用程序等的各种操作。
DeveloperStudio采用标准的多窗口Windows用户界面,并增加了一些新的特性,使得开发环境更易于使用,用户很容易学会它的使用方法。
VisualC++的集成开发环境DeveloperStudio提供了大量的实用工具以支持可视化编程特性,它们包括:
项目工作区、ClassWizard、AppWizard、WizardBar、ComponentGallery等。
3.2MicrosoftAccess
Access是一个基于关系型数据库模型建立的数据库管理系统软件,美国Microsoft公司推出的办公自动化套件之一。
ACCESS功能强大,简单易学,它具备完整的数据库功能,并支持SQL语言。
由于ACCESS自带丰富的客户端界面和使用向导,使用户很容易建立和修改数据库结构,输入和修改数据都很方便。
不过Access属于桌面型数据库系统,它不能提供基于客户/服务器(Client/Server)方式的多用户并发访问能力,所以它比较适合于单机个人用户或小型的工作组,对于访问量不大的小型网站,可以采用Access作为Web服务器端的数据库。
3.3ODBC
ODBC(OpenDatabaseConnectivity,开放式数据库连接)接口是一个应用程序编程接口,由Microsoft定义为Windows操作系统到数据库管理系统的标准接口。
ODBC是基于调用的接口,它通过相应的ODBC驱动程序实现Windows应用同多种数据库进行数据交换,微软公司在IIS/PWS中提供了ODBC接口功能。
ODBC一个最显著的优点是用它生成的程序与数据库或数据库引擎无关,因此是服务器扩展程序开发者们理所当然的选择。
它可使程序员方便地编写访问各DBMS厂商的数据库的应用程序,而不需了解其产品的细节。
4系统设计
经过了系统的可行性研究和需求分析的前期工作,现在我们就可以进行系统设计了。
通常首先要对它的功能模块进行分析,然后再把它的功能结构图画出来,便是设计和优化、功能分析后,再根据各个模块、各个用户对数据和使用权限的不同要求做出局部ER图,然后再把各个局部ER图结合起来形成统一的整体ER图。
4.1系统E-R图设计
软件系统本质上是信息处理系统,因此在软件系统的整个开发过程中都必须考虑两方面的问题:
“数据”及对数据的“处理”。
为了把用户的数据清晰明确地表达出来,系统分析员通常建立一个概念性的数据模型。
概念性的数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模,它描述了从用户角度看到的数据,它反映了用户的现实环境,且与在软件系统中的实现方法无关。
这里运用最常用的表示概念数据模型的方法,是实体——联系方法即E-R模型。
通常,软件系统的许多数据时需要长期保存的。
为减少数据冗余,简化修改数据的过程,实现对数据进化、规范化。
图4.1.2职工基本信息管理实体实体
4.1数据库设计
当一个系统涉及数据库时,其运行效率、冗余程度、可靠性、稳定性等评价指标除了与上层的代码有关外,更多地会受到低层数据库效率的影响。
因此,一个好的数据库设计能够让你的系统跑的更顺畅、稳定。
4.2.1数据库建立
启动microsoftaccess2000建立一个manager.mdb,如图所示
使用程序设计器建立系统需要的表格如下。
排班管理表,如下
考勤管理表,如下
个人基础信息表,如下
因为数据表很多,不一一列举。
5系统实现
本系统由两个角色来操作。
企业管理员,普通职工。
各个角色在自己登陆进去的界面上进行操作,每个界面有不同的操作选项。
本系统将不同的操作分离成相对独立的模块。
5.1管理员模块
1)登录界面实现和权限分配(图5-2)
voidCLoginDlg:
:
OnOK()
{
CPassWordrecordset;
CStringstrSQL;
CManagerApp*ptheApp=(CManagerApp*)AfxGetApp();
UpdateData(TRUE);
//检查用户名是否输入
if(m_strUser.IsEmpty())
{
AfxMessageBox("请输入用户名!
");
m_ctrUser.SetFocus();
return;
}
if(m_strPass.IsEmpty())
{
AfxMessageBox("请输入密码!
");
m_ctrPass.SetFocus();
return;
}
//从用户表中检查卡号密码是否正确
strSQL.Format("select*frompasswordwhereID='%s'ANDpasswd='%s'",m_strUser,m_strPass);
if(!
recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
{
MessageBox("打开数据库失败!
","数据库错误",MB_OK);
return;
}
if(recordset.GetRecordCount()==0)
{
//密码错误处理
recordset.Close();
MessageBox("密码错误,请重新输入!
");
m_strPass="";
m_ctrPass.SetFocus();
UpdateData(FALSE);
}
else
{
//分配用户权限
ptheApp->m_bIsAdmin=recordset.m_isadmin;
recordset.Close();
CDialog:
:
OnOK();
}
}
2)添加职工卡号(图5-3)
voidCUserDlg:
:
OnOK()
{
UpdateData();
if(m_ctrUser.IsWindowEnabled())
{//增加新用户的输入检查
if(m_strUser=="")
{
MessageBox("请填写用户名!
");
m_ctrUser.SetFocus();
return;
}
}
else
{//修改用户信息的输入检查
if(m_strUser=="")
{
MessageBox("请选择一个用户!
");
return;
}
}
//限制密码不能为空
if(m_strPass=="")
{
MessageBox("密码不能为空,请输入密码!
");
m_ctrPass.SetFocus();
return;
}
//验证密码与确认密码是否一致
if(m_strPass!
=m_strRePass)
{
MessageBox("两次输入地密码不一致,请重新输入密码!
");
m_ctrPass.SetFocus();
m_strPass="";
m_strRePass="";
UpdateData(FALSE);
return;
}
if(m_ctrID=="")
{
MessageBox("卡号不能为空,请输入卡号!
");
m_strID.SetFocus();
return;
}
//打开记录集
CStringstrSQL;
strSQL.Format("select*frompasswordwhereuser='%s'ANDID='%s'",m_strUser,m_ctrID);
if(!
m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
{
MessageBox("打开数据库失败!
","数据库错误",MB_OK);
return;
}
if(m_ctrUser.IsWindowEnabled())
{//增加新用户
//判断用户是否已经存在
if(m_recordset.GetRecordCount()!
=0)
{
m_recordset.Close();
MessageBox("该用户已经存在!
");
return;
}
m_recordset.AddNew();
m_recordset.m_user=m_strUser;
m_recordset.m_passwd=m_strPass;
m_recordset.m_id=m_ctrID;
m_recordset.m_isadmin=m_bIsAdmin;
m_recordset.Update();
MessageBox("用户添加成功!
请记住用户名和密码!
");
m_recordset.Close();
CShiftSetm_set;
m_set.Open();
m_set.AddNew();
m_set.m_ID=atol(m_ctrID);
m_set.m_name=m_strUser;
m_set.Update();
m_set.Close();
}
else
{//修改用户信息
//判断用户是否不存在
if(m_recordset.GetRecordCount()==0)
{
m_recordset.Close();
MessageBox("该用户不存在!
请更新数据库");
return;
}
m_recordset.Edit();
m_recordset.m_user=m_strUser;
m_recordset.m_passwd=m_strPass;
m_recordset.m_id=m_ctrID;
m_recordset.m_isadmin=m_bIsAdmin;
m_recordset.Update();
MessageBox("用户修改成功!
请记住用户名和密码!
");
m_recordset.Close();
}
m_ctrUser.EnableWindow(FALSE);
//更新用户列表
RefreshData();
}
3)删除职工卡号(图5-4)
voidCUserDlg:
:
OnButtonDelete()
{
UpdateData(TRUE);
//判断是否指定用户
if(m_ctrID=="")
{
MessageBox("请选择一个用户!
");
return;
}
CStringstrSQL;
strSQL.Format("select*frompasswordwhereid='%s'",m_ctrID);
if(!
m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
{
MessageBox("打开数据库失败!
","数据库错误",MB_OK);
return;
}
//删除该用户
m_recordset.Delete();
m_recordset.Close();
strSQL.Format("select*fromshiftwhereid=%d",atol(m_ctrID));
if(!
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
{
MessageBox("打开数据库失败!
","数据库错误",MB_OK);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 日常工作 排班 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)