十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1.引言
创新互联公司是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:成都响应式网站建设公司、品牌网站建设、营销型网站建设。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都网站设计、成都网站建设、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。
目前,我国的高等教育事业蓬勃发展,高校的规模不断扩大,同时,高校的教学改革也在全面推行,学分制在各高校全面启动[1,2]。学分制——允许学生在计划的指导下,根据自己的条件、能力、志趣,有选择地支配自己的学习[3]。因此,学生的选课就成为推行学分制的重要管理任务。以往的选课均是在计划模式下进行:每位教师将所开的课程名称,个人简介,课程限选人数,限选专业等信息交给教务处,教务处再将这些信息统一成册,分发给各个班级班长,由班长将本班的选课情况统计并返回教务处。这是一个相当长的周期,并且耗费大量的人力、物力,对选择结果没有控制。就燕山大学电气工程学院的情况,经常会出现某一门课程限选人数为200人,而实际选课人数超过300人,像这样的情况传统选课模式根本无法解决。针对这些问题,提出一种基于WEB的选课系统,该系统将课程的基本信息录入之后,即可由学生选课,受限制专业的学生将无法选择该课程,同样,选课按照先后顺序,超过限制的人数,也不能选择该课程。该系统在燕山大学电气工程学院使用之后,取得了良好的效果。
2. 选课系统设计
2.1 选课系统功能设计
选课系统功能包括两部分,课程管理部分与学生选课部分,其结构功能图如图1所示:
图1 选课系统功能图
2.2 选课系统结构
图2 系统结构图
系统采用B/W/D三层结构[4],即前端客户机浏览器,中间为Web服务器,后台为SQL数据库。系统机构如图2所示:
第一层为终端客户层,客户机为校园网上的任何一台计算机,没有特殊要求,只需具有网络浏览器即可。学生通过客户机上的浏览器查看相关的选课信息,并进行选课操作,通过TCP/IP协议将操作要求传给服务器,服务器对操作要求进行处理,并将处理结果通过网页告知客户机,完成一次操作交互。
第二层为Web服务器层,操作系统安装Windows 2000 server与IIS,利用IIS将选课软件发布,实际运行时可以选择校园网内的服务器,或者教务部门的服务器,以利于网络流量的分配与系统的维护。Web服务器利用ASP技术实现服务器上数据库中数据信息的动态使用,利用Vbscript、JavaScript和ActiveX控件生成客户端的动态页面,起到客户端与数据库的接口作用。
第三层为数据库服务器,数据库可以与安装在Web服务器上,也可设立单独的服务器存放数据,由具体情况而定。考虑到系统扩展与安全方面的问题,数据库选择为SQL 2000数据库。它支持OLE技术,通过ADO控件方式,可以很容易对他进行操作。
数据库包括四个表,见表1所示。
表1 数据表结构
数据表名 数据内容 字 段 关键字
Jwkuser 管理员信息 姓名,密码 姓名
Xuanxiuke 课程信息 课程编号,课程名称,授课时间,授课教师,学时,学分,教材,可选专业,限选人数,人数下限,课程简介,先修课程,当前人数,出版社 课程编号
Studeng_user 学生信息 学号,姓名,密码,班级,专业 学号
Stu_xuanke 选课结果 学号,课程编号,完成,进行,学分,选课时间, 学号+课程编号
3. 选课系统实现
3.1 系统应用背景
本系统应用在燕山大学校园网上,校园网上共有15个IP段,共计3700多终端,每一届学生都超过4000人,选课时可能会发生网络流量的剧增,所以将系统放置于学校专门的服务器上,保证网络带宽,提高系统的并发处理能力。经实际验证,选课过程开始就出现了网络流量高峰,选课系统未出现异常情况,圆满地完成了选课测试。
3.2 选课系统功能设计
本系统采用两轮选课的方法,选课按照学生提交信息的时间严格排序,即asp将用户信息以表单的方式传给服务器的时间排序,超过限选人数时,则返回选课失败的信息,提示用户重新选择其它课程。对于某些课程选课的学生没有超过人数下限时,将取消本门课程,并公布选这门课程的学生名单,通知其进入二次选课。
本系统采用Dream weaver MX为平台编写相应的ASP、Html、CSS、Inc等文件,其访问关系如图3所示,用户首先通过校园网上其他页面的链接进入本系统的主界面,主界面上包括学生入口与管理员入口。管理员可以将自己的用户名、口令输入并提交表单进行验证。验证通过则进入课程信息管理页,否则进入警告页面,提示用户非法。为提高系统的安全性,防止密码的暴力破解,系统提供5次机会,5次输入错误,则自动锁定管理员入口,并将该用户IP、时间等信息记录。课程信息管理页可以完成六项功能:
1. 学生管理:可以添加、删除、修改学生的基本信息。
2. 添加课程:添加一门课程以供选择
3. 删除课程:删除一门淘汰的课程
4. 修改课程:修改课程的基本信息
5. 查询结果:按照学生的学号查询该生的选课情况、学分情况。按照课程名称查询该课程的选课人数,具体的学生名单,并能完成打印功能。列出所有课程的选课情况。
6. 退出:退出登陆,注销自己的Session。
学生用户可以通过主页面上的学生入口进入,将自己学号、口令输入并提交表单进行验证。同样验证具有和管理员一样的保护措施。验证通过后可以进入学生信息管理页,可以完成如下工作:
图3 主要页面关系图
1. 基本信息浏览:此处信息只供浏览,如有错误,需要向管理员提出申请,由管理员核实后在管理页面进行修改。
2. 密码修改:完成用户密码的修改,以保证用户账户的安全性。
3. 网上选课:进行课程的选择,删除,查看等操作
4. 学分查询:查看该用户已经完成的学分,正在进行的学分,和尚需完成的学分。
5. 退出:退出登陆,注销用户的session,保证用户信息不被他人盗用。
3.3选课系统的安全性设计
由于该系统涉及到学校的管理,数据的安全性尤为重要,本系统设计时对安全性考虑的非常周全。
⑴服务器只能由专门的网络维护人员操作。
⑵系统采用SQL数据库由专门的数据管理员管理,而非系统管理员,即网络维护人员将无法查阅数据库的数据。
⑶系统采用OLE DB的方式调用数据库,具有更快的数据处理能力,并可方便的进行移植。对关键的数据库操作指令,由vb生成的dll库实现,并且对asp源代码进行了加密,使得网络维护人员无法通过查看asp源代码来获得数据库的管理权。
⑷所有用户,包括学生用户与管理员用户,通过Web操作时,都有身份验证,验证通过后,都有自己的session,直到退出登陆,并且,验证出错的次数有限,防止恶意的密码破解。
这样,通过四方面的安全措施,保证了数据的万无一失。在实际运行的两年共四次选课过程中,未出现任何数据被破坏或被修改的现象。
4.结论
选课工作将成为高校教务管理的一个主要任务,改变原有的人工选课方式,采用网络选课势在必行。本文针对燕山大学的具体情况,设计了基于ASP与SQL数据库的选课系统,在使用的两年时间里,未出现安全漏洞及网络瘫痪问题,圆满地完成了选课任务,取得了良好的效果。
Abstract: with the development of science and technology, the network resource utilization in all has matures, the most obvious in management platform is enterprise or business the unit on the application of intelligent arrangement system. University of school strengthen courses arranging management plays an important role. As a result of each university in the number of students has sustained enlargement of an increasingly large, the traditional manual courses arranging management not only, and prone to big workload. In addition, students' scores should use all aspects of school educational administration management, so once students courses arranging management appeared error, the consequences are often very serious. The traditional manual students courses arranging management, management and execution process trival and complex and easy to low efficiency, wrong. Through this system, we can do the standardized management and rapid information query, realized intelligent courses arranging management of the systematic, standardization and automation, such not only reduced the management workload, but also improves the management efficiency and reduce the cost of management.
This paper mainly introduced system analysis, design and development entire process. By using the data flow graph, ER diagrams, program flow chart of system design process such as for detailed instructions. Full text is divided into preface, requirement analysis, system design, development technology, key technology to solve, conclusion six parts. System adopts B/S developing mode, selection of development tools JAVA, JSP, JavaScript, Html, using Tomcat Server technology, backend database choose SQL Server 2000.
Keywords: JSP, JAVA, SQL Server 2000 database, B/S model
!DOCTYPE html
html
head
meta charset="UTF-8"
title/title
style
body,html{
margin: 20px 50px;
}
.title2{
color: blueviolet;
}
.table th,td{
text-align: center;
}
/style
link href="" rel="stylesheet"
script src=""/script
script src="vue.js" type="text/javascript" charset="utf-8"/script
script src=""/script
/head
body
h1信息管理系统/h1
div id="box"
div class="form-group"
label for="user"姓名/label
input type="text" class="form-control" id="user" placeholder="请输入姓名" v-model='user'
/div
div class="form-group"
label for="age"年龄/label
input type="text" class="form-control" id="age" placeholder="请输入年龄" v-model='age'
/div
div class="form-group"
label for=""职位/label
select class="form-control" class="zhiwei" v-model='zhiwei'
optionios工程师/option
optionh5工程师/option
optionjava工程师/option
optionUI设计师/option
/select
/div
div class="form-group"
label for="sex"性别/label
input type="radio" class="sex" name="inlineRadioOptions" id="inlineRadio1" value="男" v-model='sex' 男
input type="radio" class="sex" name="inlineRadioOptions" id="inlineRadio1" value="女" v-model='sex' 女
/div
button class="btn btn-success" @click='add()'添加/button
button class="btn btn-danger" @click="chongzhi()"重置/button
h3 class="title2"用户信息表/h3
table class="table table-bordered"
tr
th序号/th
th姓名/th
th信息/th
th操作/th
th操作/th
/tr
tr v-for="(item,i) in arr"
td{{i}}/td
td{{item.user}}/td
tdbutton class="btn btn-success " type="button" data-toggle="modal" data-target="#myModal" @click='detail(i)'查看/button/td
tdbutton class="btn btn-success" @click='del(i)'删除/button/td
tdbutton class="btn btn-success" @click='update(i)'修改/button/td
/tr
/table
!-- Modal --
div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
div class="modal-dialog" role="document"
div class="modal-content"
div class="modal-header"
button type="button" class="close" data-dismiss="modal" aria-label="Close"span aria-hidden="true"times;/span/button
h4 class="modal-title" id="myModalLabel"详情/h4
/div
div class="modal-body"
ul
li姓名:{{user}}/li
li年龄:{{age}}/li
li职位:{{zhiwei}}/li
li性别:{{sex}}/li
/ul
/div
div class="modal-footer"
button type="button" class="btn btn-default" data-dismiss="modal"关闭/button
button type="button" class="btn btn-primary"确定/button
/div
/div
/div
/div
/div
/body
script type="text/javascript"
var vm = new Vue({
el:"#box",
data:{
user:'',
age:'',
zhiwei:'',
sex:'',
arr:[]
},
methods:{
add(){
this.arr.push({
user:this.user,
age:this.age,
sex:this.sex,
zhiwei:this.zhiwei
})
this.user = '';
this.age = '';
this.zhiwei = '';
this.sex='';
},
del(i){
this.arr.splice(i,1)
},
chongzhi(){
this.user = '';
this.age = '';
this.zhiwei = '';
this.sex = "";
},
detail(i){
this.user = this.arr[i].user
this.age = this.arr[i].age
this.zhiwei = this.arr[i].zhiwei
this.sex = this.arr[i].sex
},
update(i){
this.arr[i].user = prompt('请修改名字')
this.arr[i].age = prompt(' 请修改年龄')
this.arr[i].zhiwei = prompt('请修改职位')
this.arr[i].sex = prompt(' 请修改性别')
//console.log(prompt(' 修改名字'))
}
}
})
/script
/html
不要这样!您很优秀!只是现在在钻牛角尖了~~~您现在还年轻,先不要着急那么快订下自己的专长,其实等你做了一段时间后,无论是研究,还是工作,你都会自然而然的发现自己较感兴趣,或是较为擅长的一项,但是,即使没有也没关系啊,到了工作岗位,领导自会给你安排一个工作的,而且特殊时候,或许还会让你发挥你的才干,能挑起很多担子呢!不要让知识能力成为你的负担或是捆绑,他们应是你的借力是你的跳板是你的凭借啊,你可以做很多你想做的事的~~千万别钻牛角尖啊,会埋没天才的~~~
3.2.1 用户信息管理
用户是权限的拥有者或主体。用户和权限实现分离,通过授权管理进行绑定。用户信息管理主要提供教务管理平台相关使用人员的信息的管理,包括添加,删除,修改等相关操作。
3.2.2 角色信息管理
角色是权利和责任的标识,角色信息管理主要提供教务管理平台相关使用人员所属角色信息的管理,包括添加,删除,修改等相关操作。角色和权限管理起来后,就拥有了一定的资源操作权力。
3.2.3 资源管理
资源管理主要提供教务管理平台中各个功能模块可访问资源的管理,包括各种资源相关权限的添加,删除,修改等相关操作。资源包括各种操作和可访问的页面等。
3.2.4 用户角色分配
实现用户和角色之间的关联关系映射。
在用户信息列表中,选择要分配角色的用户,单击列表中的用户名,进入分配角色页面所示的窗口。
在为用户分配角色的窗口中,主要是通过职能范围来确定用户的权限。每一个用户在每一个职能范围中均有一个默认的角色,并可以浏览该职能域中密级为“公开”的数据元。
为用户分配角色主要就是修改选定的用户在每一个职能范围中的角色,以及在每个职能范围中可以操作的数据元的密级。
3.2.5 角色权限分配
实现权限操作和角色之间的关联关系映射。角色描述用户的职能,权限是可访问资源的标识,给指定的角色分配权限,使角色具有了真正意义上的职能范围。
3.2.6 权限操作
完成资源和权限之间的绑定。可访问的资源或操作需要一个标识来标明,权限用通俗的语言来描述这种可用操作。例如用户查看某个列表,“查看”就代表了权限,而“列表“就是资源。
3.2.7 日志管理
日志是每个系统必不可少的东西,教务平台中用户的登陆信息,操作信息或异常信息都需要保存,以方便管理员的调用。日志管理主要完成对系统相关各种日志的记录和管理,将信息持久化保存。
3.2.8 异常处理
异常处理是每个系统必备的,自定义异常有助于把系统的错误信息按照自己定义的方式来处理,教务平台中把异常信息的保存进日志系统中,方便系统管理员查看,以及时修补系统存在的问题。。
3.2.9 基础公共类库
完成相关系统基本类库的设计。涉及到数据库操作,相关javascript操作,字符串过滤和编码解码,分页等。这类方法通常具有一般的通用性,以方便教务平台各模块的调用。
3.3 非功能需求
3.3.1 包容性和可扩展性
系统应具有较好的可扩展性和包容性。系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的投资。特别是在应用需求变化时(应用与系统的需求往往提不全或者经常会变化),有一个较好的应用平台,能容易地加以调整。系统易于扩充升级,既能满足当前业务的需求,又为今后的扩充留有空间。
3.3.2 系统简洁,易使用、易维护、适用非计算机专业人员使用
系统的设计需要考虑用户的计算机水平,做到简单易用,没有计算机专业背景的用户也可以轻松的使用本系统完成复杂的排课工作。
3.3.3 充分保护数据的一致性
权限系统中的用户,角色,权限,资源等多种信息。各信息存在着一定的关联关系。权限系统所使用的信息需要数据的高度一致,因此,非常有必要在设计时将数据的一致性作为一个重点来考虑。
3.3.4 采用先进成熟的技术,建立实用可靠的系统
本系统的建设目标是否能实现,系统整个投资能否发挥应有的效益,最终将取决于该系统是否可靠实用。为此,系统应采用成熟可靠的技术,应贯彻产品化的设计原则和实施方法。同时,系统的起点要高,而不是基于淘汰的技术,系统的建立应适应未来技术发展的趋势。
3.4 数据库设计
根据需求分析中的各种模块,设计了如下的数据库。
�8�5 用户表 Accounts_Users用来存储系统用户。表的字段说明如表1所示。
表1 Accounts_Users(用户表)
序号 列名 数据类型 长度 标识 主键 允许空 字段说明
1 UserID int 4 √ √ 用户ID
2 UserName varchar 50 用户名
3 Password binary 20 密码
4 TrueName varchar 50 √ 真实姓名
5 Sex char 2 √ 性别
6 Phone varchar 20 √ 电话
7 Email varchar 100 √ 邮箱
8 Activity bit 1 √ 是否激活
9 Style int 4 √ 页面风格
�8�5 用户角色表(Account_UserRoles) ,主要用于对应某用户和所属角色的对应关系,字段说明如表2所示。
表2 Accounts_UserRoles
序号 列名 数据类型 长度 标识 主键 允许空 字段说明
1 UserID Int 4 √ 用户ID
教务管理平台-权限及公共模块设计与开发
摘 要
随着教育改革的不断深化,高等院校的建设与发展对国民整体素质的提高起着越来越重要的作用,建立一套能够适应这些改变的行政管理方案也就显得尤为重要。对于教务处来说,将信息技术用于校务管理中便是迫切的要求。
教务系统中的用户数量众多,需要具有不同的权限,以实现不同的应用。本论文介绍了开发背景,开发平台,并基于需求分析实现了教务管理平台中基于角色控制的权限系统(RBAC)及公共模块的设计与开发。RBAC实现了用户与访问权限的逻辑分离,更符合教务平台的用户、数据和应用特征;在公共模块中实现了系统通用的日志管理,异常处理,常用类库方法等。通过设计和应用本系统,有效的解决了教务平台中关于用户管理与权限操作等方面的问题,为系统公共模块的实现打下坚实的基础。通过较为详尽的功能测试,表明本文的设计内容具有一定的通用性,可用于需要动态分配权限与角色的管理系统中。