高校教学系部网站通用平台论文.doc

上传人:文库蛋蛋多 文档编号:3995436 上传时间:2023-03-30 格式:DOC 页数:36 大小:770KB
返回 下载 相关 举报
高校教学系部网站通用平台论文.doc_第1页
第1页 / 共36页
高校教学系部网站通用平台论文.doc_第2页
第2页 / 共36页
高校教学系部网站通用平台论文.doc_第3页
第3页 / 共36页
高校教学系部网站通用平台论文.doc_第4页
第4页 / 共36页
高校教学系部网站通用平台论文.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《高校教学系部网站通用平台论文.doc》由会员分享,可在线阅读,更多相关《高校教学系部网站通用平台论文.doc(36页珍藏版)》请在三一办公上搜索。

1、高校教学系部网站通用平台1绪论11选题背景随着计算机网络技术的迅速发展,当今社会已经进入信息化时代,各行各业也纷纷充分利用互联网络获取信息,扩大宣传。国内各大高校也逐年加大信息化建设的投入,朝着数字化校园的目标前进。然而, 在高等教育大众化速度不断加快的趋势下,原有高校快速扩充,新建高校不断涌现,不少新建院校的系级部门没有自己的网站,在系级网络信息化建设方面稍显滞后,或者网站制作粗糙,缺乏有效的维护。为了加快新组建院系网站的建设,节省人力、物力,使其构建规范,便于管理与维护,本人提出了建设“高校教学系部网站通用平台”的构思,该平台采用先进的网络程序开发技术ASP. NET 2. 0 ,使用运行

2、稳定和高效的SQL Server2000 数据库管理系统,在. NET 框架下设计完成。与目前的一些自助建站系统相比,该平台主要是针对高校院系部门的特点而量身定做,可以帮助新建院校的系级部门快速方便地搭建系级网站。本文主要介绍该平台的系统分析、设计和实现,并对ASP. NET2. 0 中的一些新特性进行了探讨。12主要内容及研究意义1.2.1系统的内容(1)前台页面本系简介该页面主要提供了计算机科学系简介,让用户对本系有关情况有大概的了解。科研成果该页面介绍了由本系教授的各项科研成果,以及教师研究方向。静态介绍即可。资源下载这个页面提供给教师和学生一个平台,使通过用户验证的老师可以上传课件试卷

3、等文件,而没有权限的学生只能下载这些文件,使系统易于管理。交流园地交流园地论坛是提供给学生和老师交流的平台,注册用户可以自由发布话题或者回复感兴趣的话题。这是本网站的子系统,要求有一些简单的基础功能,包括用户注册登陆、用户信息修改、浏览帖子、发表帖子、回复帖子以及注册用户数和帖子数等。新闻管理该功能用于管理主页的滚动新闻,可以发表和修改新闻,需要管理员身份验证。(2)后台管理用户管理用户信息的添加、修改和删除功能。新闻管理添加、删除、修改新闻公告。论坛管理查看、发表、删除论坛帖子,维护系内论坛的正常运行。资源管理查看、上传及删除站内共享资源等。1.2.2研究意义系部网站的建设有助于校园内部老师

4、与学生之间的学术文化交流,以及内部的资源共享,系部内部信息的及时通告等,同时也有助于老师和学生及时了解系部的发展成果,进一步深化了网络教育。13论文组织结构第一部分:绪论。介绍了论文的研究意义和高校系级网站的发展背景。第二部分:系统概述。简述了系统的主要功能及特点。第三部分:系统分析。需求分析、需求描述、数据库设计等。第四部分:系统功能实现。各功能模块的具体设计与实现方法。第五部分:系统的不足与改进设想。总结网站的不足之处,并提出对网站的进一步改进方案。第六部分:总结。对整个研究工作进行归纳和综合。2系统概述21系统主要功能高校教学系部网站通用平台的主要功能如下:有本系的简要介绍,以及专业介绍

