班主任管理系统的设计
班主任管理系统总的目的在于方便班主任对班级的管理,同时也提高了学生处对各个班级的评比和对班主任事务的评估与考核,为领导提供辅助决策支持,提高决策的科学性。建立学校数据库,在日常工作中自动生成数据,简化上报过程,提高办事效率。
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应用重新定位到登陆页面。用户可以放心的离开而不用担心他的信息会泄露。如下是相关演示业务逻辑代码:
//...
String action = request.getParameter("action");
//登陆
if (action.equals("login")) {
logIn(request, response);
}
//登出
if (action.equals("logout")) {
logOut(request, response);
}
private void logIn(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
String type = getString(request.getParameter("type"));
String username = getString(request.getParameter("username"));
String password = getString(request.getParameter("password"));
session.setAttribute("name", rs1.getString(1));//存放用户姓名
session.setAttribute("class", rs1.getString(2));//存放用户所属班级
session.setAttribute("type", rs1.getString(3));//存放用户类型
}
private void logOut(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
session = request.getSession();
session.invalidate();
response.sendRedirect("Templates/index.jsp");
}
//...
通过示例程序,阐述了在一个Web应用中实现这一功能。
用户登录是分类型登录的,不同的用户类型拥有不同的权限,对系统有不同的操作结果。
具体权限如下:
|
验证模块 |
控制模块 |
调用模块 |
插入模块 |
用户登录 |
√ |
|
|
|
日志管理 |
|
|
√ |
√ |
事物管理 |
|
√ |
|
|
权限管理 |
|
√ |
|
|
学生信息查询 |
|
√ |
|
|
学生信息添加 |
|
√ |
|
√ |
学生信息修改 |
|
√ |
|
|
学生信息删除 |
|
√ |
|
|
|
|
|
|
|
|
数据修改子模块 |
数据删除子模块 |
数据查询子模块 |
数据反馈模块 |
用户登录 |
|
|
|
|
日志管理 |
|
|
√ |
√ |
事物管理 |
√ |
|
|
√ |
权限管理 |
√ |
|
|
√ |
学生信息查询 |
|
|
√ |
√ |
学生信息添加 |
|
|
|
√ |
学生信息修改 |
|
|
|
√ |
学生信息删除 |
|
√ |
|
√ |
表2-1权限分类图
若非认证用户以非法用户名登录不同类别用户,则生成相应错误信息,相应的错误信息图见图1 2-3:
图2-3错误信息图1
当然系统也提供对合法用户在输入错误的信息时做出响应的友好的报错信息,相应的错误信息图见图2-4:
图2-4错误信息图2
登入系统过程后所产生的系统显示也有所不同,按照默认系统登入类别分为:教师,班委,学生3种类型。相应的登陆信息图1图2图3见图2-5 2-6 2-7
图2-7 登陆信息图3