基于C#+asp.net+SQL Server的课程指导平台设计与实现(毕业论文+程序源码)
大家好,今天给大家介绍基于C#+asp.net+SQL Server的课程指导平台设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
1、项目简介
- 课程指导平台的开发将Internet网络技术与现代教育观念相融合,为教师与学生在教学环节中的交流提供更便捷的方式,实现了个人信息维护、课件上传与下载、教学信息发布、作业发布、评阅作业等,提高了教学成果。本课程指导平台从系统需求分析、概要设计、详细设计到具体的编码实现和后期的代码优化、功能测试都严格遵循了软件工程的思想。
2、资源详情
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:10352个字28页
包含内容:整套源码+完整毕业论文
3、关键词:
网络教学;数据库;指导平台;ASP.NET4、毕设简介
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
引 言
设计这样一个平台,为老师和学生之间的交流提供更便捷的方式,可以提高教学成果。它使师生在空间上分离,但又能快速反馈;打破了传统学校教育的课堂授课模式,同时也突破了传统远程无法实施有效的沟通和交流的局限,从课堂授课转变为网络教学课件发布、网上答疑、网上布置、批阅作业、网上组织学生的自主学习活动,提供学习资源。
省略
2 《数据库原理及应用技术》课程指导平台系统分析
2.1 系统需求分析
《数据库原理及应用技术》课程指导平台的开发,主要为教师和学生提供教学信息和课程教案的上传和下载; 教师发布课程作业和实验要求方便简单;网上评阅作业,给出评阅意见,供学生参考;为系统管理员、教师和学生建立完善的身份的权限管理等。本系统的目的是为了让教师和学生能随时随地通过网络进行学习交流。
2.1.1 用户身份级别要求
即根据身份的不同对系统的使用权限有所不同。从权限大小可以分为:系统管理员、教师、学生。系统提供灵活的角色设定和权限的分配功能。
- 系统管理员:
为使用本系统的教师中的一人给与系统管理员的身份,是权限最大的用户,拥有指导平台管理系统的所有权限,负责系统平台的日常网络维护管理,可以对系统进行修改,排除故障,可进行班级分配和用户管理。 - 教师:
权限包括课件上传,教学信息发布, 发布作业供学生查看并提交,作业评阅,对学生提交的作业有评阅及评分权限,没有删除权限、有删除自己发布的课件、作业及教学信息的权限。 - 学生:
是权限最小的用户,能下载教师课件,查看教学信息和作业要求、能提交作业并对自己提交的未评阅的作业进行删除和修改,能查看教师的评阅及自己的作业分数,但无修改和删除权限。
2.1.2 系统功能模块设置
教师部分功能模块:
1 个人信息维护:设置教师的个人信息。
- 操作对象:教师。
- 浏览对象:教师。
- 具体操作:可对个人的信息进行编辑和对密码进行修改。
2 课件管理:教师上传课件及教学资源
- 操作对象:教师。
- 浏览对象:教师。
- 具体操作:教师上传新课件;对课件可查看与删除,
3 教学信息发布:教师发布有关教学的信息。
- 操作对象:教师。
- 浏览对象:教师。
- 具体操作:教师发布教学信息,对信息可查看与删除,
4 作业发布:发布作业要求
- 操作对象:教师。
- 浏览对象:教师。
- 具体操作:教师发布作业后,对作业可修改和删除,学生查看作业可直接提交。
5 评阅作业:教师对学生提交的作业进行评阅及打分
- 操作对象:教师。
- 浏览对象:教师。
- 具体操作:教师可查看已交作业,作业的形式为文本或附件,文本可直接打开,附件可下载,并可对比查询到各班的已交作业和未交作业人数,每个学生的作业给出评阅内容及得分。
6 系统管理:设置和管理系统的各种参数。包括班级分配、用户管理。
- 操作对象:系统管理员。
- 浏览对象:系统管理员。
- 具体操作:对各个系统基本参数的基本设置。包括添加、删除、修改等。
7 在线交流:所有的系统合法用户登录完成操作后可与其他用户进行在线的交流。
- 操作对象:所有合法用户。
- 浏览对象:所有合法用户。
8 退出:所有的系统合法用户登录完成操作后退出系统都要进行“退出”操作、或者进行用户转换也需要进行“退出”操作。。
学生部分功能模块:
1 个人信息维护:设置学生的个人信息。
- 操作对象:学生。
- 浏览对象:学生。
- 具体操作:可对个人的信息进行编辑和对密码进行修改。
2 课件管理:学生下载课件及教学资源
- 操作对象:学生。
- 浏览对象:学生。
3 教学信息查看:学生查看教师发布的有关教学的信息。
- 操作对象:学生。
- 浏览对象:学生。
- 具体操作:按时间为顺序查看教师发布的教学信息,可用信息标题对信息进行搜索操作。
4 作业查看:查看作业要求
- 操作对象:学生。
- 浏览对象:学生。
- 具体操作:学生查看作业可直接提交,提交形式为文本或附件,作 业提交后如果教师还未评阅,则可进行修改和删除,若已批阅过则不能修改。
5 分数查看:学生对每次提交的已阅作业可查看作业评阅及分数。
- 操作对象:学生。
- 浏览对象:学生。
6 在线交流:所有的系统合法用户登录完成操作后可与其他用户进行在线的交流。
- 操作对象:所有合法用户。
- 浏览对象:所有合法用户。
7 退出:所有的系统合法用户登录完成操作后退出系统都要进行“退出”操作、或者进行用户转换也需要进行“退出”操作。
模块划分《数据库原理与应用技术》课程指导平台分为两个子系统
- 教师子系统,其功能模块划分如图1所示:
- 学生子系统,其功能模块划分如图2所示:
图1 教师子系统 图2 学生子系统
2.2 系统设计目标
研制《数据库原理及应用技术》课程指导平台在功能上可以满足网络课堂教学活动的需要
省略
2.3 系统的开发工具
2.3.1 开发环境
1 VS开发平台介绍
Visual Studio是微软公司出品的一款大型应用软件,是一套完整的开发工具集,它主要用于生成ASP.NET Web应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++、Visual C# 和Visual J# 全都使用相同的集成开发环境(IDE)。利用此IDE可以共享工具且有助于创建混合语言解决方案,使程序可以使用不同的语言共同开发。NET开发平台由一组用于建立Web服务应用程序和Windows桌面应用程序的软件组件构成,包括.NET框架(Framework)、.NET开发者工具和ASP.NET。Visual Studio 2005的集成开发环境中为开发人员提供了大量的实用工具以提高工作效率。这些工具包括了自动编译、项目创建向导、创建部署工程等。
2 MS SQL Server 2005介绍
从编程到管理能力Microsoft SQL Server 2005 对SQL Server 2000中已经存在的特性进行了加强。
3 C#语言介绍
C#是一种语言,它是专门为了微软的.NET战略而设计的一种语言. C#也叫C#.Net。
4 MVC介绍
MVC(Model/View/Controller)是一个设计模式,是国外用得比较多的一种设计模式, MVC包括三类对象。Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
- 模型(Model)
模型是应用程序的主体部分,模型表示业务数据,或者业务逻辑。 - 视图(View)
视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。 - 控制器(controller)
控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
2.3.2 编程运行环境
- 硬件环境:
CPU: AMD Athlon™ 2800+
内存:512 MB
硬盘:80 G - 软件环境:
操作系统:Microsoft Windows XP Service
应用软件:SQL Server 2005、 Microsoft.NET2005操作平台
3 《数据库原理及应用技术》课程指导平台系统设计
3.1 数据库设计
省略
通过对整个系统运行过程和数据流程分析,得出本系统的实体表:学生基本信息表:DB_STU、教师基本信息表:DB_TEACHER、老师班级表:DB_TEACHER_CLASS、班级表:DB_CLASS、专业表:DB_SPEC、课件表:DB_COURSEWARE、作业班级表:DB_EXERCISE_CLASS、作业题库表:DB_EXERCISE、学生老师公共作业表:DB_PUB_EXERCISE、教学信息表:DB_INFO、逻辑年级表:DB_LOGIC_GRADE、物理年级表:DB_REAL_GRADE。
用数据库设计工具ER/Studio设计出数据表以及数据表之间的逻辑关系,如图3所示:
图3 数据表与数据表之间的逻辑关系
经过前面的数据库分析与设计得到数据库的逻辑结构。本系统使用Microsoft SQL Server 2005作为数据库开发工具;创建名为CGB的数据库,根据各种功能的实现以及考虑到将来系统功能上的扩展,设计如下数据项和数据结构:
表1 教师基本信息表:DB_TEACHER
表2 学生基本信息表:DB_STU
表3 老师班级表:DB_TEACHER_CLASS
表4 班级表:DB_CLASS
表5 专业表:DB_SPEC
3.2 系统模块分析与设计
总体任务是为教师和学生在整个学习的交流过程提供更便捷的方式。
- 系统登录:
登录模块采用基于标准的MVC架构的开发模式。与一般的登录系统相似,主要是对登录用户的身份进行合法性验证。登录身份分成两种:教师、学生。根据自己不同的身份选择不同的登录身份,系统根据教师登录名识别是否为系统管理员。 - 个人信息维护:
教师和学生的个人基本信息管理。包括“信息设置”和“密码设置”,用来设置个人信息的联系方式和登录密码设置。 - 课件管理:
包括教师的上传课件模块和学生的下载课件模块,主要包括教师的添加课件、删除课件和根据课件名搜索课件,学生的下载课件和根据课件名搜索课件。 - 教学信息管理:
包括教师的发布信息模块和学生的查看信息模块,主要包括教师的添加信息、删除信息和根据信息标题搜索课件,学生的查看信息和根据信息标题搜索教学信息。 - 作业管理:
教师发布作业,学生提交作业。具体功能要求:首先,教师以文本或附件的形式发布新的作业要求,并可进行删除操作和根据作业名称进行搜索的操作;然后,学生下载或查看新的作业要求,可直接进行作业提交,若教师是以附件形式发布作业的,那学生也只能以附件形式提交作业,若教师发布的是文本形式的作业,那学生就只能以文本形式提交;已做作业列表中学生可以对教师未评阅的作业进行修改操作,若已评阅过则显示“当前作业已批阅不能再修改”。 - 作业评阅:
教师可对学生提交的作业打分和给出评阅意见,学生查看得分及评阅意见。具体功能要求:首先,教师在作业列表上查看已交作业,系统对比查询,可显示班级人数、已交人数和未交人数,并以学号列出待批阅的作业供教师评阅, 评阅中可给出本次作业得分和写出评阅意见,系统会显示已完全评阅完的作业列表,方便教师识别哪次作业需要继续评阅;然后,学生查看分数可直接以列表方式显示每次作业的得分及教师评阅意见。 - 系统管理:
包括“班级分配”管理模块、“用户管理”模块,权限归管理员所有,其他角色没有此功能。
班级分配:对每个教师所带班级进行分配设置。
用户管理模块:查看用户的详细信息、激活删除用户,并可用姓名进行学生用户和教师用户的搜索操作。 - 退出:所有的系统合法用户登录完成操作后退出系统都要进行“退出”操作、或者进行用户转换也需要进行“退出”操作。
3.3 界面设计
3.3.1 系统色彩规划
省略
3.3.2 系统框架设计
总体思想是上,下分两栏,使用框架做布局,此方法可以使整个系统更加符合信息空间的信息存储,运行速度更快,信息层次更加清晰,用户操作则更方便,更有条理。
整体界面的设计的下栏为工作区,通过点击左边导航栏的栏目,使下栏的右框架内页面显示相关栏目的内容,如图4,图5所示:
图4 页面设计框架1
图5 页面设计框架2
3.4 系统流程图与作业管理子模块功能说明
3.4.1 系统流程图
用户进入系统主页面后,输入用户名和密码,同时选择登录身份,点击提交后,系统将根据用户输入的用户名和密码判断该用户是否为合法用户;如果用户输入的用户名和密码出错,系统将提示出错,并返回到登录界面;如果用户输入的用户名和密码正确,系统将根据用户的身份选择相应的主页以及功能;所有合法用户在处理完业务后,都需要进行退出工作,以免被他人窃取信息。退出后,将返回到登录界面。功能示意图如图6所示:
图6 系统业务流程图
3.4.2 作业管理子模块功能说明
- 教师作业管理模块:
根据课程要求教师选择适合学生做的作业进行发布,发布后,学生进行作业查看及提交,教师查看已交作业,对待批改的作业依次进行批阅,认真给出得分及其详细评阅意见,为学生的学习提供帮助。同时,系统会统计每班学生作业提交人数信息方便教师掌握各班学生学习情况。至此,教师作业发布及评阅过程完成。作业发布及作业评阅业务流程图如图7,图8所示:
图7 教师作业发布业务流程图
图8 教师作业评阅业务流程图
- 学生作业提交模块:
每个学生用户可查看教师新发布的作业信息,可直接提交,若教师以文本方式发布作业,系统只为学生提供相同的方式即文本方式进行作业提交,若是附件形式的作业,学生下载附件,同样以附件形式提交作业。对教师未批阅过的作业,若学生错误操作提交或认为已提交作业质量不高,可修改重新提交。系统不允许学生对教师已批阅过的作业进行修改。在查看分数模块里,学生可查看自己所有被批改过作业的得分及教师评阅意见信息,学生通过查看分数和分析教师的评阅意见,取得进步。学生提交作业业务流程图如图9所示:
图9 学生提交作业业务流程图
4 《数据库原理及应用技术》课程指导平台功能模块具体实现
4.1 用户登录认证部分代码
// 数据库连接操作帮助类
public sealed class SqlHelper
{
// 执行数据库读取
public static SqlDataReader ExecuteReader(string connectionString, CommandType commandType, string commandText)
{
return ExecuteReader(connectionString, commandType, commandText, (SqlParameter[])null);
}
// 执行数据库读取
public static SqlDataReader ExecuteReader(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
{
if (connectionString == null || connectionString.Length == 0) throw new ArgumentNullException("connectionString");
SqlConnection connection = null;
try
{
// 新建一个数据库连接实例
connection = new SqlConnection(connectionString);
// 建立连接
connection.Open();
return ExecuteReader(connection, null, commandType, commandText, commandParameters, SqlConnectionOwnership.Internal);
}
catch
{
if (connection != null)
// 关闭数据库连接
connection.Close();
throw;
}
}
}
// 验证用户登录类
public class CheckUserLogin{
SqlConnection conn;
public CheckUserLogin()
{
//读取web.config里面的数据库连接字串并new一个SqlConnection实例
conn =
new
SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnStr"].ToString());
}
//取得用户密码
public string getPassword(string user_no, string role)
{
string password = String.Empty;
SqlDataReader dr = null;
if (role == "stu")
{
dr = SqlHelper.ExecuteReader(conn, CommandType.Text, "select password from DB_STU where stu_id =" + user_no);
}
…………………………..
return password; }
}
4.2 学生作业修改功能部分代码
//要修改的作业信息
protected DB_PUB_EXERCISEBE model = new DB_PUB_EXERCISEBE();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadData();
}
}
//加载要修改的作业的信息
private void LoadData()
{
string stu_no = ((DB_STUBE)Session["CurrentUser"]).stu_no;
string pub_exercise_no = Request["id"];
model = new CGP.BLL.DB_PUB_EXERCISE().GetModelByExerNo(pub_exercise_no, stu_no);
}
//发布作业
protected void edit_Click(object sender, EventArgs e)
{
string stu_no = ((DB_STUBE)Session["CurrentUser"]).stu_no;
LoadData();
if (model.pub_exercise_category== "文本")
{
if (this.Content.Value.ToString() == "")
{
CommonFun.WriteAlert("作业内容不能为空");
return;
}
}
//上传作业附件
if (model.pub_exercise_category == "附件")
{ string filename = string.Empty;
//string exercisetype = "附件";
if (this.FileURL.PostedFile.ContentLength > 0)
{ string Truefilename = this.FileURL.PostedFile.FileName;
string exName = Truefilename.Substring(Truefilename.LastIndexOf('.')).ToLower();
if (exName != ".doc" && exName != ".pdf" && exName != ".xls" && exName != ".txt" && exName != ".rar" && exName != ".zip")
{
CommonFun.WriteAlert("只能上传.doc.pdf.xls.txt.rar.zip的文件!");
return; }
else
{ filename = DateTime.Now.ToString("yyyyMMddHHmmss") + exName;
this.FileURL.PostedFile.SaveAs(Server.MapPath("~/" + ConfigurationManager.AppSettings["PubExercise"] + "/") + filename);
if (!File.Exists(Server.MapPath("~/" + ConfigurationManager.AppSettings["PubExercise"] + "/") + filename))
{ CommonFun.WriteAlert("上传失败!");
return;
}
}
}
else
{ CommonFun.WriteAlert("请选择作业附件!");
return; }
DB_PUB_EXERCISEBE pubexmodel = new DB_PUB_EXERCISEBE();
pubexmodel.pub_exercise_id = model.pub_exercise_id;
pubexmodel.pub_exercise_no = model.pub_exercise_no;
pubexmodel.stu_no = model.stu_no;
pubexmodel.pub_exercise_title = model.pub_exercise_title;
pubexmodel.pub_exercise_category = model.pub_exercise_category;
pubexmodel.pub_exercise_content = model.pub_exercise_content;
pubexmodel.to_teacher = model.to_teacher;
pubexmodel.is_checked = model.is_checked; //表示还没有被老师评阅过的作业
pubexmodel.pub_exercise_score = model.pub_exercise_score;
pubexmodel.pub_exercsie_link = ConfigurationManager.AppSettings["PubExercise"] + "/" + filename;
if (new CGP.BLL.DB_PUB_EXERCISE().Update(pubexmodel))
{
CommonFun.WriteAlert("作业修改成功!", "ExerciseView.aspx");
}
else
{
CommonFun.WriteAlert("作业修改失败!");
}
}
}
5 功能模块测试
由于开发占据了我大部分的精力和时间,所作的测试也就是一些手工的调试和边界的黑盒测试,在这里只是列举我测试的一些范围,不做详细描叙。
部分测试及其结果相关界面请见附录所示。
5.1 测试方法
- 顺利登录管理员模块后,在用户管理页面删除或激活若干用户,看能否顺利修改数据库;
- 顺利登录教师模块后,教师能否正确发布作业和教学信息;
- 顺利登录学生模块后,在教师已经发布作业的情况下,看是否能查看到作业内容;
- 学生提交作业以后看是否能正确记录学生的作业;
- 教师评阅成功后,学生能否查看评阅内容;
- 教师已经评阅过的作业,学生能否修改;
- 点击“退出”,是否能顺利退出模块。
5.2 测试结果
- 管理员能顺利按照预期值修改数据库;
- 教师能准确发布作业和教学信息;
- 学生能正确查看到预期想要的作业内容和教学信息;
- 能正确记录学生提交的作业;
- 学生能正确查看教师评阅内容;
- 学生不可修改已评阅过的作业;
- 可以退出模块。
5.3 测试结论
以上的测试案例是单独进行测试的,还需要进一步的交叉案例测试
。
通过以上简单测试说明了本系统设计方法的正确性,它已经初步具备了课程指导平台的基本框架,具有良好的检测性能和准确的检测结果。但系统构架和代码设计还需要进一步优化,以提高系统的运行效率,降低所耗的系统资源,为用户提供更好的服务。
结 论
省略
参考文献
[1] 方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2005.8。
[2] 刘烨,吴中元.C#编程及应用程序开发教程[M].北京:清华大学出版社,2005。
[3] Charles Petzold.C#程序设计[M].北京:机械工业出版社,2005。
[4] 孙三才,张智凯,许熏尹.C#与.net Framework实战演练[M].北京:中国铁道出版社,2002。
[5] 张海藩.软件工程导论[M].北京:清华大学出版社,2003.12。
[6] 曹锰,舒新峰.C#与ASP.NET程序设计[M].西安:西安交通大学出版社,2005.6。
[7] 张威.C#语言基础教程[M].北京:人民邮电出版社,2005。
附 录
图1 登录界面
图2 管理员模块功能页面
图3 个人信息维护页面
图4 教师课件上传页面
图5 教师作业发布页面
图6 作业发布具体操作页面
图7 所有待阅作业页面
图8 单项待阅作业页面
图9 评阅作业具体操作页面
图10 系统管理班级分配页面
图11 系统管理用户管理页面
图12 学生作业查看页面
图13 评阅过的作业不可修改页面
图14 查看分数页面
致 谢
省略
5、资源下载
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于C#+asp.net+SQL Server的课程指导平台设计与实现(源码+文档)_C#_asp.net_课程指导平台.zip |