毕业设计班主任管理系统设计与实践论文Word文档下载推荐.docx
《毕业设计班主任管理系统设计与实践论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《毕业设计班主任管理系统设计与实践论文Word文档下载推荐.docx(38页珍藏版)》请在冰豆网上搜索。
本论文主要研究JSP技术以及JSP技术实现基于Web的三层体系结构的应用,实现了动态网页对数据库的查询、统计、更新等功能。
目的是应用计算机网络、数据库、Internet技术、以Tomcat为服务器,JSP、JAVA作为主要开发工具,实现跨平台、跨网络、统一界面、易于扩展和维护的大红鹰班主任管理系统。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着Windows98/Windows2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。
前者的特点是安全、快捷、准确。
后者则具有节省投资、跨地域广的优点。
须视企业规模和地理分布确定。
企业内部通过防火墙接入Internet,再整个网络采用TCP/IP协议。
图1-1网络结构图
C/S与B/S区别:
Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的。
1.硬件环境不同:
C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统和浏览器就行2.对安全要求不同C/S一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息.B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群.3.对程序架构不同C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统.SUN和IBM推的JavaBean构件技术等,使B/S更加成熟.4.软件重用不同C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子5.系统维护不同系统维护是软件生存周期中,开销大,-------重要C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统B/S构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.6.处理问题不同C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关.应该都是相同的系统B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的.与操作系统平台关系最小.7.用户接口不同C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流.并且大部分难度减低,减低开发成本.8.信息流不同C/S程序一般是典型的中央集权的机械式处理,交互性相对低B/S信息流向可变化,B-BB-CB-G等信息、流向的变化,更象交易中心。
JSP是JavaServerPages的简写。
JSP技术能让Web开发员和网页设计员快速地开发容易维护的动态Web主页。
用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源(例如JavaBesns)的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP技术是Servlet技术的扩展。
Servlet是平台无关的,100%纯Java的Java服务端组件。
第二章班主任管理系统的设计和实现
2.1班主任管理系统的设计
班主任管理系统总的目的在于方便班主任对班级的管理,同时也提高了学生处对各个班级的评比和对班主任事务的评估与考核,为领导提供辅助决策支持,提高决策的科学性。
建立学校数据库,在日常工作中自动生成数据,简化上报过程,提高办事效率。
2.1.1系统框架
班主任管理系统是学校信息系统的一个子系统,相应的系统框架图见图2-1:
暂时还不存在的子系统
已有的子系统
班主任管理子系统
班主任管理子系统中的模块
图2-1系统框架图
说明:
班主任管理子系统和教务处、宿管科、学生处都有数据交互。
1)学生基本信息表单来自教务处中的数据库。
大红鹰学院的教务系统是万方系统,它所使用的数据库是ORACLE的。
2)积分考核管理、班主任日常事务管理、用户权限设置这一模块和学生处相连。
3)班主任事务管理、积分考核管理与宿管科相连。
2.1.2系统使用部门
班主任管理系统是一个非常实用的系统,在学院里面使用它的部门主要是:
学生处、宿管科和班级学生、学生家长以及相应班主任。
学生处每天对各班进行各种检查,针对不同的情况对相应班级的千分制进行增减,每月对所有班级千分制排名,并且以此作为班主任当月工作考核内容之一。
每月学生处根据本系统检查班主任日常事务,这也是班主任每月考核内容之一。
宿管科管理学生寝室住宿,有权对班级成员因住宿方面的情况进行个人方面千分制的增减。
每次班主任下寝室,都由宿管科登记。
班级的普通学生可以查看自己的基本信息,查看自己班级以及本人的千分制情况,可以在留言板里发布信息;
班委除了拥有班级普通学生的权限以外,还可以根据班级成员的具体情况对班级成员的千分制进行相应增扣,查看其他班级成员信息;
班主任可以修改班级成员的千分制,对班主任日常事务管理这一块进行相应数据录入。
学生家长可以用自己子女的用户名、密码登入系统,并且可以在留言板留言。
2.1.3系统使用者
班主任管理系统主要工作是方便班主任的日常工作,并且对班主任工作进行定性定量考核的考核,系统使用者有:
学生处管理者:
对班级千分制进行查询、修改;
对班主任工作进行查询。
宿管科管理者:
对班级成员千分制进行增扣的录入;
对班主任下寝室时间与寝室号码的录入。
班主任:
对班级千分制和班级成员千分制的录入、查询、修改;
对班级成员信息的查询;
对班主任日常事务的相关录入;
留言板上留言。
班委:
对班级成员千分制的录入;
对班级千分制的查询;
普通学生、学生家长:
对本人或子女千分制的查询,班级千分制的查询,留言板留言。
2.1.4系统功能划分与描述
班主任管理系统分为学生基本信息管理、积分考核管理、班主任日常事务管理、用户权限设置管理、登入登出管理和消息公布留言板六个模块。
学生基本信息管理:
这个模块中的数据是教务处的方正教务系统中的数据,在我们这个班主任管理系统中没有修改权限,但是可以供班委、班主任、学生处查询。
积分考核管理:
这个模块是我们这个系统的一个重点模块,班主任定性定量考核班委、学生处考核班主任、班级优劣排名都是在这个模块进行。
班主任日常事务管理:
这个模块是考核班主任所有任务完成与否的一个模块,通过这个模块可以督促班主任和学生、学生家长之间的联系;
班主任可以通过这个模块了解自己的工作进程;
同时,这个模块也是学生处对班主任工作考核的依据之一。
这个模块只能班主任和学生处可以看到。
用户权限设置:
可以设置用户的权限,分为:
只读、增加和修改权限。
只读权限权限最低,除了查看之外没有任何别的权限。
增加权限可以输入数据,比如班级和个人千分制的输入,但是不能进行修改。
修改权限权限最高,除了读写外,还可以修改数据。
登入登出管理:
形成一个日志文件,从该模块可以知道进入该模块的人和时间。
消息公布留言板模块:
这个模块实际上是一个班级的BBS,所有同学都可以在上面留言,留言上面的名字显示是登入班主任管理系统的名字,可以规范留言。
班级有什么事情,及时在这里发布。
学生有什么意见或建议,又不愿意和老师沟通的,可以在这里发表。
同时,学生家长也可以通过这个模块知道班级或学校动态,并且可以发表言论。
这个模块是学生、家长和老师的一个沟通平台。
2.2班主任管理系统的部分实现
班主任管理系统的实现是在我们毕业实践小组的共同努力下完成的,我所作的工作是:
管理及协助小组成员如期的完成实践项目。
为此在首先的几天中完成了人员的分工调度,并对整个系统做初步的分析,以搭建出初步的框架,好为以后的项目规划奠定一定的基础。
为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,因此我编写了一份项目计划书,把对于在项目生命周期内的工作任务范围、各项工作的任务分解等内容做出的安排以书面的方式,作为项目团队成员以及项目干系人之间的共识与约定,项目生命周期内的所有项目活动的行动基础,项目团队开展和检查项目工作的依据。
在下一个阶段中主要将实训的项目详细的从整体到部分,从横面到切面详细的通过OO思想分析了一下,编写出了项目详细设计书,以将各个模块的需求及如何实现手段及方法作出了详细的设计说明。
与此同时数据库设计方面及界面设计方面的工作也随之同步进行。
登入登出功能部分:
相应的登录界面图见图2-2:
图2-2登录界面图
登录功能应用是表现:
一个用户通过浏览器访问一个页面。
Web应用展现一个登陆页面要求用户输入有效的验证信息。
用户输入了用户名和密码。
此时我们假设用户提供的身份验证信息是正确的,经过了验证过程,Web应用允许用户浏览他有权访问的区域。
用户想退出时,点击退出按钮,Web应用要求用户确认他是否则真的需要退出,如果用户确定退出,Session结束,Web应用重新定位到登陆页面。
用户可以放心的离开而不用担心他的信息会泄露。
如下是相关演示业务逻辑代码:
//...
Stringaction=request.getParameter("
action"
);
//登陆
if(action.equals("
login"
)){
logIn(request,response);
}
//登出
logout"
logOut(request,response);
privatevoidlogIn(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
HttpSessionsession=request.getSession();
Stringtype=getString(request.getParameter("
type"
));
Stringusername=getString(request.getParameter("
username"
Stringpassword=getString(request.getParameter("
password"
session.setAttribute("
name"
rs1.getString
(1));
//存放用户姓名
class"
rs1.getString
(2));
//存放用户所属班级
rs1.getString(3));
//存放用户类型
}
privatevoidlogOut(HttpServletRequestrequest,HttpServletResponseresponse)
session=request.getSession();
session.invalidate();
response.sendRedirect("
Templates/index.jsp"
通过示例程序,阐述了在一个Web应用中实现这一功能。
用户登录是分类型登录的,不同的用户类型拥有不同的权限,对系统有不同的操作结果。
具体权限如下:
验证模块
控制模块
调用模块
插入模块
用户登录
√
日志管理
事物管理
权限管理
学生信息查询
学生信息添加
学生信息修改
学生信息删除
数据修改子模块
数据删除子模块
数据查询子模块
数据反馈模块
表2-1权限分类图
若非认证用户以非法用户名登录不同类别用户,则生成相应错误信息,相应的错误信息图见图12-3:
图2-3错误信息图1
当然系统也提供对合法用户在输入错误的信息时做出响应的友好的报错信息,相应的错误信息图见图2-4:
图2-4错误信息图2
登入系统过程后所产生的系统显示也有所不同,按照默认系统登入类别分为:
教师,班委,学生3种类型。
相应的登陆信息图1图2图3见图2-52-62-7
图2-5登陆信息图1图2-6登陆信息图2
图2-7登陆信息图3
安全认证机制普遍采用的方法是从form中获得用户输入的认证信息,然后到LDAP(lightweightdirectoryaccessprotocol)或关系数据库的安全域中进行认证。
如果用户提供的认证信息是有效的,登陆动作往HttpSession对象中注入某个对象。
HttpSession存在着注入的对象则表示用户已经登陆。
演示相关代码如下:
privatevoidlogIn(HttpServletRequestrequest,HttpServletResponseresponse)
...
//创建SESSION对象
JFBeanjf=newJFBean();
//桥接
try{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
}catch(ClassNotFoundExceptionen){
en.printStackTrace();
con=DriverManager.getConnection("
jdbc:
odbc:
bysj"
"
sa"
"
sql=con.createStatement();
//教师登陆
if(type.equals("
teacher"
...
session.setAttribute("
islog"
yes"
ResultSetrs1=sql.executeQuery(condition1);
rs1.next();
response.sendRedirect("
}else{
error"
用户名或密码错误,请重新输入!
response.sendRedirect("
}
}
//学生登陆
student"
)){
//班委登陆
monitor"
退出动作就包含了简单的删除用户名以及对用户的HttpSession对象调用invalidate()方法。
清单2是从servlet中节选的一段代码以此阐述退出动作:
Listing2
session=request.getSession();
session.invalidate();
response.sendRedirect("
系统登录日志部分:
相应的日志管理界面图见图2-8:
图2-8日志管理界面图
系统会保存每个用户的登录记录,这些信息包括这个用户的名字、登录起始结束时间以及从何处登录入系统的等等。
它们被保存到数据库文件的表中。
Rzjl表中保存了所有的登录、退出信息,