资源描述
Web程序设计实训汇报
专业班级
学 号
姓 名
实 验 室
小组组员
成绩评定
老师署名
年月日
一. 实训日期
二. 实训地点
三. 实训目标
经过本综合实训学生全方面掌握HTML语言,Javascript,VBScript脚本语言和ASP编程技术。能用ASP编写WEB理管系统。让掌握Web应用系统设计方法。掌握自己独立开发动态网站。
四. 实训任务
经过设计Web应用系统(图书信息管理系统),让学生全方面掌HTML语言,JavaScript,VBScript脚本语言和ASP编程技术,编写WEB管理系统数据库程序。具体要求以下:
1.掌握安装IIS设置WEB服务器
2. 掌握HTML语言、Javascript语言
3. 掌握ASP编程基础, VBScript语言。
4. 掌握ASP程序设计基础规则。
5. 掌握ASP内建对象。
6. 掌握ASP组件。
7. 掌握ASP和关系型数据库链接及数据读取、SQL语言。
8. 掌握ADO对象属性、方法。
9. 掌握数据库编程(数据查询、增加,修改,删除)
10. 掌握Web应用系统设计方法。
11. 掌握自己独立开发动态网站。
五、实训内容
实训题目:图书信息管理系统
一.选择该项目标关键原因:
1.对该项目有整体思绪想法。
2.该项目在网络上有较多资源能够进行参考。
3.组员集体选择。
二. 对该项目标认识或已经有类似项目标优缺点:
1.实现图书馆对所藏图书按类别、书名等多方面查询,最大方便读者和图书馆工作人员对所需图书查询;
2.建立图书馆外借读者数据库,方便工作人员对读者进行有效管理;
3.建立图书馆工作人员数据库,限定每个工作人员对软件操作权限,最大程度保护数据库;
4.实现图书馆对新书入库,旧书注销简单处理,而且建立书籍档案,方便进货;
5.实现图书馆管理系统;
6.检索速度慢、效率低
因为图书馆藏书种类多、数量多,将藏书正确地分门别类,快速检索,手工进行很困难,往往是馆中没有此书或已被她人借走。图书馆规模越大,这个问题越突出。
7.借书、还书工作量大
借书、还书频率越大,说明图书馆作用越大,然而随之而来大量借书、还书登记、实存图书更新和借出图书超期、遗失等处理,其工作量之大,往往是人工操作所难以胜任。而且常常会出现这么那样差错。
8.图书统计工作难、藏书更新不能立即完成
图书馆图书应依据科学技术发展和教学工作需要立即添加和更新,然而因为藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书统计工作难以立即完成,藏书更新也就极难有针对性地进行,藏书知识结构得不到良好地控制,所以程序还有待改善。
三.数据库设计:
1. 数据库是整个系统基石,数据库设计优劣直接影响到整个系统设计成败,本节对数据库设计进行专门叙述。
数据库是数据管理最新技术。十多年来数据库管理系统已从专用应用程序发展成为通用系统软件。因为数据库含有数据结构化,最低冗余度,较高程序和数据独立性,易于扩充,易于编制应用程序等优点,较大信息系统全部是建立在数据库设计之上。所以不仅大型计算机及中小型计算机,甚至微型机全部配有数据库管理系统。
数据库设计是把现实世界实体模型和需求转换成数据库模型过程,它是建立数据库应用系统关键问题。数据库及其应用性能全部建立在良好数据库设计基础之上,数据库数据是一切操作基础,假如数据库设计不好,那么其它一切用于提升数据库性能方法收效全部是有限。数据库设计关键是怎样使设计数据库能合理地存放用户数据,方便用户进行数据处理。
设计数据库必需遵照一定规则,在关系型数据库中,这种规则就是范式,范式是符合某一个等级关系模式集合。通常大家设计数据库遵照第三范式。即:数据库表中不包含已在其它表中包含非主关键字信息。采取范式降低了数据冗余,节省了存放空间,同时加紧了增、删、改速度。
针对图书管理系统,有4类关键对象:读者,借阅者,图书管理员,用户管理员。分别实现图书流通,图书管理,图书管理系统管理。
高校图书管理系统
图书进馆
图书外借
图书归还
图书管理员
参数设置
借阅者
图书信息
借阅者
是否超期罚款
进馆信息
处理图书
图书相关信息息
修改信息
出馆信息
用户管理
借阅者
超级管理员
图书管理员权限
用户登录
用户名密码
四.项目分析和需求说明:
1.作为一个图书管理系统,应该给用户提供方便,简练界面应用,对图书借阅归还流通中图书具体统计进行归档,实现新进图书数据录入,实现对全部购进图书分类查询和分类统计,能够按书名、作者等分类查询现有图书数量,统计借阅者个人资料和所借图书书名、书号数据等,借书时假如每次超出限量或累积超出限量,提醒对应信息,并拒绝借阅等功效全部是必不可少。
依据调查得悉,以前图书馆采取手工方法对图书借阅信息进行管理,或现有管理系统全部不够完整。以前是将通常借阅情况统计在借书证上或将图书数目和内容统计在文件中,这么图书馆工作人员只能是对当初借阅信息比较清楚,时间一长,再进行查询时,就得在众多资料中翻阅、查找了,既费时,又费力。假如要对很长时间以前图书信息进行更改就愈加困难了。手工操作使得图书借阅信息管理者工作混乱又复杂。
基于这些问题,有必需建立一个图书馆管理系统,使图书馆日常管理工作规范化、系统化、程序化,避免管理随意性,提升信息处理速度和正确性,能够立即、正确、有效地查询图书借还情况。
2.技术上可行性分析关键分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采取PHP开发出友好美观人机界面,便于用户了解、操作。数据库管理系统采取MySQL,它能够处理大量数据,同时保持数据完整性、安全性。所以本系统开发平台已成熟可行。硬件方面,在科技飞速发展今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越廉价,所以硬件平台也能够满足本系统所需。
鉴于计算机技术发展异常迅猛,在硬件软件配置和开发技术均以可行情况下开发这么一个管理系统成本不会很高,但其能够大大提升图书馆工作效率,也是图书馆管剪发展肯定趋势,其必将有比较宽广市场,所以改性统在经济可行性上时可行。
五.关键步骤图和代码
1. 用户注册界面代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link rel="shortcut icon" href="favicon.ico" />
<title>添加用户</title>
<link href="lms.css" rel="stylesheet" type="text/css">
<script>
<!--
function validateform()
{
if(document.userinfo.loginname.value == "")
{
window.alert ("请输入用户登录名!")
return false;
}
if(document.userinfo.password.value == "")
{
window.alert ("密码不能为空!")
return false;
}
if(document.userinfo.realname.value == "")
{
window.alert ("请输入用户真实姓名!")
return false;
}
if(document.userinfo.department.value == "")
{
window.alert ("请输入用户所在学院!")
return false;
}
if(document.userinfo.phonenum.value == "")
{
window.alert ("请输入用户电话号码!")
return false;
}
if(document.userinfo.mailbox.value == "")
{
window.alert ("请输入用户邮箱地址!")
<tr>
<td width="55%" align="right" valign="middle"><strong>新用户注册</strong></td>
<td width="20%" align="center">登陆名:</td>
<td colspan="5">
<input type="text" name="loginname" size="30">
<font color="#8080C0">*</font> </td>
</tr>
<tr>
<td width="20%" align="center">登录密码:</td>
<td colspan="5">
<input type="password" name="password" size="30">
<font color="#8080C0">*</font> </td>
</tr>
<tr>
<td width="20%" align="center">真实姓名:</td>
<td colspan="5">
<input type="text" name="realname" size="30">
<font color="#8080C0">*</font> </td>
</tr>
<tr>
<td width="20%" align="center">性别:</td>
<td colspan="5">
男
<input type="radio" name="sex" value="男" checked="checked">
女
<input type="radio" name="sex" value="女"> </td>
</tr>
<tr>
<td width="20%" align="center">班级:</td>
<td colspan="5">
<input type="text" name="class" size="30"> </td>
</tr>
<tr>
<td width="20%" align="center">学院:</td>
<td colspan="5">
<input type="text" name="department" size="30">
<font color="#8080C0">*</font> </td>
</tr>
<tr>
<td width="20%" align="center">电话:</td>
<td colspan="5">
<input type="text" name="phonenum" size="30">
<font color="#8080C0">*[不超出11位数字]</font> </td>
</tr>
<tr>
<td width="20%" align="center">邮箱:</td>
<td colspan="5">
<input type="text" name="mailbox" size="30">
<font color="#8080C0">*</font> </td>
</tr>
<tr>
<td width="20%" align="center">出生年月:</td>
<td colspan="5">
<select id="tYEAR" name="year" size="1" onChange="createSelect()"></select>
<select id="tMON" name="month" size="1" onChange="createSelect();"></select>
<select id="tDAY" name="day" size="1" ></select>
<script type="text/javascript">createSelect(1);</script></td>
</tr>
<tr>
<td width="20%" align="center">注册类型:</td>
<td align="center" valign="middle">
<input type="radio" name="usertype" value="reader" checked="checked">
读者 </td>
<td align="center" valign="middle">
<input type="radio" name="usertype" value="bookadmin">
图书管理员 </td>
<td align="center" valign="middle">
<input type="radio" name="usertype" value="useradmin">
用户管理员 </td>
<td align="center" valign="middle">
<input type="radio" name="usertype" value="recordadmin">
借阅管理员 </td>
</tr>
<tr height="50">
<td colspan="6" align="center">
<input name="reset" type="reset" value="重 新 填 写">
<input name="submit" type="submit" value="提 交 信 息">
</td>
</tr>
2.新书信息添加代码:
<?php include "data/header.inc"?>
<tr>
<td width="34%" align="center">图 书 名 称:</td>
<td width="66%" colspan="5">
<input type="text" name="mainname" size="30">
<font color="#8080C0">*</font> </td>
</tr>
<tr>
<td width="34%" align="center">图 书 别 名:</td>
<td width="66%" colspan="5">
<input type="text" name="byname" size="30">
</td>
</tr>
<tr>
<td width="34%" align="center">图 书 版 次:</td>
<td width="66%" colspan="5">
<input type="text" name="bookversion" size="30">
<font color="#8080C0">【格式:数字】</font></td>
</tr>
<tr>
<td width="34%" align="center">作 者 姓 名:</td>
<td width="66%" colspan="5">
<input type="text" name="author" size="30">
</td>
</tr>
<tr>
<td width="34%" align="center">出 版 发 行:</td>
<td width="66%" colspan="5">
<input type="text" name="press" size="30">
</td>
</tr>
<tr>
<td width="34%" align="center">图 书 类 型:</td>
<td width="66%" colspan="5">
<input type="text" name="type" size="30"> </td>
</tr>
<tr>
<td width="34%" align="center">图 书 价 格:</td>
<td width="66%" colspan="5">
<input type="text" name="bookprice" size="30"> </td>
</tr>
<tr>
<td width="34%" align="center">出 版 日 期:</td>
<td width="66%" colspan="5">
<select id="tYEAR" name="year" size="1" onChange="createSelect()"></select>
<select id="tMON" name="month" size="1" onChange="createSelect();"></select>
<select id="tDAY" name="day" size="1" ></select>
<script type="text/javascript">createSelect(1);</script></td>
</tr>
<tr>
<td width="34%" align="center">图 书 数 量:</td>
<td width="66%" colspan="5">
<input type="text" name="booknum" size="30">
<font color="#8080C0">*</font>
</td>
</tr>
<tr>
<td width="34%" align="center" valign="top">图 书 简 介:</td>
<td width="66%" colspan="5">
<textarea name="bookintro" cols="50" rows="10"></textarea>
</td>
</tr>
<tr>
<td colspan="6" align="center">
<input type="reset" value="重 新 填 写" name="reset">
<input type="submit" value="提 交 信 息" name="submit"> </td>
</tr>
3.图书检索功效实现代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link rel="shortcut icon" href="favicon.ico" />
<title>检索图书</title>
<link href="lms.css" rel="stylesheet" type="text/css">
<script>
<!--
function validateform()
{
if(document.booksearch.bookname.value == "" && document.booksearch.author.value == "" && document.booksearch.keyword.value == "")
{
window.alert ("请输入你要搜索信息!")
return false;
}
}
<center>
<table border="1" width="800" cellspacing="0" cellpadding="0" bgcolor="#E4E4E4" bordercolorlight="#C2C2C2" bordercolordark="#FFFFFF">
<tr>
<td>
<img src="pics/booksearch.png" alt="检索图书" width="50" height="50" align="absmiddle">
<strong><font color="#66CCFF" size="10">检索图书</font></strong> </td>
</table>
</center>
<table border="0" width="800" cellspacing="0" cellpadding="0">
<tr>
<td width="100%">
<form action="searchprocess.php" method="post" name="booksearch" onSubmit="return validateform( this.form )">
<table border="1" width="800" cellspacing="0" cellpadding="0" bgcolor="#E4E4E4" bordercolorlight="#C2C2C2" bordercolordark="#FFFFFF">
<tr height="30">
<td>书名:<input type="text" name="bookname" size="20"></td>
<td>作者:<input type="text" name="author" size="30"></td>
<td>关键字:<input type="text" name="keyword" size="30"></td>
<td><input type="submit" value=" 搜 索 "></td>
</tr>
4.图书借阅功效模块实现代码:
?><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link rel="shortcut icon" href="favicon.ico" />
<title>借阅管理</title>
<link href="lms.css" rel="stylesheet" type="text/css">
<script>
<!--
function validateform()
{
if(document.record.bookid.value == "")
{
window.alert ("请输入图书编号!")
return false;
}
if(document.record.readerid.value == "")
{
window.alert ("请输入读者编号!")
return false;
}
if(document.record.booknum.value == "")
{
window.alert ("请输入图书数量!")
return false;
}
</script>
</head>
<body>
<!--***************************header***************************-->
<?php include "data/header.inc"?>
<!--***************************main**************************-->
<center>
<table border="1" width="800" height="30" cellspacing="0" cellpadding="0" bgcolor="#E4E4E4" bordercolorlight="#C2C2C2" bordercolordark="#FFFFFF">
<tr>
<td width="234" align="center">
<img src="pics/position.png" alt="position" width="16" height="16" align="absmiddle"> 你位置 </td>
<td><img src="pics/rightdir.png" alt="rightdir" width="16" height="16" align="absmiddle">[><a href="recordmanage.php">借阅管理</a><]</td>
<center>
<table border="1" width="800" cellspacing="0" cellpadding="0" bgcolor="#E4E4E4" bordercolorlight="#C2C2C2" bordercolordark="#FFFFFF">
<tr>
<td>
<img src="pics/recordmanage.png" alt="借阅管理" width="50" height="50" align="absmiddle">
<strong><font color="#66CCFF" size="10">借阅管理</font></strong> </td>
</table>
</center>
<table border="0" width="800" cellspacing="0" cellpadding="0">
<tr>
<table border="1" width="100%" bgcolor="#E4E4E4" cellpadding="0" cellspacing="0" bordercolorlight="#C0C0C0" bordercolordark="#FFFFFF">
<tr>
<td width="34%" align="center">图 书 编 号:</td>
<td width="66%" colspan="5">
<input type="text" name="bookid" size="30">
<font color="#8080C0">*</font> </td>
</tr>
<tr>
<td width="34%" align="center">读 者 编 号:</td>
<td width="66%" colspan="5">
<input type="text" name="readerid" size="30">
<font color="#8080C0">*</font> </td>
</tr>
<tr>
<td width="34%" align="center">图 书 数 量:</td>
<td width="66%" colspan="5">
<input type="text" name="booknum" size="30">
<font color="#8080C0">*</font> </td>
</tr>
<tr>
<td width="34%" align="center">操 作 类 型:</td>
<td width="33%" colspan="4">
<input type="radio" name="operitetype" value="borrow" checked="checked">
借书 </td>
<td width="33%"> <input type="radio" name="operitetype" value="return">
还书 </td>
</tr>
<tr height="50">
<td colspan="6" align="center">
<input type="reset" value="重 新 填 写" name="reset">
<input type="submit" value="提 交 信 息" name="submit"> </td>
</tr>
</table>
<?php include "data/footer.inc"?>
</form>
</td>
</tr>
</table>
</center>
</body>
</html>
建立数据库
create database if not exists lms;
use lms;
建立表news
create table news(
n_name varchar(50) primary key,
n_type ENUM('newsmsg','systemmsg'),
n_content varchar(5000),
n_date date
);
建立表books
create table book(
b_id char(10) primary key,
b_mname varchar(20) not null,
b_bname varchar(20),
b_version smallint,
b_author varchar(20),
b_press varchar(20),
b_type char(10),
b_pdate date,
b_indate date,
b_num smallint UNSIGNED not null,
b_intro varchar(500)
);
建立表user
create table user(
u_id char(20) primary key,
u_name char(10),
sex ENUM('男','女'),
u_class varchar(20),
u_dept varchar(20),
u_tel numeric(11) UNSIGNED,
u_mailbox varchar(50) not null,
u_birthday date,
u_login char(10) not null,
u_password char(10) not null,
u_type ENUM('reader','ueradmin','bookadmin','recordadmin'),
u_picurl varchar(50)
);
建立表record
create table record(
u_id char(10),
b_id char(10),
borrow_date date not null,
borrow_num smallint UNSIGNED not null,
primary key(u_id,b_id),
foreign key (u_id) references user(u_id),
foreign key (b_id) references book(b_id)
);
建立表pulishment
create table pulishment(
p_name char(10) primary key,
p_money float not null);
关键步骤图:图书借阅
借阅者
图书归还
图书续借
图书管理员
管理图书信息
图书信息
管理用户信息
用户信息
获取用户信息
依据读者信息获取借阅图书信息
图书借阅信息
图书续借
图书借阅
归还图书
图书归还信息
六.总结:
1碰到难点:在测试系统登录模块时页面跳转有一点问题,数据库里有时候汉字读取不出,数据处理有问题。
2.不足和改善之处:页面美化不够好,颜色单一而且较为传统,在软件数据方面录入图书步骤过于繁杂,我认为可改编读取程序进行扫码录入。
2.已完功效:实现了图书馆对新书入库,旧书注销简单处理,而且建立书籍档案,方便进货;
实现了图书馆对所藏图书按类别、书名等多方面查询,最大方便读者和图书馆工作人员对所需图书查询;
建立了图书馆外借读者数据库,方便了工作人员对读者进行有效管理;
建立了图书馆工作人员数据库,限定了每个工作人员对软件操作权限,最大程度保护了数据库;
4.收获:在整个系统开发过程中,我学到了很大新知识,前学过很多知识点在利用过程中也有了更为深入分析,这是我大学期间做过规模最大项目,在这个过程中也体会到了怎样将书本知识转化到实际应用中。
在整个系统需求分析过程中对开发前期工作地步骤步骤有了深入掌握;在开发过程我深入学习了PHP、MySQL基础语法,和部分网页设计美工方面知识,方便使系统有愈加好美观性,在编写过程中也规范了很多编码习惯,数据库设计阶段我尝试了多个不一样版本数据库,它们在配置操作上各有不一样,又各有优缺点,在它们部分基础操作上也有了深入提升。在配置开发工具过程中对MySQL有了清楚地认识,在使用SQLyog作用也有了相当了解, 对开发PHP程序步骤框架页有了总体性认识。
展开阅读全文