jsp课程设计报告书
题目: 网上签到系统设计 班级: 0791111 学号: 10791111038 姓名: 孔令建 教师: 吕志峰 周期: 3周
成绩:
2009年1月2日
1
计算机应用技术系课程设计报告书
《网上签到系统》
一、课程设计的目的与要求
(一)课程设计目的与任务。
通过一段时间的jsp学习,了解jsp特点和MyEclipse基本的利用java语言和相应的一些简单数据库操做来编写程序,能够熟练的应用HTML语言和数据库操作以及简单的javaScript来实现一些简单动态网页的开发。达到对jsp相关技术的熟练和系统的应用。
(二)题目要求。
本学生电子签到系统包括以下功能
1. 学生信息管理
对学生基本信息进行管理,包括对学生信息的录入,学生信息的更新,学生的毕业处理,学生信息学籍变动处理。
2. 签到信息管理
对学生的签到信息进行查询,学生签到信息的导出,签到数据统计管理 可以统计出实验室利用率。
3. 学生网上签到管理
可以新建实验室签到,学生网上签到(只输入学号)就可以完成签到。
4. 系统用户管理
可以管理系统用户信息,包括用户名,用户权限和用户口令。
5. 系统设置管理
可以添加实验课程,实验室信息设置。
二、设计正文 1.系统分析
签到系统是一个教师管理学生上课的系统,教务综合管理教师学生的系统。要求完成如下功能:学生能签到,教师能查询签到情况以帮助教师评分和对学生的管理,教务能管理用户、安排课程、综合监视等功能。 2.功能详细描述及框图
当用户登陆时,选择登陆类型,教师进入教师功能区,学生直接登陆签到区。 其框图大致如下图1-1签到系统功能模块图:
计算机应用技术系课程设计报告书
机房签到系统课程查看学生签到管理员管理员登入管理员注册签到信息管理学生信息管理课程信息管理
图1-1签到系统功能模块图 3.数据结构设计
对系统数据结构进行设计,建立一个具有良好的数据组织结构的数据库,应遵循的原则有:尽可能减少数据冗余,重复结构设计和操作设计相结合数据结构,具有相对的稳定性。
由于数据库中所保存的数据是系统中非常重要的资源,所以在数据库设计时一定要注意数据结构的安全性、完整性,并发控制与恢复,而一般的数据库管理系统都提供了一定的数据保护功能。此签到系统利用MySQL数据库建立了学生基本信息表,签到信息表,实验课程表,出勤表,用户表以及课程表6个基本表,其各表与表是独立存在的没有依赖关系。关于各表的结构如下:
表名:学生信息表 表结构如表1-1所示。 编号 1 2 3 4 字段名 s_no s_name s_class s_sex 学生表(stu) 字段类型 字段长度 备注 varchar 20 学号 varchar 20 姓名 Varchar 20 班号 Varchar 20 性别
计算机应用技术系课程设计报告书
5 sdept varchar 20 系别 表名:新建签到表 表结构如表1-2所示。
实验室课程表(shc) 编
号 字段名 字段类型 字段长度 备注 1 sh_id varchar 20 编号 2 sh_c_name varchar 20 课程名 3 sh_t_name varchar 20 任课老师 4 sh_zt_name varchar 20 指导老师 5 sh_stime varchar 20 上课时间 6 sh_n_nu varchar 20 学时数 7 sh_cl_d varchar 20 上课班级 8 sh_sh_id varchar 20 实验室号
表名:实验课程表 表结构如表1-3所示。
管理员表(login) 编
号 字段名 字段类型 字段长度 备注 1 uid varchar 20 登入用户名 2 pwd varchar 20 登入密码 表名:签到表
表结构如表1-4所示。
签到表(qd) 编
号 字段名 字段类型 字段长度 备注
1 s_no varchar 20 学号 2 s_name varchar 20 姓名 3 s_sex varchar 20 性别 4 s_dept varchar 20 系别 5 s_class varchar 20 班号
计算机应用技术系课程设计报告书
表名:管理员表
表结构如表1-5所示。
4.主要功能逻辑过程和实现算法
学生能签到,教师能查询签到情况以帮助教师评分和对学生的管理,教务能管理用户、安排课程、综合监视等功能
根据设计,在进入管理员功能区系统要有一个母版面,该页面上包括教务能管理用户、安排课程、综合监视等功能。在进入教师功能区系统要有一个母版面,该页面上包括出勤查询,签到查询。
在用户正确输入用户名和密码以后,进入相对应的功能区,可以进行各种操作。 (1).学生签到:其实现算法如下: 签到代码: <%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"gb2312\"%>
<%@page import=\"java.text.SimpleDateFormat\"%>
<% String s_no=request.getParameter(\"s_no\"); String q_jq_no=request.getParameter(\"q_jq_no\"); if(s_no==null||q_jq_no==null) { response.sendRedirect(\"sign.jsp\"); } else { out.print(\"\"); String sql=\"insert into qd(q_s_id,q_s_name,q_s_cl_id,sdept) select s_no,s_name,s_cl_id ,sdept from stu where s_no='\"+s_no+\"'\"; int i=db.getupdate(sql); db.close(); if(i!=0) 计算机应用技术系课程设计报告书 { out.print(\"\"); } else { out.print(\"\"); } } %> 添加学生信息代码: <%@ page language=\"java\" import=\"java.sql.*\" pageEncoding=\"gb2312\"%> <% if(session.getValue(\"uid\")==null) { response.sendRedirect(\"login.jsp\"); } %> String s_no=request.getParameter(\"s_no\"); String s_name=request.getParameter(\"s_name\"); String s_sex=request.getParameter(\"s_sex\"); String s_cl_id=request.getParameter(\"s_cl_id\"); String sdept=request.getParameter(\"sdept\"); if(s_no==null||s_name==null) { response.sendRedirect(\"addstu.jsp\"); } else { String sql=\"insert into stu 计算机应用技术系课程设计报告书 values('\"+s_no+\"','\"+s_name+\"','\"+s_sex+\"','\"+s_cl_id+\"','\"+sdept+\"')\"; int i=db.getupdate(sql); db.close(); if(i!=0) { out.print(\"\"); } else { out.print(\"\"); } } 修改学生信息代码: <%@ page language=\"java\" import=\"java.sql.*\" pageEncoding=\"gb2312\"%> <% if(session.getValue(\"uid\")==null) { response.sendRedirect(\"login.jsp\"); } %> String s_no=request.getParameter(\"s_no\"); String s_name=request.getParameter(\"s_name\"); String s_sex=request.getParameter(\"s_sex\"); String s_cl_id=request.getParameter(\"s_cl_id\"); String sdept=request.getParameter(\"sdept\"); if(s_no==null||s_name==null) { response.sendRedirect(\"addstu.jsp\"); } else 失败计算机应用技术系课程设计报告书 { String sql=\"update stu set s_name='\"+s_name+\"',s_sex='\"+s_sex+\"',s_cl_id='\"+s_cl_id+\"',sdept='\"+sdept+\"' where s_no=\"+s_no; int i=db.getupdate(sql); db.close(); if(i!=0) { out.print(\"\"); } else { out.print(\"\"); } } %> %> 5.界面设计 签到界面: 用户登录: 计算机应用技术系课程设计报告书 查询课程: 添加学生信息: 计算机应用技术系课程设计报告书 查看签到信息: 6.系统测试 系统测试是开发周期中一个十分重要而漫长的阶段。其重要性体现在它是保证质量与可靠性的最后关口,是对整个开发过程包括分析、设计和实现的最终审查。测试的对象是软件,其目的是找出软件中的错误。 计算机应用技术系课程设计报告书 我们在此过程中对该系统做了大量测试来检查该系统,最后经这么多次测试确定该系统没有问题,可以正常运行。 三、小组成员分工说明 独立完成。 四、课程设计总结或结论 1 课程设计过程中出现的技术难点和解决方法: 技术难点:在课程设计过程中出现了这样的技术难点:在实现实验室使用次数的查询时,不能像其他select语句直接查询,需要用到聚集函数count与Group By语句,因为语句可以按课程号分类,将同一实验室的使用次数加起来以实现实验室使用次数的统计。 解决方法使用多表查询实现其作用,然后通过数据连接和数据绑定将实验室使用次数显示出来。 2 课程设计期间的主要收获: 在课程设计期间收获了很多,平时在书中学的知识只是抽象的,通过课程计后得到了真正的实践,能熟练利用各种基本的控件,对各种html语法和对数据库操作有了更深入的理解。对jsp又有了更深一步了解同时,并对网站开发产生很大的兴趣。但这次的网上签到管理系统还存在着一定问题,希望在以后的时间里能提高自己,做得越来越好。 3 对今后课程设计的建议 今后希望学校能够多开设一些这方面的课程,让同学们能够有更多的实践机会,把课本的知识灵活的运用。还应该加强课程设计小组分工的机会,可以锻炼同学们团结工作的能力。 五、参考文献 (参考以下格式写) [1] 王婧,高洪志,巩萃萃.计算机实用基础教程.中国铁道出版社,2007,8(1):17-18. [2] http://community.csdn.net/Expert/topic/5767/5767954.xml?temp=.7474939 2007,9,20 [3] 刘展,冯宗宪. M.H.DIS模型在我国上市公司信用评估中的应用研究[J].系统工 程理论与实践,2004(2):76-82. 六、指导教师评阅意见 附录(其他必要资料) 因篇幅问题不能全部显示,请点此查看更多更全内容