5、;有系部内各机构部门的组织介绍;能够显示系部内发布的公告信息以及种类通知内容;详细说明系部内党建工作的进展;为学生和老师提供一个资源(课件、电子书籍等)共享的平台;展示出系部内近年来的各种科研成果,以及所获得的各种荣誉;22系统特点2.2.1 采用数据库绑定快速开发ASP.NET 2.0对数据库绑定提供了极大的支持,在开发中使用数据库绑定技术要比使用三层结构速度快很多。因为ASP.NET 2.0在支持采用数据绑定技术后,几乎不需要编写代码。2.2.2 页面模块化本系统把页面分解为一些模块,由用户控件来实现,所有的页面都由这些控件“组装”而成。页面结构使用MasterPage来规范,开发时只需要

6、在页面上拖入所需的用户控件即可,减少了页面的代码量。2.2.3 灵活运用种类控件本系统在设计时大量、灵活地运用了Visual Studio.NET 2005自带的控件,通过灵活设置和程序控制达到尽可能实现理想的效果,展示出.NET独有的魅力,从而提高开发效率。2.2.4 MD5数据加密技术为保证本系统的数据安全性本系统同时还使用了MD5单向数据加密技术,它有两个特性是很重要的,第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。 3系统分析3.1设计思想通过河南机专计算机科学与技术系网站,全面宣传,展示我系教学风采、优点与特色,以及

7、各项教学科研成果,发布系内的通知消息与新闻信息,增强各系部之间的联系,在Internet上实现完成部分系内业务,提高办事效率。3.1.1 B/S模式的构成和数据处理方式B/S架构如图3-1所示。结果结果请求请求结果请求浏览器浏览器Web Server (IIS/PWS)Database Server图3-1 B/S架构系统的总架构如图3-2所示。新闻、公告图片新闻、下载文件论坛、投票用户管理新闻、公告分类管理论坛管理资源管理前台用户交互后台管理员交互Sql Server 数据库Windows 2000/NT,HTML&ASP.NET,Sql Server,JavaScript图3-2系统总架构

8、3.1.2安全性(1)数据库服务器和WEB服务器的设置出于对安全性的考虑,可以将数据库服务器和WEB服务器分别配置在不同的服务器,设置防火干墙限制外网对服务器内部的访问,限制只能对WEB服务器进行访问,从而提高系统的安全性。(2)数据库内容的安全性为了保护系统管理员及论坛子系统中用户的信息安全,在用户的密码方面,采用了目前较为常见的MD5单向数据加密技术。MD5CyptoServiceProvider类是.NET中System.Security.Cryptography命名空间的一个类,提供专门用于MD5单向数据加密的解决方法,也是本系统中我们用来加密数据库中密码的类。(3)对非法字符输入的过

9、滤当用字符串来组织SQL语句时,最重要的一个问题就是过滤字符串中的单引号,因为在SQL语句中字符串是以单引号为分界符的,因此需要将单引号过滤掉,或者替换为两个单引号(因为SQL语法中用两个单引号表示一个单引号),只要使用VB.NET 中的Replace函数就可以达到目的。其次是不合法的输入。比如需要数字的时候输入字符等,这都可能导致系统无法正常运行,因此,对这些都要进行过滤。3.1.3代码复用本系统中使用了很好的代码复用机制,即在开发中尽量使用本系统中已经使用过的代码,以及使用以前项目积累的代码,如数据库访问类、非法输入检测类等。最突出的应该是使用用户控件(ASCX)组装页面(ASPX)的思想

