学生课堂签到系统的设计与实现.docx
- 文档编号:9884035
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:13
- 大小:133.27KB
学生课堂签到系统的设计与实现.docx
《学生课堂签到系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《学生课堂签到系统的设计与实现.docx(13页珍藏版)》请在冰豆网上搜索。
学生课堂签到系统的设计与实现
软件工程实习报告书
学生课堂签到系统的设计与实现
学号:
姓名:
指导老师:
完成日期:
2014年11月21日
一、课程设计的目的与要求
1、课程设计目的与任务
通过一段时间的jsp学习,了解jsp特点和MyEclipse基本的利用java语言和相应的一些简单数据库操做来编写程序,能够熟练的应用HTML语言和数据库操作以及简单的javaScript来实现一些简单动态网页的开发。
达到对jsp相关技术的熟练和系统的应用。
2、题目要求
本学生电子签到系统包括以下功能
(1)、学生信息管理
对学生基本信息进行管理,包括对学生信息的录入,学生信息的更新,学生的毕业处理,学生信息学籍变动处理。
(2)、签到信息管理
对学生的签到信息进行查询,学生签到信息的导出,签到数据统计管理可以统计出实验室利用率。
(3)、学生网上签到管理
以新建实验室签到,学生网上签到(只输入学号)就可以完成签到。
(4)、系统用户管理
可以管理系统用户信息,包括用户名,用户权限和用户口令。
(5)、系统设置管理
可以添加实验课程,实验室信息设置。
二、设计正文
1、系统分析
签到系统是一个教师管理学生上课的系统,教务综合管理教师学生的系统。
要求完成如下功能:
学生能签到,教师能查询签到情况以帮助教师评分和对学生的管理,教务能管理用户、安排课程、综合监视等功能。
2、功能详细描述及框图
当用户登陆时,选择登陆类型,教师进入教师功能区,学生直接登陆签到区。
其框图大致如下图1-1签到系统功能模块图:
图1-1签到系统功能模块图
3、数据结构设计
对系统数据结构进行设计,建立一个具有良好的数据组织结构的数据库,应遵循的原则有:
尽可能减少数据冗余,重复结构设计和操作设计相结合数据结构,具有相对的稳定性。
由于数据库中所保存的数据是系统中非常重要的资源,所以在数据库设计时一定要注意数据结构的安全性、完整性,并发控制与恢复,而一般的数据库管理系统都提供了一定的数据保护功能。
此签到系统利用MySQL数据库建立了学生信息注册登记表,课程签到安排表,管理员注册信息表,学生签到表4个基本表,其各表与表是独立存在的没有依赖关系。
关于各表的结构如下:
表2-1:
学生信息注册登记表
学生注册登记表(stu)
编号
字段名
字段类型
字段长度
备注
1
s_no
varchar
20
学号
2
s_name
varchar
20
姓名
3
s_class
Varchar
20
班号
4
s_sex
Varchar
20
性别
5
sdept
varchar
20
系别
表2-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
实验室号
表2-3:
管理员注册信息表
管理员注册信息表(login)
编号
字段名
字段类型
字段长度
备注
1
uid
varchar
20
登入用户名
2
pwd
varchar
20
登入密码
表2-4:
学生签到表
学生签到表(qd)
编号
字段名
字段类型
字段长度
备注
1
s_on
varchar
20
学号
2
s_name
varchar
20
姓名
3
s_sex
varchar
20
性别
4
s_dept
varchar
20
系别
5
s_class
varchar
20
班号
4、主要功能逻辑过程和实现算法
学生能签到,教师能查询签到情况以帮助教师评分和对学生的管理,教务能管理用户、安排课程、综合监视等功能根据设计,在进入管理员功能区系统要有一个母版面,该页面上包括教务能管理用户、安排课程、综合监视等功能。
在进入教师功能区系统要有一个母版面,该页面上包括出勤查询,签到查询。
在用户正确输入用户名和密码以后,进入相对应的功能区,可以进行各种操作。
学生签到其实现算法如下:
(1)、签到代码:
<%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%>
<%@pageimport="java.text.SimpleDateFormat"%>
useBeanid="db"class="bean.database"scope="request"/> <% Strings_no=request.getParameter("s_no"); Stringq_jq_no=request.getParameter("q_jq_no"); if(s_no==null||q_jq_no==null) { response.sendRedirect("sign.jsp"); } else { out.print(" Stringsql="insertintoqd(q_s_id,q_s_name,q_s_cl_id,sdept)selects_no,s_name,s_cl_id,sdeptfromstuwheres_no='"+s_no+"'"; inti=db.getupdate(sql); db.close(); if(i! =0) { out.print(" } else { out.print(" } } %> (2)、添加学生信息代码: <%@pagelanguage="java"import="java.sql.*"pageEncoding="gb2312"%> <% if(session.getValue("uid")==null) { response.sendRedirect("login.jsp"); } %> useBeanid="db"class="bean.database"scope="request"/> <% Strings_no=request.getParameter("s_no"); Strings_name=request.getParameter("s_name"); Strings_sex=request.getParameter("s_sex"); Strings_cl_id=request.getParameter("s_cl_id"); Stringsdept=request.getParameter("sdept"); if(s_no==null||s_name==null) { response.sendRedirect("addstu.jsp"); } else { Stringsql="insertintostuvalues('"+s_no+"','"+s_name+"','"+s_sex+"','"+s_cl_id+"','"+sdept+"')"; inti=db.getupdate(sql); db.close(); if(i! =0) { out.print(" } else { out.print(" } } (3)、修改学生信息代码: <%@pagelanguage="java"import="java.sql.*"pageEncoding="gb2312"%> <% if(session.getValue("uid")==null) { response.sendRedirect("login.jsp"); } %> useBeanid="db"class="bean.database"scope="request"/> <% Strings_no=request.getParameter("s_no"); Strings_name=request.getParameter("s_name"); Strings_sex=request.getParameter("s_sex"); Strings_cl_id=request.getParameter("s_cl_id"); Stringsdept=request.getParameter("sdept"); if(s_no==null||s_name==null) { response.sendRedirect("addstu.jsp"); } else { Stringsql="updatestusets_name='"+s_name+"',s_sex='"+s_sex+"',s_cl_id='"+s_cl_id+"',sdept='"+sdept+"'wheres_no="+s_no; inti=db.getupdate(sql); db.close(); if(i! =0) { out.print(" } else { out.print(" } } %> %> 5、界面设计 (1)、签到界面: (2)、用户登录: (3)、查询课程: (5)、添加学生信息: (6)、查看签到信息: 6、系统测试 系统测试是开发周期中一个十分重要而漫长的阶段。 其重要性体现在它是保证质量与可靠性的最后关口,是对整个开发过程包括分析、设计和实现的最终审查。 测试的对象是软件,其目的是找出软件中的错误。 在此过程中对该系统做了大量测试来检查该系统,最后经这么多次测试确定该系统没有问题,可以正常运行。 三、课程设计总结或结论 1、课程设计过程中出现的技术难点和解决方法: 技术难点: 在课程设计过程中出现了这样的技术难点: 在实现实验室使用次数的查询时,不能像其他select语句直接查询,需要用到聚集函数count与GroupBy语句,因为语句可以按课程号分类,将同一实验室的使用次数加起来以实现实验室使用次数的统计。 解决方法使用多表查询实现其作用,然后通过数据连接和数据绑定将实验室使用次数显示出来。 2、课程设计期间的主要收获: 在课程设计期间收获了很多,平时在书中学的知识只是抽象的,通过课程计后得到了真正的实践,能熟练利用各种基本的控件,对各种html语法和对数据库操作有了更深入的理解。 对jsp又有了更深一步了解同时,并对网站开发产生很大的兴趣。 但这次的网上签到管理系统还存在着一定问题,希望在以后的时间里能提高自己,做得越来越好。 3、对今后课程设计的建议 今后希望学校能够多开设一些这方面的课程,让同学们能够有更多的实践机会,把课本的知识灵活的运用。 还应该加强课程设计小组分工的机会,可以锻炼同学们团结工作的能力。 四、致谢 通过本次设计,学到了不少东西。 最重要的是对进行软件设计的整体设计流程及思维方法有了深刻的认识。 在期间,发现的许多问题都源于没有认真的按步骤进行设计,不重视需求分析,总体设计部分,对各方面将会产生的问题考虑不周全。 在设计过程中,使用到基本都是书本中所讲授过的知识,也让我体会到了学以致用的重要性。 由于本人能力有限,在项目设计中考虑的方面难免有所欠缺,也谢谢指导老师的指正和提示! 五、参考文献 [1]王婧,高洪志,巩萃萃.计算机实用基础教程.中国铁道出版社,2007/8 (1): 17-18. [2]2007/9/20 [3]刘展,冯宗宪.M.H.DIS模型在我国上市公司信用评估中的应用研究[J].系统工程理论与实践,2004 (2): 76-82.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 课堂 签到 系统 设计 实现