本科毕业设计
(文献综述)
题 目 基于Android平台的学生点名系统的
设计与实现
姓 名
专 业 计算机科学与技术(嵌入式)
学 号
指导教师
郑州科技学院信息工程学院
二〇一四年三月
基于Android平台的学生点名系统的设计与实现
一 引言
在高校自动化办公系统逐步普及的今天,其C/S或B/S的应用系统已遍地而飞。这种方式不仅省钱、省事、便捷、好用,而且使得老师不在需要花大工夫,每天都带点名册,节约了时间,提高了效率。同时也使师生有一个更好的交流平台,学生也可通过该系统去查询自己这个学期的到课情况。本点名系统是为学校扩展自动化办公系统而开发的软件,
二 系统分析
总的系统规划:如下图2-1所示:
1. 可行性研究
对于可行性研究,我主要从三个方面来考虑
技术可行性 通过一段时间的思考,我认为JSP开发B/S(Browse/server浏览器/服务器)结构的系统进行教师无纸化办公,用这一种技术是可行的,因为它可以依靠比较安全的LINUX系统进行服务器架设,也可以用WINDOWS系统进行架设。即实现了跨平台的一种技术,又实现了教师无纸化办公。
经济可行性 随着高科技的发展,现在相对出现了各种OA办公自动化,网络也越来越普遍,而通过这种网络化办公的系统也越来越多,如果这个教师OA系统进行投入使用,那可是相当多的学校都可以进行使用该系统,显而易见也看到了它的经济可观性。
操作可行性 它有方便的后台管理,进行相关信息的增删改,而班主任,教师,学生,可以在网络中的任何一台主机进行查看信息,进行办公。
2. 需求分析
主要从以下几点进行分析:
(1)可靠行和可用性需求分析:
在当今计算机普及与急剧增长的状况下,其C/S或B/S的应用系统已遍地而飞。而在实际情况的考察下,学校也应该实施一些高效率的软件,使用不仅省钱,省事,而且便捷,好用,使得老师不在需要花大工夫,也不需要每天都带点名单,效率大大的提高,同时也使的大家有一个更好的交流平台,学生也可通过网上去查询自己的这个学期的情况。通过一些网上调查,很多企业已经开始实施使用网上OA操作系统,但教师OA操作系统不常见。社会还没有一款为学校而开发的这种便捷的软件,我相信它也将是未来的发展趋势。
(2)功能需求分析:
系统功能概括为以下几点:
1) 通过该系统,学生可以查询自己的成绩,以及查询自己的点名情况,请假情况,也可以进行发表留言,进行在线聊天等。
2) 请假功能,其主要是学生向班主任请假,再由班主任在B/S系统上进行网上登记。
3) 点名功能,主要是代课教师在上课之前,可先登陆此系统,查看无法上课的学生,避免点名错误。
4) 留言功能,主要是由学生、班主任、代课老师进行发表留言,然后再由它人进行回复该留言
5) 修改密码:所有该系统用户可以根据自己的旧密码进行修改密码
6) 后台管理功能,每个管理员可以进行后台管理,进行学生、班级、教师等信息的添加和删除。
7) 通过此系统,可以进行每学期累积,真正实现网上办公,无纸化操作。
(3)对系统进行数据库建模E-R图如图2-2:
学生,教师可以通过登录进行留言结构如图2-3:
学生,班级,点名,请假,教师表结构如图2-4:
3.UML建模分析
(1) 系统总操作及其成员如图2-5:
(2) 班主任主要操作如图2-6:
(3) 学生主要操作如下如图2-7:
(4) 代课教师所执行的操作如图2-8:
(5) 管理员所执行的操作如图2-9:
(6) 教师、学生的点名流程时序图如图2-10:
(7) 学生向班主任请假协作图如图2-11所示:
(8) 学生向班主任请假流程如图2-12所示:
三 系统设计
本系统设计主要从两个方面进行设计,前台和后台。前台页面主要是通过DREAMWEAVEAR PHOTOSHOP进行页面设计登录、主页、聊天、留言、点名、请假等,后台程序主要是通过JAVA程序进行访问数据库,进行增删改用户信息、留言管理、班级信息等操作。其系统结构如图3-1:
1.后台数据库访问模块
本系统主要通过一个JAVABEAN进行数据库的访问,进行SELECT,UPDATE,DELETE操作。其所有JSP页主要通过以下JAVA代码进行数据库操作其代码如下
package beans;
import java.io.PrintStream;
import java.sql.*;
public class connDB
{
Connection conn;
Statement stmt;
ResultSet rs;
public connDB()
{conn = null;
stmt = null;
rs = null;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(ClassNotFoundException classnotfoundexception)
{
System.err.println(classnotfoundexception.getMessage());
}}
public ResultSet executeQuery(String s)
{
try
{
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_xsglxt;user=sa; ");
stmt = conn.createStatement(1004, 1007);
rs = stmt.executeQuery(s);
}catch(SQLException sqlexception)
{
System.err.println(sqlexception.getMessage());
}
return rs;
}
public int executeUpdate(String s)
{
int i = 0;
try
{
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_xsglxt;user=sa;");
stmt = conn.createStatement(1004, 1007);
i = stmt.executeUpdate(s);
}
catch(SQLException sqlexception)
{
i = 0;
}
return i;
}
}
2. 前台登录模块
前台登录主要通过自己的用户名、密码进行登录,来进行相关的访问操作,其登录界面如图3-2
其主要代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="connBean" scope="page" class="beans.connDB"/>
<%
String username=request.getParameter("username");
String password=request.getParameter("password");
String select=request.getParameter("select");
//out.println(username+password+select);
if(select.equals("student"))
{
ResultSet rs=connBean.executeQuery("select * from student where sno='"+username+"'" );
if (rs.next()){
String rsPWD=rs.getString("password");
if(password.equals(rsPWD))
{
//request.getRequestDispatcher("main.htm");
%>
<script language="javascript">
window.location.href='index1.jsp';
</script>
<%
session.setAttribute( "uname",username);
session.setAttribute( "tablename",select);
}else{%>
<script language="javascript">
alert("您输入的密码不正确,请重新输入!");
history.back();
</script>
<%
}
}else{ %>
<script language="javascript">
alert("您输入的学号不正确,请重新输入!");
history.back();
</script>
<%}
}
else if (select.equals("teacher"))
{
ResultSet rs=connBean.executeQuery("select * from teache where id='"+username+"'and yn='n'");
if (rs.next()){
String rsPWD=rs.getString("password");
if(password.equals(rsPWD)){%>
<script language="javascript">
window.location.href='index1.jsp';
</script>
<%
session.setAttribute( "uname",username);
session.setAttribute( "tablename",select);
}else{%>
<script language="javascript">
alert("您输入的密码不正确,请重新输入!");
history.back();
</script>
<%
}
}else{ %>
<script language="javascript">
alert("您输入的教师ID不正确,请重新输入!");
history.back();
</script>
<%}
}else if (select.equals("teacher1"))
{
ResultSet rs=connBean.executeQuery("select * from teache where id='"+username+"'and yn='y'");
if (rs.next()){
String rsPWD=rs.getString("password");
if(password.equals(rsPWD)){%>
<script language="javascript">
window.location.href='index1.jsp';
</script>
<%
session.setAttribute( "uname",username);
session.setAttribute( "tablename",select);
}else{%>
<script language="javascript">
alert("您输入的密码不正确,请重新输入!");
history.back();
</script>
<%
}
}else{ %>
<script language="javascript">
alert("您输入的班主任ID不正确,请重新输入!");
history.back();
</script>
<%}
}
%>
(其它主要页面的代码也类同如上,再此省略)
3. 请假模块:
当学生在需要请假的时候,可以去向班主任请假,让后由班主任进行登录,并进入到请假模块,进行学生请假登记,通过该页班主任可以填加要请假的学号,病因,选择请假时间,并选择请假天数,最后由教师ID进行审核。
4. 点名模块
点名模块,主要是代课教师进行点名时要进行的操作,其主要功能就是,教师在要点名时,先登录到页面,然后进入点名页面,教师可以进行选择班级进行,选出所在班级的学生,并在左下角列出请假的学生,然后由代课教师根据请假,及其名单对照进行点名。其页面如图3-4所示:
5.
聊天,留言,修改密码等模块
班主任,代课教师,以及学生都可以在登录之后,进行聊天,留言,修改自己的密码,在使用完之后可以点击注销进行用户注销。
6. 查询模块
查询模块主要有两种学生查询及教师查询,
(1) 学生登录后可以查询自己的学生成绩,及其点名情况等,
(2) 教师登录后可以查询今天点名的记录,也可以查询历史记录 ,以及请假信息。
7. 后台用户等信息管理模块
在该模块,可以由管理员进行学生,教师,班级等信息添加,删除,进行留言、点名、请假等的管理
8. 数据库建表
以下为主要的数据库表图
四 系统实施
1.先组建校园网络,如图4-1所示
2. 硬件配置
客户端计算机:普通计算机,装有IE5.0以上浏览器。
计算机中心的服务器:要有足够大的硬盘,内存较高,CPU至少是奔四以上。
3.软件运行环境
计算机中心安装WINDOWS平台以SQLSERVER2000为后台数据库(必须装SP3升级包)。(或LINUX平台以MYSQL为数据库).
安装TOMCATE服务器。
安装JAVAJDK1.5.0.
注意: javaJDK1.5.0环境变量的设置 path,以及CLASSPATH;
tomcat 中要设置JAVA—HOME(指定到JAVAJDK根目录),以及tomcat(指定到TOMCAT根目录)
以下是XP上的设置环境变量的步骤:我的电脑——右击——属性——单击最上边的高级——单击环境变量出现如下图4-2所示,便可进行设置以上环境变量。
五 结语
通过本次毕业设计,使我懂得了怎样去完成一套B/S结构的软件,不仅使自己增强了动手操作能力,而且为以后的就业奠定了基础。由于时间仓促,可能有些不足之处,还待进一步完善。
参考文献
[1]吴键 郑潮 汪杰。UML基础与ROSE建模案例。人名邮电出版社。2004年10月。
[2]张海藩。软件工程导论。清华大学出版社。2003年12月第4版。
[3]蔡翠平 唐大仕。JAVA程序设计。清华大学出版社 北京交通大学出版社。2003年4月第1版。
[4]萨师煊 王珊。数据库系统概论。高等教育出版社。2000年2月第三版。
[5]明日科技 王国浑 李文立。JSP数据库系统开发完全手册。人民邮电出版社。2006年3月第1版。