学生请假管理系统_第1页
学生请假管理系统_第2页
学生请假管理系统_第3页
学生请假管理系统_第4页
学生请假管理系统_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程实践一设计任务书指导教师签字:年月日学生请假管理系统摘要当前信息化时代,讲究高效,准确,及时的完成事情,近年来学校都在开展信息化部署,实现了多媒体教学,网上提交作业,在线考试等学生考勤对学校教务管理是至关重要,在以前,学生请假要去找班主任或者领导批准,并且不一定每次都能顺利的找到班主任,完成请假批准。如果学生不在学校,没办法向班主任提交请假单;对于学生出勤检查, 是学生会根据纸制名单逐一点名,或老师根据学生上交课堂作业来判断学生是否来上课。这些方法往往具有考勤差错率比较高,考勤效率也比较慢,没有一个总体的的记录和整理,并且纸制的点名册容易丢失遗漏,耽误时间等缺点。针对以上的问题,开发一

2、种针对学生请假的考勤网上管理系统,通过请假管理系统,任课老师可以在课堂上直接登录考勤记录网站进行课堂查看哪些学生请假,记录学生考勤情况等。此外, 在其他时间,班主任以及其他老师也可以登录该网站查询学生在某课程的出勤情况。该系统是基于 Java web 的简单型设计,它体现了对一些简单的 JSP标签语言的运用,该系统界面简单、操作方便。根据实际需要将系统分为学生端和教师端,学生请假和教师批假都需要首先登录,学生端实现了学生申请请假、申请销假、查询自己请假记录功能;教师端实现了教师对学生请假的批准、销假批准以及查询学生的请假记录功能。关键词: 学生; 请假管理;Java Web目录摘要2第 1 章

3、 项目分析11.1 问题描述11.2 技术分析11.3 工程进度计划2第 2 章 系统分析与设计42.1 系统分析42.1.1 参与者42.1.2 用例图52.1.3 用例及用例规约UC001登录62.1 .3.2 UC002申请请假 UC003 申请销假 UC004查询请假记录102.2 系统设计112.2.1 顺序图112.2.2 类图142.2.3 系统体系结构设计142.2.4 设计时序图15图 2.10 学生销假申请设计时序图172.3 数据库设计182.3.1E-R 图182.3.2 关系模式182.3.3 表的设计20第 3 章 实

4、现与测试213.1 请假申请功能233.1.1 活动图243.1.2 界面253.1.3 代码253.1.4 测试用例273.2 销假申请功能错误!未定义书签。3.2.1 活动图错误!未定义书签。3.2.2 界面错误!未定义书签。3.2.3 代码错误!未定义书签。3.2.4 测试用例错误!未定义书签。3.3 请假记录查询273.3.1 活动图错误!未定义书签。3.3.2 界面283.3.3 代码283.3.4 测试用例283.4 登录功能283.4.1 活动图323.4.2 界面313.4.3 代码293.5.4 测试用例32第 4 章 结束语33附录A: 附加图、表38附录B: 主要源程序3

5、8第 1 章 项目分析随着计算机的发展与不断进步,各个领域都出现了新的技 术,曾经各种规模之间的竞争已经发展成为技术之间的竞争,管理和人才之间的竞争,然而计算机技术的发展也离不开软件的更新,在软件不断更新和替换的过程中已经渗透到各个领域,政府机关,各大高校等都不断向智能方向发展,学生请假也成为一件棘手的事情,为了请假学生需要写请假条找老师批准,结果是这个时候老师不一定在,另外学生需要请假时不一定在学校,所以为了给广大师生提供方便,我们需要开发软件系统学生请假管理系统。1.1 问题描述要完成这个系统最大的问题就是所学知识是有限的,在完成其中某些功能时候所需要的可能就完全没有接触过,所以只能用一些

6、简单的功能代替或者替换掉那些用目前的水平所不能实现的功能,再者就是对目前所需求的不是很明确,比如要做出一个请假管理如何去设置友好界面让大家都喜欢适应去使用,如何把系统做到什么程度才能够投入使用,这些都是所面临的棘手问题。1.2 技术分析该系统用到 MVC 设计模式,总共建立了五个包,界面 View、数据对象 DO、数据库连接 DB、数据库操作 DAO、控制层 Control、业务层 BO;DO 层是对数据对象的封装,DB 层是连接数据库,DAO 层是包含对数据标的基本操作,BO 层是所有和业务相关的关于对数据的判断等,调用的是 DAO 层然后返回一个结果,Control 层是为了获取用户参数并

