企业网站设计论文.docx
《企业网站设计论文.docx》由会员分享,可在线阅读,更多相关《企业网站设计论文.docx(71页珍藏版)》请在冰豆网上搜索。
企业网站设计论文
广州工程技术职业学院
2001级计算机网络技术班
毕业设计
在
线
教
育
网
站
设计人员:
在线教育网站主要提供网上的教学平台,教师可以通过该系统发布教案、布置/批改作业、发布公告和答疑解惑。
学生可以通过该系统完成自学,向老师提出问题,跟老师和其它同学讨论,查询作业及成绩等。
系统设计
一、目标设计
在线教育系统主要提供网上的教学平台,其功能如下:
1、教师部分的功能如下:
●通过教学公告向学生发布信息。
制定教学计划、宣布考试日程安排、发布临时通知等。
●在网上发布教案。
●在网上发布作业,包括作业题目上载、公布作业完成时间、内容等。
●批阅作业,给出学生成绩。
●对上课学生名单的管理。
●通过聊天室与学生进行实时讨论。
2、学生部分的功能如下:
●阅读公告。
●在网上完成课程学习。
●在网上完成作业,包括作业下载、上传作业内容和作业成绩查询等。
●通过讨论组的形式向老师提出问题。
●通过聊天室与老师进行实时讨论。
二、设计思想
我们将开发一个简单的在线教育系统,它将具有以下特点:
●实用性:
要为网上教学提供方便。
●操作简单:
本系统应该适用于不同水平的使用者,包括教师和学生,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。
●代码可读性好:
代码将尽可能简结。
系统的结构如图1所示,多数页面都是通过ASP脚本程序直接访问数据库和文件系统,有部分ASP程序通过组件(上传组件)访问数据库和文件系统。
图1系统结构设计
三、系统功能分析与设计
在线教育系统共分为两个子系统:
教师子系统和学生子系统,其功能模块划分如图2和图3所示。
图2教师子系统功能模块划分
图3学生子系统功能模块划分
1.教学内容发布
教师发布教案,这些内容是在线教育的最主要的内容。
教案可能有各种形式,如htm、doc、ppt、avi等,但在通常情况下,这些教学内容都是静态内容,因此按类别及内容分类在网站上发布即可。
另外,系统应对教学内容提供查询功能。
2.公告功能
教师可以通过公告功能发布各项通知,例如以下内容。
●招生公告(招生简章、招生专业介绍、招生站点联系方式、课程介绍等。
)
●规章制度,包括各类管理文件等。
●课程安排,包括课程教学方式、课程播放表、考试日程安排等。
●临时通知和教材。
3.作业功能
对于作业,学生需要将作业通过上传的方式上交。
教师要根据作业完成情况给每份作业打分。
因此,系统需要提供以下功能:
●上传:
将作业上载到指定地点,并按某种方式进行标识。
●批阅:
教师可对作业进行批阅判分。
4.答疑功能
●非实时答疑:
系统需要完成一个讨论组的功能,以便学生和老师能顺利提问和解答。
●实时答疑:
功能类似于聊天室。
学生和老师可以同时登录到系统,进行实时交流。
5.其它功能
网上考试、网上实时教学等功能。
数据库设计与实现
1、数据库的需求分析
根据系统需求,可以列出以下数据项和数据结构:
●公告信息:
包括标题、发布时间、公告内容、公告序号等。
●教案查询索引:
包括关键字、描述、内容所在地址等。
●答疑信息:
包括提问标题、问题内容、回答内容、提问时间、显示标记、回答标记等。
●学生信息:
包括学生姓名、学号、各次作业成绩等。
2、数据库逻辑设计
①公告信息表
字段名称
数据类型
说明
Id
自动编号
Title
文本
公告标题
Inputdate
日期/时间
公告发布时间(缺省值为系统时间)
Detail
备注
公告内容
Idnum
数字
公告排列序号
Flag_attention
是/否
重要消息的标记
②教案查询索引表
字段名称
数据类型
说明
Id
自动编号
Keyword
文本
关键字
Details
文本
关键字描述
page
文本
目标页面URL
③答疑信息表
字段名称
数据类型
说明
Id
自动编号
Title
文本
提问标题
Flag_show
是/否
显示标记(缺省值为是)
Flag_answer
是/否
回答标记(缺省值为否)
Detail
备注
问题内容
Answer
备注
回答内容
Time_qry
日期/时间
提问时间(缺省值为系统时间)
④学生信息表
字段名称
数据类型
说明
Id
自动编号
Num
文本
学号
Name
文本
姓名
Department
文本
班号
Score1
数字
第一次大作业得分
Score2
数字
第二次大作业得分
Score3
数字
第三次大作业得分
Score4
数字
第四次大作业得分
Score5
数字
第五次大作业得分
最后,学生信息表和教案查询索引表需要初始化数据。
学生信息表的内容逐条录入即可。
后台数据库的配置
后台数据库可以使用SQLServer或Access,数据库服务器和Web服务器可以配置在同一台计算机上,也可在两台计算机上,以上两种情况对于开发的过程来说是类似的,只需在Web服务器上配置好ODBC的系统数据源就可以了。
本系统是在WindowsXPProfessional下开发的,开发数据库使用的是Access2000。
前端网络页面的设计与开发
1、系统公用页面
系统公用页面包括以下4个:
global.asa文件、ADO常数页面adovbs.inc文件、ADO连接函数页面cod_ado.inc文件、页面风格定义文件style.inc。
global.asa文件放在网站的根目录下,这是global.asa文件的特性决定的,其余3个文件都放在/include目录下。
⑴global.asa文件
global.asa文件可以对application和session对象的开始和结束事件定义函数。
在该文件中,将数据库连接的字符串存放在application(“dsn”)对象中。
这样,每次启动网站的时候,数据连接字符串application(“dsn”)就被赋值。
SubApplication_OnStart
Application(“dsn”)=“dsn=newdata;uid=;pwd=”
EndSub
⑵ADO常数页面文件
程序中将会使用一些常数,例如adOpenForwardOnly,adLockReadOnly等。
因此将它们放在一个头文件adovbs.inc中,以方便调用。
Adovbs.inc
<%
'----CursorTypeEnumValues----
ConstadOpenForwardOnly=0
ConstadOpenKeyset=1
ConstadOpenDynamic=2
ConstadOpenStatic=3
'----LockTypeEnumValues----
ConstadLockReadOnly=1
ConstadLockPessimistic=2
ConstadLockOptimistic=3
ConstadLockBatchOptimistic=4
'----CursorLocationEnumValues----
ConstadUseServer=2
ConstadUseClient=3
'----CommandTypeEnumValues----
ConstadCmdUnknown=&H0008
ConstadCmdText=&H0001
ConstadCmdTable=&H0002
ConstadCmdStoredProc=&H0004
%>
⑶ADO连接函数页面cod_ado.inc
对于程序中建立数据连接和关闭数据连接的操作,放在一个包含文件中,这样便于维护和修改。
cod_AdoOpen(objConnection,rsCoursesList,dsn,rss)为建立连接函数,objConnection为数据连接对象,rsCoursesList为数据集对象,dsn为数据连接字符串,rss为要执行的SQL语句;cod_AdoClose(objConnection,rsCoursesList)为关闭连接函数,objConnection为数据连接对象,rsCoursesList为数据集对象。
对于要进行数据库操作的页面,通过调用这两个函数来实现。
<%
subcod_AdoOpen(objConnection,rsCoursesList,dsn,rss)
SetobjConnection=Server.CreateObject("ADODB.Connection")
objConnection.Opendsn
SetrsCoursesList=Server.CreateObject("ADODB.Recordset")
rsCoursesList.ActiveConnection=objConnection
rsCoursesList.CursorLocation=adUseClient
rsCoursesList.CursorType=adOpenForwardOnly
rsCoursesList.LockType=adLockReadOnly
rsCoursesList.Source=rss
rsCoursesList.Open
endsub
subcod_AdoClose(objConnection,rsCoursesList)
rsCoursesList.close
objConnection.close
setrsCoursesList=nothing
setobjConnection=nothing
endsub
%>
⑷页面风格定义文件style.inc
在style.inc文件中,利用CSS风格表对该系统的页面整体风格进行了定义。
主要包括页面、表格、标题、输入框的字体、颜色等。
2、主页面
系统的起始页共分为左右两个页面。
实现方法如下:
数据结构网上课堂
左边为菜单页面toc.asp,右边为内容页面main.asp。
在系统运行过程中,左边菜单toc.asp一直都是显示状态,右边的页面随模块不同内容也不同。
下面按功能分别介绍各个模块的设计和实现。
3、菜单页面
菜单页面包括各项功能页面的连接,即公告区、教案学习、答疑教室、聊天室、作业查询、作业上传。
页面底部的图标是到教师工作室菜单页面的连接。
该页面的教案学习中有一个分级展开的菜单。
下面的函数是用来完成显示和收缩子菜单的功能的。
functionshowdiv(div_id)
{
if(document.all.item(div_id).style.display==“block”)
{
document.all.item(div_id).style.display=“none”;
}
else
{
document.all.item(div_id).style.display=“block”;
}
}
4、公告栏
此模块涉及到的部分ASP文件如下:
●bulletin.asp:
教师工作区公告栏主页面
●bulletin_detail.asp:
公告详细内容
●bulletin_update.asp:
公告内容更新
●bulletin_insert.asp:
插入一条新公告
●bulletin_new.asp:
新公告录入表格
●bulletindelete.asp:
删除公告
●bulletin_stu.asp:
学生查看公告列表页面
●bulletin_detail_stu.asp:
学生查看公告详细信息页面
⑴bulletin.asp:
教师工作区公告栏主页面。
<%@Language="VBScript"%>
--#Includefile="..\include\adovbs.inc"-->
--#Includefile="..\include\cod_ado.inc"-->
--#Includefile="..\include\style.inc"-->
<%
strPage=Request.queryString("page")
dimobjCnn,rs
strDSN=Application("dsn")
strSQL="selectid,idnum,title,inputdatefromboardorderbyidnumdesc"
cod_AdoOpenobjCnn,rs,strDSN,strSQL
%>
<%
ifrs.RecordCount>0then
sumcount=rs.RecordCount
rs.MoveFirst
endif
rs.PageSize=12
intPageCount=rs.PageCount
ifLen(strPage)=0thenstrPage="1"
ifint(strPage)<1thenstrPage="1"
'ifint(strPage)>intPageCountthenstrPage=CStr(intPageCount)
ifrs.eofthen
%>
<%
response.end
endif
rs.absolutepage=cint(strpage)
%>
[本页是第<%=int(strPage)%>/<%=intPageCount%>页]<%
ifint(strPage)>1then
%>
[page=<%=CStr(int(strPage)-1)%>">前一页]<%
endif
%><%
ifint(strPage)%>[page=<%=CStr(int(strPage)+1)%>">下一页]<%
endif
%>
|
标记
序号
标题
<%
dimflagcolor,classtype
flagcolor=true
forintRecord=1Tors.PageSize
ifrs.EOFthen
exitfor
endif
flagcolor=not(flagcolor)
if(flagcolor)then
classtype="tr1"
else
classtype="tr2"
endif
%>
">
VALUE="<%=rs("id")%>">
<%=sumcount-12*(cint(strpage)-1)-intRecord+1%>
ID=<%=rs("ID")%>&page=<%=strpage%>"> <%=rs("title")%> |
<%
rs.MoveNext
Next
%>
[本页是第<%=int(strPage)%>/<%=intPageCount%>页]<%
ifint(strPage)>1then
%>
[page=<%=CStr(int(strPage)-1)%>">前一页]<%
endif
%><%
ifint(strPage)%>[page=<%=CStr(int(strPage)+1)%>">下一页]<%
endif
%>
">
|
'subitem_delete(no)
'value=msgbox("确定要删除号码为"&no&"的问题吗?
",1,"清华网络学堂")
'ifvalue=1then
'form1.id.value=id
'form1.submit
'endif
'endsub
subbtnnew_onclick
window.location="bulletin_new.asp"
endsub
subbtndel_onclick
msg="确定要删除所有带有标记的公告吗?
"
ifmsgbox(msg,1,"清华网络学堂")=1then
form1.action="bulletindelete.asp"
form1.submit
endif
endsub
<%
callcod_AdoClose(objCnn,rs)
%>
⑵bulletin_detail.asp:
公告详细内容。
<%@Language="VBScript"%>
--#Includefile="..\include\adovbs.inc"-->
--#Includefile="..\include\cod_ado.inc"-->
NewPage--#Includefile="..\include\style.inc"-->
<%
strID=Request.queryString("ID")
strpage=Request.queryString("page")
dimobjCnn,rs
strDSN=Application("dsn")
strSQL="SELECTid,title,flag_attention,detailFROMboardwhereID="&strID
cod_AdoOpenobjCnn,rs,strDSN,strSQL
%>
"> 公告标题: "> <% if(rs("flag_attention"))then %> 是否重要 <% else %> 是否重要 <% endif %> 公告内容:
展开阅读全文
相关搜索
|