学生请假管理系统_第1页
学生请假管理系统_第2页
学生请假管理系统_第3页
学生请假管理系统_第4页
学生请假管理系统_第5页
免费预览已结束,剩余37页可下载查看

下载本文档

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

文档简介

1、学生请假管理系统-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII中原工学院软件学院软件工程实践一设计任务书姓名*软件工程专业JAVA123 班题目学生请假管理系统的开发设 计 任 务开发一个基于Web的学生请假管理系统,包括教师端和学生端。主要功能包括:1 . UI设计:界面(参与)2 .学生端:请假申请、销假申请、查询自己请假记录:(独立完成)3 .教师端:请假审批、销假审批、查询学生请假记录:(参与)开发工具:Java、JSP、MySQLx Photoshop., MyEclipse8.6时 间 进 度第1周(9-9-9-13):完成需求分析

2、、UI设计第2周(9-16-9-21):完成代码第3周(9-24-9-29):完成报告原主 始要 资参 料考 与文献|01 02叶和亚.陈立.java2程序设计实用教程例M北京:电子工业出版社.2003.503李兆峰.庞永庆Java程序设计与项目实践M北京:电子工业出版社.2011.6指导教师签字:学生请假管理系统摘要当前信息化时代,讲究高效,准确,及时的完成事情,近年来学校都在开展信息 化部署,实现了多媒体教学,网上提交作业,在线考试等学生考勤对学校教务管理是 至关重要,在以前,学生请假要去找班主任或者领导批准,并且不一定每次都能顺利 的找到班主任,完成请假批准。如果学生不在学校,没办法向班

3、主任提交请假单;对 于学生出勤检查,是学生会根据纸制名单逐一点名,或老师根据学生上交课堂作业来 判断学生是否来上课。这些方法往往具有考勤差错率比较高,考勤效率也比较慢,没 有一个总体的的记录和整理,并且纸制的点名册容易丢失遗漏,耽误时间等缺点。针 对以上的问题,开发一种针对学生请假的考勤网上管理系统,通过请假管理系统,任 课老师可以在课堂上直接登录考勤记录网站进行课堂查看哪些学生请假.记录学生考 勤情况等。此外,在其他时间,班主任以及其他老师也可以登录该网站查询学生在某 课程的出勤情况。该系统是基于Java web的简单型设计,它体现了对一些简单的JSP标签语言的 运用,该系统界面简单、操作方

