JAVAEE考勤系统.doc_第1页
JAVAEE考勤系统.doc_第2页
JAVAEE考勤系统.doc_第3页
JAVAEE考勤系统.doc_第4页
JAVAEE考勤系统.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

软 件 学 院课程设计报告书课程名称 JAVA EE 设计题目 学生考勤系统 专业班级 软件09-7 学 号 0920010725 姓 名 赵睿爽 指导教师 刘宪国 2011年 12月目 录1 设计时间12 设计目的13设计任务14 设计内容14.1需求分析14.1.1功能需求24.1.2数据需求24.1.3性能需求24.2系统设计34.2.2详细设计64.2.3数据库设计135 总结与展望15参考文献181 设计时间17周(2011年12月122011年12月18日)2 设计目的JavaEE课程设计是对所学JavaEE与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的Java Web程序。加深对理论教学内容的理解和掌握,较系统地掌握程序设计及其在其他领域的广泛应用,基本方法及技巧,为学生综合御用所学知识,并在实践应用方面打下一定基础。学生考勤管理系统作为一个高校的基本管理,是学校对学生工作管理的基本依据。开发考勤管理系统,正是完善高校信息化管理的重要环节。人工考勤已很难满足学校规范化管理的要求,面对庞大的信息量,该方式现存在很多弊端,因此,建立现代化的智能考勤管理系统势在必行。这样也大大减轻了考勤工作人员的工作量,提高了工作效率,使原本复杂和枯燥无味的工作变得简单而轻松。3设计任务(一)必备功能说明:(1)功能描述:用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看和删除学生考勤信息(学号、姓名、班级、出勤状态);出勤状态有两种:出勤和旷课;考勤结束后,如果学生旷课次数超过考勤次数的1/3, 系统提示用户该学生没有考试资格。(2)添加学生考勤信息(3)查看学生考勤信息(4)删除学生考勤信息(5)统计无考试资格学生:给出没有考试资格的学生的学号和姓名(二)开发语言与开发环境:MyEclipse、Java、数据库(sqlserver2000、mysql、oracle等任选一种)4 设计内容 4.1需求分析 4.1.1功能需求学生考勤系统需要实现以下功能:1.用户信息管理用户信息管理的基本功能是添加、修改、删除和浏览用户详细信息。用户使用系统自己创建用户帐号,用户的具体属性应该包括用户帐号、用户密码。2.信息管理用户可以对学生信息、考勤信息进行添加,查看,删除等。3.学生考勤的录入功能用户能够把学生的考勤信息输入到相应的数据库,也可对其进行添加,查看,删除的功能。4.添加功能 用户能够添加学生考勤信息。5.查看功能 用户能够按照学号,姓名查看学生考勤信息。6.删除功能 用户能够删除某学生考勤信息7.统计功能用户能够把无考试资格学生的考勤信息按班级统计,只能查看,不可修改。4.1.2数据需求本系统涉及的数据包括用户的登录名及密码、学生的学号、姓名、班级、出勤状态以及时间。以上每组数据都对应的显示在系统数据表中,便于用户对系统的管理和对出勤信息的查看。4.1.3性能需求要求系统具有稳定性、准确性、可靠性、速度要快,方便用户管理信息,尽量避免错误和浪费不必要的时间。对于一个好的软件有一个友好的用户界面是很重要的。用户界面应尽量做的简单、层次清晰明了,以最大限度为用户提供操作方便。如尽量减少用户输入次数,多使用快捷按钮等。4.2系统设计4.2.1总体设计总体设计的基本目的就是回答“概括地说,系统应该如何实现?”这个问题。所以,首先站在全局的高度上对系统进行结构设计,确定程序哪些模块组成,各个模块要完成的工作以及各个模块之间的接口关系,确定每个模块的处理过程,以及需求、功能和模块三者之间的交叉参照关系。本系统需实现用户登录、学生考勤信息管理和学生考勤信息统计的功能。所以,设计如下功能结构图、E-R图和系统流程图:学生考勤管理系统登录添加学生考勤信息删除学生考勤信息统计无考试资格学生查看学生考勤信息图4-1系统功能结构图图4-2系统总E-R图图4-3分E-R图(用户)图4-4分E-R图(学生)图4-5分E-R图(考勤)图4-6系统模块流程图图4-7登陆模块流程图4.2.2详细设计登录模块此模块需要实现用户登陆的功能,用户以合法身份登录系统后,才能进行对系统的管理以及所有操作。主要程序代码如下:package cohttp.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.service.UserService;import com.user.domin.User;public class ListUserServlet extends HttpServlet public void doGet(final HttpServletRequest request, final HttpServletResponse response)throws ServletException, IOException doPost(request,response);public void doPost(final HttpServletR m.user.servlet;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.equest req, final HttpServletResponse res)throws ServletException, IOException final String username=req.getParameter(username);final String password=req.getParameter(password);final User user=new User();user.setUsername(username);user.setPassword(password);final HttpSession session =req.getSession();String forward=;if(UserService.CheckLogin(user)forward=/savechuqin.jsp;session.setAttribute(name, username);elseforward=/error.jsp;final RequestDispatcher rd=req.getRequestDispatcher(forward);rd.forward(req, res);JSP界面设计如下:图4-8登陆界面图4-9登陆失败界面考勤信息管理及统计模块此模块要实现对学生考勤信息的添加、删除、查询学生考勤信息包括学号、姓名、班级、出勤状态。还需要统计无考试资格的学生的功能,是本系统关键的模块,主要程序代码如下:package com.chuqin.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import sun.misc.Request;import com.chuqin.domin.ChuQin;import com.util.DBConnection;/查询public class ChuQinDao private static final String listSQL = null;public Connection con;public List findAllChuQin()con=DBConnection.getConnection();String listSQL=select * from chuqin;List list=new ArrayList();tryPreparedStatement psmt=con.prepareStatement(listSQL);ResultSet rs=psmt.executeQuery();while(rs.next()ChuQin chuqin=new ChuQin();chuqin.setNum(rs.getString(1);chuqin.setName(rs.getString(2);chuqin.setClasses(rs.getString(3);chuqin.setTimes(rs.getInt(4);list.add(chuqin);mit();return list;catch(Exception e)e.printStackTrace();finallyif(con !=null)trycon.close();catch(SQLException e)e.printStackTrace();return list;/插入public boolean insertChuQin(ChuQin chuqin)throws Exceptioncon =DBConnection.getConnection();String listSQL=insert into chuqin values(?,?,?,?);PreparedStatement pstmt = con.prepareStatement(listSQL);trypstmt.setString(1,chuqin.getNum();pstmt.setString(2,chuqin.getName();pstmt.setString(3,chuqin.getClasses();pstmt.setInt(4,chuqin.getTimes();pstmt.executeUpdate();mit();return true;catch(SQLException e)con.rollback();e.printStackTrace();finallycon.close();return false;/删除public boolean deleteChuQin(ChuQin chuqin) throws Exceptioncon=DBConnection.getConnection();String listSQL=delete from chuqin where Num=? ;PreparedStatement pstmt=con.prepareStatement(listSQL);trypstmt.setString(1, chuqin.getNum();pstmt. executeUpdate(); mit(); return true;catch(SQLException e)con.rollback();e.printStackTrace();return false;/计算是否无法考试 public List caculateChuQin(int y) con=DBConnection.getConnection(); List list1=new ArrayList(); String listSQL=select * from chuqin ; try PreparedStatement pstmt=con.prepareStatement(listSQL); ResultSet rs=pstmt.executeQuery(); while(rs.next() ChuQin chuqin=new ChuQin(); chuqin.setTimes(rs.getInt(4); int x=chuqin.getTimes(); double m=0.0; double n=0.0; m=(double)x; n=(double)y; if(m/n)=0.66) x=0; chuqin.setNum(rs.getString(1); chuqin.setName(rs.getString(2); list1.add(chuqin); mit(); return list1; catch(SQLException e) e.printStackTrace(); return list1; JSP界面设计如下:图4-10添加出勤信息图4-11添加信息成功4.2.3数据库设计使用sqlserver2000设计此系统的数据库信息,按照系统功能需求分析可知需要建立两个表,表一管理用户的登录名和密码,包括用户名和密码。表二管理学生的出勤信息,包括学生学号,姓名,班级和畜禽状态如下:用户登录信息(username,password)学生考勤信息(num, Name, class, times)表4-1用户登录信息表列名说明类型长度username用户名varchar50password密码varchar50表4-2考勤信息表列名说明类型长度num学生学号int4Name学生姓名varchar50class班级float8times出勤次数varchar50图4-12用户信息数据库设计图4-13学生信息数据库设计图4-14操作后的数据库5 总结与展望通过这次的课程设计,首先,认识到自己对于专业知识掌握的不足,以及对所学知识的灵活运用,java高级语言的灵活使用,会让我更轻松的完成这个课程设计的程序。本次试验使用了servlet,使我对它达到了一个更高的理解程度,更加灵活的运用。做这个程序的时候碰到很多问题,许多类和方法,不是很会用,甚至不会,但是通过这次课程设计学到了很多东西,我认为这便是课程设计的最有价值的地方。通过同学的帮助,以及自己的探索,很好的完成了这次课程设计,所以以后我要更好的学习程序设计,达到更高的水平,编写更复杂的程序。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。因此非常感谢老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名软件工程专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。经过这次设计我发现JAVA EE具有很大的发展空间。在这个网络大爆炸的时代中,各个门户网站均是建的动态网站,但是,平地上的高楼大厦也是有一块块的砖积累起来的。所以在刚开始学习并懂得JAVA EE这门课程的时候千万不能好高骛远,一下子就去接受学习那一些比较难的东西。因为那样的话你就会发现,在你学习的时候你会觉得非常迷茫,那样的话不紧基础知识没有学会,高深的知识也没有学会。所以我们要认清,步是一步步走出来的,首先一定要学好基础知识。否则你的程序将是错误连篇,不能运行。我认为这个收获应该说是相当大的。一开始我们从参考书上找来

温馨提示

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

评论

0/150

提交评论