校园网站总体分析与设计文档格式.docx
《校园网站总体分析与设计文档格式.docx》由会员分享,可在线阅读,更多相关《校园网站总体分析与设计文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
只要使用一般的文书编辑程序,如Windows记事本,就可以编辑。
当然,其他网页开展工具,例如,FrontPageExpress、FrontPage等也都可以;
不过还是建议你用记事本来写,既省钱又方便,假设是使用那些所见即所得的网页编辑来写ASP,可能会发生一些意想不到的离奇状态。
通吃各家浏览由于ASP程序是在网络效劳器端中执行,执行结果所产生的HTML文件适用于不同的浏览器。
语言相容性高
ASP与所有的ActiveXScript语言都相容,除了可结合HTML,VBScript、JavaScript、ActiveX效劳器组件来设计外,并可经由“plug-In〔外挂组件模组〕的方式,使用其他厂商〔ThirdParty〕所提供的语言。
隐密平安性高
如果我们在浏览器中直接查看网页的原始代码,就只能看到HTML文件,原始的ASP程序代码是看不到的!
这是因杰ASP程序先于网站效劳〔WebServer〕端执行后,将结果转换成标准HTML文件,再传送到客户端〔Client〕的浏览器上,因此,我们所辛苦撰写的ASP程序并不会轻易地被看见进而被盗用。
易于操控数据库
ASP可以轻易地通过ODBC(OpenDatabaseConnectivity)驱动程序连接各种不同的数据库,例如:
Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可将“文本文件〞或是〞Excel〞文件当成数据库用。
面向对象学习容易
ASP具备有面向对象〔Object-Oriented〕功能,学习容易,ASP提供了五种方便能力强大的内建对象:
Request、Response、Sever、Application以及Session,同时,假设使用ASP内建的“Application〞对象或〞Session〞对象所撰写出来的ASP程序可以在多个网页之间暂时保存必要的信息。
ASP的六大内部对象
对象名称功能描述
RequestResponseServerSessionApplicationObjectContext从客户端取得信息将信息送给客户端提供一些Web效劳器工具储存在一个Session内的用户信息,该信息仅可被该用户访问在一个ASP-Application中让不同的客户端共享信息可以用来配合MicrosoftTransaction效劳器进行分布式事务处理
所以我选择了ASP结合Frontpage架构长沙市工商职业中专学校网站
第二章网站总体分析与设计
2.1网站系统分析
根据前面的设计思想进行分析,按照系统开发的根本观点对网站进行分解,从内容上可对网站作如下划分:
l学校风采通过学校概括、教师风采、校园之星及局部图片等内容来展现。
l优点特色通过新闻、生动活泼的教育教学栏目来展现。
l信息发布通过公告栏、信息查询等栏目来实现,内容有招生政策、活动安排等。
l局部校务根据校务的公开程度与参与人数的多少,特选择图书管理、评优、考试查分、家校联系四大校务在网上实现。
2.2主页设计
网站主页采用静、动相结合的方式,即静态的主画面和动态的图片相结合,表达学校
的勃勃生气,静态主页方式介绍学校风采、优点特色、信息发布,对于四大校务,就得利用ASP与数据库结合的技术建立数据库查询管理系统,采用交互式的动态的web画面来实现。
主页结构图
注:
带下划线的表示是链接方式
2.3数据库设计
采用的数据库是MicrosoftAccess,拟建立teach.mdb库文件,包含如下几个表文件:
allmessage留言信息表
Libbooks图书信息表
Libcategories图书类别信息表
Libemps图书馆用户信息表;
stud学生信息表
第三章详细设计
3.1家长学校联络簿
3.1.1功能:
利用SQL语法过滤特定的家长留言意见,让老师可以针对某位特定学生家长所发表的意见作出独立的答复,同时,家长在发表个人意见时,假设认为意见内容涉及敏感的话题或是意见内容涉及私人隐私,都可用“悄悄话〞的方式发言,这些“悄悄话〞将不会被显示出来让大家看到,当然,老师拥有管理的能力,只要以密码登录管理模式,就可以进行各个学生家长的单独意见回复,而且还能看到家长们所留下的“悄悄话〞。
3.1.2组成构造
共分成六大局部:
1,意见留言结果网页guest.asp:
用来显示家长发言与老师回复内容,同时还具备一般模式与管理模式两种显示方法。
2,家长发言表单网页addmsg.asp:
让学生家长填写发言内容并选择发言性质。
3,家长发言数据处理ASP程序add.asp:
处理家长发表的意见数据,同时将这些意见数据记录起来并将网页显示转向至意见留言结果网页。
4,老师回复表单网页teachans.asp:
让老师针对某位特定学生家长所发表的意见作出独立的答复。
5,老师回复数据处理ASP程序anssave.asp:
处理老师回复的数据内容,同时将这些意见数据起来并将网页显示转向至意见留言结果网页。
6,数据表文件allmessage:
用来储存家长发言数据与老师回复数据的Access类型数据库文件。
“数据表文件〞负责存放家长发言数据与老师回复内容的数据记录,为Access类型的库文件,将它定名为:
“〞。
以以下图为家庭联络簿的组成与流程图:
老师回复
家长留言
读入写入
写入
3.1.3数据库结构设计
数据库文件〞“中的数据表〞allmessage“的栏目设置,如以以下图:
字段名字段类型
3.1.4界面设计与重点、难点代码的设计
数据库与留言显示程序网页
家长发言与老师回复的内容数据全部储存在数据库中,要在网页中显示目前的家长发言与老师回复数据,必须先进行数据库的链接与翻开,要链接数据库我们必须使用ADO对象群的Connection对象;
而要翻开数据库那么必须使用ADO对象群的Recordset对象,
程序:
setcn=server.createobject("
adodb.connection"
)
cn.open"
filedsn=c:
\programfiles\commonfiles\odbc\datasources\msaccessdatabase.dsn"
setrs=server.createobject("
adodb.recordset"
)
sql="
select*fromallmessageorderby留言时间desc"
rs.opensql,cn,1,1
Recordset对象是负责浏览与操作从数据库取出来的数据,Connection对象只负责与数据库进行链接的动作,并不能使用数据库内的数据,因此必须建立一个可以存取数据库数据的Recordset对象,
〞〞数据库
RS.OpenSQL,CN,1,1
使用open方法来翻开数据表或执行Select指令参数设置如下:
1,参数一〔SOURCE〕:
为欲翻开的数据表或SQL指令。
2,参数二〔ActionConnection〕:
指定一个已翻开的数据库对象,将此参数设为链接我们已经建立好的Connection对象“CN〞。
3,参数三〔CursorType〕:
指定Recordset的翻开类型,1为可读写且可自由移动。
4,参数四〔LockType〕:
指定锁定类型,1为只读。
数据排序与SQL指令
1.Select指令的筛选语句:
格式:
Select…From
在SQL语言中:
“Select〞数据表“中选取某些“栏位〞的数据.
2.如果要选取的数据表数据包含了一个以上的栏位,那么我们可以利用“,〞逗号来栏位名称隔开。
3.如果要选取的数据表数据包含了全部的栏位,那么可以利用万用字符“*〞来代表全部的栏位。
可排序数据的Select指令
1.当我们希望被选取出来的数据记录数据能够依据某个或某几个栏位的内容来排序时,只要将这些排序依据的栏位摆放在“OrderBy“保存字之后,然后将这处排序的语句连接在〞Select…From“后面就行了。
2.“OrderBy“默认的排序方式是“由小排到大〞,但假设是希望排序方式是“由大排到小〞,那么我们可在栏位名称后再加上“Desc“保存字!
将排序方式改为〞由大排到小“。
在“显示留言意见〞网页中的翻开数据库ASP程序中的语句:
SELECT*Fromallmessageorderby留言日期Desc
功能为:
从数据表“allmessage“中取出所有栏位的数据,并将取出的数据记录内容依照〞留言日期“栏位使用的〞由大排到小“排序方式进行排序。
留言显示网页的管理模式
“显示留言意见〞的网页就必须具备显示模式选择的功能,当显示模式在一般情况时要能显示家长们的一般性发言,同时还得将“悄悄话“的发言隐藏起来。
当老师以密码登录成为管理模式时,那么必须将一般性发言与悄悄话发言的数据全部显示出来,同时还得让老师们可以针对某位特定学生家长所发表的意见作
出独立的答复。
这两个情况是通过密码登录管理模式的ASP程序实现的:
<
formmethod="
post"
>
%ifsession("
checkedit"
)="
yes"
then%>
inputtype="
hidden"
value="
name="
goexit"
submit"
离开管理模式"
%else%>
密码:
password"
size="
4"
maxlength="
&
nbsp&
nbsp<
教师管理"
%endif%>
/form>
在这段网页语句中,利用Session对象来记录目前的工作模式。
当我们第一次进入“显示留言意见〞网页的时候,我们所见的网页画面一定是一般!
因为Session尚未被建立,因此它的“变量〞值一定不会是“yes〞,所以网页中会出现一个输入密码进入“教师管理〞模式的栏位,只有当我们输入密码按下“教师管理〞的按钮组织上发ASP程序中的进入管理模式语句后,Session对象才会被建立,同时,“checkedit“Session对象变量值被设置为“yes“,所以我们就进入了能将一般性发言与悄悄话发言的数据全部显示出来,同时还让教师们可以针对某位特定学生家长所发表的意见作出独立答复的管理模式页面。
留言显示网页的分页
当家长的发言与老师回复的数据笔数太多时,一次要将全部的数据内容显示在网页中,等待网页下载的时间太长了,因此采用固定笔数分页浏览方式来显示网页。
要进行分页显示,得先知道目前有多少笔的留言数据,而留言数据笔数可以通过Recordset对象的“Recordcount“〔记录个数〕属性得知,我们将每10笔数据为一单位分页显示:
ifcount/10>
(count\10)then
totalpage=(count\10)+1
elsetotalpage=(count\10)
endif
“/〞为浮点数除法,“\〞为整数除法。
跳页选择的ASP程序语句
所有的发言数据采用固定笔数分页浏览的方式来显示后,还要提供一个跳页链接显示的功能,让浏览者可以选择希望浏览的页次进得浏览,ASP程序语句:
pagecount=0
ifrequest.querystring("
topage"
)<
"
thenpagecount=cint(request.querystring("
))
ifpagecount<
=0thenpagecount=1
ifpagecount>
totalpagethenpagecount=totalpage
rs.move(pagecount-1)*10
发言表单网页制作
insetu3
表单的参数
表单的Action参数:
Action参数是用来指定Server端处理此一表单数据内容的程序,此处表单处理ASP程序为““,
表单的Mothed参数:
要将表单传送至Server端的方式有两种,设置值分别为GET及POST,假设设置为POST,那么浏览器会等Server端来读取数据,假设设置为GET,那么当我们按下送出按
钮时,浏览器会立即将表单中的数据内传送出去。
利用POST方法,在传送的数据上将不受限制,利用GET方法传送的数据量那么大约只有2K左右。
留言处理程序
要将家长发言数据作后续处理及将这些数据内容存入数据库,须利用添加数据记录的InsertInto指令,然后再写入数据库文件中:
Insetinto指令语句格式:
Insertinto数据表名〔栏目名〕values〔栏目值〕
insertintoallmessage(家长姓名,留言主题,联络信箱,留言内容,私人公开,留言时间,班级)values("
sql=sql&
'
parent&
"
subject&
email&
memo&
personal&
now&
bj&
)"
cn.executesql
回复表单程序网页
必须让老师们可以针对某位特定学生家长所发表的意见作出独立的答复,
使用Select…From…Where筛选语句
select*fromallmessagewhere(编号="
ID&
rs.opensql,cn,1,3
然后将特定的家长发言数据放在表单,方法是将数据库中的数据取出来,然后放在表单栏位中:
“家长姓名“栏位网页语句标签
tdbgcolor="
#CCCCFF"
fontsize="
2"
%=RS("
家长姓名"
)%>
font>
/td>
“留言主题“栏位网页语句标签
留言主题"
/font>
“留言内容“栏位网页语句标签
留言内容"
老师在回复栏位中所填入的数据,必须送给处理老师回复数据的ASP程序〞〞来记录以及处理这些回复数据。
当老师填写好回复发言的数据后按下“送出回复〞按钮后,表单中的数据内容就会以“POST〞的方式由SEVER端读取,然后将数据内容交由处理老师回复数据的ASP程序“〞来将数据内容写入数据库。
3.2网上图书馆
网上图书馆将学校图书馆图书放到网络上供人借阅,这样不仅方便了校内的学生与教职员工使用图书馆的资源,还为图书馆管理员提供了一种简便地管理图书馆的方法.
3.2.1功能
网上图书馆系统可以进行图书的出借和归还.还可以在系统中按照多种字段对图书进行查找,还可以浏览某个种类的所有图书.该应用程序也为图书馆管理员提供了一些功能,如添加、编辑以及删除图书等,或者在分类层次结构中添加新的种类。
3.2.2系统的层次结构
以以下图的每个方框代表校园图书馆网站中的一个页面。
除了只包含HTML的Search页面外,其他的均为ASP页面。
因为
每个图书的页面都不同,所以大多数的页面实际上都是多页面。
3.2.3数据库设计
本系统共使用3个数据表:
LibBooks表包含与图书有关的所有数据。
该表中的字段内容的图书的通用信息。
另外,对于已经出借的图书,该表中还包含借阅该图书的用户的ID号,以及图书的状态。
表视图如下:
字段名意义字段类型字段名意义字段类型
bookid书号(主键)数字(nonull)status状态文本
title书名文本checkedoutto用户id数字
author著者文本reservedby用户学号数字
Subject主题文本description描述文本
IsbnIsbn号文本keywords关键字文本
LibCategories表包含Library中的所有类别,在访问者浏览图书列表时将会用到这些类别。
每个类别都可以作为另外类别的父类别。
有一个特殊的类别,Top-Level,没有出现在类别列表中,但是可以作为其他任何类别的父类别。
字段名意义字段类型
Categoryname类别文本(noll)
parentcategory父类别文本(noll)
LibEmps表包含可以访问图书馆网站的用户信息。
该表包含一些通用的信息字段,比方用于进入图书馆的用户密码等。
empid用户id(主键nonull)数字password用户密码文本
Empname用户姓名文本manager管理员代号数字
emailaddress用户邮箱文本
图书馆数据库的数据关系如图9-22所示。
其中表LibEmps和表LibCategories与表LibBooks之间都是一对多的关系。
每个雇员都可以借阅多本图书,每个类别都可以包含多本图书。
3.2.4界面设计与重点代码的设计
网上图书馆系统有两种用户,一是管理员。
另一种是只允许使用图书馆系统,而没有管理功能的一般用户。
访问者进入网站,首先要进行登录,如以以下图所示。
登录页面〔〕
访问者输入E-mail地址和密码来登录,然后单击“登录〞按钮。
输入的数据提交后与数据库中的用户表进行匹配。
须创立一个记录来保存基于访问者登录的用户信息
setRSFindEmp=conn.Execute("
selectEmpID,ManagerfromLibEmpswhere"
_
"
EmailAddress='
&
Request.Form("
EmailAddress"
)&
and"
Password='
Password"
ifRSFindEmp.EOFthen
TheMessage="
密码或email地址不对."
else
Session("
EmpID"
)=RSFindEmp("
Manager"
Response.Redirect"
../yk.htm"
表单域EmailAddress和Password用于Where了句中来获取一个记录。
如果访问者输入了一个无效的用户名,那么记录集中将不会返回匹配的记录。
我们可以通过查看EOF标记来判断一个记录集是否为空。
为空,那么访问者将被拒绝进入该系统。
不为空,那么访问者的EmpID值和Manager值将从记录集中返回。
写入Session变量, 变量将在整个网站的所有网页中都是有效的。
这些变量的存在与否及其取值将用于确定是否允许进入一个特定的网页,同时也用于访问者进行书目的归还和借阅操作。
图书馆菜单页面
图书馆菜单页面包含指向其他4个页面的链接:
管理页面、搜索页面、图书列表页面和主页面。
还有一个可显示用户所借书籍的按纽。
如果访问者是图书馆管理员,那么菜单界面如以下图。
如果访问者不是图书馆管理员,那么看到如以下图的界面。
非管理员的访问者的界面上没有指向管理员菜单页面的链接。
实现方法:
访问者登录时在登录页面上的创立的会话变量Session用于从数据库中获取访问者的有关信息,表示它是否是管理员。
如果值为1,就说明访问者是一个管理员,那么用如下代码写入一个指向管理员页面的链接:
%IfSession("
)=1then%>
AHREF="
../html/management_menu.asp"
管理员菜单<
/A>
%endif%>
通过按纽B1是否为空来判断要不要显示用户所借图书,利用一个记录集来获取访问者已经借出了的所有图书的列表。
ifNOTisempty(Request.Form("
B1"
))then
setRSBooks=conn.Execute("
selectBookID,TitlefromLibBookswhere"
CheckedOutTo="
Session("
endif
再用循环语句将所借