毕业论文3

新疆农业大学科学技术学院

本科生毕业设计(论文)题目电子阅览室网上预约系统的设计与实现班级计算机科学与技术082

姓名刘春花

学号085203223

时间2012年5月23日

新疆农业大学科学技术学院

目录

摘要: (1)

1引言 (2)

1.1课题背景及意义 (2)

1.2项目开发的目的和意义 (2)

2项目开发环境 (3)

2.1软件环境 (3)

2.1.1PHP+MYSQL技术 (3)

2.1.2客户端平台应用 (3)

2.1.3VB技术 (3)

2.1.4vb访问数据库 (4)

3电子阅览室预约系统的设计 (4)

3.1需求分析 (4)

3.1.1技术可行性 (5)

3.1.2经济可行性 (5)

3.1.3操作可行性 (5)

3.2电子阅览室网上预约系统分析设计 (5)

3.2.1系统功能模块 (5)

3.3详细设计 (6)

3.3.1系统流程图 (6)

3.3.2数据库设计 (6)

4电子阅览室网上预约系统的实现 (8)

4.1系统登录设计 (8)

4.1.1功能描述 (8)

4.1.2登录页面设计 (8)

4.1.3关键功能代码 (8)

4.2学生预约模块设计 (10)

4.2.1功能描述 (10)

4.2.3预约页面的设计 (10)

4.2.4关键功能 (11)

4.3管理员登录模块设计 (13)

4.3.1功能描述 (13)

4.3.2管理页面的设计 (13)

4.3.3关键功能代码 (15)

4.4客户端上机设计 (17)

4.4.1功能描述 (17)

4.4.2上机页面图片 (18)

4.4.3键功能代码 (18)

4.5系统测试 (19)

5设计中的困难和收获 (22)

6结论 (23)

参考文献: (24)

谢辞 (25)

电子阅览室网上预约系统的实现

刘春花指导教师:盛文婷

摘要:随着信息技术的不断发展和普及,当今社会已经进入网络时代,高校教学管理网络化已成为一种趋势高校电子阅览室作为提供新信息技术的前沿阵地,必然要实现网络化、电子化。针对现阶段高校电子阅览室管理中的难点,研究设计了电子阅览室网上预约系统.文章介绍了系统的架构和主要功能,阐述了阅览室的预约方法,说明了部分关键功能模块的使用和技术。

关键词:阅览室;网上预约;系统

Electronic reading online reservation system

Liu Chunhua Instructor:Sheng Wenting Abstract:With the continuous development and popularization of IT in today's society has entered the Internet age,teaching management in the network has become a trend in colleges and universities electronic reading room as the forefront of new IT is bound to the network,and electronic.The difficulties in this stage,colleges and universities in the Electronic Reading Room,the study design of the electronic reading online booking system.The article describes the structure and main functions of the system,described the appointment of the reading room, indicating that the use of some of the key functional modules and technology.

Keywords:reading;online booking;

本课题是在教育信息化的改革体系下利用先进的网络技术手段提高电子阅览室管理水平以提高电子阅览室资源的使用率、上机安排的合理性、以及预约的便利性,从而大幅度的提高高校的教学质量和办学水平,对老师和学生的工作学习效率具有重大的影响。

1引言

1.1课题背景及意义

长期以来,在传统的管理模式下,高校的阅览室通常都是以个人的、零散的、随机参与,使用率较低、设备利用率差。而且开放时间也受场地和时间的限制大打折扣,传统的阅览室不但大大增加了阅览室教师工作量,而且不便于查询。预约网络化是信息共享技术发展的新方向和标准,一个好的电子阅览室不仅表现其业务功能的发展,也表现在阅览室的管理功能方面,就过去的纸质人工的管理方式而言,网上预约系统显得尤为重要。针对目前电子阅览室手工管理效率低下,缺乏安全性、可控性等缺点,利用现有的校园网络资源,设计开发电子阅览室网上预约系统,师生及教学管理人员可以在网络上浏览阅览室资源,并进行相应操作。采用科学、高效的教学管理方式,使学校的教学资源得到充分的利用。在预约系统中对后台的管理也很方便,管理员只需要在网络上对系统实施统一管理。网上预约系统利用网络方便快捷的信息传输、资源共享的优势和后台数据库的支持,大大减轻了电子阅览室管理部门的工作量,也极大地方便了广大师生。[1] 1.2项目开发的目的和意义

