基于BS模式下学生信息管理系统的方案设计书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
‘摘要:学生信息管理系统作为一种信息管理软件,既可以帮助各管理部门快速有效地完成各种信息录入、查询和修改的计算机管理,又可以对部门信息进行简单地分析。
本文首先分析了信息管理系统的发展趋势及其特点以及B/S模式的特点,然后介绍了基于B/S模式的信息管理系统的设计思想,并给出了相应实现技术。
联系ASP(Active Server Page)技术,它的开发及应用为信息提供了灵活、方便的管理机制。
关键词:管理信息系统(MIS) 数据库 ASP B/S模式
一、B/S模式
1.1 B/S模式应用系统的原理
B/S模式应用系统由浏览器(Browser)和服务器(Web Server、Other Server、Middle Ware)组成,数据(Data)和应用程序(App)都存放在服务器上,浏览器的功能可以通过下载服务器上应用程序得到动态扩展,服务器具有多层结构,B/S系统处理的数据类型可以动态扩展。
以B/S模式开发的系统维护工作集中在服务器上,客户端不用维护,操作风格比较一致,只要有浏览器的合法用户都可以十分容易地使用。
1.2 B/S模式应用系统的特点
随着计算机网络技术,特别是Internet技术的迅速发展,基于浏览器/服务器(Browser/Server)模式的计算环境为越来越多的应用系统所采用。
B/S模式的主要的特点在于应用系统开发人员无需开发自己的客户端软件,而统一采用浏
览器来实现客户端与服务器的交互。
采用这种胖服务器,瘦客户端的运行模式,主要的命令执行、数据计算都在服务器完成,应用程序在服务器安装,客户机不用安装应用程序,所有日常办公操作可通过免费的浏览器来完成。
采用这种B/S结构,大大的减轻了系统管理员的工作量,而且这种方式对前端的用户数没有限制,任何部门可进行公开发布信息,即使是异地的用户也可通过浏览器进行查询。
B/S模式具有跨平台的特点,给系统的开发和使用带来了方便2。
同时,B/S模式的另一个优点在于,当需要对应用系统进行升级时,只需对服务器端的应用程序进行升级。
在本系统中,采用B/S模式来实现各分销点对公司总部的数据库的操作。
1.3 B/S结构与C/S结构应用程序的比较
B/S结构应用程序相对于传统的C/S结构应用程序具有如下优点:
(1)B/S建立在广域网上,面向不同的用户群,地域分散,与操作系统平台的选择关系小。
(2)B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且系统设计难度小,开发成本降低。
(3)B/S模式中网上信息和数据内容集中管理,便于系统的修改和扩充,不需要将修改的新程序和数据内容下发到各个客户端,系统维护效率高、费用低。
(4)对于终端用户来讲,B/S模式比C/S简化了客户端程序,减少了终端用户的投入成本。
二、ASP技术
ASP(Active Server Page动态网页)是微软公司推出的一种用以取代CGI (Common Gateway Interface通用网关接口)的技术。
目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI。
ASP是一个位于服务器端的脚本运行环境。
通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式动态网页,包括使用HTML表单收集和处理信息、上传与下载等。
通常情况下,用户通过浏览器看到的网页大多是静态的,目前Internet上的许多站点,仍然提供“静态”(static)的主页内容。
所谓“静态”,是指站点的主页内容是“固定不变”的。
一个“静态”的站点,若要更新主页的内容,必须手动更新其HTML的文件数据。
而随着Web技术的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求而生成报表等1。
站点服务器收到要求执行的应用程序,分析表单(from)的输入数据,将执行的结果以HTML的格式传送给浏览器。
根据用户请求生成动态主页的传统方法有CGI、ISAPI等。
CGI是根据浏览器端的http请求激活响应进程,每一个请求对应一个进程。
当同时有很多请求时,程序挤占系统资源,造成效率低下。
ISAPI针对这一缺点进行了改进,利用dll(动态链接库)技术,以线程代替进程,提高了性能和速度,但要考虑
线程的同步问题,而且开发步骤烦琐。
这两种技术和另一普遍使用的开发动态网页的技术Java都还存在着另外一个问题,那就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。
而较简单的开发技术如JavaScript和IDC(Internet Database Connector)等,功能有限,不敷使用。
ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。
ASP与常见的在Client端实现动态主页的技术如Java applet、ActiveX、Control、VBScript、JavaScript等不同,ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器;而Client端的Script命令则是由浏览器来解释执行。
由于ASP是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP,也不必担心别人下载程序从而窃取编程逻辑。
ASP程序通过后缀名为﹒asp的ASP文件来实现其功能,一个﹒asp文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。
当用户从浏览器输入了﹒asp文件的地址后,浏览器就将这个URL 请求发给Web服务器。
如果Web服务器上装了ASP,就调用ASP,ASP读出相应﹒asp文件,解释并执行命令,动态生成一个HTML页面回传Web服务器,然后Web服务器再把结果发送给浏览器。
ASP文件的制作和HTML类似,且和HTML开发集成,可以在同一个过程完成,利用ASP将可以执行的脚本嵌入到HTML文件中(将HTML文件的后缀名改为﹒asp),这使得HTML文件的编写与脚本的开发融合在一起3。
通过ASP内置的对象、服务器组件(Server Component)可以完
成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。
ASP的工作模式如图1。
图1 ASP的工作模式
ASP与网关及服务器扩展模式相比有以下优点:
(1)完全与HTML文件融合在一起;
(2)容易创建,不需要其它编译、链接程序;
(3)面向对象的并通过ActiveX Server对象可扩展。
三、基于B/S模式下的系统结构设计
3.1 系统性能需求
由于学生信息管理系统包含比较重要的信息,因此,在系统设计时除了注重用户的需求,保证系统安全性和可靠性,并在保证安全性和可靠性的前提下尽量满足系统的高效性。
(1)安全性。
不同的用户具有不同的使用权限,具有最
高权限的人员方能修改、销毁数据库中的信息,具有一般权限的人员能读取与自己相关的内容。
(2)一致性。
系统的数据要保证一致性、准确性,当某一数据库中记录改变,与之相关联的数据库也随之变化。
(3)可靠性。
由于数据量大,必须对数据及时备份与恢复。
而B/S模式由于他开发的系统维护工作集中在服务器上,客户端不用维护,就可以很好的满足用户的需求以及达到安全性,一致性,可靠性的特点,而且对于终端用户来讲,B/S模式比C/S简化了客户端程序,减少了终端用户的投入成本。
正是有B/S的种种特点,与其他模式相比它更能满足拥护的需求。
3.2 系统设计原则
在采用B/S模式满足用户需求的基础上,为各职能部门提高工作效率、完善管理模式、实现现代化管理提供一体化解决方案。
系统的主要设计原则为:
(1)统一规划、管理:本应用系统基于局域网,实现各部门信息资源统一管理及公共资源共享;解决各部门及各单位资源独立管理使用而带来的各种困难;为各级管理部门提供日常业务处理、管理及决策活动所需信息;
(2)管理功能独立于管理机构:系统设计着眼于各部门的管理过程,摆脱管理功能对部门的依赖性,适应管理部门重组变动的可能,提高系统应变能力;
(3)结构完整、功能扩充方便:系统结构完整清晰、功能扩充方便,使系统既能高效完成现有的业务处理需求,又能在将来根据需要增加系统功能;
(4)信息格式管理标准化:对各类数据格式尽可能采用国家、各部委、省市等机构公布的最新标准;
(5)易于使用及维护:应用系统的设计符合日常管理工作需求,功能完备,易学、易用,界面友好清晰;
(6)为各级管理人员、普通用户提供高效的信息服务:系统信息统一设计规划,使各类用户可以在因特网上完成相关信息的查询、更改需求。
如:信息查询、网上办公、资料查询等;
(7)系统可靠、安全:具有相应的数据完整性、一致性检测,数据安全保护与恢复措施。
有效防止信息泄密及对信息的非法窃取、篡改。
与校园网的安全机制相结合,采用路由技术,设立系统防火墙;
(8)系统实时性好:能快速响应用户各类处理请求;
(9)系统先进、实用:采用先进成熟的技术确保系统可靠实用,使系统投资能发挥应有的效益,最大限度地提高系统的使用周期和扩展能力。
3.3 系统结构
系统建立在B/S体系结构基础上,采用美国微软公司提供的网络技术及数据库管理系统构建学生信息系统,其结构图如图2;
图2 B/S体系结构
3.4 信息系统的主要模块
学生信息系统的主要模块见图3。
图3 学生信息管理系统主要模块
3.5 主要功能介绍
系统的功能模块包括本地应用模块与网络应用模块,本地应用模块是让管理员进行录入、修改、查询、统计等工作,网络应用模块可以让普通用户进行
查询,动态掌握自己的信息,也减少了办公室的工作。
管理系统可以完成以下功能:
(1)注册登陆:其中包括三部分的内容,用户注册、用户登陆和用户管理。
①用户注册是对用户基本情况和权限的收集和界定手段,用户可以注册为普通用户或管理员,普通用户仅拥有查询的权限,不能对系统数据库中的数据进行直接的操作;而管理员拥有系统的最高权限,直接对系统数据库操作。
另外,在注册信息填写时可收集学生的基本情况。
②用户登陆是界定访问用户权限,防止非法访问的手段,用户必须输入注册时的用户名和密码方可进入系统。
③用户管理是管理员对注册用户的管理手段,管理员有权限对普通注册用户进行修改和删除,也可以对用户的资料进行添加或删改。
(2)信息录入:其中包括个人信息的录入、修改和删除三部分的功能。
①个人信息的录入通过录入界面填表式输入,在后台直接存入数据库。
②个人信息的修改同录入大相径庭,可直接修改后自动存入数据库。
③个人信息的删除通过询问式处理,在征得确认后从数据库中删除相应信息。
(3)在线查询:这个模块包括个人查询(即普通用户查询)和管理员查询两部分。
①个人查询由于权限的限制,仅能看到与自己有关的数据记录,并且不能够修改。
②管理员是系统的缔造者和维护者,他不仅有权看到系统中所有用户的全部数据记录,而且有权对这些数据记录进行修改和删除。
(4)统计分析:其中包括每月信息汇总、每年信息统计和汇总表格打印三个部分。
①每月信息汇总总是对每个人每月的综合分析,涉及到大量的数据运
算,在最后显示分析结果。
②每年信息统计与每月信息汇总相似,不同之处是涉及的数据运算量更大。
③汇总表格打印,这个部分可以将用户感兴趣的页面或分析结果在打印机上打印出来。
四、系统实现思路
4.1 系统开发环境
操作系统:Windows 2000 Server(SP4)。
内存:256M。
浏览器:Internet Explorer 6.00(支持多种Web协议,支持执行Java,JavaScript,VBScript)。
Web服务器:Microsoft IIS(即Microsoft Internet Information Server)5.0,支持ASP,可作为管理系统的Server端开发和测试平台。
数据库服务器:Microsoft SQL Server 2000,它提供了对高效的存储过程和灵活的用户自定义函数的支持,并在核心层实现了数据完整性控制。
开发工具:Macromedia Dreamweaver MX中文版,方便快捷的创建高质量的可视网页,自动生成全部的HTML代码。
4.2 系统开发语言
(1)HTML(Hyper Text Markup Language)超文本标识语言:与常见的字处理文件不同,Web页以超文本标识语言编排格式。
HTML文件是带有特定HTML插入标记的用以编排文档属性和格式的标准文本文件。
(2)VBScript脚本语言:脚本是应用程序在网页上表达的语言,可以将脚本嵌入Web页中。
通常脚本在服务器上运行,但也可以采用客户端和服务器端结合使用VBScript是ASP的默认脚本语言之一。
4.3 数据库设计
Web应用程序设计少不了数据库,因为只有数据库才能大量、快速地处理信息。
使用ASP可以读取Access和SQL Server数据库,也可以读取其他ODBC(开放式数据库互联)兼容的数据库。
(1)ASP与SQL数据库连接:
建立记录集对象:
set rs=server.createobject("adodb.recordset")
rs.open SQL语句,conn,3,2
还有一种连接方法:
strconn="Driver={SQL
Server}。
Description=sqldemo。
SERVER=127.0.0.1。
UID=LoginID。
PWD=Password。
DATABASE=
Database_Name
set conn=server.createobject("adodb.connection")
conn.open strconn
(2)SQL常用命令使用方法:
①数据记录筛选:
sql="select*from数据表where字段名=字段值order by字段名[desc]"
sql="select*from数据表where字段名like&apos。
%字段值%&apos。
order by字段名[desc]"
sql="select top 10*from数据表where字段名order by字段名[desc]"
sql="select*from数据表where字段名in(&apos。
值1&apos。
,&apos。
值2&apos。
,&apos。
值3&apos。
)"
sql="select*from数据表where字段名between值1 and值2"
②更新数据记录:
sql="update数据表set字段名=字段值where条件表达式"
sql="update数据表set字段1=值1,字段2=值2……字段n=值n where条件表达式"
③删除数据记录:
sql="delete from数据表where条件表达式"
sql="delete from数据表"(将数据表所有记录删除)
④添加数据记录:
sql="insert into数据表(字段1,字段2,字段3…)valuess(值1,值2,值3…)"
sql="insert into目标数据表select*from源数据表"(把源数据表的记录添加到目标数据表)
⑤数据记录统计函数:
AVG(字段名)得出一个表格栏平均值
COUNT(*¦。
字段名)对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名)取得一个表格栏最大的值
MIN(字段名)取得一个表格栏最小的值
SUM(字段名)把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名)as别名from数据表where条件表达式"
set rs=conn.excute(sql)
用rs("别名")获取统的计值,其它函数运用同上。
⑥数据表的建立和删除:CREATE TABLE数据表名称(字段1类型1(长度),字段2类型2(长度)……)
例:CREATE TABLE tab01(name varchar(50),datetime default
now())DROPTABLE数据表名称(永久性删除一个数据表)
(3)用访问EXCEL文件:这里用的代码写出来:
Excel表格内容:
因为大部分数据源都是EXCEL文件格式,这段代码可以通过直接把EXCEL文件中的数据填充到数据库中。
(4)判断SQL语句是否执行成功:
在这里用err对象就可以了。
sql="insert into table(f1,f2)values(&apos。
v1&apos。
,&apos。
v2&apos。
)"
conn.execute sql
if err.number<>0 then
response.write"出错了:"&err.description err.clear
else
response.write"OK"
end if
另外,还有许多ASP调用数据库的算法,比如将SQL Server中的数据倒入EXCEL,不过用SQL Server中的DTS就可以完成。
五、系统安全
为了保护核心数据库,采用了数据库加密的方法,这样即使有人找到了数据库文件,也因为缺少正确的口令无法将其打开。
但是目前ASP的站点很多都存在可以看见源代码的问题,如果ASP程序员将站点的登陆密码直接写在ASP 里,那么一旦源码被发现,他人就可以很容易地进入本不应该被看到的页面,
而且很多数据库的连接用户名和密码也都是直接写在ASP里,一旦被发现,如果数据库允许远程访问而且没有设防的话就相当危险了。
如何解决这个问题呢?可以将ASP文件存放的目录设置为不可读(ASP仍能执行),这样html、css 等文件就不能放在这个目录下,否则它们将不能被浏览,或者安装微软提供的补丁程序也不失为一个简单有效的好方法。
此外,采用角色分配及角色重组技术实现对系统管理员、一般管理员等用户的分级分权管理,使无关人员与无关数据隔离。
通过Web收集的数据经确认整理后转入正式库,防止数据不一致性及安全隐患的产生。
通过Web代理及防火墙实现对Web数据的安全访问。
六、系统性能策略
对大型SQL数据库而言,合理的数据库逻辑设计、物理设计不但有助于降低系统开发和维护的难度,而且可以极大地提高系统实际运行时的性能。
为此,进行数据库逻辑设计时,特别是对存储空间(表空间)的划分应尽可能满足如下规则:分离系统数据(数据字典数据)与应用数据、分离不同类型段数据、分离动态与静态类型数据、存储空间访问冲突最小化等。
进行物理结构设计时,应尽可能减少文件间的I/O冲突、考虑数据库的安全性及性能目标、考虑系统硬件及镜像结构、尽可能采用专用于数据库的磁盘。
此外,通过优化SQL语句、使用索引及调整服务器运行参数等方法也有助于提高系统性能。
参考文献
[1]张莉著;SQL Server数据库原理及应用教程;清华大学出版社;2004.1
[2]闫静等著;Dreamweaver MX2004与ASP动态网页基础与范例;机械工业出版社;2004.9
[3]焦晓艺;ASP在管理信息系统开发中的应用;《电脑学习》2005年第一期;P.55-56
[4]沈中林;基于B/S模式的高校科研管理信息系统的设计;中国民航学院学报第五期;P.61-64
[5]钟乐海。
罗明英;ASP技术在开发基于B/S模式数据库系统中的应用;四川师范学院学报:自然科学版第四期;P.358-362。