课程设计-软件开发新技术_第1页
课程设计-软件开发新技术_第2页
课程设计-软件开发新技术_第3页
课程设计-软件开发新技术_第4页
课程设计-软件开发新技术_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书软件开发新技术题目:工资管理系统院系:计算机学院专业班级:计算机13-2班学号:学生姓名:指导教师:2016年12月14日安徽理工大学课程设计(论文)任务书计算机学院计算机技术系学号学生姓名专业(班级)计算机13-2班设计题目设计技术参数1、概念结构设计:绘制所选题目详细的E-R图。2、逻辑结构设计:将E-R图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后的模式进行评价,调整模式,使其满足性能、存储等方面要求;根据局部应用需要设计外模式。3、物理结构设计:选定实施环境,存取方法等。4、数据实施和维护:用DBMS建立数据库结构,加载数据,实现各种查询、链接应用程序,设计库中触发器、存储器等对象,并能对数据库做简单的维护操作。5、用VB、VC、ASP等设计数据库的操作界面。设计要求通过设计一完整的数据库,使学生掌握数据库设计各阶段的输入、输出、设计环境、目标和方法。熟练掌握两个主要环节——概念结构设计与逻辑结构设计;熟练的使用SQL语言实现数据库的建立、应用和维护;并能使用某一开发工具设计操作数据库的界面,对数据库进行各种操作。工作量课程设计说明书应在20页以上,并要画E-R图及其他相应的表格工作计划第一天数据库系统的安装与使用第二天软件开发工具的安装与使用第三天数据库应用软件规划与设计第四天C/S或B/S模式的数据库应用软件开发、程序调试第五天撰写课程设计说明书参考资料1.《数据库系统概论》萨师煊王珊高等教育出版社1999年第3版2.《完全掌握SQLServer2000》罗运模人民邮电出版社,20013.《PowerDesigner软件工程技术》白尚旺等电子工业出版社,2004指导教师签字教研室主任签字年月日指导教师评语:评分标准优良中差(1按期完成课程设计任务(2)掌握的基础理论(3)掌握的基本技能(4)综合知识应用(5)独立工作能力(6)设计说明书质量(7)系统方案的合理性(8)查阅文献的能力(9)完成设计的积极性(10)设计的创新性成绩:指导教师:年月日安徽理工大学课程设计(论文)成绩评定表安徽理工大学课程设计-软件开发新技术目录1问题描述 11.1项目开发的背景 11.2项目开发的目的和意义 12需求分析 22.1任务概述 22.2功能描述 23概要设计 33.1工资管理的总体设计结构图 33.2E-R图(实体联系图) 34详细设计 44.1数据库设计概述 44.2各模块功能 44.3部分实验代码 55运行与测试 115.1登录/注册模块 115.2系统模块 125.3用户信息管理模块 135.4用户工资信息管理模块 136设计体会 15参考文献 161问题描述1.1项目开发的背景随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事工资的管理,取代传统的手工统计工资和发放,是近年来计算机技术的一个非常活跃的研究领域。特别对于大中型的企业,利用计算机实现企业人事工资的管理不仅避免手工统计的出现的误差,而且更方便保存与查询,大大提高企业管理的自动化与科学化1.2项目开发的目的和意义

工资管理系统研究的主要内容及应用前景。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成人事、工资管理的全过程,包括职员资料、职员奖励、职员惩罚和发放管理等工资管理工作。能正确、高效地实现工资汇总与工资查询,是该课题要实现的主要目标。2需求分析2.1任务概述现代企业基本上都引进了计算机软件对公司业务进行管理,这样做有很多优点,一是提高了工作的效率同时也减少了手工操作的错误以及人员的开支。本课题开发的工资管理系统正是基于这样的目的实现的,系统完成的主要功能是对员工工资的管理,同时还包括对员工信息管理。本系统面向员工和管理人员同时开放,普通用户可以进行查询个人相关信息等操作,管理账户则拥有系统的全部功能。系统不允许非经认证通过的用户使用系统。系统采用JAVA语言开发,使用J2EE框架结构,系统的数据使用MYSQL数据库进行管理。2.2功能描述工资管理系统的主要任务是对员工工资的管理,同时还包括对员工信息管理,管理员是管理用户设置权限等操作,工资管理系统要完成以下功能:(1)登录:用户、管理员进入该系统必须登录,身份验证正确了才可以进入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。(2)注册如果是新用户需要进行注册,注册成功后才可以进行登录。(3)系统设置功能:管理员可以对用户相关的工资信息进行添加,修改等操作。(3)用户管理功能:对系统用户进行修改,权限设置等操作。(4)查询功能:对用户的基本工资,津贴,月薪等信息进行查询。(5)其他功能管理员拥有其他用户所拥有的所有功能。

3概要设计3.1工资管理的总体设计结构图系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。本系统的结构图如图3.1系统总体结构图所示。工资管理系统工资管理系统工资管理模块系统模块用户登录模块用户信息管理模块图3-1系统总体结构图3.2E-R图(实体联系图)职工号姓名职工号姓名权限密码用户津贴基本工资姓名职工号月薪工资领取图3-2E-R图4详细设计4.1数据库设计概述将以上ER图转换成以下关系模式:员工(职工号,姓名,密码,权限)工资(职工号,姓名,基本工资,津贴,月薪)其中标有下划线的字段表示该数据表的主码,即关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及青青表格之间的关系,具体情况如下几个表。表一:用户表列名数据类型可否取空备注idIntNotnull职工号usernameChar(20)Notnull姓名passwordChar(20)Notnull密码authorityintNotnull权限列名数据类型可否取空备注idIntNotnull职工号usernameChar(20)Notnull姓名bwageIntNotnull基本工资bountyIntNotnull津贴payIntNotnull月薪表二:用户工资表4.2各模块功能(1)职工信息管理系统功能为:财务部门相关人员录入,修改,删除,查询员工个人信息。(2)职工工资管理系统功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入,修改,删除,查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总。4.3部分实验代码(1)更新工资信息代码publicStringupdateCount(){ Countcount=null; CountDAOdao=newCountDAO(); count=dao.findById(this.getId()); //把id的Count保存到getcontext中传入下一个页面 intid=count.getId(); ActionContext.getContext().put("id2",id); return"updateCount"; } (2)更新信息,保存到数据库publicStringupdateCount2()throwsException{ intid=this.getId(); //实例化对象 CountDAOdao=newCountDAO(); //更新信息 dao.updateCountAll(this.getId(),this.getUsername(),this.getBwage(),this.getBounty(),this.getPay()); return"updateCount_success"; } (3)更新用户 publicStringupdateUser(){ //把id和username保存到getcontext中传入下一个页面 ActionContext.getContext().put("id3",this.getId()); ActionContext.getContext().put("username3",this.getUsername()); return"updateUser"; }(4)更新用户设置为管理员 publicStringupdateUser2(){ UsrDAOdao=newUsrDAO(); dao.updateUserById(this.getId()); return"updateUser_success"; } (5)更新用户设置为普通用户 publicStringupdateUser3(){ UsrDAOdao=newUsrDAO(); dao.updateUserById2(this.getId()); return"updateUser_success"; }(6)登录界面校验代码//提示请填写用户名$("#username").focus(function(){ $(this).parent().find("p").text("请填写用户名"); $(this).parent().find("p").css("color","blue"); $(this).css("background","#fffurl(images/red_asterisk.png)no-repeat"); $(this).css("background-position","100%3px"); });//用户名是否为空 $("#username").blur(function(){ if($(this).val()==""){ $(this).parent().find("p").text("用户名不能为空!"); $(this).parent().find("p").css("color","red"); $(this).css("background","#fffurl(images/invalid.png)no-repeat"); $(this).css("background-position","100%3px"); }else{ $(this).parent().find("p").text("正确"); $(this).parent().find("p").css("color","blue"); $(this).css("background","#fffurl(images/valid.png)no-repeat"); $(this).css("background-position","100%3px"); } });//提示填写密码 $("#password").focus(function(){ $(this).parent().find("p").text("请填写密码"); $(this).parent().find("p").css("color","blue"); $(this).css("background","#fffurl(images/red_asterisk.png)no-repeat"); $(this).css("background-position","100%3px"); });//密码是否为空 $("#password").blur(function(){ if($(this).val()==""){ $(this).parent().find("p").text("密码不能为空!"); $(this).parent().find("p").css("color","red"); $(this).css("background","#fffurl(images/invalid.png)no-repeat"); $(this).css("background-position","100%3px"); }else{ $(this).parent().find("p").text("正确"); $(this).parent().find("p").css("color","blue"); $(this).css("background","#fffurl(images/valid.png)no-repeat"); $(this).css("background-position","100%3px"); } });//验证用户名与密码是否为空 $("#form1").submit(function(){ if($("#username").val()==""||$("#password").val()==""){ $("#username,#password").parent().find("p").text("不能为空!"); $("#username,#password").parent().find("p").css("color","red"); $("#username,#password").css("background","#fffurl(images/invalid.png)no-repeat"); $("#username,#password").css("background-position","100%3px"); returnfalse; }else{ returnture; } });(7)注册代码publicStringregist()throwsException{ Useru=newUser(); u.setUsername(getUsername()); u.setPassword(getPassword()); UsrDAOdao=newUsrDAO(); UserServiceImpluserServiceImp=newUserServiceImpl(); if(getUsername()!=null&&"".equals(getUsername())){ return"error_regist"; } if(userServiceImp.addUser(u)){ this.addActionMessage("添加用户成功"); dao.saveUsr(u); //清空并重新用Session对象标识用户名 ActionContext.getContext().getSession().clear(); //用Session对象标识用户名 ActionContext.getContext().getSession().put("username",this.getUsername()); return"success_regist"; }else{ this.addActionMessage("用户已经存在,请重新输入"); return"error_regist"; } }(8)使用hibernate进行数据库连接代码<hibernate-configuration> <session-factory> <propertyname="dialect">org.hibernate.dialect.MySQLDialect</property> <propertyname="connection.url">jdbc:mysql://localhost:3306/aust</property> <propertyname="connection.username">root</property> <propertyname="connection.password"></property> <propertyname="connection.driver_class">com.mysql.jdbc.Driver</property> <propertyname="file">mysqldriver</property> <mappingresource="com/ascent/po/User.hbm.xml"/> <mappingresource="com/ascent/po/Count.hbm.xml"/> </session-factory></hibernate-configuration>(9)Struts映射代码<struts><packagename="struts"extends="struts-default"><actionname="*Action"class="com.ascent.action.LoginAction"method="{1}"><resultname="error">/error.jsp</result><resultname="success">/welcome.jsp</result><resultname="login">/login.jsp</result><resultname="success_regist">/regist_welcome.jsp</result><resultname="error_regist">/regist_error.jsp</result><resultname="result_error">/result_error.jsp</result><resultname="allUser">/allUser.jsp</result><resultname="allCount">/allCount.jsp</result><resultname="updateCount">/updateCount.jsp</result><resultname="updateUser">/updateUser.jsp</result><resultname="updateUser_success">/updateUser_success.jsp</result><resultname="updateCount_success">/updateCount_success.jsp</result><resultname="addCount_success">/addCount_success.jsp</result></action></package></struts>5运行与测试5.1登录/注册模块主要是用户通过工资管理系统的登录页面进入该系统。用户输入用户名和密码,系统会检验用户名和密码的正确性;如果登录信息有错误,则系统提示用户名或密码错误,并提示返回登录界面。工资管理系统的登录页面如图5.1所示图5.1登录页面如果没有输入用户名或密码,会提示“用户名不能为空”“密码不能为空”。如图5.2所示图5.2错误提示如果没有账号,可以根据提示进入注册界面,注册界面如图5.3所示图5.3注册界面如果注册时出现错误,会提示“注册失败”如图5.4所示图5.4注册失败5.2系统模块登陆成功后,会进入欢迎界面。在欢迎界面中,会标出你的权限和进入管理用户,管理工资信息模块的按钮。如图5.4所示。图5.4欢迎界面5.3用户信息管理模块进入管理用户后,管理员可以对用户权限进行修改,可以将“普通用户”改为“管理员”,如图5.5所示图5.5用户管理界面修改权限时,可以设为管理员或普通用户。如图5.6所示图5.6更改权限5.4用户工资信息管理模块进入管理信息后,会显示所有工资信息,可以添加新注册的用户的工资信息和修改原有职工的工资信息,如图5.7所示图5.7管理信息界面修改信息可以将员工的工资信息进行修改,如图5.8所示图5.8信息修改界面信息修改成功后,如图所示图5.9修改成功6设计体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程。回顾起此次课程设计,至今我仍感慨颇多。的确,从理论到实践,学到很多很多的东西。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的。只有把所学的理论知识与实践相结合起来,从而提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论