因为互联网的发展和计算机应用的普及,计算机与网络在高校中已经得到普及性的推广,高校都建立了自己的校园网络,电子图书馆已经逐步摆脱手工操作进入自动化管理。传统服务模式己逐渐转向网络化、信息化的服务模式。网上预约系统的建立,可使大量学生参与使用阅览室,减少管理人员的工作量,降低管理的难度,解决师资不足、设备不足、场地不足等问题,最大化地给学生提供创新空间。网上预约系统对分配和使用阅览室资源、加强阅览室的管理、保证阅览室开放运行等方面具有重要作用。

2项目开发环境

2.1软件环境

2.1.1PHP+MYSQL技术

PHP,是超级文本预处理语言(Hypertext Preprocessor)。它是一种HTML 内嵌式的语言,在服务器端执行的嵌入HTML文档的脚本语言,是当今Internet 上最流行的动态网页技术之一。由于PHP具有语法接近C语言、简单易学、跨多个平台、兼容性强、有极其强大的数据库支持、先进的扩展功能、代码公开且升级快,性能不断完善等优势,成为众多网站的首选技术。MySQL是一个真正的多用户、多线程的SQL数据库服务器软件[2-3]。由于它自身的强大功能,丰富的应用程序接口,数据类型多样,非常灵活和安全的权限系统,密码加密,可处理大型资料(记录超过5000万个)以及PHP对它的无缝的支持,使MySQL越来越成为Internet上数据库的典范[4]。目前大多数基于Web的动态交互网站均是基于PHP+MySQL创建的。因此,电子阅览室系统采用基于PHP+MYSQL技术开发的,适应了目前流行的WEB系统开发与发展。

2.1.2客户端平台应用

目前,随着计算机科学的发展,软件编程高级语言的运用变得越来越频繁和重要了。作为一种十分常用的计算机高级语言,VB已经成为了一门公共基础语言课程。VB语言除了易学易懂,编写界面简单方便,语法结构规范严谨等特点外,还有一个重要的特点就是它能够实现方便快速地访问各种数据库。[5]

2.1.3VB技术

“Basic”指的是BASIC(Beginners All-Purpose Symbolic Instruction Code)语言,一种在计算技术发展历史上应用得最为广泛的语言。Visual Basic在原有BASIC语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多和Windows GUI有直接关系。专业人员可以用Visual Basic实现其它任何Windows编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。Visual Basic Scripting Edition(VBScript)是广泛使用的脚本语言,它是Visual Basic语言的子集,可嵌入HTML语言中,用于网页设计,如ASP(Active Server Page)文件。VB简单易学,通用性强,用途广泛。VB的功能强大,可以用于可以开发多媒体、数据库、网络、图形等方面的应用程序。[6]

2.1.4VB访问数据库

VB语言作为一种流行的开发平台提供了强大的数据库功能,访问方法主要有三种:

(1)数据访问对象(DAO—Data Access Objects)方式是允许程序员操作Microsoft Jet数据库引擎的一个面向对象的接口。Jet(JointEngine Technology)数据库引擎是一种用来访问MicrosoftAccess数据库和其他数据源的记录和字段的技术。它对于单一系统的数据库应用程序非常有效。

(2)远程数据对象(RDO—Remote Data Objects)方式是提供给开放数据库互联(ODBC—Open DataBaseConnectivity)数据源的面向对象的接口。RDO是开发MicrosoftSQL Sever、Oracle和其他大型关系数据库应用程序的绝大多数数据库开发者使用的对象模型。