7、封装,同时调用 BO 层,再根据调用得到的不同的结果在调用不同的View 层,将处理结果显示给用户。文档可自由编辑图 1.1 包图1.3 工程进度计划实际开发过程中,开发周期可以分为三个阶段: 第一阶段:成果:(1)需求分析(2)对数据库进行设计目标:设计出适合学生请假管理系统的数据库;完成数据库的连接时间:一周第二阶段:成果:完成 JSP 页面和系统代码目标:能在编译器中有效正确运行。时间:一周第三阶段:42 / 48文档可自由编辑成果:写报告;目标:完成系统报告。时间:一周第 2 章 系统分析与设计学生请假管理系统必须通过正确的用户名的密码方能进入系 统,系统分为两大模块,学生端和教师端,

8、学生端和教师端分别有三个模块,学生端分为请假申请、销假申请、个人请假记录查询, 教师端分为请假审批、销假审批和学生请假记录查询;学生提交的请假申请需要教师的审批,只有批准之后学生方可提出销假申请。2.1 系统分析该系统有两个参与者,分别为学生和教师,学生请假需首先得到教师的批准方可奏效,学生与教师都需使用自己的工号作为用户名和密码进行登录。2.1.1 参与者学生、教师2.1.2 用例图学生图 2.1 用例图2.1.3 用例及用例规约请假管理系统学生端共包含 1 个参与者、4 个用例。用例的编号及名称如表 1 所示:表 2.1 用例列表用例编号用例名称参与者UC-001登录学生UC-002申请请

9、假学生UC-003申请销假学生UC-004查询请假记录学生 UC001 登录参与者学生需要用户名和密码登录到系统,才能进行相应的操作,系统中设置学生的登录用户名为学号,初始化密码为学号.表 2.2功能编号前置条件基本事件流UC-001功能名称登录参与者通过浏览器打开请假管理系统的登录页面1. 系统要求参与者填写用户名和密码。2. 参与者填写相应信息,学生输入学号作为用户名, 密码初始值为学号。3. 系统验证用户输入信息是否正确备选流 1.用户名和密码输入错误如果系统检测到用户输入的用户名和密码与数据库中不一致,给予用户“用户名和密码不正确”的错误提示,并要求用户重新输入。后置条件

10、界面原型如果用例成功,系统进入相应权限页面参与者学生 UC002 申请请假该用例的主要参与者为学生,学生通过系统填写请假申请单,请假申请单将会提交给辅导员审批。表 2.3功能编号UC-002功能名称申请请假用 例 描述前置条件基本事件流学生创建新的请假申请单,录入请假资料,创建一个请假申请流程学生正常登录到系统中,并打开请假管理页面1、 学生选择创建请假申请单,系统自动查询当前的学生是否存在没有销假的记录,如果存在没有销假的请假记录,执行异常流 1.1,如果不存在未销假记录,执行基本事件流 22、 系统展示申请单录入界面3、 学生录入学生学号、姓名、请假事由(原因、去向),开始时

11、间、结束时间,联系方式(个人联系方式、家长联系方式)4、 学生提交申请单,系统进行数据校验,依据业务规则C,如果数据校验不合法,执行分支流 4.1,如果数据校验合法,执行基本事件流 55、 系统为当前的请假申请单生成唯一的编号,保存该请假申请单6、 将该流程推进到下一环节系统应该向学生展现请假申请单的最终页面,用例结束分支流4.1 请假信息填写有误,显示填写不正确的信息提示,并要求学生重新填写,显示填写请假申请单的页面。异常流1.1 系统显示学生没有销假的记录详情1.1 学生确认自己的请假记录是否属实,用例终止后置条件界面原型业务规则1、 系统将保存该条请假记录。2、 创建新的请假单并生成唯一