4、便。根据实际需要将系统分为学生端和教师端,学生 请假和教师批假都需要首先登录,学生端实现了学生申请请假、申请销假、查询自己 请假记录功能;教师端实现了教师对学生请假的批准、销假批准以及查询学生的请假 记录功能(:关键词:学生;请假管理;Java Web5摘要2第1章项目分析11.1 问题描述11.2 技术分析11.3 工程进度计划2第2章系统分析与设计42.1 系统分析42.1.1 参与者42.1.2 用例图42.1.3 用例及用例规约 UC001 登录 .3.2 UC002 申请请假 UC003 申请销假 UC004查询请假记录

5、82.2系统设计82.2.1 顺序图92.2.2 类图122.2.3 系统体系结构设计122.2.4 设计时序图13图2.10学生销假申请设计时序图152.3数据库设计152.3.1 E-R 图162.3.2 关系模式162.3.3 表的设计17第3章实现与测试193.1 请假申请功能203.1.1 活动图213.1.2 界面213.1.3 代码223.1.4 测试用例233.2 销假申请功能错误!未定义书签。3.2.1活动图3.2.2界面3.2.3代码324测试用例错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。233.3 请假记录查询331活动图错误!未定义书签。3

6、.3.1 界面233.3.2 代码233.3.3 测试用例243.4 登录功能243.4.1 活动图263.4.2 界面253.4.3 代码243.5.4测试用例26第4章结束语27附录A:附加图、表31附录B:主要源程序31第1章项目分析随着计算机的发展与不断进步,各个领域都出现了新的技术,曾经各 种规模之间的竞争已经发展成为技术之间的竞争,管理和人才之间的竞 争,然而计算机技术的发展也离不开软件的更新,在软件不断更新和替换 的过程中已经渗透到各个领域,政府机关,各大高校等都不断向智能方向 发展,学生请假也成为一件棘手的事情,为了请假学生需要写请假条找老 师批准,结果是这个时候老师不一定在,

7、另外学生需要请假时不一定在学 校,所以为了给广大师生提供方便,我们需要开发软件系统学生请假管理 系统。1.1 问题描述要完成这个系统最大的问题就是所学知识是有限的,在完成其中某些 功能时候所需要的可能就完全没有接触过,所以只能用一些简单的功能代 替或者替换掉那些用目前的水平所不能实现的功能,再者就是对目前所需 求的不是很明确,比如要做出一个请假管理如何去设置友好界面让大家都 喜欢适应去使用,如何把系统做到什么程度才能够投入使用,这些都是所 面临的棘手问题。1.2 技术分析该系统用到MVC设计模式,总共建立了五个包,界面View、数据对象 DO、数据库连接DB、数据库操作DAO、控制层Contr

8、ol、业务层BO; DO层 是对数据对象的封装,DB层是连接数据库,DAO层是包含对数据标的基本操 作,BO层是所有和业务相关的关于对数据的判断等,调用的是DAO层然后返 回一个结果,Control层是为了获取用户参数并封装,同时调用BO层,再根据 调用得到的不同的结果在调用不同的View层,将处理结果显示给用户。图1.1包图1.3 工程进度计划实际开发过程中,开发周期可以分为三个阶段:第一阶段:成果:(1)需求分析(2)对数据库进行设计目标:设计出适合学生请假管理系统的数据库;完成数据库的连接时间:一周第二阶段:成果:完成JSP页面和系统代码目标:能在编译器中有效正确运行。时间:一周第三阶段

9、:成果:写报告;目标:完成系统报告。2第2章系统分析与设计学生请假管理系统必须通过正确的用户名的密码方能进入系统,系统分为 两大模块,学生端和教师端,学生端和教师端分别有三个模块,学生端分为请 假申请、销假申请、个人请假记录查询,教师端分为请假审批、销假审批和学 生请假记录查询;学生提交的请假申请需要教师的审批,只有批准之后学生方 可提出销假申请。2.1 系统分析该系统有两个参与者,分别为学生和教师,学生请假需首先得到教师的批 准方可奏效,学生与教师都需使用自己的工号作为用户名和密码进行登录。1 .1.1参与者学生、教师2 . 1.2用例图图2.1用例图3 .1.3用例及用例规约请假管理系统学

10、生端共包含1个参与者、4个用例。用例的编号及名称如表1所示:表2.1用例列表用例编号用例名称参与者UC-001登录学生UC-002申请请假学生UC-003申请销假学生UC-004查询请假记录学生4 . 1.3. 1 UC001 登录参与者学生需要用户名和密码登录到系统,才能进行相应的操作,系 统中设置学生的登录用户名为学号,初始化密码为学号.表2.2功能编号UC-001功能名称登录前置条件参与者通过浏览器打开请假管理系统的登录页而基本事件流1 .系统要求参与者填写用户名和密码。2 .参与者填写相应信息,学生输入学号作为用户名,密码初始值为 学号。3 .系统验证用户输入信息是否正确备选流1.用户

11、名和密码输入错误如果系统检测到用户输入的用户名和密码与数据库中不一致,给予用 户”用户名和密码不正确”的错误提示,并要求用户重新输入。后置条件如果用例成功,系统进入相应权限页面界面原型学生参与者2. 1.3.2 UC002 申请请假该用例的主要参与者为学生,学生通过系统填写请假申请单,请假申 请单将会提交给辅导员审批。表2.3功能编号UC-002功能名称申请请假用例描述学生创建新的请假申请单,录入请假资料,创建一个请假申请流程前置条件学生正常登录到系统中,并打开请假管理页而基本事件流1、学生选择创建请假申请单,系统自动查询当前的学生是否存在没 有销假的记录,如果存在没有销假的请假记录,执行异常

12、流 1.1,如果不存在未销假记录,执行基本事件流22、系统展示申请单录入界面3、学生录入学生学号、姓名、请假事由(原因、去向),开始时 间、结束时间,联系方式(个人联系方式、家长联系方式)4、学生提交申请单,系统进行数据校验,依据业务规则C,如果数 据校验不合法,执行分支流4.1,如果数据校验合法,执行基本 事件流55、系统为当前的请假申请单生成唯一的编号,保存该请假申请单6、将该流程推进到下一环节系统应该向学生展现请假申请单的最终 页而,用例结束分支流4.1请假信息填写有误,显示填写不正确的信息提示,并要求学生重 新填写,显示填写请假申请单的页而。异常流1.1系统显示学生没有销假的记录详情1

13、1学生确认自己的请假记录是否属实,用例终止后置条件1、系统将保存该条请假记录。2、创建新的请假单并生成唯一的申请编号3、创建新的请假申请流程实例4、记录提交后不能够再修改界而原型无业务规则A、包括学生姓名、辅导员姓名、请假开始时间(必须选择当天及 当天之后的时间)、请假结束时间(大于请假开始时间),请假 理由,家长联系电话B、系统首先判断是否存在没有销假的记录,存在的话,将该记录显 示给当前学生学生进行确认,如果确认是没有销假,学生继续执 行销假流程,否则,辅导员进行异常处理C、学生姓名、辅导员姓名、请假开始时间(必须选择当天及当天之 后的时间)、请假结束时间(大于请假开始时间),请假理由,

14、家长联系电话信息为必填,不能为空。联系方式是否合法,请假 开始时间是否在请假结束时间之前。执行者学生涉及的实体1、学生属性:学号、姓名、班级、性别、联系方式、宿舍、标志变量 (tag=l)2、请假申请单属性:学生(学号、姓名),请假事由(原因、去向),开始时间、 结束时间,联系方式(个人联系方式、家长联系方式)、操作1 (已 批准、待批准)、操作2 (申请销假、已销假、未销假)2.13.3 UC003申请销假该用例的主要参与者为学生,学生通过系统提出销假申请,若申请成 功,此时请假信息中操作2的状态将修改为申请销假,否则提示申请销假 失败。表2.4功能编号UC-003功能名称申请销假前置条件参

15、与者通过浏览器打开请假管理系统的登录页而成功登录进入系统主 页面基本事件流1 .学生发出销假申请,并等待系统验证2 .如果提示申请成功,执行基本事件流33 .等待辅导员销假4 .如果提示申请失败,执行基本事件流55 .提示申请销假失败,请重新申请备选流无后置条件如果用例成功,系统进入相应权限页而界面原型无参与者学生 UC004查询请假记录该用例的参与者为学生,学生通过系统提出请假记录查询,若查询成 功,学生请假的记录将会显示在页面上。表2.5功能编号UC-004功能名称查询请假记录前置条件参与者通过浏览器打开请假管理系统的登录页面成功登录进入系统主 页面基本事件流1 .学生发出查

16、询请假记录,并等待系统验证2 .如果提示验证成功,执行基本事件流33 .显示请假记录4 .如果提示验证失败,执行基本事件流55 .提示查询失败或者无请假记录,请重新申请备选流无后置条件如果用例成功,系统进入相应权限页而界面原型无参与者学生2. 2系统设计该系统分为3个部分,第一部分是登录,学生和教师都需要登录,第二部 分是学生端,学生端3个功能学生申请请假、学生申请销假、查询个人请假记录,笫三个部分是教师端,教师端3个功能教师批准请假申请、教师批准销假 申请、教师查询学生请假记录。2. 2.1顺序图图2.2登录时序图图2.3学生请假申请时序图20图2.4学生销假申请时序图<<ent

17、ity>>:学生<<boundary>>:置询请假边界类<<control>>:请假直询控制类<<entity>>:请假记录信息1 :爱送堂询()2 :创建请假记录对象()I3 :返回请假信息4 :显示请假详情()图2.5学生请假查询时序图2.2.2类图record+Sid +Sname +date +reason +Sphone +Tname +operatel +operate2图2.6类图2. 2. 3系统体系结构设教师审批请假图2.7体系结构图该系统包括基本的3各模块,登录、学生端、教师端。学生和教师在

18、 登录成功时分别进入不同的页面进行操作,学生端进行请假申请、销假申 请、查询个人请假;教师审批请假、审批销假、查询学生请假记录。2. 2. 4设计时序图图2.8登录设计时序图该图是学生端登录设计时序图,首先学生发送请求到控制类,然后跳出登 录页面,学生填写登录信息并提交到控制类,控制类封装数据创建对象调用逻 辑层进行数据校验并返回结果,逻辑层调用DAO层最终根据结果判断如果登 录成功将跳转到学生端主页,如果登录失败将给以提示信息并请重新登录。O Aleave.ED Asuccess.isp LeaveControl RecordsDO LeaveBO LeaveDAO±该图是学生请假

19、申请设计时序图,首先学生需要成功登录,发出请假申 请,这时候控制类会自发调用逻辑层,逻辑层调用DAO层,如果该学生之前请 过假并且未曾销假,这时该学生是不能够再请假的,倘若该学生发出请假申 请,系统将会把该学生之前的请假未销假记录显示出来,如果没有未销假记 录,将会显示请假申请页面,学生需要填写请假申请单将请假详细信息填写并 提交倘若正确无误,系统将会提示请假申请成功。图2.10学生销假申请设计时序图该图是学生销假申请设计时序图,在学生成功登录之后,学生在申请请假 时候必须不存在未销假记录,所以在学生请假完成到校报到后必须进行销假, 然而这时需要发出销假申请,这时候在业务逻辑层将会给予判断,如

20、果销假申 请成功将会提示申请成功,如果有错误将会提示申请失败或者不存在未销假记 录。2. 3数据库设计数据库在该系统中是为了存储数据,学生所提交的请假记录是通过保存到 数据库中来实现申请请假、销假等功能的,在我们目前所学的有限的知识内, 没有数据库该系统是没法运行和实现的。2.3.1关系模式学生信息:(学号、姓名、班级、性别、宿舍、联系方式、tag)教师信息:(工号、姓名、联系方式、性别、年级、tag)登录:(用户名(学号、工号),密码)(4)请假信息:(学号、姓名、事由、请假开始时间、请假结束时间、联系方 式)2. 3. 2 E-R 图E-R图在数据库设计里面是至关重要的一步,它是整个数据库

21、设计的关 键,下面使用实体联系(E-R)模型来描述系统的概念结构,设计出能够满足用户 需求的各种实体,以及它们之间的关系,为后面的逻辑设计打下基础。图 2.11 E-R 图姓名联系班级性别2. 3. 3表的设计表2.6用户登录信息表(login)编号字段名称数据类型约束条件说明1useridVarchar(14)无学号、工号2passwordVarchar(12)无密码3TagVarchar(2)无标志该表是用户登录信息表,表中包括3个属性,川户名和密码、还有标志变量tag, tag是为了控制学生端和教师端,用户名分别为学号和教师的工号;表2.7学生信息表(Student)编号字段名称数据类型

22、约束:条件说明1sidVarchar(14)无学号2SnameVarchar(20)无姓名3ClassesVarchar(20)无班级4SsexVarchar(6)无性别5SphoncVarchar(12)无联系电话6DormitoryVarchar(6)无宿舍7TagVarchar(2)1标志该表是学生信息表,表中包括7个属性,都是字符串类型,其中tag标志 变量默认为1,并且不可修改;表2.8教师信息表(teacher)编号字段名称数据类型约束条件说明1tidVarchar(14)无工号2tnameVarchar(16)无姓名3tsexVarchar(4)无性别4gradesVarchar

23、(20)无所带年级5tphoneVarchar(12)无电话6lagVarchar(2)2标志该表是教师信息表,表中包括6个属性,都是字符串类型,教师也包括一 个标志变量tag,也存在一个默认值为2,并且不能修改;表2.8请假信息表(leaverecords)编号字段名称数据类型约束:条件说明1sidVarchar(14)无学号2SnameVarchar(16)无姓名3Starttimedate无开始时间4endtimedate无截止时间5SphoneVarchar(12)无联系电话6Operate 1Varchar(20)操作17Opcrate2Varchar(20)操作28reasonVa

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

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

26、ava script等,里面的登录那 个信息是一个图片用ps加工修改写上了艺术字,界面的代码是在dreamweaver 里面直接设计好的,然后将代码复制粘贴过去,因为在dreamweaver里面设计 的界面在MyEclipse里面是不能运行的,需要一个脚本来支持,所以只需要在 MyEclipse里面建好jsp页面只需将dreamweaver里面body里面的东西复制粘贴 到MyEclipse里面就可以运行了 ;每一个界面里面都有一个表格.表格里面有 许多其他的元素之类,比如:按钮,标题,下拉框等许多细小的知识,外面有 一个表单.这个表单是必须有的,他是为了在前台与后连接时候提交一个数据 来运行

27、这个项目的;在这些界面里面,时间是用js来完成的,统一的css样式 表;还有就是在查询过程中将所显示的数据设置为某一属性他将无法在查询显 示这个页面来任意修改一些信息功能描述:首先这个系统除了界面其他的代码分别写在5个包中,第一个DO包,它里面从某种意义上说在这个包里面的每一个类都是创建某一个实例 的方法,它里面定义了相对属性,以及get ()和set ()方法;第二个是DAO 包.它里面是对于每一个管理模块的一些基本小的功能的实现,说白了主要就 是增删改查之类的它是对数据库语句的一个应用;第三个包是DB包,这个包 可以说是只为了一件事,就是数据库的连接,之所以这样写专门用一个包来写 关于数据

28、库的连接目的只是为了看到数据与的封装,体现一个面向对象的思 考.从而在某些方面也能够减少代码的重复率,提高代码的可读性;第四个包 是control包,这个包是最重要的,因为在web应用开发的过程中每一个项目要 想与前台数据连接并能够成功把数据相互传递,servelet里面有两个方法,一个 是doGet(), 一个是doPost(),两者最大的区别就是前者对数据没有保密,就是 随时都会泄露一些重要的信息,因为每一提交的表单都会随着浏览器的浏览网 址显示出来,然而要想从前台获得数据,就好比添加员工就得用到客户端所发 出的请求request.getParameter。得到。第五个包是BO包,这个是业

29、务逻辑层, 主要是调用DAO包里面的方法,数据校验等功能。在该系统中我主要完成的是学生端的功能,以下为学生端的功能:3.1 请假申请功能在学生请假申请这个功能里面其实所做的就是对数据的添加,界面是简单 采用了 CSS样式的界面,如果学生登录成功点击申请请假,如果该学生存在未 销假记录系统将会把该学生的未销假记录显示出来,如果不存在未销假记录, 此时学生请假信息界面会显示出来,在学生填写完请假信息出发右下方的一个 提交按钮,倘若提交成功会提示申请成功,如果失败会跳转到信息填写页面并 提示错误信息。3.1.1活动图22学生申请请假学生申请循假查询请假记录请假申请图3.2学生请假申请页面3.1.3

30、代码public void doPost(HttpServletRequest request, HttpSendetResponse response) throws ServletException, lOException request.setCharacterEncoding(HUTF-8M);response.setContentType(Htext/html;charset=UTF-8H);String str="已销假";String type=request.getParameter(MtypeH);LeaveRecordDO ld=null;LeaveR

31、ecordDO lrd=new LeaveRecordDO();StudentBO sb=new StudentBO();if(type.equals(HaddH)lrd.setSname(request.getParameter(HsnameH);lrd.setSid(request.getParameter(HsidM);lrd.setSphone(request.getParameter(nsphoneM);lrd.setStarttime(Date.yRe3(request.getPararneter("starttime");lrd.setEndtime(Date

32、.va/M6FO/(request.getParameter(MendtimeH);lrd.setReason(request.getParameter(HreasonM);String results=sb.validate(lrd);if(results=null)String id=request.getParameter(MsidH);ld=sb.queryrecords(sti;id);if(ld=iiull)sb.save(lrd);request.getRequestDispatcher(n./success.jspn).forward(request5 response);re

33、turn;)else)request.setAttribute(Mld, Id);request.getRequestDispatcher(M./deIeteleave.jspH).forward(request, response);return;)elserequest.setAttribute(Mmessage, results);request.getRequestDispatcher(,./askforleave.jsp,).forward(request, response);return;)3.1.4 测试用例表3.1序号功能模块测试数据预期结果1请假申请姓名:韩一正 学号:12

34、3 电话理由:回家申请成功3. 2请假记录查询在学生请假记录查询里面和学生请假申请基本是一样的,这个实际上的就 是对数据库里面的数据的一个查询,并将查询记录显示到网页上,如果不存在 请假记录,将不会显示任何记录。3. 2, 1界面学号姓名电话请假记录信息开始时间结束时间原因掾作1棣作2123炜一正159036139462014-09-092014-09-15已辘已销假123帝一正159031354(52014-10-242014-10-31结描待雌未藉假图33请假记录3. 2. 2代码HttpSession session=request.getSession();s

35、ession.setAttribute(,usernanie, request.getParameter(MsidM);ArrayList<LeaveRecordDO>list=(ArrayList<LeaveRecordDO>) sb.getrecords(request.getParameter(MsidH);request.setAttribute(Hlist, list);request.getRequestDispatcher(H./SsecIectDisplay.jspH).forward(request, response);return;243. 2.

36、3测试用例序号功能模块测试数据预期结果1请假查询学号:123查询成功3. 4登录功能登录是该项目最基本的一个功能,这其实也是一个查询,只不过是根据数 据库中的数据和从网页中得到的数据进行对比,如果匹配成功将会进入到另外 一个页面,如果登录失败将会进行提示并重新登录,登录过程中在后台数据中 定义了标志变量来表示学生和教师,所以在登录时候根据这个属性来判断登录 成功后跳转到学生端还是教师端。登录过程中进行了简单的数据校验,就是说用户名和密码不能为空,倘若 为空将会提示错误信息并提醒重新登录。3. 4. 1代码public void doPost(HttpServletRequest request

37、, HttpServletResponse response)throws ServIetException, lOException request.setCharacterEncoding(HUTF-8M);response.setContentType(Htext/htmkcharset=UTF-8H);LoginDO ld=new LoginDO();LoginBO lb=new LoginBO();Int tags;String userid=request.getParameter(,usernameH);String passwd=request.getParameter(Hpa

38、sswordH);Id.setUserid(userid);Id.setPasswd(passwd);String message=lb.validate(ld);if(message !=null) request.setAttribute(Hmessage, message);request.getRequestDispatcher(n./loginerror.jspH).forward(request, response);elsetags=lb.login(ld);if(tags=l)25HttpSession session=request.getSession();session.

39、setAttribute(Husername, ld.getUserid();request.getRequestDispatcher(',./sinain.jspH).forward(request, response);return;else if(tags=2)HttpSession session=request.getSession();session.setAttribute(Husername, ld.getUserid();request.getRequestDispatcher(H./tmain.jspH).foi-ward(request, response);re

40、turn;)elserequest.getRequestDispatcher(H./error.jspH).forward(request, response);return;3.4.2界面图3.4登录界而263. 4.1活动图图3.5登录活动图3.5.4测试用例序号功能模块测试数据预期结果1学生登录用户名:123 密码:123登录成功27第4章结束语这次的课题我用的web开发来完成的,从我对这三个字母的不理解到学习 它再到用它们来完成我的课题,这个过程并不是想象的那么容易,今天终于完 成了,长呼了一 口气,同时在内心深处,也默默地为接下来的学习,做一个前 段时间的项目总结,也是学习的总结,吸

41、取之前的经验教训,错误并不可怕, 可怕的是再在同一个地方犯同样错误,所以对于我来说,更多的去自我认知, 知我批评要比表扬和赞许来的更加深刻,非常有必要做一个总结。虽然时间略 显仓促,但在项目开发过程中我学习到了很多之前没有接触过的内容,也发现 了自己的很多不足,感悟颇深。主要包括以下几个方面:1 .在需求分析阶段,由于对学生请假管理系统真正的需求并不了解,还有 就是自己在做这个需求的过程当中总觉得想到了自己做不出来,就好比没想到 一个需求的功能脑子里就会闪现出一个画面,我该如何去实现它,正是因为这 些错误的想法导致了这次课题实践的进度.因此我觉得在做需求时我们应该根 据实际不必考虑怎么做怎么实

42、现。2 .数据库采用的是Mysql,在编写sql语句经常会出现一些语法错误,例如 sql语句不之一次的出错,在修改的过程当中我发现了自己知识的欠缺,或者说 对过去所学的东西并没有完全理解甚至吸收;尤其是数据库中的乱码问题,我 从一开始数据库中导入数据我就一直被乱码问题纠结着,我先上网查阅相关资 料,看书寻找改变乱码的方法,甚至解决不了向同学请教,但是最终我都没有 解决,最后在老师的帮助下检测出乱码不是编码的问题而是我的数据库安装过 程中字符编码选择错误,所以一直回出现乱码问题,而且解决之后再将自己遇 到的问题记录下来,使得以后出现同样的问题时能够快速解决。3 .由于该系统在学生申请成功后需要教

43、师端的批准,在学生端才能进行下 一次的操作,这些之前很少用到,通过这次实习也将自己在课本上学到的内容 用到了实际项目中;感受最深的就是MVC模式和在两个客户端操作。4 .团队合作。我们完成一个项目总是需要一个团队的,而不是个人,在开 发过程中小组之间的沟通非常重要,如果组内成员没有很好的交流,则在项目 后期各模块合并时,会出现许多意想不到的错误,例如路径问题、页面间跳转 等。所以我们完成系统时,小组间要定期开例会,相互交流,对于有分歧的地 方,一定要及时讨论,采取一致措施,这样才有利于团队工作。总之,这次的课题真的使我受益匪浅。在这个过程中,我学习到的不仅仅 是以上技术上的收获,更还有生活中的

44、的人际交往以及其他的许多经验。而这 些,都将作为我迈入社会的根本,我将以此为我的基础,尽量将学到的知识运 用到实际工作中,去迎接一个又一个的挑战。回想在这不到一个月的学习时间里,我学到了许许多多让我感觉比较充实 的知识,掌握了更多的学习的方法,作为一个程序员,我们更需要信心,面对 项目时我们要仔细分析,想法尝试,想法去实现,这样才能进步,才能找到自 己的不足。同样在职场中,工作需要自信心,不相信自己,任何工作都做不 好。没有信心,成功的机会就会少些。自信心能让你做什么都不难。生活需要 自信心。现实是残酷的,没有自信心是难以生存的。道路是坎坷的,自信心能 帮你顺利地走过。有时希望是渺茫的,但是自

45、信心能让你看到美好明天。在写程序时,总是在看到功能后,立即投入到代码编写工作中。后期出现 的错误总是很多很多,经常返回重新修改。经过这次的实践,又对软件这个东 西有了新的认识,新的收获,而且我对软件工程又有了新的理解,说白了软件 工程就是在为这个软件做铺垫,也就是说需求分析就是软件工程,而我在做需 求分析阶段能顺利完成,我十分的感激我的老师郭丽,如果不是在课堂上老师 让我在同学们面前或那个设计时序图,我想我现在仍然不会明白软件工程怎么 去做需求,不是老师一步步的教导,我根本不可能完成今天这么简单的并且不 完善的项目,所以在此我对老师表示深深的敬意与感激!35参考文献01李明Java程序设计与应

46、用M:北京.交通大学出版社.2010.302叶和亚陈立Java2程序设计实用教程例M北京:电子工业出版社.2003.503李兆峰.庞永庆.java程序设计与项目实践M北京:电子工业出版社.2011.604Y.Daniel Liang.java语言程序设计M西安;机械工业出版社.2011.505 http:.cMs/index.asp06 .cii/html/html_forms.asp07刘京华.Java Web整合开发王者归来M:清华大学出版社.2010.108何富贵.DreainweaverCS4网页设计与制作M:机械工业出版社.2010.309郑阿奇MySQL实用教程M:电子工业出版社.

47、2012.510叶和亚.陈立java2程序设计实用教程例M北京:电子工业出版社.2003.5指导教师评语成绩:指导教师签名:年 月曰附录A:附加图、表学生请假管理系统组长j赵万冲组员林一正陈公尻图1学生端主页面首页审批请假申请审批销假申清查询学生请裳学号姓名电话请假记录信息开始时间结束时间原因程作1掾作2123“一正1590313946201-M9-0920I4-09-15回可由批己扯理由批已销假m林一正1590139462014-10-242014-10-31结箱由此待批卷由批未梢假124185007077652014-09-252014-09-27有事审批待六途亩批未铺假图2教师端学生请假

48、信息页而附录B:主要源程序DAO包/*请假审批*/public boolean LeaveAllow(String sid)库连接Connection connection=DButils.gcCoec"o();创建凶1 执行环境PreparcdStatement ps=null;创建sql语句String s="已批准”;String sql=Hupdate leaverecords set operate 1= where sid=n;/助4亍匈语句trv ps= connection.prepareStatement(sql);ps.setString(hs);ps.

49、setString(2, sid);int count = ps.executeUpdate();if(count=l)return true;)catch (SQLException e) / TODO Auto-generated catch block e.printStackTraceO; finally DButilsjW/.(connection, ps, null);)return false;)/*销假审批*/public boolean XJallow(String s,String sid)佞取:库连接Connection connection=DButils.gaCoea

50、i。"。;创建双执行环境PreparcdStatement ps=null;创建西1语句S=”已销假”;String sql=Mupdate leaverecords set opcrate2=where sid=H;为国亍闻语句trv ps= connection.prepareStatement(sql);ps.setString(l, s);ps.setString(2, sid);int count = ps.executeUpdate();if(count=l)return true;) catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();)finally DButilsje/5(connection, ps, null

温馨提示

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

最新文档

评论

0/150

提交评论