10、了。3.1.4输出缓存技术本系统中恰到好处地使用了输出缓存技术,根据输出缓存的原理,一般来讲服务器响应速度大于纯HTML的响应速度。因为输出缓存是将ASPX执行之后生成的HTML页面缓存在内存中,如果有相同请示就直接输出此内存中的页面,而HTML页面则是存储在硬盘上的。3.2网站功能模块分析河南机专计算机科学与技术系网站包括如下几个主要功能模块:(1)新闻信息分类发布系统功能新闻信息发布系统整体分为前台和后台两部分。前台的主要功能是为用户提供快速查看各种新闻。后台主要是针对管理员,包括新闻信息的添加、修改、删除。并且在后台可以按需要添加、修改、删除新闻信息分类,目前本网站分为系内通知、系内公告

11、、图片新闻、资源下载四大类。(2)用户登录、注销和注册管理用向导的方式为新用户提供注册功能,用户输入用户名、密码和其他个人信息,经过系统的合法性验证成为正式用户。管理员通过后台系统审核,给予注册用户相应的权限。如果用户忘记密码,可以通过系统提问的方式,由向导一步步找到密码。(3)论坛功能作为本系统的一个子系统,本系统还附加了简单的论坛功能,方便用户可以在站内沟通交流。(4)投票、评选系统功能投票系统是站内做一些小调查的工具,很直观的反映出当前调查结果,亦可做一些不记名投票评选活动。根据上面的系统功能模块分析,可以画出相应的系统功能模块图,本论文从前台界面、后台管理界面分别对功能模块图加以描述。

12、前台界面的主要功能模块图3-3所示。河南机专计算机科学与技术系网站前台界面公告信息资料下载交流园地图片新闻系内通知图3-3 网站前台页面后台管理端的功能模块图3-4所示。河南机专计算机科学与技术系网站管理员登录界面管理端界面用户管理新闻管理论坛管理资源管理系统管理图3-4 后台管理端功能模块3.3数据库分析数据库在一个系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应该充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。数据库设计一般包括如下几个步骤。(1)数据库

13、需求分析。(2)数据库概念结构设计。(3)数据库逻辑结构设计。(4)存储过程设计。3.3.1数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据结构能充分满足各种信息的输出和输入。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。数据库的需求分析是进行系统功能划分和系统设计最重要的一个环节,根据系统数据流程图,可以得到主要的几个数据库表:用户信息表(Login.db)、新闻信息表(News.db)、上传文件信息表(FileInfo.db)、论坛信息表(Forum.db)、新闻图片信息表(PhotoPath.db)、投票信息表(

14、vote.db)等,以下为系统所需的数据项和数据结构的使用情况:(1)用户管理:管理员用户信息表,生成包括用户名、用户密码及管理权限等信息。(2)新闻管理:新闻编号、新闻标题、新闻类型、发布者、发布时间、保存路径、浏览次数。(3)论坛管理:论坛信息表,发表人、内容、发表时间等。(4)资源管理:上传文件信息表,文件名、文件保存路径、上传者、文件描述、上传时间、下载次数。(5)投票系统:投票信息表,投票内容、投票选项信息等。3.3.2数据库概念设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过

15、相互之间的作用形成数据的流动。根据上面的设计规划出的实体有:用户信息实体、新闻信息实体、上传文件信息实体、论坛信息实体、投票信息表等。本系统数据库的E-R图如图3-5所示。用户留言论坛投票发布发布管理员新闻投票系统公告管理浏览上传文件资源图3-5数据库的E-R图管理员实体E-R图如图3-6所示。管理员账号密码权限图3-6管理员实体E-R图新闻实体E-R图如图3-7所示。新闻信息新闻标题发布者发布日期浏览数图3-7新闻实体E-R图论坛信息实体E-R图如图3-8所示。论坛信息发表人内容发表时间图3-8论坛信息实体E-R图上传文件信息实体E-R图如图3-9所示。上传文件文件名文件路径上传日期下载次数