12、的申请编号3、 创建新的请假申请流程实例4、 记录提交后不能够再修改无A、 包括学生姓名、辅导员姓名、请假开始时间(必须选择当天及当天之后的时间)、请假结束时间(大于请假开始时间),请假理由,家长联系电话B、系统首先判断是否存在没有销假的记录,存在的话,将该记录显示给当前学生学生进行确认,如果确认是没有销假,学生继续执行销假流程,否则, 辅导员进行异常处理C、学生姓名、辅导员姓名、请假开始时间(必须选择当天及当天之后的时间)、请假结束时间(大于请假开始时间),请假理由,家长联系电话信息为必填,不能为空。联系方式是否合法,请假开始时间是否在请假结束时间之前。执行者学生涉及的实体1、 学生属性:学

13、号、姓名、班级、性别、联系方式、宿舍、标志变量(tag=1)2、 请假申请单属性:学生(学号、姓名),请假事由(原因、去 向),开始时间、结束时间,联系方式(个人联系方式、家长联系方式)、操作 1(已批准、待批准)、操作 2(申请销假、已销假、未销假) UC003 申请销假该用例的主要参与者为学生,学生通过系统提出销假申请, 若申请成功,此时请假信息中操作 2 的状态将修改为申请销假, 否则提示申请销假失败。表 .4 UC004 查询请假记录该用例的参与者为学生,学生通过系统提出请假记录查询, 若查询成功,学生请假的记录将会显示在页面上。表 2.5功能编号前置条件

14、基本事件流备选流后置条件界面原型参与者UC-004功能名称查询请假记录参与者通过浏览器打开请假管理系统的登录页面成功登录进入系统主页面1. 学生发出查询请假记录,并等待系统验证2. 如果提示验证成功,执行基本事件流 33. 显示请假记录4. 如果提示验证失败,执行基本事件流 55. 提示查询失败或者无请假记录,请重新申请无如果用例成功,系统进入相应权限页面无 学生2.2 系统设计该系统分为 3 个部分,第一部分是登录,学生和教师都需要登录,第二部分是学生端,学生端 3 个功能学生申请请假、学生申请销假、查询个人请假记录,第三个部分是教师端,教师端3 个功能教师批准请假申请、教师批准销假申请、教

15、师查询学生请假记录。2.2.1 顺序图图 2.2 登录时序图<<entity>>: 学生<<boundary>>: 请假申请边界类<<control>>: 请假申请控制类<<entity>>: 请假记录信息1 : 发送请假申请()2 : 检验该学生是否可以申请()图 2.3 学生请假申请时序图<<entity>><<boundary>><<control>>: 学生: 销假申请边界类: 销假申请控制类1 : 发出销假申请()2

16、: 判断是否异常()seq正常3 : 显示申请销假成功()异常4 : 显示申请失败,并提示重新申请()图 2.4 学生销假申请时序图图 2.5 学生请假查询时序图2.2.2 类图图 2.6 类图2.2.3 系统体系结构设学学学教教教生生生师师师申申查审审查请请询批批询请销请请销请假假假假假假图 2.7 体系结构图该系统包括基本的 3 各模块,登录、学生端、教师端。学生和教师在登录成功时分别进入不同的页面进行操作,学生端进行请假申请、销假申请、查询个人请假;教师审批请假、审批销 假、查询学生请假记录。2.2.4 设计时序图图 2.8 登录设计时序图该图是学生端登录设计时序图,首先学生发送请求到控

17、制类, 然后跳出登录页面,学生填写登录信息并提交到控制类,控制类封装数据创建对象调用逻辑层进行数据校验并返回结果,逻辑层调用DAO 层最终根据结果判断如果登录成功将跳转到学生端主页,如果登录失败将给以提示信息并请重新登录。图 2.9 请假申请设计时序图该图是学生请假申请设计时序图,首先学生需要成功登录,发出请假申请,这时候控制类会自发调用逻辑层,逻辑层调用DAO 层,如果该学生之前请过假并且未曾销假,这时该学生是不能够再请假的,倘若该学生发出请假申请,系统将会把该学生之前的请假未销假记录显示出来,如果没有未销假记录,将会显示请假申请页面,学生需要填写请假申请单将请假详细信息填写并提交倘若正确无