(3)ActiveX数据对象(ADO—ActiveX Data Objects)方式是DAO和RDO方式的继承者,其编程模型是Microsoft的一种新技术。该技术是为Microsoft最新和最强大的数据访问范例OLE DB而设计的,是一个简单的应用程序层接口。OLE DB是新的底层接口,它并不局限于ISAM、Jet甚至关系数据源,但是它能够处理任何类型的数据,而不考虑它们的格式和存储方法,是一种通用的数据访问范例。由于OLE DB接口比较复杂,不能在VB中直接访问。VB

通过ADO封装并且实现了OLE DB的所有功能,从而可以通过ADO来调用OLE DB数据源。

[7]

2.2硬件环境

3电子阅览室预约系统的设计

3.1需求分析

电子阅览室预约系统是数据高度集中的无纸化管理,降低了人工数据处理的出错率。利用网络的特点,保证信息及时快捷传播。预约系统用户操作界面友好,便于师生操作。同时,预约在时间和空间上没有限制,不影响学校的教学秩序。使原本涉及师生人数多,工作量大、过程烦琐的预约工作,对于师生及管理人员都变的简单高效。已预约学生可以在自己预约的机位上上机,在错误的机位上不能上机。实现客户端和服务端的管理,使阅览室达到充分的利用率,增强学生的信用度和自觉性。

3.1.1技术可行性

目前,最常用的三种动态网页设计语言是:ASP(aetiveserverpage),PHP(personal homepage tools)和JSP(java.erve:Pages)。ASP因为可以使用Activex 强大了网页功能,但安全性、稳定性和跨平台性都会因为与NT的捆绑而常出现同Windows一样的问题;JSP是三者中效率最高、安全性最好的,因为有JavaBeans 和EJB组建的支持,可以将复杂的处理程序放到组件中,重复使用,减少了代码的重复书写,但JSP得调试非常麻烦,要手工刷新,常出现刷新问题;PHP 是一种可以基于Linux服务器端的HTML脚本/编程语言,用户能够快速学习、有良好的安全性、跨平台性和数据库交互能力,适合做中小型站点。基于以上特性,所以本系统选择PHP十MySQL为开发语言。[8][9]

3.1.2经济可行性

该系统投入运行后能提高教学资源的使用率,同时也减轻了电子阅览室管理教师的工作量。提高教师工作效率,给整个学校工作带来了极大的便利。因此,从经济上来讲也是可行的。

3.1.3操作可行性

该系统应用范围在高校,用户对电脑的操作都有一定的了解,用户只要按操作说明在客户端进行操作就能完成运用,而整个操作都采用网页浏览的形式,即使出现错误也不会影响服务器和数据库处理。如果出现错误,用户可重新打开操作界面使用。从操作上分析,该系统是可行的。[10]

3.2电子阅览室网上预约系统分析设计

3.2.1系统功能模块

学生模块:学生通过进入系统,可以查看预约信息和进行预约,也可以对预约进行删除,也可对自己的密码进行修改。

管理员模块:对于管理员模块,管理员通过管理员号和密码进入管理员模块,可以查看预约情况,可对预约进行查看、删除等操作,也可修改管理员密码。

前台功能:学生按照提前预约好的时间到指定的机位上机。客户端实现只有正确预约才能解锁屏幕,进行上机。同时,前台还有一个管理员登录功能,使用管理员帐号密码上机,对此台计算机进行锁屏关机功能。

3.3详细设计

3.3.1系统流程图

登录预约系

学生登录管理员登录

预约查询

理图3-1登录系统流程图

开机

输入学号,预约时间

上机成功

登录界面

以预约成功者

上机失

图3-2上机流程图

3.3.2数据库设计

(1)关键表的设计

表3-1预约表