16、图3-9 上传文件信息实体E-R图投票信息实体E-R图如图3-10所示。投票信息投票内容投票选项信息图3-10投票信息实体E-R图3.3.3数据库逻辑设计本系统采用SQL Server 2000数据库,数据库中各个表的设计结果如下面的表格所示。每个表格表示在数据库中的一个表,ASP.NET 2.0站点统计所需的表没有列出。管理员用户信息表如表3-1所示。表3-1 管理员用户信息表(Login)字段名类型长度Null注释默认值IdNvarchar20否主键,用户名(无)PwdNvarchar50否密码(无)PowerChar1否权限0新闻信息表如表3-2所示。表3-2 新闻信息表(News)字段

17、名类型长度Null注释默认值TitleNavarchar50否主键,新闻名称(无)AuthorNavarchar50是发布者计科系办公室TypeChar1否新闻类型0NewsPathVarchar50是保存路径(无)UpLoadDateVarchar20否发布日期(无)TimesInt4是浏览次数0论坛信息表如表3-3所示。表3-3论坛信息表(Forum)字段名类型长度Null注释默认值UsernameNvarchar20否主键,用户名(无)ContentNvarchar500否内容(无)DateVarchar20否发表日期(无)上传文件信息表如表3-4所示。表3-4上传文件信息表(FileI

18、nfo)字段名类型长度Null注释默认值FileNameNavarchar50否主键,文件名称(无)AuthorNavarchar50是上传者计科系办公室DescribtionNvarchar200否文件描述(无)FilePathVarchar50是保存路径(无)UpLoadDateVarchar20否上传日期(无)投票信息表如表3-5所示。表3-5投票信息表(Vote)字段名类型长度Null注释默认值OptionsVarchar10否主键,选项名(无)AmountInt4否投票量0存储过程是一些在数据库中经过预编译和优化的SQL语句,采用它不仅可以提高查询的速度,而且由于使用存储过程只需要传

