




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辽 宁 工 业 大 学 管理信息系统设计课程设计报告(论文)题目: 工资管理系统的分析与设计 院(系): 软件学院 专业班级: 软件工程113班 学 号: 111301074 学生姓名: 安凯辰 指导教师: 王彦华 教师职称: 讲 师 起止时间:2012.5.28-2012.6.8 课程设计(论文)任务及评语院(系):软件学院 教研室:软件教研室学 号111301074学生姓名安凯辰专业班级软件工程111301074课程设计(论文)题目工资管理系统的分析与设计课程设计(论文)任务管理信息系统课程设计作为独立的教学环节,是电子商务专业集中实践性环节系列之一,是学习完管理信息系统课程并进行完专业实习后进行的一次全面的综合练习。任务:采用结构化的系统开发方法,应用具体的计算机语言(如、VB、Delphi)和数据库(SQL server、Oracle)等技术,按照软件工程的思想,开发一个实用的中小型管理信息系统,完成工资管理系统的分析设计实施工作,实现该系统人员管理,工资发放,报表统计等功能,并完成结合分析设计过程,撰写系统设计说明书(课设报告)。1根据课程设计时间选择适当规模大小的设计课题。采用专业实习的调研内容作为课程设计选题。2根据合理的进度安排,按照系统开发的流程及方法,踏实地开展课程设计活动。3课程设计过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后提交详细的课程设计报告。4开发出可以运行的管理信息系统,通过上机运行检查。5设计说明书要求文档齐备,步骤全整,流程正确,说明详细,具有有可操作性。指导教师评语及成绩成绩: 指导教师签名: 2012年6月12号 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)目录第1章 系统分析11.1 建立系统的必要性11.2 业务流程分析11.3 数据流程图21.4 数据字典2第2章 系统设计421 系统功能设计42.2系统运行环境与数据库设计4第3章 系统实施73.1 代码及注释73.2 设计总结16参考文献17第1章 系统分析1.1 建立系统的必要性随着计算机技术的飞速发展,计算机在各种单位机构管理中应用十分普及,管理系统大开发在强调管理,信息的社会中也显得十分重要。随着信息的不断增长和企业对信息的要求,信息管理系统也随之出现了,而利用计算机支持范围高效地完成工资管理的日常工作也成为了推动各种单位机构管理走向科学化,规范化的必要条件。工资管理是每一个企业不能缺少的一项工作。使用计算机对企业工资信息管理具有较传统手工管理更多优点,如检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。所以,开发一个新型工资信息管理系统对公司来说十分重要。本系统本着一切为用户着想的设计指导思想,力求做到界面美观大方,操作简捷明了,而且具备一个实用的操作系统的良好容错性,在用户出现误操作时能尽量及时地给出警告,以便用户能够及时进行改正。由于不同用户所使用的计算机资源总是会受到不同条件的限制,因此,我们就要充分利用的功能,在设计出自己的功能强大的软件的同时,尽可能地减少对系统资源的占用,并且还要力求做到通过使用本学生管理信息系统,尽量使工作系统化、自动化和规范化,从而达到提高效率的目的。1.2 业务流程分析工资管理系统是针对工资管理业务处理工作而开发的管理软件。根据用户的要求,实现人员基本情况管理、工资发放、报表统计等三个方面的功能。用户通过添加职工,发放工资,统计报表等基本信息,由系统自行生成相应的统计数据及各类统计报表以供用户查。1.3 数据流程图数据流程图是描述系统逻辑模型的主要工具,通过几个特定的符号,可以综合地反映出信息在系统中的使用、加工处理、传递、存储的整体情况。1.4 数据字典数据流程图是系统结构化分析行之有效的工具,它抽象地描述了系统数据处理的情况,但却无法表达各个处理的详细内容,因此还要对数据流程图中出现的数据流和处理等做进一步的补充说明,这就是数据字典和变换逻辑说明。数据字典是关于数据的信息的集合,是对数据流程中包含的元素的定义的集合。部分数据项的定义如下:职工基本信息表序号中文名字段类型备注0职工号3int主键1姓名10char2性别2char3职务8int4出生日期8datetime5工作年份8datetime职务表序号中文名字段名类型备注0职务2Int主键1基本工资10Char2津贴2Char系统用户序号中文名字段名类型备注user_ID名称10Char主键User_PWD密码10Char职工表=职工ID+姓名+性别+职位+出生年月+工作年月职位表=职位+基本工资+津贴第2章 系统设计21 系统功能设计系统功能设计的主要任务是把需求分析得到的DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。2.2系统运行环境与数据库设计概念设计是对用户要求描述的现实世界,通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。职工ER图工资项ER图系统ER图第3章 系统实施3.1 代码及注释一、登录代码If t1.Text = admin And t2.Text = 123 Then MainForm.ShowElse Label4.Caption = 密码错误!End If End SubPrivate Sub Form_Load()End SubPrivate Sub Form_LostFocus()End SubPrivate Sub Label4_Click()End SubPrivate Sub t1_Change()End SubPrivate Sub t2_Change()End Sub二、主界面代码调用统计报表窗体Private Sub Analysis_Click() AnaForm.ShowEnd Sub退出程序Private Sub Exit_Click() Unload Me EndEnd Sub调用人员管理窗体Private Sub HRManage_Click() HRForm.ShowEnd Sub设置启动参数Private Sub MDIForm_Load() gFile = App.Path & 职工工资管理系统.mdb Set gX = CreateObject(Excel.Application)End Sub关闭所有窗口Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) On Error Resume Next Unload AddEForm Unload AddPForm Unload AddSForm Unload UpdateEForm Unload UpdatePForm Unload UpdateSFormEnd Sub调用工资发放窗体Private Sub PayoffTable_Click() PayForm.ShowEnd Sub调用职位管理窗体Private Sub PosManage_Click() PosForm.ShowEnd Sub调用特殊项管理窗体Private Sub SpecialManage_Click() SpecialForm.ShowEnd Sub三、人员管理代码当前选定行号Public CurEm As Integer显示添加员工窗体Private Sub cmdAddEmployee_Click() AddEForm.ShowEnd Sub隐藏本窗体Private Sub cmdCancel_Click() Me.HideEnd Sub删除员工Private Sub cmdDeleteEmployee_Click() 打开错误处理陷阱 Dim intErrFileNo As Integer 自由文件号 On Error GoTo ErrGoto - 打开数据库连接 OpenDBFile DataGrid1.Col = 0 DataGrid1.Row = CurEm If vbYes = MsgBox(是否删除 & DataGrid1.Text & ?, vbYesNo) Then 执行删除 DataGrid1.Row = CurEm DataGrid1.Col = 0 gCon.Execute DELETE FROM 职位 WHERE 职位 = & DataGrid1.Text & End If 关闭数据库连接 CloseDBFile 刷新数据 Adodc1.Refresh - Exit Sub -ErrGoto: 把错误信息保存在文件里 intErrFileNo = FreeFile() Open YFSystem.ini For Append As intErrFileNo Print #intErrFileNo, Chr(34) + Format(Now, YYYY-MM-DD HH:MM:SS) + Chr(34), Chr(34) + 信息 + Chr(34), Chr(34) + Err.Description + Chr(34), Chr(34) + cmdDeleteEmployee_Click(HRForm) + Chr(34), Chr(34) + App.Title + Chr(34) Close #intErrFileNoEnd Sub显示修改员工窗体Private Sub cmdUpdateEmployee_Click() UpdateEForm.ShowEnd SubPrivate Sub DataGrid1_Click() CurEm = DataGrid1.RowEnd Sub记录选定行Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer) CurEm = DataGrid1.RowEnd SubPrivate Sub DataGrid1_click() DataGrid1.Col = 0 CurEm = DataGrid1.TextEnd Sub初始化Private Sub Form_Load() 打开错误处理陷阱 Dim intErrFileNo As Integer 自由文件号 On Error GoTo ErrGoto - SQL = SELECT * FROM 职工 Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & gFile & ;Mode=ReadWrite;Persist Security Info=False Adodc1.RecordSource = SQL Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh - Exit Sub -ErrGoto: 把错误信息保存在文件里 intErrFileNo = FreeFile() Open YFSystem.ini For Append As intErrFileNo Print #intErrFileNo, Chr(34) + Format(Now, YYYY-MM-DD HH:MM:SS) + Chr(34), Chr(34) + 信息 + Chr(34), Chr(34) + Err.Description + Chr(34), Chr(34) + Form_Load(HRForm) + Chr(34), Chr(34) + App.Title + Chr(34) Close #intErrFileNoEnd Sub四、工资发放管理代码Option Explicit月表的名称动态生成在cmbMonth中用户可以填入2003-6, 2003-06, 2003-06-01等格式而月表的名称都会变为200306Public mTableName As String员工工资总额计算得到Public mSum As Double当单击cmbEmployee框,保证与cmbName的一致性Private Sub cmbEmployee_Click() cmbName.Text = cmbName.List(cmbEmployee.ListIndex) cmbEmployee.Text = cmbEmployee.List(cmbEmployee.ListIndex)End Sub当cmbMonth框发生改变,保证月表名称一致Private Sub cmbMonth_Change() mTableName = Format(CDate(cmbMonth.Text), YYYYMM) cmbMonth.Text = mTableNameEnd Sub当单击cmbEmployee框,保证与cmbName的一致性Private Sub cmbName_Click() cmbEmployee.Text = cmbEmployee.List(cmbName.ListIndex) cmbName.Text = cmbName.List(cmbName.ListIndex)End Sub退出窗体Private Sub cmdCancel_Click() Me.HideEnd Sub生成月表之所以使用On Error Resume Next是为了避免出现数据的不完整问题Private Sub cmdGenerate_Click() On Error Resume Next - Dim SQL As String 打开数据连接 OpenDBFile 生成月表 mTableName = Format(CDate(cmbMonth.Text), YYYYMM) MakeUpTable CloseDBFile 初始化月表中的数据 SQL = SELECT 职工ID FROM 职工 OpenRS (SQL) gRst.MoveFirst While Not gRst.EOF SQL = INSERT INTO & mTableName & (职工ID, 工资取毕, 工资) VALUES( & gRst(职工ID) & , NO, 0) gCon.Execute SQL gRst.MoveNext Wend CloseRSEnd Sub发放工资Private Sub cmdPay_Click() 打开错误处理陷阱 Dim intErrFileNo As Integer 自由文件号 On Error GoTo ErrGoto - 打开数据连接 OpenDBFile 执行修改数据库 gCon.Execute UPDATE & mTableName & SET 工资取毕=1, 工资= & mSum & WHERE 职工ID = & cmbEmployee.Text & 显示结果 MsgBox cmbEmployee.Text & 的工资已经发放完毕 关闭连接 CloseDBFile - Exit Sub -ErrGoto: 把错误信息保存在文件里 intErrFileNo = FreeFile() Open YFSystem.ini For Append As intErrFileNo Print #intErrFileNo, Chr(34) + Format(Now, YYYY-MM-DD HH:MM:SS) + Chr(34), Chr(34) + 信息 + Chr(34), Chr(34) + Err.Description + Chr(34), Chr(34) + cmdPay_Click(PayForm) + Chr(34), Chr(34) + App.Title + Chr(34) MsgBox 发放中出现错误: & Err.Description Close #intErrFileNoEnd Sub打印报表Private Sub cmdPrint_Click() 打开错误处理陷阱 Dim intErrFileNo As Integer 自由文件号 On Error GoTo ErrGoto - Dim sheet As Worksheet Set sheet = gX.ActiveSheet sheet.PrintOut - Exit Sub -ErrGoto: 把错误信息保存在文件里 intErrFileNo = FreeFile() Open YFSystem.ini For Append As intErrFileNo Print #intErrFileNo, Chr(34) + Format(Now, YYYY-MM-DD HH:MM:SS) + Chr(34), Chr(34) + 信息 + Chr(34), Chr(34) + Err.Description + Chr(34), Chr(34) + cmdPrint_Click(PayForm) + Chr(34), Chr(34) + App.Title + Chr(34) Print #intErrFileNo, Err.Description Close #intErrFileNoEnd Sub查询并显示本月工资Private Sub cmdTest_Click() 打开错误处理陷阱 Dim intErrFileNo As Integer 自由文件号 Dim sheet As Worksheet Dim SQL As String, i As Integer On Error GoTo ErrGoto - If cmbEmployee.Text And cmbMonth.Text Then 查询工资领取情况 SQL = select 工资取毕 from & Format(CDate(cmbMonth.Text), YYYYMM) & where 职工ID = & cmbEmployee.Text & 打开数据集 OpenRS (SQL) gRst.MoveFirst If gRst(工资取毕) = True Then MsgBox 员工: & cmbEmployee.Text & 已经取过 & cmbMonth.Text & 的工资 Else MsgBox 员工: & cmbEmployee.Text & 还没有取过 & cmbMonth.Text & 的工资 End If CloseRS 职位相关的工资和今天 SQL = SELECT * FROM 职工,职位 where 职工.职位 = 职位.职位 and 职工.职工ID = & cmbEmployee.Text & OpenRS (SQL) gRst.MoveFirst 打开Excel对象,准备输入信息 Set gX = GetObject(, Excel.Application) gX.Workbooks.Add OLE1.Visible = True 设置Worksheet对象 Set sheet = gX.ActiveSheet 报表题目 sheet.Cells(1, 1) = cmbMonth.Text & 月工资表 职工的基本信息 sheet.Cells(2, 1) = 员工编号: sheet.Cells(2, 2) = cmbEmployee.Text sheet.Cells(2, 3) = 员工职位: sheet.Cells(2, 4) = gRst(职工.职位) sheet.Cells(2, 5) = 员工姓名: sheet.Cells(2, 6) = gRst(姓名) 职工的一般工资信息 sheet.Cells(3, 1) = 基本工资 sheet.Cells(3, 2) = gRst(基本工资) sheet.Cells(3, 3) = 津贴 sheet.Cells(3, 4) = gRst(津贴) mSum = sheet.Cells(3, 2) + sheet.Cells(3, 4) CloseRS 搜索当月属于该员工的特殊项 每个月按30天算 SQL = SELECT * FROM 特殊项 WHERE 职工ID = & cmbEmployee.Text & AND 特殊项日期 = # & cmbMonth.Text & # and 特殊项日期 # & CStr(CDate(cmbMonth.Text) + 30) & # OpenRS (SQL) i = 3 If Not (gRst.BOF Or gRst.EOF) Then gRst.MoveFirst While Not gRst.EOF i = i + 1 sheet.Cells(i, 1) = 特殊项名称 sheet.Cells(i, 2) = gRst(特殊项名称) sheet.Cells(i, 3) = 特殊项金额 sheet.Cells(i, 4) = gRst(特殊项金额) sheet.Cells(i, 5) = 特殊项日期 sheet.Cells(i, 6) = CStr(gRst(特殊项日期) mSum = mSum + sheet.Cells(i, 4) gRst.MoveNext Wend End If i = i + 1 sheet.Cells(i, 1) = 工资总额 sheet.Cells(i, 2) = mSum CloseRS 显示格式设置 mTableName = Format(CDate(cmbMonth.Text), YYYYMM) sheet.Columns(A:F).ColumnWidth = 10 gX.ActiveWorkbook.SaveAs App.Path & & cmbEmployee.Text & mTableName & .xls OLE1.CreateLink App.Path & & cmbEmployee.Text & mTableName & .xls End If - Exit Sub -ErrGoto: 把错误信息保存在文件里 intErrFileNo = FreeFile() Open App.Path & YFSystem.ini For Append As intErrFileNo Print #intErrFileNo, Chr(34) + Format(Now, YYYY-MM-DD HH:MM:SS) + Chr(34), Chr(34) + 信息 + Chr(34), Chr(34) + Err.Description + Chr(34), Chr(34) + cmdTest_Click(PayForm) + Chr(34), Chr(34) + App.Title + Chr(34) MsgBox Err.Description Close #intErrFileNoEnd Sub初始化窗体Private Sub Form_Load() gX.Visible = False 打开错误处理陷阱 Dim intErrFileNo As Integer 自由文件号 On Error GoTo ErrGoto - Dim SQL As String 查找职工ID和姓名 SQL = SELECT 职工ID,姓名 FROM 职工 打开数据集 OpenRS (SQL) gRst.MoveFirst cmbEmployee.Clear cmbName.Clear 添加数据到两个ComboBox While Not gRst.EOF cmbEmployee.AddItem gRst(职工ID) cmbName.AddItem gRst(姓名) gRst.MoveNext Wend 关闭数据集 CloseRS 查找已有的表名 SQL = SELECT 月份 FROM 月份 OpenRS (SQL) cmbMonth.Clear gRst.MoveFirst 添加到cmbMonth组合框中 While Not gRst.EOF cmbMonth.AddItem CStr(gRst(月份) gRst.MoveNext Wend 关闭数据集 CloseRS - Exit Sub -ErrGoto: 把错误信息保存在文件里 intErrFileNo = FreeFile() Open App.Path & YFSystem.ini For Append As intErrFileNo Print #intErrFileNo, Chr(34) + Format(Now, YYYY-MM-DD HH:MM:SS) + Chr(34), Chr(34) + 信息 + Chr(34), Chr(34) + Err.Description + Chr(34), Chr(34) + Form_Load(PayForm) + Chr(34), Chr(34) + App.Title + Chr(34) Close #intErrFileNoEnd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心理健康课件教学中学
- 二零二五年度企事业单位租赁车辆押金及违约责任协议
- 二零二五年度房屋买卖资金监管与服务协议
- 2025版环境健康风险评估与保护服务合同
- 2025年酒店宴会厅场地租赁申请与详细服务协议
- 二零二五年度酒店餐饮VI设计合同模板
- 二零二五年度政府投资生态保护区房屋拆迁赔偿协议
- 2025年度绿色建筑节能改造工程清包劳务合同范本全新发布
- 2025年新能源产业工程技术人员综合服务协议
- 2025版科技型企业研发项目会计核算管理合同
- 锐器伤和职业暴露课件
- 2025年中国养老产业商学研究报告-智慧养老产品专题【摘要】
- 膀胱结石的护理课件
- DB11-T 751-2025 住宅物业服务标准
- 2025河南省特招医学院校毕业生计划招聘3200人笔试参考题库附答案解析
- 亚马逊广告培训指南
- 2024年广西百色工业投资发展集团有限公司招聘考试真题
- 餐厅股权转让合同范本
- 2025岐黄天使考试试题及答案
- 《薄膜材料与薄膜技术》教学配套课件
- 静脉炎的预防及处理课件
评论
0/150
提交评论