




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档交流 中原工学院软件学院中原工学院软件学院 软软件件工工程程实实践践一一设设计计任任务务书书 姓名姓名 软件工程 专业 JAVA123 班 题目题目学生请假管理系统的开发 设设 计计 任任 务务 开发一个基于Web的学生请假管理系统 包括教师端和学生端 主要功能包括 1 UI设计 界面 参与 2 学生端 请假申请 销假申请 查询自己请假记录 独立完成 3 教师端 请假审批 销假审批 查询学生请假记录 参与 开发工具 Java JSP MySQL Photoshop MyEclipse8 6 时时 间间 进进 度度 第1周 9 9 9 13 完成需求分析 UI设计 第2周 9 16 9 21 完成代码 第3周 9 24 9 29 完成报告 原主原主 始要始要 资参资参 料考料考 与文与文 献献 01 02 叶和亚 陈立 java2程序设计实用教程例 M 北京 电子工业出版社 2003 5 03 李兆峰 庞永庆 java程序设计与项目实践 M 北京 电子工业出版社 2011 6 精品文档交流 指导教师签字 指导教师签字 年年 月月 日日 学生请假管理系统 摘 要 当前信息化时代 讲究高效 准确 及时的完成事情 近年来学校都在开展信息 化部署 实现了多媒体教学 网上提交作业 在线考试等学生考勤对学校教务管理是 至关重要 在以前 学生请假要去找班主任或者领导批准 并且不一定每次都能顺利 的找到班主任 完成请假批准 如果学生不在学校 没办法向班主任提交请假单 对 于学生出勤检查 是学生会根据纸制名单逐一点名 或老师根据学生上交课堂作业来 判断学生是否来上课 这些方法往往具有考勤差错率比较高 考勤效率也比较慢 没 有一个总体的的记录和整理 并且纸制的点名册容易丢失遗漏 耽误时间等缺点 针 对以上的问题 开发一种针对学生请假的考勤网上管理系统 通过请假管理系统 任 课老师可以在课堂上直接登录考勤记录网站进行课堂查看哪些学生请假 记录学生考 勤情况等 此外 在其他时间 班主任以及其他老师也可以登录该网站查询学生在某 课程的出勤情况 该系统是基于Java web的简单型设计 它体现了对一些简单的JSP标签语言的运用 该系统界面简单 操作方便 根据实际需要将系统分为学生端和教师端 学生请假和教师批假都需要首 先登录 学生端实现了学生申请请假 申请销假 查询自己请假记录功能 教师端实 现了教师对学生请假的批准 销假批准以及查询学生的请假记录功能 关键词 学生 请假管理 Java Web 精品文档交流 目 录 摘要 2 第1章项目分析 1 1 1 问题描述 1 1 2技术分析 1 1 3工程进度计划 2 第2章系统分析与设计 3 2 1 系统分析 3 2 1 1 参与者 3 2 1 2 用例图 3 2 1 3 用例及用例规约 4 2 1 3 1 UC 001 登录 4 2 1 3 2 UC 002 申请请假 5 2 1 3 3 UC 003 申请销假 6 2 1 3 4 UC 004 查询请假记录 7 2 2 系统设计 7 2 2 1顺序图 8 2 2 2类图 11 2 2 3系统体系结构设计 11 2 2 4 设计时序图 12 图 2 10 学生销假申请设计时序图 14 2 3 数据库设计 14 2 3 1E R图 15 2 3 2关系模式 16 2 3 3表的设计 16 第3章实现与测试 19 3 1 请假申请功能 20 精品文档交流 3 1 1活动图 21 3 1 2界面 21 3 1 3代码 21 3 1 4测试用例 22 3 2销假申请功能 22 3 2 1活动图 22 3 2 2界面 22 3 2 3代码 22 3 2 4测试用例 22 3 3请假记录查询 22 3 3 1活动图 23 3 3 2界面 23 3 3 3代码 23 3 3 4测试用例 23 3 4登录功能 23 3 4 1活动图 23 3 4 2界面 23 3 4 3代码 24 3 5 4测试用例 24 第4章结束语 25 附录A 附加图 表 29 附录B 主要源程序 29 精品文档交流 精品文档交流 第第1 1章章 项目分析项目分析 随着计算机的发展与不断进步 各个领域都出现了新的技术 曾经各 种规模之间的竞争已经发展成为技术之间的竞争 管理和人才之间的竞争 然而计算机技术的发展也离不开软件的更新 在软件不断更新和替换的 过程中已经渗透到各个领域 政府机关 各大高校等都不断向智能方向发 展 学生请假也成为一件棘手的事情 为了请假学生需要写请假条找老师 批准 结果是这个时候老师不一定在 另外学生需要请假时不一定在学校 所以为了给广大师生提供方便 我们需要开发软件系统学生请假管理系 统 1 1 问题描述 要完成这个系统最大的问题就是所学知识是有限的 在完成其中某些 功能时候所需要的可能就完全没有接触过 所以只能用一些简单的功能代 替或者替换掉那些用目前的水平所不能实现的功能 再者就是对目前所需 求的不是很明确 比如要做出一个请假管理如何去设置友好界面让大家都 喜欢适应去使用 如何把系统做到什么程度才能够投入使用 这些都是所 面临的棘手问题 1 2技术分析 该系统用到MVC设计模式 总共建立了五个包 界面View 数据对象DO 数据库连接DB 数据库操作DAO 控制层Control 业务层BO DO层是对数 据对象的封装 DB层是连接数据库 DAO层是包含对数据标的基本操作 BO 层是所有和业务相关的关于对数据的判断等 调用的是DAO层然后返回一个结 果 Control层是为了获取用户参数并封装 同时调用BO层 再根据调用得到的 不同的结果在调用不同的View层 将处理结果显示给用户 精品文档交流 BO Control DAO DB DO View 图1 1 包图 1 3工程进度计划 实际开发过程中 开发周期可以分为三个阶段 第一阶段 成果 1 需求分析 2 对数据库进行设计 目标 设计出适合学生请假管理系统的数据库 完成数据库的连接 时间 一周 第二阶段 成果 完成JSP页面和系统代码 目标 能在编译器中有效正确运行 时间 一周 第三阶段 成果 写报告 目标 完成系统报告 时间 一周 精品文档交流 第第2 2章章 系统分析与设计系统分析与设计 学生请假管理系统必须通过正确的用户名的密码方能进入系统 系统分为 两大模块 学生端和教师端 学生端和教师端分别有三个模块 学生端分为请 假申请 销假申请 个人请假记录查询 教师端分为请假审批 销假审批和学 生请假记录查询 学生提交的请假申请需要教师的审批 只有批准之后学生方 可提出销假申请 2 1 系统分析 该系统有两个参与者 分别为学生和教师 学生请假需首先得到教师的批 准方可奏效 学生与教师都需使用自己的工号作为用户名和密码进行登录 2 1 1 参与者 学生 教师 2 1 2 用例图 System 假假 假假假假 假假假假 假假假假假假 假假 图2 1 用例图 精品文档交流 2 1 3 用例及用例规约 请假管理系统学生端共包含1个参与者 4个用例 用例的编号及名称如表1所示 表2 1用例列表 用例编号用例编号用例名称用例名称参与者参与者 UC 001登录学生 UC 002申请请假学生 UC 003申请销假学生 UC 004查询请假记录学生 2 1 3 1UC 001登录 参与者学生需要用户名和密码登录到系统 才能进行相应的操作 系 统中设置学生的登录用户名为学号 初始化密码为学号 表2 2 功能编号功能编号UC 001功能名称功能名称登录登录 前置条件 参与者通过浏览器打开请假管理系统的登录页面 基本事件 流 1 系统要求参与者填写用户名和密码 2 参与者填写相应信息 学生输入学号作为用户名 密码初始值为 学号 3 系统验证用户输入信息是否正确 备选流 1 用户名和密码输入错误 如果系统检测到用户输入的用户名和密码与数据库中不一致 给予用 户 用户名和密码不正确 的错误提示 并要求用户重新输入 后置条件 如果用例成功 系统进入相应权限页面 界面原型 精品文档交流 参与者 学生 2 1 3 2 UC 002申请请假 该用例的主要参与者为学生 学生通过系统填写请假申请单 请假申 请单将会提交给辅导员审批 表2 3 功能编号功能编号UC 002功能名称功能名称申请请假申请请假 用例描述学生创建新的请假申请单 录入请假资料 创建一个请假申请流程 前置条件学生正常登录到系统中 并打开请假管理页面 基本事件 流1 学生选择创建请假申请单 系统自动查询当前的学生是否存在没 有销假的记录 如果存在没有销假的请假记录 执行异常流1 1 如果不存在未销假记录 执行基本事件流2 2 系统展示申请单录入界面 3 学生录入学生学号 姓名 请假事由 原因 去向 开始时间 结束时间 联系方式 个人联系方式 家长联系方式 4 学生提交申请单 系统进行数据校验 依据业务规则C 如果数 据校验不合法 执行分支流4 1 如果数据校验合法 执行基本 事件流5 5 系统为当前的请假申请单生成唯一的编号 保存该请假申请单 6 将该流程推进到下一环节系统应该向学生展现请假申请单的最终 页面 用例结束 分支流 4 1请假信息填写有误 显示填写不正确的信息提示 并要求学生重 新填写 显示填写请假申请单的页面 异常流1 1系统显示学生没有销假的记录详情 1 1学生确认自己的请假记录是否属实 用例终止 后置条件1 系统将保存该条请假记录 2 创建新的请假单并生成唯一的申请编号 3 创建新的请假申请流程实例 4 记录提交后不能够再修改 精品文档交流 界面原型 无 业务规则 A 包括学生姓名 辅导员姓名 请假开始时间 必须选择当天及 当天之后的时间 请假结束时间 大于请假开始时间 请假 理由 家长联系电话 B 系统首先判断是否存在没有销假的记录 存在的话 将该记录显 示给当前学生学生进行确认 如果确认是没有销假 学生继续执 行销假流程 否则 辅导员进行异常处理 C 学生姓名 辅导员姓名 请假开始时间 必须选择当天及当天之 后的时间 请假结束时间 大于请假开始时间 请假理由 家长联系电话信息为必填 不能为空 联系方式是否合法 请假 开始时间是否在请假结束时间之前 执行者 学生 涉及的实 体 1 学生 属性 学号 姓名 班级 性别 联系方式 宿舍 标志变量 tag 1 2 请假申请单 属性 学生 学号 姓名 请假事由 原因 去向 开始时间 结束时间 联系方式 个人联系方式 家长联系方式 操作1 已 批准 待批准 操作2 申请销假 已销假 未销假 2 1 3 3 UC 003申请销假 该用例的主要参与者为学生 学生通过系统提出销假申请 若申请成 功 此时请假信息中操作2的状态将修改为申请销假 否则提示申请销假失 败 表2 4 功能编号功能编号UC 003功能名称功能名称申请销假申请销假 前置条件参与者通过浏览器打开请假管理系统的登录页面成功登录进入系统主 页面 基本事件 流 1 学生发出销假申请 并等待系统验证 2 如果提示申请成功 执行基本事件流3 3 等待辅导员销假 精品文档交流 4 如果提示申请失败 执行基本事件流5 5 提示申请销假失败 请重新申请 备选流无 后置条件 如果用例成功 系统进入相应权限页面 界面原型 无 参与者 学生 2 1 3 4 UC 004查询请假记录 该用例的参与者为学生 学生通过系统提出请假记录查询 若查询成 功 学生请假的记录将会显示在页面上 表2 5 功能编号功能编号UC 004功能名称功能名称查询请假记录查询请假记录 前置条件参与者通过浏览器打开请假管理系统的登录页面成功登录进入系统主 页面 基本事件 流 1 学生发出查询请假记录 并等待系统验证 2 如果提示验证成功 执行基本事件流3 3 显示请假记录 4 如果提示验证失败 执行基本事件流5 5 提示查询失败或者无请假记录 请重新申请 备选流无 后置条件 如果用例成功 系统进入相应权限页面 界面原型 无 参与者 学生 2 2 系统设计 该系统分为3个部分 第一部分是登录 学生和教师都需要登录 第二部分 是学生端 学生端3个功能学生申请请假 学生申请销假 查询个人请假记录 精品文档交流 第三个部分是教师端 教师端3个功能教师批准请假申请 教师批准销假申请 教师查询学生请假记录 2 2 1顺序图 seq 一一true 一一false 一一true 一一false 一一 一一一一一 一一一一一 一一一一 1 一一一一 2 一一一一一一一一 3 一一一一一一 4 一一一一一一一一 5 一一一一一一 6 一一userDO 7 一一一一 8 一一一一一一一一 9 一一一一一一一一一一一一一一一一 图2 2 登录时序图 精品文档交流 seq 一一一一一 一一一一 一一一一一 一一一一 seq true false true false seq 一一一一 一一一一 一一一一 一一一一 一一 一一一一一一一 一一一一一一一 一一一一一一 1 一一一一一一 2 一一一一一一一一一一一 3 一一一一一一一 4 一一一一一一一一一 5 一一一一一一一一一一一一一一一一一 6 一一一一一一 7 一一一一一一一 8 一一一一一一一一 9 一一一一一一一一一一 10 一一一一一一 11 一一一一一一 12 一一一一一一 13 一一一一一一 14 一一一一一一一一一一一一一一一一 图2 3 学生请假申请时序图 精品文档交流 seq 一一 一一 一一 一一 一一 一一一一一一一 一一一一一一一 1 一一一一一一 2 一一一一一一 3 一一一一一一一一 4 一一一一一一一一一一一一一一 图2 4学生销假申请时序图 一一 一一一一一一一 一一一一一一一 一一一一一一 1 一一一一 2 一一一一一一一一 3 一一一一一一 4 一一一一一一 图2 5 学生请假查询时序图 精品文档交流 2 2 2类图 student Sname Sid Sclass Ssex Sphone Sdorm tag teacher Tname Tid Tsex Tgrade Tphone tag record Sid Sname date reason Sphone Tname operate1 operate2 Suser Sid Spasswd Tuser Tid Tpasswd 图2 6 类图 2 2 3系统体系结构设 学生请假管理系统 统 学生端教师端 学 生 申 请 请 假 学 生 申 请 销 假 学 生 查 询 请 假 教 师 审 批 请 假 教 师 审 批 销 假 教 师 查 询 请 假 登录 图 2 7 体系结构图 精品文档交流 该系统包括基本的3各模块 登录 学生端 教师端 学生和教师在登 录成功时分别进入不同的页面进行操作 学生端进行请假申请 销假申请 查询个人请假 教师审批请假 审批销假 查询学生请假记录 2 2 4 设计时序图 alt resultValidate true resultvalidate false resultValidate true resultvalidate false 一一 Login jspStuMain jspLoginDOLoginDAOLoginBOLoginControluser 1 doPost 2 doPost 3 create 4 result l LoginValidate 5 create 6 string exite 7 resultDAO 8 resultValidate 9 doPost 10 doPost 图2 8登录设计时序图 该图是学生端登录设计时序图 首先学生发送请求到控制类 然后跳出登 录页面 学生填写登录信息并提交到控制类 控制类封装数据创建对象调用逻 辑层进行数据校验并返回结果 逻辑层调用DAO层最终根据结果判断如果登录 成功将跳转到学生端主页 如果登录失败将给以提示信息并请重新登录 精品文档交流 alt true false true false 一一 Aleave jspLeaveControlLeaveBORecordsDOLeaveDAONleave jsp 1 Http一一doPost 2 checkleave 3 SecLeave 4 create 5 LeaveRecords 6 null 7 一一一一一一一一doPost 8 null 9 一一一一一一一doPost alt return true return false return true return false alt ifsuccess true ifsuccess false ifsuccess true ifsuccess false Asuccess jsp 一一 Aleave jspLeaveControlLeaveBOLeaveDAORecordsDO 10 一一一一一一 11 doPost 12 create 13 LeaveValidate 14 return 15 save 16 addLeave 17 ifsuccess 18 doPost 19 doPost 20 doPost 图2 9请假申请设计时序图 精品文档交流 该图是学生请假申请设计时序图 首先学生需要成功登录 发出请假申请 这时候控制类会自发调用逻辑层 逻辑层调用DAO层 如果该学生之前请过假 并且未曾销假 这时该学生是不能够再请假的 倘若该学生发出请假申请 系 统将会把该学生之前的请假未销假记录显示出来 如果没有未销假记录 将会 显示请假申请页面 学生需要填写请假申请单将请假详细信息填写并提交倘若 正确无误 系统将会提示请假申请成功 alt result true result false result true result false 一一 XJSucess jspXJError jspStudentControlStudentBOStudentDAORecordsDO 1 doPost 2 XJValidate 3 XJUpdate 4 create 5 return 6 result 7 doPost 8 doPost 图 2 10 学生销假申请设计时序图 该图是学生销假申请设计时序图 在学生成功登录之后 学生在申请请假 时候必须不存在未销假记录 所以在学生请假完成到校报到后必须进行销假 然而这时需要发出销假申请 这时候在业务逻辑层将会给予判断 如果销假申 请成功将会提示申请成功 如果有错误将会提示申请失败或者不存在未销假记 录 2 3 数据库设计 数据库在该系统中是为了存储数据 学生所提交的请假记录是通过保存到 数据库中来实现申请请假 销假等功能的 在我们目前所学的有限的知识内 没有数据库该系统是没法运行和实现的 精品文档交流 2 3 1关系模式 1 学生信息 学号 姓名 班级 性别 宿舍 联系方式 tag 2 教师信息 工号 姓名 联系方式 性别 年级 tag 3 登录 用户名 学号 工号 密码 4 请假信息 学号 姓名 事由 请假开始时间 请假结束时间 联系方式 2 3 2 E R图 E R图在数据库设计里面是至关重要的一步 它是整个数据库设计的关键 下面 使用实体联系 E R 模型来描述系统的概念结构 设计出能够满足用户需求的各种实体 以及它 们之间的关系 为后面的逻辑设计打下基础 图2 11E R图 请假记录 理由 开始时间 学号 操作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 编号字段名称数据类型约束条件说明 1sidVarchar 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 无所带年级 5tphoneVarchar 12 无电话 6tagVarchar 2 2标志 该表是教师信息表 表中包括6个属性 都是字符串类型 教师也包括一个 标志变量tag 也存在一个默认值为2 并且不能修改 表 2 8 请假信息表 leaverecords 编号字段名称数据类型约束条件说明 1sidVarchar 14 无学号 2SnameVarchar 16 无姓名 3Starttimedate无开始时间 4endtimedate无截止时间 5SphoneVarchar 12 无联系电话 6Operate1Varchar 20 操作1 7Operate2Varchar 20 操作2 8reasonVarchar 255 无理由 该表示请假信息表 包括8个属性 其中有字符串和日期类型 操作1和操 作2分别是默认值 其值是根据学生的请假申请成功 销假以及教师的审批有关 精品文档交流 第第3章实现章实现与测试与测试 每一个项目的核心部分都是功能的实现 功能的完成标志着一个系统的完 成 然而这些结果都需要一个需求和设计来作为基本的要求 以下就是该系统 详细功能的实现过程 需求分析 需求分析阶段我采用了StarUML工具做了详细的分析 根据自 己的需要画出了包图 时序图 用例图 类图 活动图 设计时序图等所需要 的几类基本图 项目的框架是根据包图来创建的 时序图主要就是项目的每一 个功能所要求的基本流程 设计时序图就是将时序图给详细化 具体到每一步 所走的流程返回什么样的数据或者类型 也就是说画设计时序图时基本上已经 把代码在脑子里有了型 用例图其实就是项目所有的功能 每一个用例就代表 一个基本的功能 数据库的设计是根据类图来实现的 类图就表示了数据库中 的表以及各表之间的关系 界面设计 用户界面设计要求友好合理 要充分考虑到用户的操作习惯 而且要有良好的显示效果 此外界面的配色方案要协调 使用的主色 背景色 前景色 按钮大小 文字 格式 表格等要统一标准 由于该系统主要用于 公司人员管理的 所以界面框架的主色采用较为严肃的浅蓝色 在此基础上用 到了PhotoShop技术 dreamweaver以及css和Java script等 里面的登录那个信息是一个图片用ps加工修改写上了艺术字 界面的 代码是在dreamweaver里面直接设计好的 然后将代码复制粘贴过去 因为在dr eamweaver里面设计的界面在MyEclipse里面是不能运行的 需要一个脚本来支 持 所以只需要在MyEclipse里面建好jsp页面只需将dreamweaver里面body里面 的东西复制粘贴到MyEclipse里面就可以运行了 每一个界面里面都有一个表格 表格里面有许多其他的元素之类 比如 按钮 标题 下拉框等许多细小的 知识 外面有一个表单 这个表单是必须有的 他是为了在前台与后连接时候 提交一个数据来运行这个项目的 在这些界面里面 时间是用js来完成的 统 一的css样式表 还有就是在查询过程中将所显示的数据设置为某一属性他将无 法在查询显示这个页面来任意修改一些信息 功能描述 首先这个系统除了界面其他的代码分别写在5个包中 第一个D O包 它里面从某种意义上说在这个包里面的每一个类都是创建某一个实例的 精品文档交流 方法 它里面定义了相对属性 以及get 和set 方法 第二个是DAO包 它里面是对于每一个管理模块的一些基本小的功能的实现 说白了主要就是增 删改查之类的它是对数据库语句的一个应用 第三个包是DB包 这个包可以说 是只为了一件事 就是数据库的连接 之所以这样写专门用一个包来写关于数 据库的连接目的只是为了看到数据与的封装 体现一个面向对象的思考 从而 在某些方面也能够减少代码的重复率 提高代码的可读性 第四个包是control 包 这个包是最重要的 因为在web应用开发的过程中每一个项目要想与前台 数据连接并能够成功把数据相互传递 servelet里面有两个方法 一个是doGet 一个是doPost 两者最大的区别就是前者对数据没有保密 就是随时都会泄 露一些重要的信息 因为每一提交的表单都会随着浏览器的浏览网址显示出来 然而要想从前台获得数据 就好比添加员工就得用到客户端所发出的请求req uest getParameter 得到 第五个包是BO包 这个是业务逻辑层 主要是调用D AO包里面的方法 数据校验等功能 在该系统中我主要完成的是学生端的功能 以下为学生端的功能 3 1请假申请功能 在学生请假申请这个功能里面其实所做的就是对数据的添加 界面是简单 采用了CSS样式的界面 如果学生登录成功点击申请请假 如果该学生存在未销 假记录系统将会把该学生的未销假记录显示出来 如果不存在未销假记录 此 时学生请假信息界面会显示出来 在学生填写完请假信息出发右下方的一个提 交按钮 倘若提交成功会提示申请成功 如果失败会跳转到信息填写页面并提 示错误信息 精品文档交流 3 1 1活动图 一一一一 一一一一 一一一一一一一一一一 一一一一 一一一一一一一一一一一一一一 一一一一一一一一一一一 图 3 1 学生申请请假活动图 3 1 2界面 图 3 2 学生请假申请页面 精品文档交流 3 1 3代码 publicvoid doPost HttpServletRequest request HttpServletResponse 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 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 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 getRequestDispatcher 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 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 setAttribute username request getParameter sid ArrayList list ArrayList sb getrecords request getParameter sid request setAttribute list list 精品文档交流 request getRequestDispatcher SseclectDisplay jsp forward request response return 3 2 3测试用例 序号功能模块测试数据预期结果 1请假查询学号 123查询成功 3 4登录功能 登录是该项目最基本的一个功能 这其实也是一个查询 只不过是根据数 据库中的数据和从网页中得到的数据进行对比 如果匹配成功将会进入到另外 一个页面 如果登录失败将会进行提示并重新登录 登录过程中在后台数据中 定义了标志变量来表示学生和教师 所以在登录时候根据这个属性来判断登录 成功后跳转到学生端还是教师端 登录过程中进行了简单的数据校验 就是说用户名和密码不能为空 倘若 为空将会提示错误信息并提醒重新登录 3 4 1代码 publicvoid doPost 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 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 response else 精品文档交流 tags lb login ld if tags 1 HttpSession session request getSession session setAttribute username ld getUserid request getRequestDispatcher smain jsp forward request response return elseif tags 2 HttpSession session request getSession session setAttribute username ld getUserid request getRequestDispatcher tmain jsp forward request response return else request getRequestDispatcher error jsp forward request response return 精品文档交流 3 4 2界面 图 3 4登录界面 精品文档交流 3 4 1活动图 一一一一 一一一一一一 一一一一 一一一一一一一一一一一一一 一一一一一一一一一一一一一一 一一 一一 图 3 5登录活动图 3 5 4测试用例 序号功能模块测试数据预期结果 1学生登录 用户名 123 密码 123 登录成功 精品文档交流 第第4 4章章 结束语结束语 这次的课题我用的web开发来完成的 从我对这三个字母的不理解到学习 它再到用它们来完成我的课题 这个过程并不是想象的那么容易 今天终于完 成了 长呼了一口气 同时在内心深处 也默默地为接下来的学习 做一个前 段时间的项目总结 也是学习的总结 吸取之前的经验教训 错误并不可怕 可怕的是再在同一个地方犯同样错误 所以对于我来说 更多的去自我认知 知我批评要比表扬和赞许来的更加深刻 非常有必要做一个总结 虽然时间略 显仓促 但在项目开发过程中我学习到了很多之前没有接触过的内容 也发现 了自己的很多不足 感悟颇深 主要包括以下几个方面 1 在需求分析阶段 由于对学生请假管理系统真正的需求并不了解 还有 就是自己在做这个需求的过程当中总觉得想到了自己做不出来 就好比没想到 一个需求的功能脑子里就会闪现出一个画面 我该如何去实现它 正是因为这 些错误的想法导致了这次课题实践的进度 因此我觉得在做需求时我们应该根 据实际不必考虑怎么做怎么实现 2 数据库采用的是Mysql 在编写sql语句经常会出现一些语法错误 例如sq l语句不之一次的出错 在修改的过程当中我发现了自己知识的欠缺 或者说对 过去所学的东西并没有完全理解甚至吸收 尤其是数据库中的乱码问题 我从 一开始数据库中导入数据我就一直被乱码问题纠结着 我先上网查阅相关资料 看书寻找改变乱码的方法 甚至解决不了向同学请教 但是最终我都没有解 决 最后在老师的帮助下检测出乱码不是编码的问题而是我的数据库安装过程 中字符编码选择错误 所以一直回出现乱码问题 而且解决之后再将自己遇到 的问题记录下来 使得以后出现同样的问题时能够快速解决 3 由于该系统在学生申请成功后需要教师端的批准 在学生端才能进行下 一次的操作 这些之前很少用到 通过这次实习也将自己在课本上学到的内容 用到了实际项目中 感受最深的就是MVC模式和在两个客户端操作 4 团队合作 我们完成一个项目总是需要一个团队的 而不是个人 在开 发过程中小组之间的沟通非常重要 如果组内成员没有很好的交流 则在项目 后期各模块合并时 会出现许多意想不到的错误 例如路径问题 页面间跳转 等 所以我们完成系统时 小组间要定期开例会 相互交流 对于有分歧的地 精品文档交流 方 一定要及时讨论 采取一致措施 这样才有利于团队工作 总之 这次的课题真的使我受益匪浅 在这个过程中 我学习到的不仅仅 是以上技术上的收获 更还有生活中的的人际交往以及其他的许多经验 而这 些 都将作为我迈入社会的根本 我将以此为我的基础 尽量将学到的知识运 用到实际工作中 去迎接一个又一个的挑战 回想在这不到一个月的学习时间里 我学到了许许多多让我感觉比较充实 的知识 掌握了更多的学习的方法 作为一个程序员 我们更需要信心 面对 项目时我们要仔细分析 想法尝试 想法去实现 这样才能进步 才能找到自 己的不足 同样在职场中 工作需要自信心 不相信自己 任何工作都做不好 没有信心 成功的机会就会少些 自信心能让你做什么都不难 生活需要自 信心 现实是残酷的 没有自信心是难以生存的 道路是坎坷的 自信心能帮 你顺利地走过 有时希望是渺茫的 但是自信心能让你看到美好明天 在写程序时 总是在看到功能后 立即投入到代码编写工作中 后期出现 的错误总是很多很多 经常返回重新修改 经过这次旳实践 又对软件这个东 西有了新的认识 新的收获 而且我对软件工程又有了新的理解 说白了软件 工程就是在为这个软件做铺垫 也就是说需求分析就是软件工程 而我在做需 求分析阶段能顺利完成 我十分的感激我的老师郭丽 如果不是在课堂上老师 让我在同学们面前或那个设计时序图 我想我现在仍然不会明白软件工程怎么 去做需求 不是老师一步步的教导 我根本不可能完成今天这么简单的并且不 完善的项目 所以在此我对老师表示深深的敬意与感激 精品文档交流 参考文献 01 李明 java程序设计与应用 M 北京 交通大学出版社 2010 3 02 叶和亚 陈立 java2程序设计实用教程例 M 北京 电子工业出版社 2003 5 03 李兆峰 庞永庆 java程序设计与项目实践 M 北京 电子工业出版社 2011 6 04 Y Daniel Liang java语言程序设计 M 西安 机械工业出版社 2011 5 05 06 07 刘京华 Java Web整合开发王者归来 M 清华大学出版社 2010 1 08 何富贵 DreamweaverCS4网页设计与制作 M 机械工业出版社 2010 3 09 郑阿奇MySQL实用教程 M 电子工业出版社 2012 5 10 叶和亚 陈立 java2程序设计实用教程例 M 北京 电子工业出版社 2003 5 精品文档交流 指导教师评语 成绩 指导教师签名 年 月 日 精品文档交流 附录A 附加图 表 图 1 学生端主页面 图 2 教师端学生请假信息页面 附录B 主要源程序 DAO包 请假审批 publicboolean LeaveAllow String sid 获取数据库连接 Connection connection DButils getConnection 创建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 returntrue catch SQLException e TODO Auto generated catch block e printStackTrace finally DButils release connection ps null returnfalse 销假审批 publicboolean XJallow String s String sid 获取数据库连接 Connection connection DButils getConnection 创建sql执行环境 PreparedStatem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工厂清洁工考试题目及答案
- 2025-2026学年湖南省衡阳市一中高三下学期第一次月考地理试题及答案
- 二类人员培训考试题及答案
- 课件三连屏尺寸
- 课件3D化教学课件
- 2026届重庆市南岸区重庆南开融侨中学九年级英语第一学期期末质量检测模拟试题含解析
- 离婚时财产分割与子女抚养权变更补充协议
- 离婚协议中房产分割与共同债务处理的全文解读
- 电子商务不正当竞争预防商家合作协议
- 商业综合体空置土地出租与商业运营合作协议
- 公务员面试人际关系题人际关系面试题及答案
- 2025年乡镇畜牧站动物检疫员招聘考试重点知识点梳理与解析
- 2025年中国电信招聘考试题库与答案解析
- 土地合作协议书合同模板
- 2025-2030中国废弃光伏组件回收处理技术路线与经济性分析报告
- 2025水利安全员C证考试题库(含答案)
- Unit 1 This is me!第5课时 Integration 说课稿- 2024-2025学年译林版(2024)七年级上册英语
- 一级建造师-机电工程管理与实务-案例专题突破教学课件
- 《中华人民共和国学前教育法》试题库及答案
- 新沪教牛津版九年级上册英语全册教案
- 全校教学质量提升会上校长讲话:把每一节课教好是我们最实在的荣耀
评论
0/150
提交评论