ID MEMBERCODE COMP KJ AT TIME

INT(10)VARCHAR(100)VARCHAR(100)VARCHAR(100)DATE

NOT NULL DEFAULT NULL DEFAULT NULL DEFAULT NULL DEFAULT NULL

表3-2用户表

Id Usename Passname Userlever Classesbh State

INT(20)VARCHAR

(50)VARCHAR

(100)

VARCHAR

(20)

VARCHAR

(100)

VARCHAR

(4)

NOT NULL DEFAULT

NULL DEFAULT

NULL

DEFAULT

NULL

DEFAULT

NULL

DEFAULT NULL 表3-3学生信息表

id Membe

ID memberC

ode

name classesN

ame

sex phone

Int (10)Varchar

(10)

Varchar

(100)

Varchar

(100)

varchar

(100)

Varchar

(4)

Varchar

(50)

NOTNULL DEFAULT

NULL DEFAULT

NULL

DEFAULT

NULL

DEFAULT

NULL

DEFAULT

NULL

DEFAULT

NULL

(2)数据库的连接

public function connect($config_db)

{

$this->db=@mysql_connect($config_db['host'],$config_db['username'],$con fig_db['password'])OR die("Unable to connect database");

@mysql_select_db($config_db['db'])or die("Unable to select database");

mysql_query("SET NAMES".$config_db['charset']);

}[11]

4电子阅览室网上预约系统的实现

4.1系统登录设计

4.1.1功能描述

用户在系统登录页面进行登录,有2种角色的用户。管理员输入管理员帐号和密码,通过验证码,可以登录管理员管理界面;学生用户通过学号和密码,通过验证码可以进入学生预约界面。

4.1.2登录页面设计

图4-1登录页面

4.1.3关键功能代码

(1)验证码生成功能

session_start();

function random($len)

{

$srcstr="0123456789012345678901234567890123456";

mt_srand();

$strs="";

for($i=0;$i<$len;$i++){

$strs.=$srcstr[mt_rand(0,35)];

}

return strtoupper($strs);

}

$str=random(4);//随机生成的字符串

(2)登录功能

登录时,系统判断登录帐号和密码,帐号与角色是否匹配,然后根据角色显示相应的权限页面。

$password=md5($password);

$num=$db->getCountRow("member","where username='$username'and password='$password'");