18、误,系统将会提示请假申请成功。图 2.10 学生销假申请设计时序图该图是学生销假申请设计时序图,在学生成功登录之后,学生在申请请假时候必须不存在未销假记录,所以在学生请假完成到校报到后必须进行销假,然而这时需要发出销假申请,这时候在业务逻辑层将会给予判断,如果销假申请成功将会提示申请成功,如果有错误将会提示申请失败或者不存在未销假记录。2.3 数据库设计数据库在该系统中是为了存储数据,学生所提交的请假记录是通过保存到数据库中来实现申请请假、销假等功能的,在我们目前所学的有限的知识内,没有数据库该系统是没法运行和实现的。2.3.1 关系模式(1) 学生信息:(学号、姓名、班级、性别、宿舍、联系方

19、式、tag)(2) 教师信息:(工号、姓名、联系方式、性别、年级、tag) (3)登录:(用户名(学号、工号),密码)(4)请假信息:(学号、姓名、事由、请假开始时间、请假结束时间、联系方式)2.3.2 E-R 图E-R 图在数据库设计里面是至关重要的一步,它是整个数据库设计的关键,下面使用实体联系(E-R)模型来描述系统的概念结构,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑设计打下基础。图 2.11 E-R 图2.3.3 表的设计表 2.6 用户登录信息表(login)编号字段名称数据类型约束条件说明1useridVarchar(14)无学号、工号2passwordV

20、archar(12)无密码3TagVarchar(2)无标志该表是用户登录信息表,表中包括 3 个属性,用户名和密码、还有标志变量tag,tag 是为了控制学生端和教师端,用户名分别为学号和教师的工号;表 2.7学生信息表(Student)编号字段名称数据类型约束条件说明1sidVarchar(14)无学号2SnameVarchar(20)无姓名3ClassesVarchar(20)无班级4SsexVarchar(6)无性别5SphoneVarchar(12)无联系电话6DormitoryVarchar(6)无宿舍7TagVarchar(2)1标志该表是学生信息表,表中包括 7 个属性,都是字

21、符串类型,其中tag 标志变量默认为 1,并且不可修改;表 2.8教师信息表(teacher)编号字段名称数据类型约束条件说明1tidVarchar(14)无工号2tnameVarchar(16)无姓名3tsexVarchar(4)无性别该表是教师信息表,表中包括 6 个属性,都是字符串类型,教师也包括一个标志变量tag,也存在一个默认值为 2 ,并且不能修改;表 2.8 请假信息表(leaverecords)编号字段名称数据类型约束条件说明1sidVarchar(14)无学号2SnameVarchar(16)无姓名3Starttimedate无开始时间4endtimedate无截止时间5Sp

22、honeVarchar(12)无联系电话6Operate1Varchar(20)操作 17Operate2Varchar(20)操作 28reasonVarchar(255)无理由该表示请假信息表,包括 8 个属性,其中有字符串和日期类型,操作 1 和操作 2 分别是默认值,其值是根据学生的请假申请成功,销假以及教师的审批有关。第 3 章 实现与测试每一个项目的核心部分都是功能的实现,功能的完成标志着一个系统的完成,然而这些结果都需要一个需求和设计来作为基本的要求,以下就是该系统详细功能的实现过程:需求分析:需求分析阶段我采用了StarUML 工具做了详细的分析,根据自己的需要画出了包图、时序

23、图、用例图、类图、活动 图、设计时序图等所需要的几类基本图,项目的框架是根据包图来创建的,时序图主要就是项目的每一个功能所要求的基本流程,设计时序图就是将时序图给详细化,具体到每一步所走的流程返回什么样的数据或者类型,也就是说画设计时序图时基本上已经把代码在脑子里有了型,用例图其实就是项目所有的功能,每一个用例就代表一个基本的功能,数据库的设计是根据类图来实现的,类图就表示了数据库中的表以及各表之间的关系。界面设计:用户界面设计要求友好合理,要充分考虑到用户的操作习惯,而且要有良好的显示效果。此外界面的配色方案要协 调,使用的主色,背景色,前景色,按钮大小,文字,格式,表格等要统一标准。由于该