19、递存储过程名和一些必要参数给数据库系统,因此还可以达到减少网络传输从而提高系统执行速度的目的。存储过程可以分为有参数和无参数。此外存储过程可以由一个或多个语句组成。由于本系统用的存在过程较多,只列举部分典型的。(1)SELECT型存储过程SELECT语句是SQL语句中最典型,使用最多的一个,在此举出一个带有SELECT语句的存储过程,如例程3-1所示。例程3-1 SELECT型存储过程示例CREATE PROCEDURE getPass(Id nvarchar(50),Pwd nvarchar(50)ASselect * from Login where (Id=Id) and (Pwd=Pw

20、d)RETURN(2)INSERT型存储过程INSERT用于对数据进行插入,如例程3-2所示。例程3-2INSERT型存储过程示例CREATE PROCEDURE AddFileInfo (FileName nvarchar(50),FilePath nvarchar(50),Author nvarchar(50),Describtion nvarchar(50),UpLoadDate nvarchar(50)ASinsert into FileInfo(FileName,FilePath,Author,Describtion,UpLoadDate) values(FileName,FileP

21、ath,Author,Describtion,UpLoadDate)RETURN(3)UPDATE型存储过程UPDATE用于更新数据,如例程3-3所示。例程3-3 UPDATE型存储过程示例CREATE PROCEDURE ChangePwd(Id nvarchar(50),Pwd nvarchar(50)ASupdate Login set Pwd=Pwd where Id=Id;RETURN(4)DELETE型存储过程DELETE用于删除指定数据,如例程3-4所示。例程3-4 DELETE型存储过程示例CREATE PROCEDURE DelNews(Title nvarchar(50)A

22、Sdelete from News where Title=Title;RETURN3.4 Web应用程序结构设计进行Web应用程序结构设计有助于从整体把握应用程序功能与物理布局。ASP.NET 2.0为Web应用程序结构设计添加了许多新的元素。只有掌握了这些,才真正发挥了ASP.NET 2.0的性能。3.4.1配置站点web.config文件(1)添加连接字符串在web.config文件的节中添加连接字符串的定义如下:注意代码中的粗体部分,它是这个连接字符串的唯一标识,数据库用户名与密码根据自己的实际情况做适当更改。(2)启用Forms认证下面启用Forms认证并设置登录页面和用户权限,修改

23、web.confi文件的节为下面的代码:注意上面“/”用法,它定位到当前应用程序的根目录,而不是整个网站的根目录。3.4.2 按访问权限创建目录首先分析本系统后台管理端的用户角色,至少分为3种:匿名用户、普通用户、管理员。为了配合Forms认证,最好为后两种有特别权限的用户建立相应的目录,这样可以针对目录来设置角色的访问权限。(1)管理员目录Admin创建Admin目录,用来存放本系统的“管理员”文件,它只有管理可以访问。向web.config文件中添加内容如下:(2)普通用户Ordinary创建Ordinary目录,用来存放本系统的“管理员”文件,它只有管理可以访问。向web.config文

24、件中添加内容如下:3.4.3用MasterPage规划网站结构使用MasterPage可以大大提高开发效率,本系统的页面布局仍采用下面这种模式:页面=MasterPage+用户控件或.aspx=.master+.ascx采用用户控件的好处在于可以充分地发挥碎片缓存的作用,在最大限度内提高应用程序效率。这是一种极力推荐的UI模式。本系统中创建了以下三个MasterPage模板。l Management.master:后台管理界面模板。l Main.master:前台界面模板。l MasterNews.master:新闻浏览页面模板。MasterPage稍多一些可以使开发变得比较灵活,但如果太多,

25、就会失去用MasterPage统一布局的意义。3.4.4公共类设计本系统设计了一个公共类code1,包含了对数据库的操作及数据加密等方法。public string MD5(String str)MD5 md5 = new MD5CryptoServiceProvider();byte data = System.Text.Encoding.Default.GetBytes(str);byte result = md5.ComputeHash(data);String ret = ;for (int i = 0; i result.Length; i+)ret += resulti.ToStr

26、ing(x).PadLeft(2, 0);return ret;public SqlDataReader GetPassport(string id,string pwd)/校验用户名和密码SqlConnection conn = GetConn();SqlCommand cmd = new SqlCommand(getPass, conn);cmd.CommandType = CommandType.StoredProcedure;SqlParameter id1 = cmd.Parameters.Add(Id, SqlDbType.NVarChar, 50);SqlParameter pw

27、d1 = cmd.Parameters.Add(Pwd, SqlDbType.NVarChar, 50);id1.Value = id;pwd1.Value = pwd;conn.Open();SqlDataReader rs = cmd.ExecuteReader();return rs;cmd.Dispose();conn.Close();全局应用程序类(Global.asax),用于统计站点访问量与当前在线人数以及Session的设置。void Application_Start(object sender, EventArgs e) Applicationcounter = 0;App

28、licationuserCounter = 0;System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStringscs.ConnectionString);System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(select * from logincount, conn);S

29、ystem.Data.SqlClient.SqlDataReader rd = null;conn.Open();rd = command.ExecuteReader();if (rd.Read()ApplicationuserCounter = Convert.ToInt32(rdcounts);rd.Close();conn.Close();void Session_Start(object sender, EventArgs e) Application.Lock();Applicationcounter = (int)Applicationcounter + 1;Application

30、userCounter = (int)ApplicationuserCounter + 1;System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStringscs.ConnectionString);conn.Open();System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand

31、(string.Format(update logincount set counts =0, (int)ApplicationuserCounter), conn);command.ExecuteNonQuery();conn.Close();Application.UnLock();SessionId = ;/用户账号Sessionidcode = ;/验证码SessionPower = ;void Session_End(object sender, EventArgs e) Application.Lock();Applicationcounter = (int)Application

32、counter - 1;Application.UnLock();4系统功能实现4.1前台界面设计主要显示一些公告、通知、新闻等信息,以及提供相应的显示链接。下面是一些前台用到的页面说明。l HomePage.aspx:显示主页信息。l BrifPage.aspx:显示计科系的简介信息。l Institutes.aspx:介绍计科系的组织构成。l Majors.aspx:介绍计科系的相关专业。l ScienceAwards.aspx:显示系内近年来所获的成果与奖利信息。l Download.aspx:文件下载。l Communication.aspx:为师生提供一个交流空间。l PartyCo

33、nstruction.aspx:介绍系内的党建工作。l InformContent.aspx:显示通知及公告内容。l MoreInforms.aspx:分页显示全部通知。l PhotoNewsContent.aspx:显示图片新闻内容。图4-1是前台主页的界面效果。图4-1 前台主页的界面效果4.2管理端MasterPage设计通过MasterPage可以大大简化页面代码。把页面的头和尾放到母版页中之后,整个网站的布局风格基本上就确定了。本系统管理界面中的MasterPage名称是Management.master。图4-2所示的是登录后台管理界面后应用Management.master之后的

34、效果。图4-2 登录后台管理界面后应用Managemente.master之后的效果下面是它的页面代码。欢迎:登录 今天是:  当前在线人数:  总访问量:版权声明版权所有:河南机电高等专科学校导师:徐立新网站制作人:王亚博QQ:249810745电话:13462308720E-MAIL:lingkongwang地址:河南省新乡市宏力大道11号 4.3 后台管理登录界面设计前台界面的大部分功能都是以管理端为前提的,因为前台所显示的数据大部分需要通过管理端来添加。管理端相对客户端要复杂一些,因为在这里需要对所有信息进行维护,包括浏览、增加、修改和删除等操作。管理端的功能如下:

35、l 用户管理。l 新闻管理。l 论坛管理。l 资源管理。l 系统管理。下面是管理端用到的页面说明:l AddUser.aspx:添加新用户。l ChangePwd.aspx:更改密码。l DelUser.aspx:删除用户。l AddNews.aspx:添加新闻。l UpLoadFile.aspx:上传文件。l FileMananger.aspx:文件管理。l Login.aspx:后台登录。l CheckIn.aspx:登录后的主界面。图4-3是后台管理登录界面。图4-3 后台管理登录界面管理员登录时验证码的设计在实现用户登录时,一个Image控件显示验证码。首先由系统随机产生4个字符,然后

36、将其转化成一个字符串,最后把字符串传递到页面中。主要代码如下:private string CreateCheckCodeString() /定义用于验证码的字符数组char AllCheckCodeArray = 0,1,2,3,4,5,6,7,8,9,A,B,C, D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W, X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;/定义验证码字符串string randomcode = ;Random rd = new Random();/生成4位验证码字符串

37、for (int i = 0; i 4; i+)randomcode += AllCheckCodeArrayrd.Next(AllCheckCodeArray.Length);Sessionidcode = randomcode;return randomcode;protected void Page_Load(object sender, EventArgs e)/定义图片的宽度int ImageWidth = 55;/定义图片高度int ImageHeigh = 22;/定义字体,用于绘制文字Font font = new Font(Arial, 12, FontStyle.Bold)

38、;/定义画笔,用于绘制文字Brush brush = new SolidBrush(Color.Black);/定义钢笔,用于绘制干扰线Pen pen1 = new Pen(Color.FromArgb(255, 100, 100), 0);/这里也可以直接获得一个现有的color对象如:Color.Gold.我是为了美观所以定义和下面一样Pen pen2 = new Pen(Color.FromArgb(255, 100, 100), 0);/这里根据ARGB值定义获得了一个color对象/创建一个图像 Bitmap BitImage = new Bitmap(ImageWidth, ImageHeigh);/从图像获取一个绘画面Graphics graphics = Graphics.FromImage(BitImage);/清除整个绘图画面并用颜色填充graphics.Clear(ColorTranslator.FromHtml(#F0F0F0);/这里从HTM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号