




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
于Browser/Server乡镇中学网上学习系统摘要: Internet不断普及,我们农村中学对于互联网技术的要求已不单单是浏览一下网页,收发电子邮件,我们教师开也开始追求足不出户的利用互联网平台来实现网上乡镇中学学习。对于乡镇中学来讲,无论是乡镇中学之间,还是乡镇中学教师和学生之间的沟通,如果能够实现网上沟通将大大提高学习效率节约资源成本。近几年,随着数据库技术的进一步发展,使得这一设想逐渐成为现实。本设计运用C#语言和评估版SQL Server 2014实现一个精简的B/S结构的网上乡镇中学学习系统。在我的系统中,师生可以很方便的注册成为学员,对学习资源进行浏览检索,查看学习资源的详细资料,然后根据老师的要求选择自己心仪的学习方式。系统会自动为师生生成订单,按照师生所填写的信息提交订单,而且用户可以选择付款方式,当然对本校师生免费使用。系统管理员和专职教师则可以对现有的学习资源、订单、学员和公告栏进行管理,有利于教师课下跟踪辅导。关键词:C#;评估版SQL Server 2014;网上乡镇中学学习系统;Browser/Server;1引言1.1乡镇中学网上学习系统的现状技术的革新为教育带来诸多可能性,以微课程为代表的翻转课堂学习模式深受广大师生的厚爱。教师可以灵活调整课堂内外的时间,将学习的决定权逐渐向学生转移。在这种学习模式下,课上学生能够更专注于主动的基于项目的学习,共同研究解决本地化或全球化的挑战以及其他现实世界面临的问题,从而获得更深层次的理解。教师不再占用课堂的时间来讲授信息,这些信息需要学生在课后完成自主学习,他们可以看视频、博客、电子书,还能在网络上与别的同学讨论,能在任何时候去查阅需要的资源。教师也能有更多的精力与每个学生沟通。在课后,学生自主规划学习内容、学习节奏、风格和呈现知识的方式,教师则通过网上督促检查,采用讲授法和协作法来满足学生的需要和促成他们的个性化学习。现在乡镇中学网上学习已经由原来的尝试性活动逐渐发展成日常的学习习惯。我们学校过去主要通过“校讯通”、打电话或QQ群发等方式与学生进行沟通,但这儿所探讨的是学生的课下学习过程和教师督查机制有机结合的实现方式主要是以EDI和INTERNET来完成的。尤其是随着INTERNET技术的日益成熟,学生的课下学习过程督查真正的发展将是建立在INTERNET技术上的。互联网的快速发展为学生的课下学习过程督查系统的发展提供了强大的动力,同时,互联网上的公共平台的出现解决了乡镇中学自行开展学生的课下学习过程督促所遇到诸多问题,如:前期设备投入过大,系统开发人员十分紧缺,软硬件基础比较薄弱,技术水平比较低下,通用性不强等问题。国外虽然有比较成熟的学生的课下学习过程督查系统,但价格非常昂贵,而且还不一定适合我国国情,有些甚至需要花大量的人力物力进行二次开发。而现在,一所乡镇中学可以通过一个公共平台享受由专业技术公司提供的定制化服务。具体来说,就是一些有行业经验又拥有互联网技术的第三方服务商,为乡镇中学提供学生的课下学习过程督查解决方案,为乡镇中学量身定制信息管理系统平台,帮助乡镇中学进行信息处理和软硬件的日常维护。采用第三方平台,免除了开发研究所耗费的时间和支出,在短时间内即可实现学生课下学习过的程督查,给乡镇中学的发展带来机遇,乡镇中学也不必再花费大量的人力、物力,也不必担忧日后的软硬件维护和升级。租用这种第三方平台无需高额的前期投入,在使用过程中,也只需定期交纳一定的服务费用。1.2系统设计目标本系统在设计时应该满足以下几个目标:l 采用人机对话的操作方式,界面设计美观友好、信息查询灵活、方便、快捷、准确,数据存储安全可靠。l 全面展示系统库内所有学习资源,并且可以展示最新学习资源及特价学习资源。l 实现网上学习。l 学习资源销售排行,以方便师生了解本系统库内的热销学习资源及帮助校领导做出相应的决策。l 查看系统库内的公告信息。l 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。l 系统最大限度地实现了易维护性和易操作性。l 系统运行稳定、安全可靠。1.3 系统特点l 界面美观、操作简单;信息查询灵活、方便、快捷、准确。l 系统最大限度地实现了易安装、易维护和易操作性。l 系统运行稳定、安全可靠。2.需求分析2.1功能需求分析乡镇中学网上学习系统要求能切实满足学生各种需要,一个简易的乡镇中学网上学习系统应该具有以下几个功能模块。(1) 用户管理该模块在网上乡镇中学学习系统的安全性方面具有重要的作用,是网上乡镇中学学习系统的核心模块,分为用户注册与学员登录和学员管理。l 用户注册与学员登录:用户填写个人详细信息,注册为学员,学员登录后才可实现学习功能。l 学员管理:系统管理员和专职教师登录后管理系统中所有普通用户信息,对其修改、删除操作(2) 学习资源类别管理由于网上乡镇中学学习系统中,所展示的产品是多种多样的,为了用户方便查询、系统数据便于归类、统计,设计专门的产品类别管理功能是很有必要的。功能分析如下:l 一级分类模块:是指系统中产品分为的大类,如视频、书籍等分类。l 二级分类模块:是指针对一级分类做更加详细的分类,如语文学习、英语视频、英语书籍。(3) 学习资源管理l 设置好系统的分类功能模块后,管理员和专职教师可以根据产品分类,像系统中添加学习资源,包括产品名称,编号,所属类别,展示图片,价格,当前价格等。管理员和专职教师还可对已经添加的学习资源信息进行修改,删除等操作。l 系统按照学习资源的销售量自动排序,这样便于管理员和专职教师了解资源的销售动向。l 系统按照学习资源的新旧分类自动选择,在首页显示最新或以前的学习资源,方便学生学习。(4) 订单管理学员购买资源时,系统自动生成订单,学员可以在此选择付款,用户可查询已提交的订单。管理员和专职教师登录后台,即可及时了解学习资源的订单情况,也可对订单进行编辑,保证教师与学生及时沟通。(5) 公告栏管理乡镇中学通过公告系统向用户公布系统库最新活动,最新推荐等。2.2 数据库需求分析乡镇中学网上学习系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询操作上,包括学员信息、学习资源信息、学习资源分类信息、乡镇中学学习车信息、订单信息等,各个部分的数据内容又有内在联系。针对该系统的数据特点,可以总结出如下需求。l 具有学员身份的用户才可以执行乡镇中学学习功能。l 只有管理员和专职教师才可以登录后台。l 公告栏记录系统发布的公告l 学员信息记录学员的详细资料,如用户名、真实姓名、地址、电话、学习状况等。l 学习资源信息记录了学习资源的价格、简介、图片等信息。l 学习资源需要一个分类,以方便查找。l 订单记录了用户提交的乡镇中学学习信息。经过上述系统功能分析和需求总结,可设计如下的数据项和数据结构:(1) 用户管理功能l 学员信息:包括学员编号、学员名、真实姓名、密码、地址、邮编,有效证件编号、电话、E-mail等数据项。l 管理员和专职教师信息:包括管理员和专职教师编号,管理员和专职教师名,密码等数据项。(2) 产品类别管理功能l 学习资源一级分类信息:包括分类编号和分类名称等数据项。l 学习资源二级分类信息:包括分类编号、分类名称上级分类编号等数据项。(3) 学习资源管理功能l 学习资源信息:包括学习资源编号、所属分类、学习资源名称、学习资源介绍、销售价格、当前价格、上架时间等数据项。(4)订单管理功能l 订单信息:包括订单编号、学员名、付款金额、下订单日期、是否执行和备注等数据项。l 订单详细信息:包括订单编号、学习资源号、学习资源数量和价格。(5)公告栏管理功能l 公告栏信息:包括公告编号,标题,内容,发布时间等数据项。2.3 环境需求分析2.3.1开发环境l 操作系统:Windows7l 开发环境支持平台:Microsoft.Net Framework 4.5 l 开发工具:Microsoft Visual Studio 2012l 开发数据库:评估版SQL Server 2014l 开发语言:C#语言2.3.2 运行环境l 操作系统:Windows 7/Windows Server 2012l 开发环境支持平台:Microsoft.Net Framework 4.5 l 服务器:IIS7.0l 数据库:评估版SQL Server 2014l 浏览器:IE10.0以上l 分辨率:最佳效果1024768像素3.系统总体结构设计3.1总体结构图用户管理公告管理乡镇中学网上教学系统农村农村中学学习系统学习资源管理订单管理新品上架特价学习资源销售排行中学学习车 订单管理学员注册学员登录管理员和专职教师登录学习资源分类 图3-13.2 系统流程图乡镇中学网上学习系统为师生提供一个类似于超级市场的网络界面。通过网络界面,学员登录后执行乡镇中学学习操作,非学员可以浏览学习资源信息,查看首页面的最受欢迎学习资源等信息。管理员和专职教师进入后台,可以对学习资源,公告栏,学员,订单等信息进行编辑。图3-2系统流程图。首页浏览学习资源登入学员访客加入乡镇中学学习车结账学习加入学员管理员和专职教师登录管理学习资源、公告、学员、订单信息,按订单发售资源等。退出后台图3-2 3.3系统主界面设计模型3.3.1概述本模块相当于系统原型,只是设计了系统的整体外观,并没有具体的代码实现,通过原型我们可以很快的对系统的功能有个全面的把握,在此基础上就可以进行快速的调整。由于本系统采用了权限划分管理,所以主界面的设计随用户的不同而不同。3.3.2 普通用户登录前主界面界面如图3.3所示。图3-3 3.3.3系统管理员和专职教师主登录后主界面管理员和专职教师登陆后界面如下图3-4所示。图3-44.详细设计4.1数据库设计数据库结构设计的好坏直接影响到信息管理系统的效率和实现的效果。合理地设计数据库结构可以提高数据存储的效率,保证数据的完整和统一。4.1.1表设计在总体设计部分已经对系统所需要的表进行了初步设计,确定了系统所需要的表,在该部分将对表进行详细的描述。并由此建立数据库。在这个数据库管理系统中要建立8张数据表,分别是学员信息表、管理员和专职教师信息表、公告栏信息表、学习资源信息表、学习资源一级分类信息表、学习资源二级分类信息表、订单信息表和订单详细信息表。(1) 学员信息表学员信息表(member)记录学员的详细信息,其结构如表4-1所示。表4-1 学员信息表 (2) 管理员和专职教师信息表管理员和专职教师信息表(manager)记录学员的详细信息,其结构如表4-2所示。表4-2 学员信息表 (3)公告栏信息表公告栏信息表(Bulletin Board System)记载公告的编号、标题、内容、发布时间等,其结构如表表4-3所示。表4-3 乡镇中学学习车信息表 (4) 学习资源信息表学习资源信息表(Resource)记载学习资源的分类编号、学习资源名称、学习资源简介、图片位置、市场价格、销售价格等详细信息,其结构如表4-4所示。表4-4 学习资源信息表 (5) 学习资源一级分类表学习资源分类表(superType)记录学习资源的一级分类信息,其结构如表4-5所示。表4-5 学习资源一级分类表 (6) 学习资源二级分类表学习资源分类表(subType)记录学习资源的二级分类信息,其结构如表4-6所示。表4-6 学习资源二级分类表 (7) 订单信息表订单信息表(Order)记录下订单的用户名、付款金额、订单日期等,其结构如表4-7所示。表4-7 订单信息表 (6) 订单详细信息表订单详细信息表(Order-detail)包括订单编号、学习资源编号、学习资源数量和价格,其结构如表4-8所示。表4-8 订单详细信息表4.1.2数据库连接乡镇中学网上学习系统使用Visual C#和SQL Server来进行开发。为了使系统正常工作,需要建立与数据库系统的连接来读取和写入数据。一般来讲,可以有两种方式连接数据库。一种是在窗体中直接添加SqlConnection,并通过直接设置其ConnectionString属性来连接数据库;另一种方式是创建一个连接类。在本系统中使用配置文件Web.config中的配置段来定义数据库连接字符串。程序清单1列出了Web.config配置文件的主要代码。 当服务器名称或其他信息改变时,在配置节修改。4.2公共类由于本系统是以数据库为依托的,所有产品信息,用户信息及订单信息等都需要通过数据库进行存储,因此系统需要频繁连接数据库,与数据库进行数据交互,关闭数据库等操作。为了使系统更加健壮,代码开发更为灵活,因此设计了几个公共类。(1)DataBase公共类DataBase公共类是数据库连接、操作的基础,在本类中提供了数据库了连接操作,DataBase类中的所有方法都是静态方法,这样在其他页面调用时,不用初始化就可以使用。其主要代码如下。public class DataBase private static SqlConnection dbstrcon; public static DataSet ReDataSet(string FillSql) dbstrcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettingsccc); dbstrcon.Open(); SqlDataAdapter datapold = new SqlDataAdapter(FillSql, dbstrcon); DataSet olddset = new DataSet(); datapold.Fill(olddset); dbstrcon.Close(); return olddset; (2) Class2公共类 Class2是乡镇中学学习车类,读者可以将其想象为超市中所使用的乡镇中学学习篮或推车,当我们选中中意的学习资源时,就将其放在里面,直到离开时结算。public void godataset(string id) /向Hashtable表中添加购学习资源的id和数量 if (Sessionbus = null) Hashtable ht = new Hashtable(); ht.Add(id, 1); Sessionbus = ht; dafill(ht); else Hashtable ht = (Hashtable)Sessionbus; if (htid = null) htid = 1; else htid = (int)htid + 1; Sessionbus = ht; dafill(ht); public void dafill(Hashtable ht) /查询学习资源信息添加到数据集中 godset.Clear(); foreach (DictionaryEntry de in ht) hh = htde.Key.ToString().ToString(); SqlDataAdapter datap = new SqlDataAdapter(select * from tb_goods where id= + de.Key.ToString() + , System.Configuration.ConfigurationManager.AppSettingsccc); if (datap != null) datap.Fill(godset); 4.3模块设计该系统模块较多,且很多设计类似,所以只将几个主要模块设计加以介绍。(1)登录与注册窗口设计登录界面比较简单,主要包含获取用户输入信息的TextBox控件和响应登录与注册事件的Button控件。设计好的界面如下所示。 图4-1 学员登录与注册窗口 图4-2 管理员和专职教师登录窗口 注册界面设计与登录界面设计类似,也主要是输入信息的TextBox控件、选择证件类别的RadioButton控件和响应登录与注册事件的Button控件。图4-3 学员注册界面设计注册模块功能实现,代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class login : System.Web.UI.Page SqlConnection strcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettingsccc); Class2 sh = new Class2(); protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) if (useryz(TextBox1.Text.ToString() /验证用户是否已存在 return; strcon.Close(); strcon.Open(); string cardtype; string username = TextBox1.Text.ToString(); string truename = TextBox2.Text.ToString(); string password = TextBox3.Text.ToString(); string city = TextBox5.Text.ToString(); string address = TextBox6.Text.ToString(); string postcode = TextBox7.Text.ToString(); string cardno = TextBox8.Text.ToString(); RBL1.Items0.Selected = true; if (RBL1.Items0.Selected) cardtype = 身份证; else if (RBL1.Items1.Selected) cardtype = 学生证; else cardtype = 其它; string tel = TextBox9.Text.ToString(); string email = TextBox10.Text.ToString(); string sqlinsert = insert into tb_member (username,truename,password,city,address,postcode,cardno,cardtype,tel,email) values( + username + , + truename + , + password + , + city + , + address + , + postcode + , + cardno + , + cardtype + , + tel + , + email + ); SqlCommand comm = strcon.CreateCommand(); comm.CommandText = sqlinsert; SqlTransaction myTransaction = strcon.BeginTransaction(); /开始一个事务 comm.Transaction = myTransaction; try comm.ExecuteNonQuery(); myTransaction.Commit(); /提交事务 ClearTextBox(); string mes = 恭喜 注册成功!; Response.Write(alert( + mes + );location=login.aspx); catch myTransaction.Rollback(); /回滚事务 finally ClearTextBox(); strcon.Close(); protected Boolean useryz(string username) /验证用户是否已存在 strcon.Open(); SqlCommand comm = strcon.CreateCommand(); comm.CommandText = select username from tb_member; SqlDataReader reader = comm.ExecuteReader(); while (reader.Read() if (reader0.ToString() = username) Response.Write(sh.showmessage(该用户已存在!); strcon.Close(); return true ; strcon.Close(); return false; protected void RBL1_SelectedIndexChanged(object sender, EventArgs e) protected void Button3_Click(object sender, EventArgs e) ClearTextBox(); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(./Default.aspx); protected void ClearTextBox() TextBox1.Text = string.Empty; TextBox2.Text = string.Empty; TextBox3.Text = string.Empty; TextBox4.Text = string.Empty; TextBox5.Text = string.Empty; TextBox6.Text = string.Empty; TextBox7.Text = string.Empty; TextBox8.Text = string.Empty; TextBox9.Text = string.Empty; TextBox10.Text = string.Empty; (2)学习资源分类设计与添加该模块主要是将学习资源按数据库中的一二级分类将学习资源分类,通过树状图展示分类信息,用户单击查看所有属于该分类的学习资源信息。设计好的面如图所示。图4-4 学习资源分类列表模块界面设计代码实现/添加树状视图 string supertype=select * from tb_supertype; string subtype = select * from tb_subtype; DataSet dssuper = DataBase.ReDataSet(supertype); DataSet dssub = DataBase.ReDataSet(subtype); DataRow rows = dssuper.Tables0.Select(); DataRow subrows = dssub.Tables0.Select(); if (!IsPostBack) foreach(DataRow row in rows) TreeNode nd=new TreeNode(); nd.Text=rowtypename.ToString(); nd.Value = rowid.ToString(); TreeView1.Nodes.Add(nd); foreach (DataRow subrow in subrows) TreeNode subnd = new TreeNode(); subnd.Text = subrowtypename.ToString(); subnd.Value = subrowid.ToString(); if (subrowsupertype.ToString() = rowid.ToString() nd.ChildNodes.Add(subnd); 学习资源添加功能模块,实现代码如下:sing System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.Sql;using System.Data.SqlClient;public partial class adminmanger_addgoods : System.Web.UI.Page protected SqlConnection strcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettingsccc.ToString(); protected DataSet ds = new DataSet(); protected void Page_Load(object sender, EventArgs e) if (Sessionadmin = null) Server.Transfer(adminpage.aspx); strcon.Open(); int message = Convert.ToInt32(Request.QueryStringID); if (!IsPostBack) SqlDataAdapter sqlda = new SqlDataAdapter(select * from tb_supertype, strcon); sqlda.Fill(ds); DataRow rows = ds.Tables0.Select(); foreach (DataRow row in rows) ListItem newitem = new ListItem(); newitem.Text = rowTypeName.ToString(); newitem.Value = rowid.ToString(); DropDownList1.Items.Add(newitem); strcon.Close(); if (DropDownList1.Text != ) binddd2(); protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) if (DropDownList1.Text != ) binddd2(); protected void binddd2() /绑定DropDownList2中的数据 strcon.Open(); ds.Clear(); DropDownList2.Items.Clear(); SqlDataAdapter sqlda = new SqlDataAdapter(select * from tb_subtype where supertype=+DropDownList1.SelectedItem.Value, strcon); sqlda.Fill(ds); DataRow rows = ds.Tables0.Select(); foreach (DataRow row in rows) ListItem newitem = new ListItem(); newitem.Text = rowTypeName.ToString(); newitem.Value = rowid.ToString(); DropDownList2.Items.Add(newitem); strcon.Close(); protected void Button1_Click(object sender, EventArgs e) string typeid = RequestDropDownList2; string goodsname = TextBox1.Text.ToString(); string introduce = TextBox4.Text.ToString(); double price = Convert.ToDouble(TextBox3.Text); double nowprice = Convert.ToDouble(TextBox5.Text); string picture = /image/goodsima/+TextBox2.Text.ToString(); int newgoods; if (RadioButtonList1.SelectedIndex = 0) newgoods = 0; else newgoods = 1; strcon.Open(); string ingo = insert into tb_goods (typeid,goodsname,introduce,price,nowprice,picture,newgoods,intime) values(+typeid+,+goodsname+,+introduce+,+price+,+nowprice+,+picture+,+newgoods+,+System.DateTime.Now+); SqlCommand goodsin = new SqlCommand(ingo,strcon); goodsin.ExecuteNonQuery(); strcon.Close(); clearaddgoods(); protected void Button2_Click(object sender, EventArgs e) clearaddgoods(); protected void clearaddgoods()/清空文本框中的内容 TextBox1.Text = ; TextBox2.Text = ; TextBox3.Text = ; TextBox4.Text = ; TextBox5.Text = ; protected void Button3_Click(object sender, EventArgs e) Response.Redirect(goodsmanage.aspx); protected void Button4_Click(object sender, EventArgs e) string filePath = , fileExtName = , mFileName, mPath; System.Text.StringBuilder strMsg = new System.Text.StringBuilder(上传文件信息;); if(!=fileUp.PostedFile.FileName) filePath = fileUp.PostedFile.FileName; fileExtName =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届吉林省吉林市普通高中高三上化学期中教学质量检测试题含解析
- 常用低压电器课件
- 辽宁省凌源市教育局2026届化学高一第一学期期末检测试题含解析
- 2025-2026学年人教PEP版(2024)英语四年级上册句型专项测试卷 (含答案)
- 希特勒啤酒馆暴动
- 2026届朔州市重点中学高一化学第一学期期中监测试题含解析
- 河南省商开九校联考2026届高三化学第一学期期中质量跟踪监视模拟试题含解析
- 2026届重庆市七校高一化学第一学期期末学业质量监测模拟试题含解析
- 市政施工图培训课件
- 2025年教师资格证考试题及答案
- 闵行区2024-2025学年下学期七年级数学期末考试试卷及答案(上海新教材沪教版)
- 语言接触与混合语现象-洞察及研究
- 咨询行业流程管理制度
- JG/T 210-2018建筑内外墙用底漆
- 2025叉车理论考试试题及答案
- 2024-2025年度建筑施工项目管理评审计划
- 2025年中国不锈钢宽幅网市场调查研究报告
- 《支气管镜检查技术》课件
- 解读2025年金融行业的重要事件试题及答案
- 建筑吊篮培训课件
- 企业差旅费管理制度
评论
0/150
提交评论