1、网上课件管理系统课程设计报告书课程设计报告书设计名称: 网上课件管理系统 课程名称: web应用与开发 学生姓名: 专 业: 计算机科学与技术(网路技术) 班 别: 计科本133班 学 号: 指导老师: 日 期: 2015 年 12 月 31 日目录1.开发背景 12.系统分析 12.1需求分析 12.2 可行性分析 23.系统设计 23.1系统目标 23.2 系统功能结构 23.3 开发环境 33.4.1 发布供求信息 33.4.2 分类展示 124.总结 141.开发背景 随着互联网技术的迅猛发展,网络给人们带来了了很多便利,比如人们借助于网络进行在线教学。在线教学第一步要做的就是将教学内
2、容在网上发布,课件资源可以兼容多种文件格式,包括word、Excel、PowerPoint、图形、音频、视频等。并且管理员有管理自己的课程的权限。用户则可以选择自己需要的课件资源进行下载。本文档提出并实现了基于web的网上课件管理系统,本系统提供课件资源的上传和下载,上传方式是无组件上传,用户可通过注册登录网站下载课件。客户端脚本采用c#script编写,可用于包括IE在内的所有支持C#script的浏览器。系统平台设计时,采用的是visual studio2008为开发工具,利用ASP技术,以SQL Server数据库作为后台管理数据库,web服务采用Windows7平台IIS实现。系统有一
3、个功能强大的后台管理系统:可以进行人员管理,权限管理,课件管理。本系统由用户注册登录与登录模块、课件上传与下载功能模块、课件搜索模块、密码验证模块五个模块组成,用户只需要通过浏览器访问就可以实现操作,操作简单灵活。2.系统分析2.1需求分析1. 对于信息网站来说,网上课件管理系统,课件有很多种类型,每个类型的课件又适合不同的人使用,需要通过一个网上课件管理课件系统对课件进行管理。管理员可以管理课件和普通用户。系统主要功能如下:课件类型包括:编号、课件名、类型、保存位置等。管理员信息包括:编号、姓名、性别、职称、所在系、电话等。用户:每位用户可以通过注册登录进入网站,浏览学校和下载课件。每位管理
4、员可以登录后台,对课件和普通用户进行管理。每个普通用户可以注册一个用户名,通过登录进入网站,获取资源。通过与客户的接触和沟通,确定系统应该包括用户登录,用户浏览,课件管理,上传课件,下载课件,查看课件,删除课件等服务。 通过调查,要求供求信息系统具有以下功能:(1)具有良好的人机界面;(2)供求信息查询,支持多条件和模糊查询;(3)普通用户通过注册才可以浏览信息;(4)保证后台数据库安全;2.2 可行性分析(1)技术可行性本文档提出并实现了基于web的网上课件管理系统,本系统提供课件资源的上传和下载,上传方式是无组件上传,用户可通过注册登录网站下载课件。客户端脚本采用c#script编写,可用
5、于包括IE在内的所有支持C#script的浏览器。系统平台设计采用的是visual studio2008为开发工具,利用ASP技术,以SQL Server数据库作为后台管理数据库,web服务采用Windows7平台IIS实现。(2)需求分析途径 先对课题做全面的统筹,通过查阅资料了解分析该系统要实现的功能,使用的对象,各个对象的属性。画出系统构造的基本草图,逐步发现系统的需求功能3.系统设计3.1系统目标该系统有一个功能强大的后台管理系统:可以进行人员管理,权限管理,课件管理。教师可以将教学内容在网上发布,课件资源可以兼容多种文件格式,包括word、Excel、PowerPoint、图形、音频
6、、视频等。并且管理员有管理自己的课程的权限。用户则可以选择自己需要的课件资源进行下载。系统由用户注册登录与登录模块、课件上传与下载功能模块、课件搜索模块、密码验证模块五个模块组成,用户只需要通过浏览器访问就可以实现操作,操作简单灵活。3.2 系统功能结构 图1 供求信息系统前台功能结构图 图2 系统后台功能结构图3.3 开发环境Microsoft Visual Studio 2008,SQL SERVER 2005,Windows7操作系统,GeForce 610M2GB3.4 详细设计【先简单概述模块功能,与系统功能结构里的模块相对应完成以下任务】3.4.1 发布供求信息(1)a.管理员数据
7、表ColumnNameDateTypeWidth空值情况ad_idint20主关键字ad_usernameNchar10不为空ad_passwordNchar10不为空 B.用户数据表ColumnNameDateTypeWidth空值情况user_idint20主关键字user_nameNchar10不为空user_sexNchar2不为空User_professionnchar10C.课件信息数据表ColumnNameDateTypeWidth空值情况F_idint20主关键字F_fcidNchar20不为空F_titleNchar20不为空F_namenchar20不为空Fileclass
8、_idvarchar50主关键字Fc_pathvarchar50不为空Fc_extvarchar50不为空(2)E-R图管理员E_R图用户E_R图(3)设计步骤先画出总的网站流程图,根据流程图通过visual studio2008建立网站实现,以下总的流程图及设计步骤:A.建立登录页面B.通过建立模板页建立主要网站C.查询页面D.上传页面E.后台页面(4)关键代码A.管理员登录代码public class superUserInfo public string userID; public string userPWD; public Boolean autoLogin; private Bo
9、olean isLogin; public superUserInfo() userID = ; userPWD = ; isLogin = false; autoLogin = false; try ReadCookies(); if (autoLogin) tryLogin(); catch public Boolean tryLogin() isLogin = false; superConn sconn = new superConn(DATA.MDB); sconn.open(); string _sql = select * from t_userinfo where u_user
10、id=+userID+; OleDbDataReader dr = sconn.GetDataReader(_sql); if (dr.Read() if (dru_pwd.ToString() = userPWD) isLogin = true; sconn.close(); return isLogin; public void LogOut() isLogin = false; public Boolean GetIsLogin() return isLogin; public void SetCookies() HttpCookie ck = new HttpCookie(ckLogi
11、n); ck.Values.Add(cID, userID); ck.Values.Add(cPWD, userPWD); ck.Values.Add(cAutoLogin, autoLogin.ToString(); ck.Expires = DateTime.MaxValue; HttpContext.Current.Response.Cookies.Add(ck); /读取cookie public void ReadCookies() HttpCookie ck = HttpContext.Current.Request.CookiesckLogin; if (ck != null)
12、userID = ck.ValuescID; userPWD = ck.ValuescPWD; autoLogin = Boolean.Parse(ck.ValuescAutoLogin); /登录动作 protected void btn_login_Click(object sender, EventArgs e) superUserInfo su = (superUserInfo)SessionuserInfo; su.userID = txt_id.Text; su.userPWD = txt_pwd.Text; su.autoLogin = chk_autoLogin.Checked
13、; if (su.tryLogin() su.SetCookies(); /page_preRender protected void Page_PreRender(object sender, EventArgs e) superUserInfo su = (superUserInfo)SessionuserInfo; if (su.GetIsLogin() mv_login.SetActiveView(v_success); else mv_login.SetActiveView(v_login); /退出登录 protected void btn_logout_Click(object
14、sender, EventArgs e) (superUserInfo)SessionuserInfo).LogOut();B.上传课件代码public partial class upfiles_iframe_upload : System.Web.UI.Page string str_cnn = Provider=Microsoft.Jet.OLEDB.4.0; Data Source=; string str_sourcefile = /upfiles/fileMNG.mdb; OleDbConnection cnn; OleDbCommand cmd; OleDbDataReader
15、datar; string str_sql; protected void Page_Load(object sender, EventArgs e) if (Session_tempfile = null) Response.Redirect(i_upload.aspx); else HttpPostedFile _myfile = (HttpPostedFile)Session_tempfile; string _ext = Path.GetExtension(_myfile.FileName).ToLower(); string str_conn = str_cnn + MapPath(
16、str_sourcefile); cnn = new OleDbConnection(str_conn); cnn.Open(); lbl_fcid.Text = 1; lbl_fcname.Text = 其他; lbl_tdir.Text = /upfiles/other; str_sql = SELECT * FROM T_FILECLASS WHERE fc_ext like %+_ext+%; cmd = new OleDbCommand(str_sql, cnn); datar = cmd.ExecuteReader(); if (datar.Read() lbl_fcid.Text
17、 = datarfc_id.ToString(); lbl_fcname.Text = datarfc_name.ToString(); lbl_tdir.Text = datarfc_path.ToString(); cnn.Close(); txt_title.Text = _myfile.FileName; lbl_tpath.Text = MapPath(lbl_tdir.Text) + DateTime.Now.ToOADate() + _ext; protected void btn_save_Click(object sender, EventArgs e) string _ta
18、rgPath = lbl_tpath.Text; string _targDir = lbl_tdir.Text; try Directory.CreateDirectory(MapPath(_targDir); (HttpPostedFile)Session_tempfile).SaveAs(_targPath); catch if (File.Exists(_targPath) string _fcid, _title, _fname; _fcid = lbl_fcid.Text; _title = txt_title.Text; _fname = Path.GetFileName(lbl
19、_tpath.Text); string str_conn = str_cnn + MapPath(str_sourcefile); cnn = new OleDbConnection(str_conn); cnn.Open(); str_sql = INSERT INTO T_FILEINFO (f_fcid,f_title,f_fname) values + (+_fcid+,+_title+,+_fname+); cmd = new OleDbCommand(str_sql, cnn); int i=cmd.ExecuteNonQuery(); cnn.Close(); if (i 0)
20、 Session.Remove(_tempfile); Response.Redirect(i_done.aspx); C.下载代码 string fileName = tempImg.jpg; string filePath = Server.MapPath(/imgs/img3.jpg); Response.Clear(); Response.Buffer = true; Response.AddHeader(Content-Disposition, attachment;filename= + fileName); Response.ContentType = application/u
21、nknow; Response.TransmitFile(filePath); Response.End();/文件管理类 public class superFile public string _fileName; public string _fileTitle; public string _fileDir=/filesDownload; /1 public superFile() _fileName = _fileTitle = ; /2 public superFile(int _id) _fileName = _fileTitle = ; superConn sconn = ne
22、w superConn(fileMNG.mdb); sconn.open(); string _sql = SELECT * FROM T_FILES WHERE f_id= + _id; OleDbDataReader dr = sconn.GetDataReader(_sql); if (dr.Read() _fileTitle = drf_title.ToString(); _fileName = drf_name.ToString(); sconn.close(); /下载 public void fileDownload() string _path = System.IO.Path
23、.Combine(HttpContext.Current.Server.MapPath(_fileDir),_fileName); if (System.IO.File.Exists(_path) HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer = true; HttpContext.Current.Response.AddHeader(Content-Disposition, attachment;filename= + _fileTitle); HttpContext.Current.Res
24、ponse.ContentType = application/unknow; HttpContext.Current.Response.TransmitFile(_path); HttpContext.Current.Response.End(); /文件下载代码: 未登录用户被禁止下载 protected void fdownload(object sender, CommandEventArgs e) Boolean _isLogin = (superUserInfo)SessionuserInfo).GetIsLogin(); if (!_isLogin) string js = al
25、ert(登录后再下载);location.href=login.aspx; ScriptManager.RegisterStartupScript(this, this.GetType(), , js, true); else superFile sf = new superFile(int.Parse(e.CommandArgument.ToString(); sf.fileDownload(); (5)运行结果3.4.2 分类展示A.登录页面B.主要网页C.查询页面D.上传页面E.后台页面F.课件管理G.管理用户4.总结 网上课件管理系统由用户注册与用户登录模块、管理功能模块、课件上传和下
26、载功能模块、课件搜索模块、密码验证修改五个模块组成,这五个模块实现了系统的人员管理、权限设置及课件管理。由于当前我们学习的知识和技术方面的掌握程度,很多功能的实现和表现都做得不到位,甚至有一些功能还不能实现出来。在整一个系统开发设计过程中,都是一边学习一边开发的,这使得这个系统在很多地方欠缺了整体的设计统筹,甚至存在很多错误。系统暂时只能实现课件管理的部分功能,即课件的上传下载,用户登录注册等基本功能。不足之处在于系统设计简单,页面不美观,功能不强大。 通过这次系统的设计,使我对web应用与开发这门课又有了进一步的了解与掌握,同时也发现了自己在很多方面的知识还需要进一步提高,特别是在代码编程方面,每次写代码都会出错,都要多次反复推敲老师的例子才能在多次测试之后成功的实现页面运行。经过这次课件管理系统设计,总的来说自己是又有了进一步的提升,但对于以后真正面对公司企业的要求独立开发一个系统的工作,自己还是远远达不到那个水平,所以,在今后的学习中,我会逐步的继续增强自己的专业知识,多掌握有关计算机的各方面知识,希望在下一次的课程实践中又可以看见自己的进步。