24、系统主要用于公司人员管理的,所以界面框架的主色采用较为严肃的浅蓝色,在此基础上用到了 PhotoShop 技术,dreamweaver 以及 css 和 Java script 等,里面的登录那个信息是一个图片用ps 加工修改写上了艺术字,界面的代码是在dreamweaver 里面直接设计好的,然后将代码复制粘贴过去,因为在 dreamweaver 里面设计的界面在 MyEclipse 里面是不能运行的, 需要一个脚本来支持,所以只需要在 MyEclipse 里面建好 jsp 页面只需将 dreamweaver 里面 body 里面的东西复制粘贴到 MyEclipse 里面就可以运行了;每一个

25、界面里面都有一个表格,表格里面有许多其他的元素之类,比如:按钮,标题,下拉框等许多细小的知识, 外面有一个表单,这个表单是必须有的,他是为了在前台与后连接时候提交一个数据来运行这个项目的;在这些界面里面,时间是用js 来完成的,统一的 css 样式表;还有就是在查询过程中将所显示的数据设置为某一属性他将无法在查询显示这个页面来任意修改一些信息功能描述:首先这个系统除了界面其他的代码分别写在 5 个包中,第一个 DO 包,它里面从某种意义上说在这个包里面的每一个类都是创建某一个实例的方法,它里面定义了相对属性,以及 get()和 set()方法;第二个是 DAO 包,它里面是对于每一个管理模块的

26、一些基本小的功能的实现,说白了主要就是增删改查之类的它是对数据库语句的一个应用;第三个包是 DB 包,这个包可以说是只为了一件事,就是数据库的连接,之所以这样写专门用一个包来写关于数据库的连接目的只是为了看到数据与的封装,体现一个面向对象的思考,从而在某些方面也能够减少代码的重复率,提高代码的可读性;第四个包是 control 包,这个包是最重要的,因为在web 应用开发的过程中每一个项目要想与前台数据连接并能够成功把数据相互传递,servelet 里面有两个方法,一个是 doGet(),一个是 doPost(),两者最大的区别就是前者对数据没有保密,就是随时都会泄露一些重要的信息,因为每一提

27、交的表单都会随着浏览器的浏览网址显示出来,然而要想从前台获得数据,就好比添加员工就得用到客户端所发出的请求 request.getParameter()得到。第五个包是 BO 包,这个是业务逻辑层,主要是调用 DAO 包里面的方法, 数据校验等功能。在该系统中我主要完成的是学生端的功能,以下为学生端的功能:3.1 请假申请功能在学生请假申请这个功能里面其实所做的就是对数据的添加, 界面是简单采用了CSS 样式的界面,如果学生登录成功点击申请请假,如果该学生存在未销假记录系统将会把该学生的未销假记录显示出来,如果不存在未销假记录,此时学生请假信息界面会显示出来,在学生填写完请假信息出发右下方的一

28、个提交按钮,倘若提交成功会提示申请成功,如果失败会跳转到信息填写页面并提示错误信息。3.1.1 活动图图 3.1 学生申请请假活动图3.1.2 界面图 3.2 学生请假申请页面3.1.3 代码public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;ch

29、arset=UTF-8");String str="已销假"String type=request.getParameter("type"); LeaveRecordDO ld=null;LeaveRecordDO lrd=new LeaveRecordDO(); StudentBO sb=new StudentBO(); if(type.equals("add")lrd.setSname(request.getParameter("sname");lrd.setSid(request.getParame

