摘要
【范文摘要】我使用MACROMEDIA公司的Dreamweaver MX制作页面,用VB开发语言做连接数据库的程序,使用ACCESS制作系统的数据库,做一个具有学生注册、家教注册、学生信息、家教信息、学生信息管理、家教信息管理、信息检索功能的小型的网站信息管理系统。
根据网站信息管理系统的开发为背景,论述了整个系统的开发过程,系统的结构及系统开发的基本原理和方法。全系统共分前言、编程环境基础知识、 需求分析 、系统设计、系统实施、系统运行及维护、开发总结等几章。详细论述了需求分析、系统设计的技术及应用、系统的功能等内容。
【关键词】家教信息 管理 系统设计 ASP
家教信息管理系统
第一章 前言
Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用.因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。本系统为家教服务提供一个交流的平台,使学生能够在本系统中找到适合自己的家教,也使有做家教意愿的人群能够发布自己的简历。
要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联表等大量的数据都由数据库管理系统管理。本文中数据库服务器采用了Microsoft Access数据库作为ODBC(Open DataBase Connectivity )数据源,并以先进的ADO(ActiveX Data Objects)技术进行数据库存取等操作,使Web与数据库紧密联系起来。
整个个性化页面生成系统主要由使用Dreamweaver_MX开发的关联规则采掘系统和利用IIS+ASP技术实现的个性化Web页面生成器两部分组成。关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录用户行为和根据关联表动态生成用户个性化Web页面。二者通过数据库服务器和Web服务器连接。
本文作者主要完成Web服务器端的学生注册、家教注册、学生信息、学生信息浏览、家教信息浏览、信息检索功能模块的设计。实现与完善以及整个实验网站的组织建立和测试工作。
第二章 编程环境基础知识
2.1 ASP简介
A S P Microsoft Active Server Pages (ASP)实际上是将标准的H T M L文件拓展了一些附加特征, A S P像标准的H T M L文件一样包含H T M L语句并且在一个浏览器上解释并显示。但它为H T M L编写人员提供了在服务器端运行脚本的环境,使H T M L编写人员可以利用V B S c r i p t和J S c r i p t或其他第三方脚本语言来创建A S P,实现过去需要编写复杂的C G I程序才能实现的有动态内容的网页,如计数器等。一个A S P文件的后缀为. a s p,其中包含实现动态功能的V B S c r i p t或J S c r i p t语句,如果去掉那些V B S c r i p t或J S c r i p t语句,它和标准的H T M L文件没有任何区别。A S P提供了一些内建对象 。利用这些内建对象,你可以使脚本更加强大;这些对象会允许从浏览器中接收和发送信息。例如,利用r e q u e s t对象,你可以接收用户的H T M L表单中的信息并加以处理。A S P包含标准的A c t i v e X组件 ,这些组件可以实现一些复杂的功能,如使用数据库等. A S P就是由服务器端脚本、对象以及组件拓展过的标准网页并为其提供了运行的环境。而它的网页并不是在建立初期存在的,而是当某个浏览器向它提出请求时,它才根据需要产生所需要的标准网页,这克服了过去H T M L编写的网页的静态缺点,从而使网页上可以有许多动态的信息存在。如:当前的计算机时间、计数器的计数值等。
A S P是一套服务器端的脚本运行环境,当用户从浏览器向We b服务器请求.asp 文件时, ASP 脚本开始运行,然后Web 服务器调用A S P,A S P全面读取请求的文件,执行所有的脚本命令,并将标准的Web 页传送给浏览器,而并不包含你所写的脚本命令。A S P的每一个命令都首先被用来生成H T M L文件, A S P允许生成动态内容.下载对于Web 服务器来说, A S P与H T M L有着本质的区别, H T M L不经任何处理送回给浏览器另一方面,对于浏览器来说, A S P和H T M L几乎是没有区别的,仅仅是后缀为. a s p和. h t m的区别,当我们在客户端提出对A S P的申请后,我们的浏览器接受的是H T M L格式的文件。因此它根据以上特性,我们用A S P可以方便地实现诸如表格信息收集、计数器、留言簿、公告板、A S P还可以轻松地实现对页面内容的动态控制,为不同的浏览者定制不同的页面内容 .
ASP的内部对象特点:ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。这6个对象及其功能描述如下表所示:
ASP 内部6大对象及其功能
对象名称 功能描述
Request 从客户端取得信息
Response 将信息送给客户端
Server 提供一些Web服务器工具
Session 储存在一个Session内的用户信息,该信息仅可被该用户访问
Application 在一个ASP-Application中让不同的客户端共享信息
ObjectContext 配合Microsoft Transaction服务器进行分布式事务处理
合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。
2.2IIS简介
Wsb服务器是Web应用程序的心脏。IIS(Internet Information Server)是微软推出的Windows NT Option Pack的主要成员,作为Win2000server的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的IIS4.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。
2.3数据库系统简介
2.3.1数据库
数据库是存储在计算机内、有组织、可共享的数据集合。数据库中的数据按一定的数据模型组、描述和存储,具有较少的数据冗余度,较高的数据独立性和可扩展性,并且数据库中的数据可为各种合法用户共享。
2.3.2数据库管理系统
数据库管理系统(Data Manipluation Language,DML)是一个软件系统,主要用来定义和管理数据库,处理数据库与应用等程序之间的联系。数据库管理系统是数据库系统的核心组成部分。它建立在操作系统之上,对数据库进行统一的管理和控制。
2.3.3数据模型
数据模型是对数据的特点及数据之间的和种抽象表示,它包括数据结构、数据操作和完整性约束3部分。主要的数据模型有:网状模型、层次模型和关系模型。
第三章 需求分析
从小学到高中,很多学生家长抱着望子成龙的心态都不遗余力为孩子找合适的家教,而很多在校的大学生也通过当家教增加一点收入,所以开发一个家教信息管理系统,满足双方的需要很有必要的事情.
3.1功能需求
本系统为家教服务提供了一个交流的平台,使学生能够在本系统中找到适合自己的家教,也使有做家教意愿的人群能够发布自己的简历.
系统的功能主要包括:
家教可以注册一个网络昵称发布自己的求职信息以及个人的详细情况.
学生可以注册一个网络昵称发布自己的需求信息以及个人的详细情况.
用户可以分页浏览所有家教发布的求职信息及个人信息.
学生可以分页浏览所有家教发布的需求信息及个人信息.
家教可以登录网站修改自己的求职信息和个人信息.
学生可以登录网站修改自己需求的信息和个人信息.
学生和家长都可以检索信息.
3.2系统运行环境
(1)硬件环境
·处理器:Intel Pentium III 或更高
·内存: 256MB
·硬盘空间:10MB
·显卡: SVGA 显示适配器
·网络配置:宽带网络
(2)软件环境
·操作系统:Windows 2000/Windows XP
·Web服务器:IIS 5.0
·数据库:Microsoft Access 2000
·浏览器:Internet Explorer 5.0
·编程工具:Dreamweaver MX 2004
3.3 功能需求描述
本系统共分七大模块.功能模块图如下图所示
第四章 总体设计
4.1系统模块结构设计
4.1.1网站内容与网站目录
(1) 网站内容
(2)网站目录
4.1.2 开发与设计的总体思想
本系统的功能是为有家教老师需求的人和有做家教愿望的人提供一个交流的网络平台,让这部分人能够更方便地交流。所以本系统采用B/S架构开发设计,只要拥有一个浏览器,任何人都可以在本系统中发布信息、查询信息
4.1.3系统功能设计
(1)家教注册模块
家教注册模块提供了两个表单供家教注册。第一个表单用于填写家教登录网站时需要的昵称和密码,若填写正确则进入第二个表单继续填写个人详细情况,所有必需信息填写完毕后重定向到家教的个人信息管理区,家教可以发布自己的求职信息
(2)学生注册模块
学生注册模块提供了两个表单学生注册。第一个表单用于填写学生登录网站时需要的昵称和密码,若填写正确则进入第二个表单继续填写个人详细情况,所有必需信息填写完毕后则重定向到学生的个人信息管理区,学生可以发布自己的家教需求信息。
(3)家教个人信息管理模块
家教利用注册模块的昵称和密码登录网站,判断无误则进入家教个人信息管理,家教可以在此修改自己的密码、个人信息、发布求职信息或删除已发布的求职信息。本模块的功能如图4-1所示:
图4-1家教个人信息管理模块
(4)学生个人信息管理模块
学生利用注册模块的昵称和密码登录网站,判断无误则进入学生个人信息修改发布区,学生可以在此修改自己的密码、个人信息、发布家教需求信息或删除已发布的需求信息。本模块的各功能结构如图4-2所示:
图4-2学生个人信息管理模块
(5)家教信息浏览模块
家教信息模块主要是以表格形式发布家教的求职信息,表格共分三列,分别是“求职信息的内容”、“发布时间”、“发布人”。通过单击“发布人”的超链接可以查看其个人的详细情况。如果求职信息较多,模块提供了分页浏览的功能。
(6)学生信息浏览模块
学生信息模块主要是以表格形式显示学生的家教需求信息,表格共分三列,分别是“需求家教的信息内容”、“发布时间”、“发布人”。通过单击“发布人”的超链接可以查看发布信息的学生的个人详细情况。本模块也提供了分页浏览的功能。
(7)信息检索模块
用户可以通过信息检索模块对学生所发布的家教需求信息、家教所发布的求职信息进行查询。家教信息检索可以通过“讲授科目”、“学历”、“性别”三项进行单一查询或组合查询。而学生信息检索则可以通过“辅导科目”、“学习程度”、“性别”三项进行单一查询或组合查询。查询结果以列表形式显示出来。本模块的子模块示意图如图4-3所示:
图4-3信息检索模块
4.2数据库设计
(1)概念结构设计: 本系统面向的对象是学生用户和家教用户,在数据库需求分析时主要考虑二个方面的需求。家教信息管理功能和学生信息管理功能。
(2)逻辑结构设计:
■学生注册:包括编号、用户名、密码。
■学生详细信息:包括编号、用户名、真实姓名、性别、年龄、学习程度、邮箱、电话、住址、寻找家教情况、辅导的科目1、辅导的科目2、详细内容、发布时间。
■学生发布信息:包括编号、用户名、需求科目、详细内容、发布日期。
家教注册:包括编号、用户名、密码。
■家教注册:包括编号、用户名、密码。
■家教详细信息:包括编号、用户名、真实姓名、性别、年龄、身份证、学历文凭、邮箱、电话、住址、 家教的聘用状态、讲授的科目1、讲授的科目2、 备注。
■家教发布信息:包括编号、用户名、科目类别、详细内容、发布日期。
(3)物理结构设计:
系统数据库为db文件夹下的info.mdb,包括六个表格studentreg、studentdetail、studentinfo、teacherreg、teacherdetail、teacherinfo。
学生注册表(见表4-2-1)
标识:studentreg
用于存储学生登录个人信息管理模块时所需要的用户名和密码。
表4-2-1 学生注册表
名称 字段名称 类型 主键
编号 Id 自动编号 是
用户名 Snick 文本 否
密码 spass 文本 否
E—R图(图4-2-1)
图4-2-1
学生详细信息表(见表4-2-2)
标识:studentdetail。
用于存储学生一些个人信息
表4-2-2 学生详细信息表
名称 字段名称 类型 主键
编号 Id 自动编号 是
用户名 Snick 文本 否
真实姓名 Sname 文本 否
性别 Sex 文本 否
年龄 Age 数字 否
学习程度 Grade 文本 否
邮箱 Email 文本 否
电话 Tele 文本 否
住址 Address 文本 否
寻找家教情况 State 文本 否
辅导的科目1 Tutorship`1 文本 否
辅导的科目2 Tutouship2 文本 否
备注 demo 备注 否
学生发布信息表(见表4-2-3)
标识:studentinfo
用于存储学生发布的需求家教信息。
表4-2-3 学生发布信息表
名称 字段名称 类型 主键
编号 Id 自动编号 是
用户名 Snick 文本 否
需求科目 Needsubject 文本 否
详细内容 Needcontent 文本 否
发布日期 puttime 日期/时间 否
E—R图(图4-2-2)
图4-2-2
家教注册表(见表4-2-4)
标识:teacherreg
用于存储家教登录个人信息管理模块时所需要的用户名和密码。
表4-2-4学生注册表
名称 字段名称 类型 主键
编号 Id 自动编号 是
用户名 nick 文本 否
密码 pass 文本 否
E—R图(图4-2-3)
图4-2-3
5.家教详细信息表(见表4-2-5)
标识:teacherdetail。
用于存储家教一些个人信息
表4-2-5 学生详细信息表
名称 字段名称 类型 主键
编号 Id 自动编号 是
用户名 nick 文本 否
真实姓名 name 文本 否
性别 Sex 文本 否
年龄 Age 数字 否
身份证 ipcard 文本 否
邮箱 Email 文本 否
电话 Tele 文本 否
住址 Address 文本 否
家教的聘用状态 State 文本 否
讲授的科目1 subject`1 文本 否
讲授的科目2 subject2 文本 否
备注 demo 备注 否
6.家教发布信息表(见表4-2-6)
标识:studentinfo
用于存储家教发布的需求家教信息。
表4-2-6 学生发布信息表
名称 字段名称 类型 主键
编号 Id 自动编号 是
用户名 nick 文本 否
科目类别 sort 文本 否
详细内容 content 文本 否
发布日期 puttime 日期/时间 否
E—R图(图4-2-4)
图4-2-4
第五章 详细设计
5.1家教信息管理系统首页
5.1.1功能描述:
用户可以选择一种身份登录,若选择“家教”,则登录成功进入家教的个人信息管理模块,若选择“学生”,则登录成功进入学生的个人管理模块
5.1.2 IPO图
输入(I):访问系统首页
处理描述(P):①连接info.mdb数据库,查询studentinfot和cherinfo两个表,将其中数据按时间降序排列;
②分别显示家教和学生的列表页面
输出(O):家教和学生的列表页面
5.1.3名称:系统首页
标识:Index.asp
使用的文件或数据库:Studentinfo和studentinfo
5.1.4界面设计
图5-1 系统首页界面
5.1.5程序的设计与实现
<table border="1">
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Dbq=" & Server.Mappath("db/info.mdb") &
";Driver={Micosoft Access Driver (*.mdb)}"
StrSql="Select content from teacherinfo order by puttime desc"
for i=1 to 5
If rs.Eof then Exit For End If
response.Write("<tr><td><img src='image/more.gif,’20' height='20'>"
& rs("content"))
rs.MoveNext
Next
%>
</table>
<table border="1">
<%
strSql1="select needcontent from studentinfo order by puttime desc"
Set rs1=conn.Execute(strSql1)
For i=1 to 5
If rs.Eof then Exit For End If
response.Write("<tr><td><img src='image/01.gif' width='20' height='20'>"
& rs1("content"))
rs.MoveNext
Next
%>
</table>
<form name="form1" method="post" action="">
<table width="243" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="243"><div align="center"><font size="4"><strong>登录区</strong></font></div></td>
</tr>
<tr>
<td> <div align="center">
<input type="radio" name="rd" value="家教">
家教
<input type="radio" name="rd" value="学生">
学生</div></td>
</tr>
<tr>
<td><div align="center">用户:
<input type="text" name="user">
</div></td>
</tr>
<tr>
<td><div align="center">密码:
<input type="password" name="pw">
</div></td>
</tr>
<tr>
<td> <div align="center">
<input type="submit" name="login" value="登录">
<input type="submit" name="reset" value="重置">
</div></td>
</tr>
</table>
</form>
<%
If Request.Form("login")<>"" then
user=Request.Form("user")
pw=Request.Form("pw")
rd=Request.Form("rd")
Set conn=Server.CreateObject(ADODB.Connection)
conn.Open "Dbq=" & Server.Mappath("db/info.mdb") &
";Driver={Micosoft Access Driver (*.mdb)}"
if rd="家教" then
strSql="select * from teacherreg where nick='" & user & "'
and pass='" & pw &"'
Set rs=conn.Execute(strSql)
if rs.EOF then
Response.Write("用户名或密码输入错误!")
else
Session("teacher")=user
Response.Redirect("teacheralter.asp")
end if
Else
strSql="select * from studentreg where snick= ‘" & user &
"’and spass=‘" & pw & ’""
Set rs=conn.Execute(strSql)
if rs.EOF then
Response.Write("用户名或密码输入错误!")
else
Session("student")=user
Response.Redirect("stundentalter.asp")
end if
end if
end if
%>
5.2家教注册模块
5.2.1功能描述:
家教用户在本模块注册用户名、设置密码、录入自己的详细信息。注册完毕,用户进入家教的个人信息管理模块。
5.2.2 IPO图
输入(I):单击“家教注册”链接
处理描述(P):①显示注册用户名、设置密码页面
②验证用户名是否与数据库中其他用户名重复,如果重复用户需要重新注册,否则进入详细信息录入界面
③用户录入信息完毕,单击“提交”按钮,信息被保存到数据库中。
输出(O):家教个人信息管理模块界面
5.2.3名称:家教注册
标识:teacherreg.asp、teachererdetail.asp、dealteacherreg.asp
使用的文件或数据库:teacherreg和teacherdetail
5.2.4界面设计
图5-2 家教注册页面界面一
图5-3 家教注册页面界面二
5.2.5程序的设计与实现
teacherreg.asp文件用来注册用户名密码。其中包括五个表单元素,如表5-1所示:
表5-1 teacherreg.asp页面所使用的表单元素表
名称 表单元素类型 Value值 含义
Teacher 文本框 用户填写 用户名
Pass1 密码框 用户填写 密码
Pass2 密码区 用户填写 确认密码
St Submit按钮 下一步 提交表单
rt reset按钮 重置 重置表单
ASP代码如下:
<form name="form1" method="post" action="teacherreg.asp">
<table width="44%" height="82" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><div align="center">学生注册</div></td>
</tr>
<tr>
<td width="49%"><div align="left">用户名:</div></td>
<td width="51%"><input type="text" name="teacher"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="text" name="pass1"></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="text" name="pass2"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="st" value="下一步">
<input type="reset" name="Rt" value="重置">
</div></td>
</tr>
</table>
</form>
<%
if Request.Form("st")<>"" then
student=Request.Form("student")
pass1=Request.Form("pass1")
pass2=Request.Form("pass2")
if student="" then
response.Write("用户名不得为空")
elseif pass1<>pass2 then
Response.Write("两次输入的密码不同,请重新输入")
else
Dim db,conn
conn="driver={microsoft access driver (*.mdb)};dbq=" &server.MapPath("db\info.mdb")
Set db=Server.CreateObject("ADODB.Connection")
db.Open conn
strSql="select*from studentreg where snick='" & student&"'"
set rs=conn.Execute(strSql)
if not rs.Eof then
response.Write("该用户名已经在")
strSql="insert into teacherreg(snick,spass) values('"&
student & "','" & pass1 & "')"
conn.Execute(strSql)
session("student")=student
response.Redirect("studentdetailreg.asp")
end if
end if
%>
(2)teacherdetailreg.asp
本文件显示一个表单,用来使注册成功的用户录入其个人的详细信息。文件中包含的表单元素如表5-2所示:
表5-2 teacherdetailreg.asp页面所使用的表单元素表
名称 表单元素类型 Value值 含义
Tname 文本框 用户填写 注册用户真实姓名
Sex 单选按钮组 用户选择 性别:男、女
Age 文本框 用户填写 年龄
Idcard 文本框 用户填写 身份证号
Select 下拉列表框 用户选择 学历:大学本科、大学专科、硕士研究生
Work 文本框 用户填写 职业
Email 文本框 用户填写 邮箱
Tele 文本框 用户填写 电话
Address 文本框 用户填写 地址
Subject1 文本框 用户填写 讲授的科目1
Subject2 文本框 用户填写 讲授的科目2
Demo 文本框 用户填写 备注信息
St Submit按钮 提交 提交表单
rt reset按钮 重置 重置表单
详细代码如下:
<% if session("student")="" then
response.Write("您无权访问本页面")
else %>
<form name="form1" method="post" action="dealstudentreg.asp">
<table width="53%" height="225" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><div align="center"><strong>学生详细信息录入</strong></div></td>
</tr>
<tr>
<td width="38%"><font color="#0000FF" size="3">姓名:</font></td>
<td width="62%"><input type="text" name="sname"></td>
</tr