..w软件开发生产实习报告姓名学号班级项目名称人事管理系统实习地点光谷软件园实习时间2016.7.4-2016.7.15实习成绩指导教师签字信息科学与工程学院2016年7月15日..w软件开发生产实习报告1.实习目的1.1使学生全面了解软件项目实施的过程,理解软件企业对于程序员的基本素质和技术能力要求。1.2使学生掌握JSP及Servlet基本的JavaEE编程技术,能够综合运用oracle数据库及Eclipse开发环境进行小型项目的开发。1.3重点培养学生的团队精神和协作意识,提高其口头和书面的沟通能力。1.4使学生掌握快速学习新知识、新技术方法,培养良好的分析问题和解决问题的能力1.5重点提高学生的编程能力,使学生建立正确的编程理念,养成规的编程习惯。2.实习过程2.1技术准备2.1.1JDBC(Java数据库连接)技术Java数据库连接是java语言中用来规客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。本次程序利用该技术连接到oracle数据库,实现数据的更新,删除,插入。2.1.2JSP技术JSP其根本是一个简化的Servlet技术,它是传统的网页HTML文件中..w插入java程序段。本次程序利用JSP技术实现其动态跳转。2.1.3用到的相关软件(1)jdk(运行环境):安装好jdk后,设置好环境变量。(2)Tomcat:进行相应的配置。(3)EclipseJ2EE(开发环境):启动开发环境,然后配置好之前安装好的jdk。(4)Oracle数据库(10G):运行安装程序,设置兼容性,以管理员身份运行,设置密码;安装完成后检查服务,确定以下两个服务:OracleOraDb10g_home1TNSListener监听服务OracleServiceORCL(服务名称ORCL)核心服务这两个服务必须为开启状态。2.2项目实施2.2.1功能需求管理员登录组织管理系统管理部门管理岗位管理设置关系..w功能名称备注裁剪说明部门管理主要用于部门的管理,描述人事管理系统中的部门信息,其中也包含了部门的上下级关系。部门管理包含对部门信息的查询,以及添加部门;查询部门时可对部门信息进行修改和删除操作。不可裁剪岗位管理主要用于岗位的管理,描述人事管理系统中的岗位信息。岗位管理包含对岗位信息的查询,以及添岗位管理..w加新的岗位;查询岗位时可以岗位信息进行修改和删除操作,系统管理主要用于管理员的管理,描述人事管理系统中的信息。管理员登录进入系统后,通过系统管理查询管理员的信息,以及添加新的管理员,但不可删除或更改管理员的信息。不可裁剪设置关系主要用于将各个不同的岗位归到相应的部门,便于管理。不可裁剪2.2.1.1部门管理需求描述功能需求功能名称部门管理优先级高业务背景部门是构成一个组织的基本单位。部门管理用于维护部门的基本信息,以及体现整个系统中部门之间的上下级关系,还有该部门的类型级别是公司还是部门。..w功能说明1.添加部门2.修改部门信息3.删除部门约束条件系统要求部门的编号唯一。相关查询查询部门列表,点击部门查询出现所有的部门信息其他需求无裁剪说明不可裁剪流程描述开始登录部门管理新建部门修改部门删除部门查询部门..w数据描述部门基本信息名称描述是否必结束..w添编号是部门名称是类型(下拉框)分为公司、部门是是传真是描述是上级部门(下拉框)分为各个部门,总经办和总公司是成立日期是2.2.1.2岗位管理需求描述功能需求功能名称岗位管理优先级高业务背景岗位是指一个组织中由特定人员所承担的多种职责的集合,一般来讲岗位对应到了特定的部门。但为了简化实训项目,裁剪了岗位与部门之间的关系。本功能就是对各岗位进行管理,包括增加、修改、删除岗位,以及查询岗位下的员工等。..w功能说明1.增加岗位2.修改岗位3.删除岗位约束条件无相关查询查询岗位信息,包括编号,名称,类型,所属部门以及该岗位最大限制多少人。其他需求无裁剪说明不可裁剪流程描述开始登录岗位管理新建岗位修改岗位删除岗位查询岗位结束..w数据描述岗位基本信息名称描述是否必添岗位编号是岗位名称是类型(下拉框)分为管理,技术,营销,市场等;是岗位编制限制岗位上最多可配置多少员工是所属部门(下拉框)分为行政部,生产部,销售部,技术部,财务部等。是备注1否..w备注2否备注3否2.2.1.3系统管理需求描述功能需求功能名称系统管理优先级低业务背景管理管理员相关的信息功能说明1、添加管理员2、查询管理员3、退出登录约束条件无相关查询管理员编号、姓名等其他需求无裁剪说明不可裁剪。流程描述开始登录系统管理添加管理员退出登录查询管理员..w数据描述管理员基本信息名称描述是否必添编号是名称是登录密码是所属部门否否入职日期否..w2.2.1.3设置关系需求描述功能需求功能名称设置关系优先级低业务背景每个部门中有不同的岗位功能说明将不同的岗位保存到相应的部门约束条件无相关查询可通过查询岗位信息来查询该岗位的所属部门其他需求无裁剪说明不可裁剪。2.2.2总体设计本次人事管理系统要求完成管理员的登录,添加管理员以及查询管理员信息,部门信息的查询,部门的添加,部门信息的删除和修改,岗位信息的查询,岗位的添加,岗位信息得到删除和修改以及岗位和部门之间的关系设置。因此该系统除了基本的部门类,管理员类,岗位类等以外主要的就是对他们的操作类,主要如下:..w人事管理系统模块名称功能简述开始管理员登录组织管理系统管理部门管理新建部门修改部门删除部门查询部门岗位管理新建岗位修改岗位删除岗位查询岗位设置关系系统管理添加管理员查询管理员退出登录结束..w系统管理模块1、管理员登录类(ManagerServlet)2、查询管理员信息类(ManagerSelectServlet)3、添加管理员信息类(ManagerAddServlet)部门管理模块1、查询部门信息类(SkdeptSelectServlet)2、修改部门信息类(SkdeptModifyServlet)3、删除部门信息类(SkdeptDeleteServlet)4、添加部门类(SkdeptAddServlet)岗位管理模块1、查询岗位信息类(SkjobSelectServlet)2、修改岗位信息类(SkjobModifyServlet)3、删除岗位信息类(SkjobDeleteServlet)4、添加岗位类(SkjobAddServlet)设置关系模块1、添加关系类(AddSkdeptSkjob)2、添加关系类2(AddSkdeptSkjob2)2.2.3详细设计与编码2.2.3.1系统管理模块(1)管理员登录模块名称管理员登录:ManagerServlet功能描述管理员输入账户密码登进人事管理系统数据结构与算法package.servlet;importjava.io.IOException;importjava.sql.SQLException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;import.dao.ManagerDao;import.model.Manager;..wpublicclassManagerServletextendsHttpServlet{protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{doPost(req,resp);}protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{req.setCharacterEncoding(utf-8);resp.setCharacterEncoding(utf-8);Stringname=req.getParameter(yonghuming);Stringpassword=req.getParameter(password);ManagerDaosd=newManagerDao();HttpSessionsession=req.getSession();try{Managerstu=sd.login(name,password);if(stu==null){session.setAttribute(errorMsg,用户名或密码错误!);session.setAttribute(redirectUrl,login.html);..wreq.getRequestDispatcher(error.jsp).forward(req,resp);}else{session.setAttribute(userInfo,stu);resp.sendRedirect(index.html);}}catch(SQLExceptione){e.printStackTrace();}}}补充说明(2)查询管理员信息模块名称查询管理员:ManagerSelectServlet功能描述查询管理员的基本信息数据结构与算法package.servlet;importjava.io.IOException;importjava.sql.SQLException;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;..wimportjavax.servlet.http.HttpServletResponse;import.dao.ManagerDao;import.model.Manager;publicclassManagerSelectServletextendsHttpServlet{protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{doPost(req,resp);}protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{ManagerDaosd=newManagerDao();try{ListManagerlist=sd.find();req.getSession().setAttribute(ManagerList,list);req.getRequestDispatcher(ManagerList.jsp).forward(req,resp);}catch(SQLExceptione){e.printStackTrace();}..w}}补充说明(3)添加管理员模块名称添加管理员:ManagerAddServlet功能描述添加新的管理员数据结构与算法package.servlet;importjava.io.IOException;importjava.sql.SQLException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;