30、ter("sid");lrd.setSphone(request.getParameter("sphone"); lrd.setStarttime(Date.valueOf(request.getParameter("starttime");lrd.setEndtime(Date.valueOf(request.getParameter("endtime");lrd.setReason(request.getParameter("reason");String results=sb.valida

31、te(lrd); if(results=null)Stringid=request.getParameter("sid"); ld=sb.queryrecords(str,id);if(ld=null) sb.save(lrd);request.getRequestDispatcher("./success.jsp").forward(requ est, response);return;else request.setAttribute("ld", ld);request.getRequestDispatcher("./d

32、eleteleave.jsp").forward( request, response);elsereturn;request.setAttribute("message",results);request.getRequestDispatcher("./askforleave.jsp").forward( request, response);return;3.1.4 测试用例表 3.13.2 请假记录查询在学生请假记录查询里面和学生请假申请基本是一样的,这个实际上的就是对数据库里面的数据的一个查询,并将查询记录显示到网页上,如果不存在请假记

33、录,将不会显示任何记录。3.2.1 界面图 3.3 请假记录3.2.2 代码HttpSession session=request.getSession();session.setAttribute("username", request.getParameter("sid");ArrayList<LeaveRecordDO> list=(ArrayList<LeaveRecordDO>) sb.getrecords(request.getParameter("sid");request.setAttribut

34、e("list", list); request.getRequestDispatcher("./SseclectDisplay.jsp").forw ard(request, response);return;3.2.3 测试用例序号功能模块测试数据预期结果1请假查询学号:123查询成功3.4 登录功能登录是该项目最基本的一个功能,这其实也是一个查询,只不过是根据数据库中的数据和从网页中得到的数据进行对比,如果匹配成功将会进入到另外一个页面,如果登录失败将会进行提示并重新登录,登录过程中在后台数据中定义了标志变量来表示学生和教师,所以在登录时候根据这个

35、属性来判断登录成功后跳转到学生端还是教师端。登录过程中进行了简单的数据校验,就是说用户名和密码不能为空,倘若为空将会提示错误信息并提醒重新登录。3.4.1 代码public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"

36、;);LoginDO ld=new LoginDO(); LoginBO lb=new LoginBO(); int tags;String userid=request.getParameter("username"); String passwd=request.getParameter("password"); ld.setUserid(userid);ld.setPasswd(passwd);String message=lb.validate(ld); if(message!=null)request.setAttribute("me

37、ssage", message); request.getRequestDispatcher("./loginerror.jsp").forward(r equest, response);elsetags=lb.login(ld);if(tags=1)HttpSession session=request.getSession();session.setAttribute("username",ld.getUserid();request.getRequestDispatcher("./smain.jsp").forwar

38、d(r equest, response);return;else if(tags=2)HttpSession session=request.getSession();session.setAttribute("username",ld.getUserid(); request.getRequestDispatcher("./tmain.jsp").forward(reques t, response);return;elserequest.getRequestDispatcher("./error.jsp").forward(re

39、ques t, response);return;3.4.2 界面图 3.4登录界面3.4.1 活动图图 3.5 登录活动图3.5.4 测试用例第 4 章 结束语这次的课题我用的 web 开发来完成的,从我对这三个字母的不理解到学习它再到用它们来完成我的课题,这个过程并不是想象的那么容易,今天终于完成了,长呼了一口气,同时在内心深处,也默默地为接下来的学习,做一个前段时间的项目总结,也是学习的总结,吸取之前的经验教训,错误并不可怕,可怕的是再在同一个地方犯同样错误,所以对于我来说,更多的去自我认知,知我批评要比表扬和赞许来的更加深刻 ,非常有必要做一个总结。虽然时间略显仓促,但在项目开发过程中

40、我学习到了很多之前没有接触过的内容,也发现了自己的很多不足,感悟颇深。主要包括以下几个方面:1. 在需求分析阶段,由于对学生请假管理系统真正的需求并不了解,还有就是自己在做这个需求的过程当中总觉得想到了自己做不出来,就好比没想到一个需求的功能脑子里就会闪现出一个画 面,我该如何去实现它,正是因为这些错误的想法导致了这次课题实践的进度,因此我觉得在做需求时我们应该根据实际不必考虑怎么做怎么实现。2. 数据库采用的是 Mysql,在编写 sql 语句经常会出现一些语法错误,例如 sql 语句不之一次的出错,在修改的过程当中我发现了自己知识的欠缺,或者说对过去所学的东西并没有完全理解甚至吸收;尤其是

41、数据库中的乱码问题,我从一开始数据库中导入数据我就一直被乱码问题纠结着,我先上网查阅相关资料,看书寻找改变乱码的方法,甚至解决不了向同学请教,但是最终我都没有解决, 最后在老师的帮助下检测出乱码不是编码的问题而是我的数据库安装过程中字符编码选择错误,所以一直回出现乱码问题,而且解决之后再将自己遇到的问题记录下来,使得以后出现同样的问题时能够快速解决。3. 由于该系统在学生申请成功后需要教师端的批准,在学生端才能进行下一次的操作,这些之前很少用到,通过这次实习也将自己在课本上学到的内容用到了实际项目中;感受最深的就是 MVC 模式和在两个客户端操作。4. 团队合作。我们完成一个项目总是需要一个团

42、队的,而不是个人,在开发过程中小组之间的沟通非常重要。如果组内成员没有很好的交流,则在项目后期各模块合并时,会出现许多意想不到的错误,例如路径问题、页面间跳转等。所以我们完成系统时,小组间要定期开例会,相互交流,对于有分歧的地方,一定要及时讨 论,采取一致措施,这样才有利于团队工作。总之,这次的课题真的使我受益匪浅。在这个过程中,我学习到的不仅仅是以上技术上的收获,更还有生活中的的人际交往以及其他的许多经验。而这些,都将作为我迈入社会的根本,我将以此为我的基础,尽量将学到的知识运用到实际工作中,去迎接一个又一个的挑战。回想在这不到一个月的学习时间里,我学到了许许多多让我感觉比较充实的知识,掌握

43、了更多的学习的方法,作为一个程序员, 我们更需要信心,面对项目时我们要仔细分析,想法尝试,想法去实现,这样才能进步,才能找到自己的不足。同样在职场中,工作需要自信心,不相信自己,任何工作都做不好。没有信心,成功的机会就会少些。自信心能让你做什么都不难。生活需要自信心。现实是残酷的,没有自信心是难以生存的。道路是坎坷的,自信心能帮你顺利地走过。有时希望是渺茫的,但是自信心能让你看到美好明天。在写程序时,总是在看到功能后,立即投入到代码编写工作 中。后期出现的错误总是很多很多,经常返回重新修改。经过这次旳实践,又对软件这个东西有了新的认识,新的收获,而且我对软件工程又有了新的理解,说白了软件工程就

44、是在为这个软件做铺 垫,也就是说需求分析就是软件工程,而我在做需求分析阶段能顺利完成,我十分的感激我的老师郭丽,如果不是在课堂上老师让我在同学们面前或那个设计时序图,我想我现在仍然不会明白软件工程怎么去做需求,不是老师一步步的教导,我根本不可能完成今天这么简单的并且不完善的项目,所以在此我对老师表示深深的敬意与感激!参考文献01李明.java 程序设计与应用M:北京.交通大学出版社. 2010.3 02叶和亚.陈立.java2 程序设计实用教程例M北京:电子工业出版社. 2003.503李兆峰.庞永庆.java 程序设计与项目实践M北京:电子工业出版社.2011.604Y.Daniel Lia

45、ng.java 语言程序设计M西安;机械工业出版社.2011.5050607 刘京华.JavaWeb 整合开发王者归来M:清华大学出版社.2010.108 何富贵.DreamweaverCS4 网页设计与制作M:机械工业出版社.2010.309 郑阿奇MySQL 实用教程M:电子工业出版社.2012.510叶和亚.陈立.java2 程序设计实用教程例M北京:电子工业出版社.2003.5指导教师评语成绩:指导教师签名:年月日附录A: 附加图、表图 1 学生端主页面图 2 教师端学生请假信息页面附录B: 主要源程序DAO包/* 请假审批*/public boolean LeaveAllow(Str

46、ing sid)/获取数据库连接Connection connection=DButils.getConnection();/创建sql执行环境PreparedStatement ps=null;/创建sql语句String s="已批准"Stringsql="updateleaverecordssetoperate1=? where sid=?"/执行sql语句try ps= connection.prepareStatement(sql); ps.setString(1,s);ps.setString(2, sid);int count = ps.e

47、xecuteUpdate(); if(count=1)return true; catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();finallyDButils.release(connection, ps, null);return false;/* 销假审批*/public boolean XJallow(String s,String sid)/获取数据库连接Connection connection=DButils.getConnection();/创建sql执行环境PreparedS

48、tatement ps=null;/创建sql语句s="已销假"Stringsql="updateleaverecordssetoperate2=?where sid=?"/执行sql语句try ps= connection.prepareStatement(sql); ps.setString(1, s);ps.setString(2, sid);int count = ps.executeUpdate(); if(count=1)return true; catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();finallyDButils.release(connection, ps, null);return false;/* 查询请假记录*/public ArrayList<LeaveRecordDO> selectAll() ArrayList<LeaveRecordDO>list=newArrayList<LeaveRecordDO>();/1、获取数据库连接Connection conn =DButils.getConne

温馨提示

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

评论

0/150

提交评论