27页计算机实验课在线答疑系统黄志春大学本科方案设计书Word下载.docx
《27页计算机实验课在线答疑系统黄志春大学本科方案设计书Word下载.docx》由会员分享,可在线阅读,更多相关《27页计算机实验课在线答疑系统黄志春大学本科方案设计书Word下载.docx(27页珍藏版)》请在冰点文库上搜索。
。
ExperimentalcomputercoursesonlineQ&
ASystemAnalysisandDesign
Abstract:
OnlineQ&
AsystembasedonASP.NETandC#technologiesWEBapplications,andInternetmediatoachievealong-distanceeducationteachingplatform.Focusesonsystemdesignanddevelopmentofitsbasicprocesses,designanddevelopmentofthemainuseofASP.NETtechnologyandC#language,SQLandrelatedtechnologies,inaccordancewiththeprincipleofobject-orienteddevelopment,basedontheuseofB/W/Sthree-tierarchitecturesystemdevelopmentmodel.ToIISserver,SQLserver2005databaseplatformtoprovideamutualexchangebetweenteachersandstudents,toexploreeachotherincyberspace,sothatwhenstudentsacquireknowledgeinamoreproactive.Thesystemincludesreal-timeQ&
Amanagementandcontrol,file-sharingmanagementresources,problemsandanswerquestionsaboutthemanagementofmessage,thebackgrounddatabaseinformationsuchasthemanagementofthemaintenanceofthebasicmodule.
Keywords:
ASP.NETonlineQ&
AoflaboratoryinformationB/W/SStructure
目录
1前言6
2设计前分析7
2.1需求分析7
2.2系统开发工具及思路7
2.3实现可行性分析8
3系统总体设计9
4系统详细设计11
4.1数据库设计11
4.1.1数据表的设计11
4.1.2数据库表间的逻辑关系图13
4.2系统主要功能模块详细设计与实现13
4.2.1前台主要功能模块介绍13
4.2.2后台主要功能模块介绍21
参考文献26
致谢27
1前言
计算机实验课在线答疑系统采用sql2005+为设计开发平台,主要为计算机机房提供一个利用现有设备进行课程教学,师生互动问答讨论的系统。
通过相应功能模块实现问题的实时或留言问答,实验内容等文件资源的共享上传与下载,以及相关知识拓展,师生在电脑前就能完成全程教学,使学生摆脱了以前的羞涩心理,主动参与到网络学习活动中来,有效地调动了学生学习的积极性。
同学与同学之间、教师与同学之间的讨论既活跃了思维,也拉近了彼此的距离,促进了教学活动的开展。
本系统基于网络教学支撑平台的教学模式具备人机互动、师生互动的优势,体现出以人为本,自主学习的特点,突破时空界限,延伸课堂空间,拓展思维方法,有利于培养善思考、高素质的综合人才,适应信息时代教育发展的要求。
2设计前分析
2.1需求分析
首先,针对计算机实验室的特点,在线答疑功能模块可以利用现有的局域网拓扑结构,在网络环境中进行信息的输入与传输显示,并存储在主机数据库服务器里。
通过对交谈方式的控制,在群聊和一对一私谈交流两者之间切换交谈方式。
其次,在教学过程中,必然有跟实验课程相关的实验指导、实验内容等相关的文档。
为免去安装ftp服务器实现文件共享的麻烦,在该答疑系统中还应包括文件资源的上传、下载功能模块,实现相关资料的相互传递。
再次,在线答疑模块中,主要是实现类似qq群聊天的即时通讯功能,里面的发言呈现出多人发言,交叉发言,讨论内容多且比较凌乱的现象,不利于对某一疑问的深层次探讨。
因此,在系统中,应设置类似我们平时所用的论坛留言的功能模块,并包含了发表疑问,回复疑问,管理疑问信息等功能。
另外,在教学过程中,为加深学生对实验内容的理解,拓宽知识的应用,有必要设置知识扩展模块,包含相关知识门户网站链接,应用实例展示,技术文章等内容。
为更方便处理班级事务,通知学生们班中相关信息,系统中也应包括班级公告功能,显示近期的班级安排等。
为了保证数据库的安全,以及教学的顺利进行,系统还需要对学生们的身份进行管理,最简单的一点就是对访问该系统的学生要求登录操作,进行身份的验证,以及把该身份在系统中其它功能的使用情况存储在系统的数据库中,方便以后需要确认某学生身份的调用操作。
最后,该系统提供的后台数据管理,应让具有管理权限的人员对数据库进行操作,包括学生信息的管理,上传文件管理,疑问管理,链接管理,通知管理等功能,具体功能呈现为对数据源的数据进行访问、添加、编辑、删除等操作。
极大方便地对系统进行统一管理控制与显示。
2.2系统开发工具及思路
本系统以ASP.NET2.0技术为蓝本、C#为开发语言、MicrosoftVisualWebDeveloper2005速成版为开发环境、MicrosoftSQLServer2005Express为数据存储。
运行环境的配置包括Microsoft.NETFramework2.0,Internet信息服务版本IIS5.1,InternetExplorer6.0。
本系统开发设计采用B/W/S三层结构实现,即数据层、业务层、表示层。
能很好地实现数据存储、运行业务逻辑、界面显示。
以本身为.NETFramework而设计的C#语言开发系统,是真正面向组件的开发,无需考虑语言的兼容性,并且开发过程也比较简单易懂。
利用.NET自带的SQL2005EXPRESS作为数据库服务器,可以方便地实现系统与数据库的连接,并且性能稳定、管理方便。
2.3实现可行性分析
需求上可行性:
在线答疑系统让同学们在计算机课室方便地进行课程学习与交流讨论,还可以管理班级的事务、通知。
使得师生之间的教学互动省时,省力。
极大得提高同学们学习的主动性,促进了信息化教学的发展。
技术上可行性:
目前,IT网络技术已经发展成熟并得到普遍应用,硬件方面,cpu双核芯片成为流行配置,开发运行.NET系统所需的系统要求,内存要求完全能够满足。
实现该系统在技术上是可行的。
经济上可行性:
该系统开发所需的工具主要是一台我们常用的个人主机,再加上一套常用软件VS2005+SQL2005,以现有的计算机课室的局域网络作为运行传输环境即可。
实现该系统花费少,是可行的。
3系统总体设计
3.1项目规划
总体规划:
在线答疑系统是一个典型的ASP.NET数据库开发应用程序,由系统前台展示模块、后台数据管理模块两大部分组成。
前台展示模块:
该模块主要提供即时发言的输入与显示,文件资源的上传下载,发表疑问与回答,相关网站访问,查看班级通知,以及身份登录验证等功能模块。
后台管理:
该模块主要是对前台数据库进行管理,主要包括学生管理、文件管理、疑问管理、链接管理、通知管理。
3.2系统总体功能结构图
图3.2.1前台功能结构图
图3.2.2后台功能结构图
3.3系统总体流程
用户成功登录后,如果验证是管理员身份,则可选择进入前台显示还是后台管理,如果是普通用户,则定向到系统前台首页。
在首页里,默认是即时发言页面,也可通过页面链接到文件共享或者查看疑问页面。
在即时发言页面,可以选择发言字体的颜色,切换群聊和密谈模式。
在文件共享页面,显示现有的文件列表,右击文件名即可选择下载,点击上传文件按钮,进入文件上传页面。
在查看疑问页面,可以发表疑问或者点击相应疑问,进入详细回答页面。
各页面中,都包含返回主页面的链接按钮。
是
否
图3.3.1系统总体流程图
4系统详细设计
4.1数据库设计
本系统数据库采用SQLServer2005EXPRESS数据库设计,其中包括5张表。
4.1.1数据表的设计
用户信息表
用户信息表记录用户的基本信息。
其主要字段包括:
用户ID、用户名称、用户密码、用户职位。
见表所示:
表4.1.1用户信息表
名称
字段名称
数据类型
长度
非空
用户编号
id
int
4
yes
用户名称
username
varchar
50
用户密码
password
用户职位
position
No
即时发言信息表
即时发言信息表的主要字段包括:
ID号、发言者、接收者、发言内容、发言字体颜色、是否密谈、发言时间。
表4.1.2即时发言信息表
ID号
发言者
user_from
接收者
user_to
发言内容
[content]
255
字体颜色
color
是否公开
ispublic
bit
发言时间
sendtime
datetime
8
文件信息表
药文件信息表的字段主要包括上传者、文件名称、上传时间、存储路径等。
表4.1.3文件信息表
id号
上传者
Send_UserName
文件名称
Send_FileName
100
上传时间
Send_Time
存储路径
Send_File
疑问信息表
该表主要是记录发表疑问信息,以及访问次数和回答次数。
包括标题,具体内容,提问者等字段。
表4.1.4疑问信息表
默认值
提问者
Author
nvarchar
标题
Subject
内容
[Content]
ntext
16
no
提问时间
PostTime
getdate()
访问次数
TotalView
回答次数
Reply
回复信息表
回复信息表主要字段包括:
回答编号id、对应的问题id、回答者、标题、详细回答内容、回答时间。
表4.1.5回复信息表
回答编号
MessageID
对应问题
回答者
详细内容
回答时间
链接类别表
编号
类别名称
class
char
10
网站信息表
类别编号
cid
网站名称
name
网址
link
网站简介
show
班级公告表
title
content
时间
time
4.1.2数据库表间的逻辑关系图
数据库的表与表之间各字段的关系如图所示:
图4.1.2数据库表间关系图
4.2系统主要功能模块详细设计与实现
4.2.1前台主要功能模块介绍
即时发言模块:
该模块首页面为default.aspx,页眉为自定义控件WebUserControl.ascx,里面包括各功能模块的链接,和显示系统时间等信息。
中间为即时发言界面,主要是显示信息和发送信息,页脚为后台登录链接,当登录者为admin时,该链接控件由灰色不可用变为可用链接,点击即进入后台登录页面。
登录页面default.aspx时,载入处理函数Page_Load(),控制代码为:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["
username"
].ToString()=="
admin"
)
HyperLink1.Visible=true;
}
普通用户登录admin登录
即时发言的界面为:
处理发送信息的函数为send();
代码为
functionsend()
vartxtContent=document.all("
content"
).value;
//文本框输入内容
if(txtContent=="
"
)return;
varuser_to=document.all("
userlist"
//聊天对象
vartextcolor=document.all("
textcolor"
//颜色
varisPublic=!
(document.all("
isSecret"
).checked);
//是否密谈
显示发言信息的函数为refresh_chatcontent();
functionrefresh_chatcontent()
//调用服务器方法获取最新消息的HTML字符串
vardiv=document.all("
chatcontent"
);
varstrNewMsg=ChatRoom.GetNewMsgString().value;
}
控制上线名单的函数为refresh_onlineusers();
functionrefresh_onlineusers()
//发送对象列表
varuserlist=document.all("
//调用服务器端方法获取用户列表字符串(用逗号分隔)
varstrUserlist=ChatRoom.GetOnlineUserString().value;
//获取客户端显示的用户列表字符串
varstrUserlistClient="
;
for(vari=1;
i<
userlist.options.length;
i++)
if(i!
=userlist.options.length-1)
strUserlistClient+=userlist.options[i].value+"
"
else
strUserlistClient+=userlist.options[i].value;
if(strUserlistClient!
=strUserlist)//在线用户列表发生变化
varuserArr=strUserlist.split('
'
//在线用户数
varusercount=document.all("
usercount"
usercount.innerHTML="
在线名单:
("
+userArr.length+"
人)"
文件共享模块:
该功能模块包括文件显示下载页面SaveFile.aspx和文件上传页面Chuanshu.aspx两页面,以及保存资源的文件夹file。
通过该模块,可以方便地上传下载实验内容等资料文件。
在web.config中设置连接数据库的语句为:
<
appSettings>
<
addkey="
ConnectionString"
value="
DataSource=.\SQLEXPRESS;
AttachDbFilename=|DataDirectory|\book09_Data.mdf;
IntegratedSecurity=True;
UserInstance=True"
/>
/appSettings>
使用SqlDataSource控件操作数据库的语句为:
asp:
SqlDataSourceID="
SqlDataSource1"
runat="
server"
ConnectionString="
%$appSettings:
ConnectionString%>
SelectCommand="
SELECT*FROM[SendFile]ORDERBY[id]desc"
>
/asp:
SqlDataSource>
使用GridView控件显示数据的代码为:
GridViewID="
GridView2"
AllowPaging="
True"
AllowSorting="
AutoGenerateColumns="
False"
DataSourceID="
Columns>
BoundFieldDataField="
id"
HeaderText="
InsertVisible="
ReadOnly="
SortExpression="
/>
HyperLinkFieldDataNavigateUrlFields="
Send_File"
DataTextField="
Send_FileName"
文件名"
>
ItemStyleHorizontalAlign="
Left"
HyperLinkField>
Send_UserName"
上传者"
Send_Time"
上传时间"
BoundField>
/Columns>
GridView>
处理上传文件的函数为SaveBtn_Click(),主要代码为:
protectedvoidSaveBtn_Click(objectsender,EventArgse)
StringSend_user1=Send_User.Text;
StringTimeNow=DateTime.Now.Year.ToString()+"
-"
+DateTime.Now.Month.ToString()+"
+DateTime.Now.Day.ToString()+"
+DateTime.Now.Hour.ToString()+"
:
+DateTime.Now.Minute.ToString()+"
+DateTime.Now.Second.ToString();
//获得时间
MyUploadMyUpload=newMyUpload();
stringPic1="
File/"
//保存路径
MyUpload.Path="
File"
MyUpload.Sizes=2048;
//文件大小
MyUpload.FileType="
jpg|gif|bmp|JPG|GIF|BMP|doc|DOC|txt|TXT|xls|XLS|FLV|flv|SWF|swf"
//文件类型