




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中原工学院软件学院软件工程实践一设计任务书姓名* 软件工程 专业 JAVA123 班题目学生请假管理系统的开发设计任务开发一个基于Web的学生请假管理系统,包括教师端和学生端。主要功能包括:1. UI设计:界面(参与)2. 学生端:请假申请、销假申请、查询自己请假记录;(独立完成)3. 教师端:请假审批、销假审批、查询学生请假记录;(参与)开发工具:Java、JSP、MySQL、Photoshop、MyEclipse8.6 时 间 进 度第1周(9-99-13):完成需求分析、UI设计第2周(9-169-21):完成代码第3周(9-249-29):完成报告原 主始 要资 参料 考与 文 献01
2、 02叶和亚.陈立.java2程序设计实用教程例M北京:电子工业出版社. 2003.503李兆峰.庞永庆.java程序设计与项目实践M北京:电子工业出版社.2011.6指导教师签字: 年 月 日学生请假管理系统摘 要当前信息化时代,讲究高效,准确,及时的完成事情,近年来学校都在开展信息化部署,实现了多媒体教学,网上提交作业,在线考试等学生考勤对学校教务管理是至关重要,在以前,学生请假要去找班主任或者领导批准,并且不一定每次都能顺利的找到班主任,完成请假批准。如果学生不在学校,没办法向班主任提交请假单;对于学生出勤检查,是学生会根据纸制名单逐一点名,或老师根据学生上交课堂作业来判断学生是否来上课
3、。这些方法往往具有考勤差错率比较高,考勤效率也比较慢,没有一个总体的的记录和整理,并且纸制的点名册容易丢失遗漏,耽误时间等缺点。针对以上的问题,开发一种针对学生请假的考勤网上管理系统,通过请假管理系统,任课老师可以在课堂上直接登录考勤记录网站进行课堂查看哪些学生请假,记录学生考勤情况等。此外,在其他时间,班主任以及其他老师也可以登录该网站查询学生在某课程的出勤情况。该系统是基于Java web的简单型设计,它体现了对一些简单的JSP标签语言的运用,该系统界面简单、操作方便。根据实际需要将系统分为学生端和教师端,学生请假和教师批假都需要首先登录,学生端实现了学生申请请假、申请销假、查询自己请假记
4、录功能;教师端实现了教师对学生请假的批准、销假批准以及查询学生的请假记录功能。关键词: 学生; 请假管理; Java Web目 录摘 要2第1章 项目分析11.1 问题描述11.2技术分析11.3工程进度计划2第2章 系统分析与设计32.1 系统分析32.1.1 参与者32.1.2 用例图32.1.3 用例及用例规约 UC001 登录42.1 .3.2 UC002 申请请假 UC003 申请销假 UC004 查询请假记录72.2 系统设计72.2.1顺序图82.2.2类图112.2.3系统体系结构设计112.2.4 设计时序图12图 2.10 学
5、生销假申请设计时序图142.3 数据库设计142.3.1E-R图152.3.2关系模式162.3.3表的设计16第3章 实现与测试193.1 请假申请功能203.1.1活动图213.1.2界面213.1.3代码213.1.4测试用例223.2销假申请功能223.2.1活动图223.2.2界面223.2.3代码223.2.4测试用例223.3请假记录查询223.3.1活动图233.3.2界面233.3.3代码233.3.4测试用例233.4登录功能233.4.1活动图233.4.2界面233.4.3代码243.5.4测试用例24第4章 结束语25附录A: 附加图、表29附录B: 主要源程序29x
6、xx:学生请假系统管理第1章 项目分析随着计算机的发展与不断进步,各个领域都出现了新的技术,曾经各种规模之间的竞争已经发展成为技术之间的竞争,管理和人才之间的竞争,然而计算机技术的发展也离不开软件的更新,在软件不断更新和替换的过程中已经渗透到各个领域,政府机关,各大高校等都不断向智能方向发展,学生请假也成为一件棘手的事情,为了请假学生需要写请假条找老师批准,结果是这个时候老师不一定在,另外学生需要请假时不一定在学校,所以为了给广大师生提供方便,我们需要开发软件系统学生请假管理系统。1.1 问题描述要完成这个系统最大的问题就是所学知识是有限的,在完成其中某些功能时候所需要的可能就完全没有接触过,
7、所以只能用一些简单的功能代替或者替换掉那些用目前的水平所不能实现的功能,再者就是对目前所需求的不是很明确,比如要做出一个请假管理如何去设置友好界面让大家都喜欢适应去使用,如何把系统做到什么程度才能够投入使用,这些都是所面临的棘手问题。1.2技术分析该系统用到MVC设计模式,总共建立了五个包,界面View、数据对象DO、数据库连接DB、数据库操作DAO、控制层Control、业务层BO;DO层是对数据对象的封装,DB层是连接数据库,DAO层是包含对数据标的基本操作,BO层是所有和业务相关的关于对数据的判断等,调用的是DAO层然后返回一个结果,Control层是为了获取用户参数并封装,同时调用BO
8、层,再根据调用得到的不同的结果在调用不同的View层,将处理结果显示给用户。图1.1 包图1.3工程进度计划实际开发过程中,开发周期可以分为三个阶段:第一阶段:成果:(1)需求分析(2)对数据库进行设计目标:设计出适合学生请假管理系统的数据库;完成数据库的连接 时间:一周第二阶段:成果:完成JSP页面和系统代码目标:能在编译器中有效正确运行。时间:一周第三阶段:成果:写报告;目标:完成系统报告。时间:一周第2章 系统分析与设计学生请假管理系统必须通过正确的用户名的密码方能进入系统,系统分为两大模块,学生端和教师端,学生端和教师端分别有三个模块,学生端分为请假申请、销假申请、个人请假记录查询,教
9、师端分为请假审批、销假审批和学生请假记录查询;学生提交的请假申请需要教师的审批,只有批准之后学生方可提出销假申请。2.1 系统分析该系统有两个参与者,分别为学生和教师,学生请假需首先得到教师的批准方可奏效,学生与教师都需使用自己的工号作为用户名和密码进行登录。2.1.1 参与者学生、教师2.1.2 用例图图2.1 用例图2.1.3 用例及用例规约请假管理系统学生端共包含1个参与者、4个用例。用例的编号及名称如表1所示:表2.1 用例列表用例编号用例名称参与者UC-001登录学生UC-002申请请假学生UC-003申请销假学生UC-004查询请假记录学生 UC001登录参与者学生需
10、要用户名和密码登录到系统,才能进行相应的操作,系统中设置学生的登录用户名为学号,初始化密码为学号.表2.2功能编号UC-001功能名称登录前置条件参与者通过浏览器打开请假管理系统的登录页面基本事件流1. 系统要求参与者填写用户名和密码。2. 参与者填写相应信息,学生输入学号作为用户名,密码初始值为学号。3. 系统验证用户输入信息是否正确备选流1.用户名和密码输入错误如果系统检测到用户输入的用户名和密码与数据库中不一致,给予用户“用户名和密码不正确”的错误提示,并要求用户重新输入。后置条件如果用例成功,系统进入相应权限页面界面原型参与者学生 UC002申请请假该用例的主要参与者为学
11、生,学生通过系统填写请假申请单,请假申请单将会提交给辅导员审批。表2.3功能编号UC-002功能名称申请请假用例描述学生创建新的请假申请单,录入请假资料,创建一个请假申请流程前置条件学生正常登录到系统中,并打开请假管理页面基本事件流1、 学生选择创建请假申请单,系统自动查询当前的学生是否存在没有销假的记录,如果存在没有销假的请假记录,执行异常流1.1,如果不存在未销假记录,执行基本事件流22、 系统展示申请单录入界面3、 学生录入学生学号、姓名、请假事由(原因、去向),开始时间、结束时间,联系方式(个人联系方式、家长联系方式)4、 学生提交申请单,系统进行数据校验,依据业务规则C,如果数据校验
12、不合法,执行分支流4.1,如果数据校验合法,执行基本事件流55、 系统为当前的请假申请单生成唯一的编号,保存该请假申请单6、 将该流程推进到下一环节系统应该向学生展现请假申请单的最终页面,用例结束分支流4.1请假信息填写有误,显示填写不正确的信息提示,并要求学生重新填写,显示填写请假申请单的页面。异常流1.1系统显示学生没有销假的记录详情1.1学生确认自己的请假记录是否属实,用例终止后置条件1、 系统将保存该条请假记录。2、 创建新的请假单并生成唯一的申请编号3、 创建新的请假申请流程实例4、 记录提交后不能够再修改界面原型无业务规则A、 包括学生姓名、辅导员姓名、请假开始时间(必须选择当天及
13、当天之后的时间)、请假结束时间(大于请假开始时间),请假理由,家长联系电话B、 系统首先判断是否存在没有销假的记录,存在的话,将该记录显示给当前学生学生进行确认,如果确认是没有销假,学生继续执行销假流程,否则,辅导员进行异常处理C、 学生姓名、辅导员姓名、请假开始时间(必须选择当天及当天之后的时间)、请假结束时间(大于请假开始时间),请假理由,家长联系电话信息为必填,不能为空。联系方式是否合法,请假开始时间是否在请假结束时间之前。执行者学生涉及的实体1、 学生属性:学号、姓名、班级、性别、联系方式、宿舍、标志变量(tag=1)2、 请假申请单属性:学生(学号、姓名),请假事由(原因、去向),开
14、始时间、结束时间,联系方式(个人联系方式、家长联系方式)、操作1(已批准、待批准)、操作2(申请销假、已销假、未销假) UC003申请销假该用例的主要参与者为学生,学生通过系统提出销假申请,若申请成功,此时请假信息中操作2的状态将修改为申请销假,否则提示申请销假失败。表2.4功能编号UC-003功能名称申请销假前置条件参与者通过浏览器打开请假管理系统的登录页面成功登录进入系统主页面基本事件流1. 学生发出销假申请,并等待系统验证2. 如果提示申请成功,执行基本事件流33. 等待辅导员销假4. 如果提示申请失败,执行基本事件流55. 提示申请销假失败,请重新申请备选流无后置条件如果
15、用例成功,系统进入相应权限页面界面原型无参与者学生 UC004查询请假记录该用例的参与者为学生,学生通过系统提出请假记录查询,若查询成功,学生请假的记录将会显示在页面上。表2.5功能编号UC-004功能名称查询请假记录前置条件参与者通过浏览器打开请假管理系统的登录页面成功登录进入系统主页面基本事件流1.学生发出查询请假记录,并等待系统验证2.如果提示验证成功,执行基本事件流33.显示请假记录4.如果提示验证失败,执行基本事件流55.提示查询失败或者无请假记录,请重新申请备选流无后置条件如果用例成功,系统进入相应权限页面界面原型无参与者学生2.2 系统设计该系统分为3个部分,第一部
16、分是登录,学生和教师都需要登录,第二部分是学生端,学生端3个功能学生申请请假、学生申请销假、查询个人请假记录,第三个部分是教师端,教师端3个功能教师批准请假申请、教师批准销假申请、教师查询学生请假记录。2.2.1顺序图图2.2 登录时序图图2.3 学生请假申请时序图图2.4 学生销假申请时序图图2.5 学生请假查询时序图2.2.2类图图2.6 类图2.2.3系统体系结构设学生请假管理系统统学生端教师端学生申请请假学生申请销假学生查询请假教师审批请假教师审批销假教师查询请假登录图 2.7 体系结构图该系统包括基本的3各模块,登录、学生端、教师端。学生和教师在登录成功时分别进入不同的页面进行操作,
17、学生端进行请假申请、销假申请、查询个人请假;教师审批请假、审批销假、查询学生请假记录。2.2.4 设计时序图图2.8 登录设计时序图该图是学生端登录设计时序图,首先学生发送请求到控制类,然后跳出登录页面,学生填写登录信息并提交到控制类,控制类封装数据创建对象调用逻辑层进行数据校验并返回结果,逻辑层调用DAO层最终根据结果判断如果登录成功将跳转到学生端主页,如果登录失败将给以提示信息并请重新登录。图 2.9 请假申请设计时序图该图是学生请假申请设计时序图,首先学生需要成功登录,发出请假申请,这时候控制类会自发调用逻辑层,逻辑层调用DAO层,如果该学生之前请过假并且未曾销假,这时该学生是不能够再请
18、假的,倘若该学生发出请假申请,系统将会把该学生之前的请假未销假记录显示出来,如果没有未销假记录,将会显示请假申请页面,学生需要填写请假申请单将请假详细信息填写并提交倘若正确无误,系统将会提示请假申请成功。图 2.10 学生销假申请设计时序图该图是学生销假申请设计时序图,在学生成功登录之后,学生在申请请假时候必须不存在未销假记录,所以在学生请假完成到校报到后必须进行销假,然而这时需要发出销假申请,这时候在业务逻辑层将会给予判断,如果销假申请成功将会提示申请成功,如果有错误将会提示申请失败或者不存在未销假记录。2.3 数据库设计数据库在该系统中是为了存储数据,学生所提交的请假记录是通过保存到数据库
19、中来实现申请请假、销假等功能的,在我们目前所学的有限的知识内,没有数据库该系统是没法运行和实现的。2.3.1关系模式(1)学生信息:(学号、姓名、班级、性别、宿舍、联系方式、tag)(2)教师信息:(工号、姓名、联系方式、性别、年级、tag)(3)登录:(用户名(学号、工号),密码)(4)请假信息:(学号、姓名、事由、请假开始时间、请假结束时间、联系方式)2.3.2 E-R图E-R图在数据库设计里面是至关重要的一步,它是整个数据库设计的关键,下面使用实体联系(E-R)模型来描述系统的概念结构,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑设计打下基础。图2.11 E-R图请
20、假记录理由开始时间学号操作2操作1结束时间姓名联系方式用户 1教师 n学生n属于姓名联系班级学号性别宿舍Tag属于性别年级电话姓名工号Tags用户名:学号、工号密码2.3.3表的设计表 2.6 用户登录信息表(login)编号字段名称数据类型约束条件说明1useridVarchar(14)无学号、工号2passwordVarchar(12)无密码3TagVarchar(2)无标志该表是用户登录信息表,表中包括3个属性,用户名和密码、还有标志变量tag,tag是为了控制学生端和教师端,用户名分别为学号和教师的工号;表 2.7 学生信息表(Student)编号字段名称数据类型约束条件说明1sidV
21、archar(14)无学号2SnameVarchar(20)无姓名3ClassesVarchar(20)无班级4SsexVarchar(6)无性别5SphoneVarchar(12)无联系电话6DormitoryVarchar(6)无宿舍7TagVarchar(2)1标志该表是学生信息表,表中包括7个属性,都是字符串类型,其中tag标志变量默认为1,并且不可修改;表 2.8 教师信息表(teacher)编号字段名称数据类型约束条件说明1tidVarchar(14)无工号2tnameVarchar(16)无姓名3tsexVarchar(4)无性别4gradesVarchar(20)无所带年级5t
22、phoneVarchar(12)无电话6tagVarchar(2)2标志该表是教师信息表,表中包括6个属性,都是字符串类型,教师也包括一个标志变量tag,也存在一个默认值为2 ,并且不能修改;表 2.8 请假信息表(leaverecords)编号字段名称数据类型约束条件说明1sidVarchar(14)无学号2SnameVarchar(16)无姓名3Starttimedate无开始时间4endtimedate无截止时间5SphoneVarchar(12)无联系电话6Operate1Varchar(20)操作17Operate2Varchar(20)操作28reasonVarchar(255)无
23、理由该表示请假信息表,包括8个属性,其中有字符串和日期类型,操作1和操作2分别是默认值,其值是根据学生的请假申请成功,销假以及教师的审批有关。第3章 实现与测试每一个项目的核心部分都是功能的实现,功能的完成标志着一个系统的完成,然而这些结果都需要一个需求和设计来作为基本的要求,以下就是该系统详细功能的实现过程:需求分析:需求分析阶段我采用了StarUML工具做了详细的分析,根据自己的需要画出了包图、时序图、用例图、类图、活动图、设计时序图等所需要的几类基本图,项目的框架是根据包图来创建的,时序图主要就是项目的每一个功能所要求的基本流程,设计时序图就是将时序图给详细化,具体到每一步所走的流程返回
24、什么样的数据或者类型,也就是说画设计时序图时基本上已经把代码在脑子里有了型,用例图其实就是项目所有的功能,每一个用例就代表一个基本的功能,数据库的设计是根据类图来实现的,类图就表示了数据库中的表以及各表之间的关系。界面设计:用户界面设计要求友好合理,要充分考虑到用户的操作习惯,而且要有良好的显示效果。此外界面的配色方案要协调,使用的主色,背景色,前景色,按钮大小,文字,格式,表格等要统一标准。由于该系统主要用于公司人员管理的,所以界面框架的主色采用较为严肃的浅蓝色,在此基础上用到了PhotoShop技术,dreamweaver以及css和Java script等,里面的登录那个信息是一个图片用
25、ps加工修改写上了艺术字,界面的代码是在dreamweaver里面直接设计好的,然后将代码复制粘贴过去,因为在dreamweaver里面设计的界面在MyEclipse里面是不能运行的,需要一个脚本来支持,所以只需要在MyEclipse里面建好jsp页面只需将dreamweaver里面body里面的东西复制粘贴到MyEclipse里面就可以运行了;每一个界面里面都有一个表格,表格里面有许多其他的元素之类,比如:按钮,标题,下拉框等许多细小的知识,外面有一个表单,这个表单是必须有的,他是为了在前台与后连接时候提交一个数据来运行这个项目的;在这些界面里面,时间是用js来完成的,统一的css样式表;还
26、有就是在查询过程中将所显示的数据设置为某一属性他将无法在查询显示这个页面来任意修改一些信息功能描述:首先这个系统除了界面其他的代码分别写在5个包中,第一个DO包,它里面从某种意义上说在这个包里面的每一个类都是创建某一个实例的方法,它里面定义了相对属性,以及get()和set()方法;第二个是DAO包,它里面是对于每一个管理模块的一些基本小的功能的实现,说白了主要就是增删改查之类的它是对数据库语句的一个应用;第三个包是DB包,这个包可以说是只为了一件事,就是数据库的连接,之所以这样写专门用一个包来写关于数据库的连接目的只是为了看到数据与的封装,体现一个面向对象的思考,从而在某些方面也能够减少代码
27、的重复率,提高代码的可读性;第四个包是control包,这个包是最重要的,因为在web应用开发的过程中每一个项目要想与前台数据连接并能够成功把数据相互传递,servelet里面有两个方法,一个是doGet(),一个是doPost(),两者最大的区别就是前者对数据没有保密,就是随时都会泄露一些重要的信息,因为每一提交的表单都会随着浏览器的浏览网址显示出来,然而要想从前台获得数据,就好比添加员工就得用到客户端所发出的请求request.getParameter()得到。第五个包是BO包,这个是业务逻辑层,主要是调用DAO包里面的方法,数据校验等功能。在该系统中我主要完成的是学生端的功能,以下为学生
28、端的功能:3.1 请假申请功能在学生请假申请这个功能里面其实所做的就是对数据的添加,界面是简单采用了CSS样式的界面,如果学生登录成功点击申请请假,如果该学生存在未销假记录系统将会把该学生的未销假记录显示出来,如果不存在未销假记录,此时学生请假信息界面会显示出来,在学生填写完请假信息出发右下方的一个提交按钮,倘若提交成功会提示申请成功,如果失败会跳转到信息填写页面并提示错误信息。3.1.1活动图图 3.1 学生申请请假活动图3.1.2界面图 3.2 学生请假申请页面3.1.3代码public void doPost(HttpServletRequest request, HttpServlet
29、Response response)throws ServletException, IOException request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");String str="已销假"String type=request.getParameter("type");LeaveRecordDO ld=null;LeaveRecordDO lrd=new LeaveRecordDO()
30、;StudentBO sb=new StudentBO();if(type.equals("add") lrd.setSname(request.getParameter("sname"); lrd.setSid(request.getParameter("sid"); lrd.setSphone(request.getParameter("sphone");lrd.setStarttime(Date.valueOf(request.getParameter("starttime"); lrd.
31、setEndtime(Date.valueOf(request.getParameter("endtime"); lrd.setReason(request.getParameter("reason"); String results=sb.validate(lrd); if(results=null) String id=request.getParameter("sid"); ld=sb.queryrecords(str,id); if(ld=null)sb.save(lrd); request.getRequestDispatc
32、her("./success.jsp").forward(request, response); return; else request.setAttribute("ld", ld); request.getRequestDispatcher("./deleteleave.jsp").forward(request, response); return; else request.setAttribute("message", results); request.getRequestDispatcher(&quo
33、t;./askforleave.jsp").forward(request, response); return; 3.1.4测试用例表 3.1序号功能模块测试数据预期结果1请假申请姓名:韩一正学号:123电话由:回家申请成功3.2 请假记录查询在学生请假记录查询里面和学生请假申请基本是一样的,这个实际上的就是对数据库里面的数据的一个查询,并将查询记录显示到网页上,如果不存在请假记录,将不会显示任何记录。3.2.1界面图 3.3 请假记录3.2.2代码HttpSession session=request.getSession();session.setAt
34、tribute("username", request.getParameter("sid");ArrayList<LeaveRecordDO> list=(ArrayList<LeaveRecordDO>) sb.getrecords(request.getParameter("sid");request.setAttribute("list", list);request.getRequestDispatcher("./SseclectDisplay.jsp").fo
35、rward(request, response);return;3.2.3测试用例序号功能模块测试数据预期结果1请假查询学号:123查询成功3.4登录功能登录是该项目最基本的一个功能,这其实也是一个查询,只不过是根据数据库中的数据和从网页中得到的数据进行对比,如果匹配成功将会进入到另外一个页面,如果登录失败将会进行提示并重新登录,登录过程中在后台数据中定义了标志变量来表示学生和教师,所以在登录时候根据这个属性来判断登录成功后跳转到学生端还是教师端。登录过程中进行了简单的数据校验,就是说用户名和密码不能为空,倘若为空将会提示错误信息并提醒重新登录。3.4.1代码public void doPos
36、t(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");LoginDO ld=new LoginDO();LoginBO lb=new LoginBO();int tags;String userid=request.getParameter(&
37、quot;username");String passwd=request.getParameter("password");ld.setUserid(userid);ld.setPasswd(passwd);String message=lb.validate(ld);if(message!=null)request.setAttribute("message", message);request.getRequestDispatcher("./loginerror.jsp").forward(request, respo
38、nse);elsetags=lb.login(ld);if(tags=1)HttpSession session=request.getSession();session.setAttribute("username", ld.getUserid();request.getRequestDispatcher("./smain.jsp").forward(request, response);return;else if(tags=2)HttpSession session=request.getSession();session.setAttribute
39、("username", ld.getUserid();request.getRequestDispatcher("./tmain.jsp").forward(request, response);return;elserequest.getRequestDispatcher("./error.jsp").forward(request, response);return;3.4.2界面图 3.4 登录界面3.4.1活动图图 3.5 登录活动图3.5.4测试用例序号功能模块测试数据预期结果1学生登录用户名:123密码:123登录成功3
40、3第4章 结束语这次的课题我用的web开发来完成的,从我对这三个字母的不理解到学习它再到用它们来完成我的课题,这个过程并不是想象的那么容易,今天终于完成了,长呼了一口气,同时在内心深处,也默默地为接下来的学习,做一个前段时间的项目总结,也是学习的总结,吸取之前的经验教训,错误并不可怕,可怕的是再在同一个地方犯同样错误,所以对于我来说,更多的去自我认知,知我批评要比表扬和赞许来的更加深刻 ,非常有必要做一个总结。虽然时间略显仓促,但在项目开发过程中我学习到了很多之前没有接触过的内容,也发现了自己的很多不足,感悟颇深。主要包括以下几个方面:1.在需求分析阶段,由于对学生请假管理系统真正的需求并不了
41、解,还有就是自己在做这个需求的过程当中总觉得想到了自己做不出来,就好比没想到一个需求的功能脑子里就会闪现出一个画面,我该如何去实现它,正是因为这些错误的想法导致了这次课题实践的进度,因此我觉得在做需求时我们应该根据实际不必考虑怎么做怎么实现。2.数据库采用的是Mysql,在编写sql语句经常会出现一些语法错误,例如sql语句不之一次的出错,在修改的过程当中我发现了自己知识的欠缺,或者说对过去所学的东西并没有完全理解甚至吸收;尤其是数据库中的乱码问题,我从一开始数据库中导入数据我就一直被乱码问题纠结着,我先上网查阅相关资料,看书寻找改变乱码的方法,甚至解决不了向同学请教,但是最终我都没有解决,最
42、后在老师的帮助下检测出乱码不是编码的问题而是我的数据库安装过程中字符编码选择错误,所以一直回出现乱码问题,而且解决之后再将自己遇到的问题记录下来,使得以后出现同样的问题时能够快速解决。3.由于该系统在学生申请成功后需要教师端的批准,在学生端才能进行下一次的操作,这些之前很少用到,通过这次实习也将自己在课本上学到的内容用到了实际项目中;感受最深的就是MVC模式和在两个客户端操作。4.团队合作。我们完成一个项目总是需要一个团队的,而不是个人,在开发过程中小组之间的沟通非常重要。如果组内成员没有很好的交流,则在项目后期各模块合并时,会出现许多意想不到的错误,例如路径问题、页面间跳转等。所以我们完成系
43、统时,小组间要定期开例会,相互交流,对于有分歧的地方,一定要及时讨论,采取一致措施,这样才有利于团队工作。总之,这次的课题真的使我受益匪浅。在这个过程中,我学习到的不仅仅是以上技术上的收获,更还有生活中的的人际交往以及其他的许多经验。而这些,都将作为我迈入社会的根本,我将以此为我的基础,尽量将学到的知识运用到实际工作中,去迎接一个又一个的挑战。回想在这不到一个月的学习时间里,我学到了许许多多让我感觉比较充实的知识,掌握了更多的学习的方法,作为一个程序员,我们更需要信心,面对项目时我们要仔细分析,想法尝试,想法去实现,这样才能进步,才能找到自己的不足。同样在职场中,工作需要自信心,不相信自己,任
44、何工作都做不好。没有信心,成功的机会就会少些。自信心能让你做什么都不难。生活需要自信心。现实是残酷的,没有自信心是难以生存的。道路是坎坷的,自信心能帮你顺利地走过。有时希望是渺茫的,但是自信心能让你看到美好明天。在写程序时,总是在看到功能后,立即投入到代码编写工作中。后期出现的错误总是很多很多,经常返回重新修改。经过这次旳实践,又对软件这个东西有了新的认识,新的收获,而且我对软件工程又有了新的理解,说白了软件工程就是在为这个软件做铺垫,也就是说需求分析就是软件工程,而我在做需求分析阶段能顺利完成,我十分的感激我的老师郭丽,如果不是在课堂上老师让我在同学们面前或那个设计时序图,我想我现在仍然不会
45、明白软件工程怎么去做需求,不是老师一步步的教导,我根本不可能完成今天这么简单的并且不完善的项目,所以在此我对老师表示深深的敬意与感激!参考文献01李明.java程序设计与应用M:北京.交通大学出版社. 2010.302叶和亚.陈立.java2程序设计实用教程例M北京:电子工业出版社. 2003.503李兆峰.庞永庆.java程序设计与项目实践M北京:电子工业出版社.2011.604Y.Daniel Liang.java语言程序设计M西安;机械工业出版社.2011.505 06 07刘京华.Java Web整合开发王者归来M:清华大学出版社. 2010.108何富贵.Drea
46、mweaverCS4网页设计与制作M: 机械工业出版社. 2010.309郑阿奇MySQL实用教程M:电子工业出版社.2012.510 叶和亚.陈立.java2程序设计实用教程例M北京:电子工业出版社. 2003.5指导教师评语成绩:指导教师签名: 年 月 日 附录A: 附加图、表图 1 学生端主页面图 2 教师端学生请假信息页面附录B: 主要源程序DAO包/* * 请假审批 */public boolean LeaveAllow(String sid)/获取数据库连接Connection connection=DButils.getConnection
47、();/创建sql执行环境PreparedStatement ps=null;/创建sql语句String s="已批准"String sql="update leaverecords set operate1=? 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 (SQLExcepti
48、on e) / TODO Auto-generated catch blocke.printStackTrace();finallyDButils.release(connection, ps, null);return false;/* * 销假审批 */public boolean XJallow(String s,String sid)/获取数据库连接Connection connection=DButils.getConnection();/创建sql执行环境PreparedStatement ps=null;/创建sql语句s="已销假"String sql=&q
49、uot;update leaverecords set operate2=?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 blocke.printStackTrace();finallyDButils.release(connection, ps, null);return false;/* * 查询请假记录 */public ArrayList<LeaveRecordDO> selectAll()ArrayList<LeaveRecordDO> list = new ArrayList<LeaveRecordDO>();/1、获取数据库连接C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网架翻新施工方案
- 高温油漆施工方案
- 执业兽医资格考试考试考点梳理
- 执业兽医资格考试高频真题含答案
- 法院书记员招聘2023年笔试考试题库带答案
- 梁柱木屋施工方案
- 学生体育运动伤害风险告知书3篇
- 代表查阅病历的委托书样式3篇
- 会议服务合同的修改与终止条件3篇
- 家具运输司机聘用合同3篇
- 垃圾焚烧飞灰处理行业深度调研及发展战略咨询报告
- 2024年下半年成都市事业单考试试题
- 三年级信息科技第23课《分解描述问题》教学设计、学习任务单及课后练习
- 铆工基础知识培训
- 2025年车位转让协议模板
- 数据分析能力提升培训心得体会
- 医疗器械安全知识培训
- 2025年中储粮集团河南分公司招聘(114人)笔试参考题库附带答案详解
- 2024-2025学年广东省高三上学期期末四校联考英语试题(解析版)
- 中国老年社区获得性肺炎急诊诊疗专家共识(2023版)解读
- 淄博2024年山东淄博市技师学院高层次人才招聘(第二批)笔试历年典型考点(频考版试卷)附带答案详解
评论
0/150
提交评论