$row=$db->getField("member","username='$username'and

password='$password'");

if($num>0)

{

if($row['state']=="1"){

$num1=$db->getCountRow("member_Role","where memberID='$row[id]'and roleID='$roleID'");

if($num1>0){

$userSession=array("memberID"=>$row[id],"id"=> $row[id],"roleID"=>$roleID);

session_register(userSession);

echo"";

}else{

$service->ShowMsg($lang['login_userRoleNotAccord'],"".$config_db['webs ite']."/member/index.php","","$msgTime");

}

}else{

$service->ShowMsg($lang['login_userLimit'],"".$config_db['website']."/me

mber/index.php","","$msgTime");

}

}else{

$service->ShowMsg($lang['login_userOrPassError'],"".$config_db['website']. "/member/index.php","","$msgTime");

}

4.2学生预约模块设计

4.2.1功能描述

在预约列表中,学生可查看当前电子阅览室的预约情况,也可删除自己的预约。在我要预约功能中,学生用自己的学号可对电子阅览室进行预约;最后,学生登录后可以修改自己的密码。

4.2.3预约页面的设计

(1)预约查询

图4-2预约查询页面

(2)添加预约

图4-3添加预约界面(3)密码修改

图4-4修改密码界面

4.2.4关键功能

(1)删除预约

foreach($result as$key=>$value){

$row55=$db->getField("member","id='$userSession[memberID]'");

print"

";

if($value['memberCode']==$row55['username']){

echo"

onClick='javascript:addmanyid();'value=".$value['id'].">";

}

echo"

".$value['memberCode']."

".$value['comp']."

".$value['kj']."

".$value['atTime']."";

}

(2)添加预约

$row55=$db->getField("member","id='$userSession[memberID]'");

if($submit1):

$row66=$db->getField("member","id='$userSession[memberID]'");

if($id!=""){

$db->update("yy","memberCode='$userSession

[memberID]',comp='$comp',kj='$kj',atTime='$atTime'","id='$id'");

$service->ShowMsg($lang['update_succeed'],"admin.php","","$msgTime"); }else{

$aa=$db->getCountRow("yy","where comp='$comp'and kj='$kj'and atTime='$atTime'");

if($aa>0){

$service->ShowMsg("已经有人预定,请您从新选择预定","modify.php","","$msgTime");

}else{

$db->insert("yy","memberCode,comp,kj,atTime","'$row66

[username]','$comp','$kj','$atTime'");

$service->ShowMsg($lang['insert_succeed'],"admin.php","","$msgTime");

}

}

(3)修改密码

$id=$userSession['memberID'];

if($submit):

$oldpassword=md5($oldpassword);

$row=$db->getField("member","id='$id'");

if($oldpassword!=$row[password]){

$service->ShowMsg($lang['pass_error'],"setPass.php?

id=$id","","$msgTime");

}else{

$password=md5($password);

$db->update("member","password='$password'","id='$id'");

$service->ShowMsg($lang['set_succeed'],"setPass.php?

id=$id","","$msgTime");

}

4.3管理员登录模块设计

4.3.1功能描述

管理员通过管理员帐号,密码进入系统,可查看学生资料列表,对学生进行角色设置,可添加学生信息,也可通过学号搜索学生;班级管理中,管理员可查看班级列表,可以添加班级信息;预约管理中,管理员查看预约列表,可对无效的预约进行删除或者添加预约;预约查询,管理员可以选择日期对当天的预约进行查看;最后可以修改其密码。

4.3.2管理页面的设计

(1)添加学生信息

图4-5添加学生信息界面(2)预约列表

(3)预约查询

图4-7预约查询界面

(4)密码修改

图4-8预约查询界面

4.3.3关键功能代码

(1)角色设置

$result=mysql_query("SELECT*FROM permission");

$numc=mysql_num_rows($result);

for($i=0;$i<$numc;$i++)

{

$permission_num=$i+1;

$permissionID=mysql_result($result,$i,"id");

$result1=mysql_query("SELECT*FROM role_Permission WHERE

roleID='$roleID'

and permissionID='$permissionID'");

$num=mysql_num_rows($result1);

$permissionID_checkbox="permissionID".$permission_num;

if($$permissionID_checkbox!=""and$num==0){

$result11=mysql_query("insert into role_Permission

(roleID,permissionID,rolePermissionNote)values('$roleID','$permissionID','')");

}else if($$permissionID_checkbox==""and$num>0){

$result22=mysql_query("delete from role_Permission where

roleID='$roleID'and

permissionID='$permissionID'");

}else{

echo"";

}

}

(2)按时间查询预约

if($atTime!=""){

$condition="and atTime='$atTime'";

}else{

$condition="";

}

if($page==""){$page="1";}else{$page=$page;}

$result=$db->page("select*FROM yy where id!=''$condition order by atTime desc,comp

desc,id desc",$page,"atTime=$atTime");

print"

cellspacing=0cellpadding=0>

";

foreach($result as$key=>$value){

print"

";

}

echo"

学号计算机号课节预约日期
".$value['memberCode']."".$value['comp']."".$value['kj']."".$value['atTime']."

";

$db->pageNum();

4.4客户端上机设计

4.4.1功能描述

学生用户在预约时候,来到电子阅览室,在预约的机位输入学号和预约课节数,预览是屏幕会自动解锁,用户可自行使用计算机。此外,在客户端有一个管理员登录窗口,管理员可以对次台电脑做解锁、关机和重启操作。