基于.NET的高职教师学术论坛系统设计与实现
2017-05-15黄俊霞
黄俊霞
(运城幼儿师范高等专科学校, 山西 运城 044000)
基于.NET的高职教师学术论坛系统设计与实现
黄俊霞
(运城幼儿师范高等专科学校, 山西 运城 044000)
本系统采用B/S模式,以ASP. NET动态网页技术、SQL Server 2005为数据开发环境,SQL Server作为后台数据库经过系统分析、系统设计、系统实现及系统测试等过程开发完成,实现了高职教师的学术交流论坛系统的基本功能。该系统由两个部分组成:前台阅帖、回帖模块和后台管理模块。其中,前台阅贴、回贴模块包括用户注册、登录、注销、发表主题贴、回复、查看帖子功能;而未登录的用户,仅可以查帖,查看其他用户对帖子的回复信息。同时所有用户还可以在线视听、上传音乐;后台管理模块主要是管理员的操作。管理员可更改所有用户个人信息管理、主题帖子管理、回复帖子管理、分类主题帖子管理、音乐管理、数据安全管理(即备份和还原数据库)。本系统界面友好,功能实用,系统的开发在很大程度上不仅方便了教师之间的学术交流,同时有利于满足教师的工作需求。
BBS;ASP.NET;B/S模式;SQL Server 2005
随着计算机互联网技术的不断迅速发展,人与人之间信息交流越来越频繁,所以,人们不能只通过看电视、阅读报纸杂志等媒介了解各种有价值的信息,而是凭借某种媒介参与交流,发表想法,互相学习。因此,借助论坛平台,使人们的交流更方便、快捷。那么作为一名高职教师,网络论坛在教学活动中的使用效果也尤其显著,所以搭建一个以交流学术经验为主体的论坛平台便显得尤其必要。
1 系统开发平台及相关技术
本论坛系统是基于B/S结构,使用ASP.NET作为开发编程环境,C#作为网站编程语言,SQL Server 2005作为数据库环境。B/S结构是一种传统结构的改进。在B/S结构下,只安装一个服务器,软件是客户端通过浏览器运行。在处理事务过程中,大多数事务在服务器端(Server)完成,只有极少数事务在浏览器端(Browser)完成,用户操作界面是通过浏览器(WWW)来完成的,即所谓的三层结构。 B/S三层体系结构即表示层、业务逻辑层和数据存储层,三层结构之间即不可分割,又相互独立[1]。ASP.NET是.NET框架中的一个重要核心部分。用户编写程序代码时,可以通过访问.NET 框架中的类来编程,或者使用与公共语言运行库(CLR)兼容的其它编程语言来编写代码。其主要优点有:C++是一种新的面向对象的程序设计语言,其语言简单,容易读懂。通过C++允许开发人员快速构建所有基于微软网络平台的应用程序,同时微软供给各种开发平台和一些技术服务,有助于开发者实现各种应用程序的设计[2]。SQL Server是微软公司推出的一个全面的数据开发平台,由于其对网络技术的支持,操作者可以方便地将数据库中的数据发布到网络上。同时凭借其存储功能的安全可靠,可以将一些高可用性和高性能的业务数据进行建立和管理[3]。
2 系统设计分析
本论坛系统主要目的是实现高职院校教师学术交流信息的一个平台,在该平台上,教师可以查阅自己感兴趣的帖子,同时,教师通过注册登录后,不仅可以根据主题帖子分类查阅自己感兴趣的帖子内容,查看他人对帖子的评论,还可发表独特的见解。如:教学计划、课件等资料分享,可供其他教师参考学习。同时用户可以在论坛中检索帖子主题内容信息,以便快速的查阅。总之,该论坛系统为教师之间的信息交流提供了方便化、人性化的互动服务平台。针对教师人群的特殊性,本系统实现目标如下:
2.1 在界面设计风格上要和谐统一,用户操作简捷。
2.2 实现论坛系统应具备的功能,一是前台模块功能:用户注册与登录、查帖、回帖、检索帖子、在线视听音乐等;二是后台模块的功能:管理员所拥有的权限包括对所有用户管理、对帖子进行分类等相关管理、回复管理、音乐管理、系统数据库备份等。
2.3 保证数据增、删的一致性,同时减少用户访问数据的时间。
2.4 系统的实用性。以达到满足教师用户的需求为目标,以系统实用性为原则,同时随着各方面技术的成熟,满足系统未来扩展性的需求[4]。
2.5 系统易于维护。随着软、硬件的升级,系统的设计应便于维护。 在对系统功能模块进行分析的基础上,尝试将重点放在模块的独立性上,力求实现高内聚、低耦合。本系统主要分为前台用户阅贴、回贴模块和后台管理员管理模块两大部分。其中,游客注册登录后,可拥有与普通用户相同权限;而管理员由于其权限的特殊性,登录后可以进行所有模块的管理。系统总功能模块图如图1所示。
图1 总功能模块图
其中,用户通过成功登录后,进行后台界面后,普通用户和管理员操作的功能模块有区别,其后台功能模块图如图2所示:
图2 后台功能模块图
以上功能模块分析图,为数据库设计和系统模块设计实现提供了方便。
3 数据库设计
数据库的目的是为了存储数据,本论坛系统的开发和研究,数据库设计也是核心和基础技术,本系统采用的SQL Server作为后台数据库,该数据库存储本论坛系统所使用的所有数据,方便用户访问数据。在数据库设计过程中,根据规范化理论,设计出一个好的模型来反映现实世界,以便更好地规范现实世界之间的关系。
3.1 概念结构设计。此阶段是数据库设计的重要环节。即在需求分析的基础上,设计出各种实体对象,分析其属性,以及各实体间的关系,同时为后续的设计作准备。概念结构主要特点是能对真实的世界进行真正的,充分的反映,简单易懂,易于更换,便于各种数据模型转换的关系[5]。
此阶段设计过程中使用的表示方法是功能强大E-R图,它用于描述系统的概念模型,它是对抽象的概念模型,以便更好地和更精确的使用DBMS来实现这些要求。本论坛系统包含的实体对象有:用户(包括管理员和普通用户)、分类管理、主题管理、回复管理、音乐管理。在设计过程中,根据规范化原则,应该避免属性、名称、结构等冲突情况的发生。论坛系统E-R图如图3所示。
3.2 逻辑结构设计。逻辑结构设计是将设计好E-R图到关系模型的过程,遵循模型设计过程的规范化为原则,同时要保证数据增删时的一致性,数据不重复出现等。使用SQL Server 2005为数据开发工具,创建一个数据库softforum,包含5个表。分别是用户管理信息表author、分类管理信息表class、主题管理信息表subject、回复管理信息表reply,音乐管理信息表music。
(1) 用户管理信息表author,主要目的用于验证用户的身份,同时判断出用户所使用的IP地址等7个字段,其字段如表1所示。
表1 用户管理信息表
(2)分类管理信息表class,用来存放分类相关信息,如主题数量及回复数量等四个字段,其字段如表2所示。
表2 分类管理信息表
(3)主题管理信息表subject,用来存放主题相关信息,如主题名称、发布用户名、回复数、点击数及最近回复日期等7个字段,其字段如表3所示。
(4)回复管理信息表reply,用来储存帖子回复有关信息,如回贴内容、回贴用户名、回贴日期等六个字段,其字段如表4所示。
表3 主题管理信息表
表4 回复管理信息表
(5)音乐管理信息表music,用来存放所上传的音乐文件相关信息,如音乐文件的路径等四个字段,其字段如表5所示。
4 系统功能模块的实现
4.1 系统页面布局设计实现
本系统采用超文本语言(HTML),同时结合CSS层叠样式表以及ASP.NET母版页来构成界面的布局。其中,HTML是超文本语言,通过标签来设置页面在浏览器中的呈现形式,结合其他Web技术的使用,可以制作功能强大的网页[6];CSS即层叠样式表,是一种设计网页样式格局的工具[7]。文本信息存在HTML文件中,外观设计存在样式文件中,可以减少开必人员的编码量,提高网站的可维护性;母版页的使用的目的,是让网站具有统一的设计风格,便于管理。母版页包含着一个或多个内容页[8]。
我们设计系统时要考虑到系统整体页面及每一个分页面的布局设计,首先我们要构思,其次初步填充内容;最后在进一步细化[9]。为保证系统整体界面的美观大方、页面之间的和谐统一,本系统采用外部链接式来调用已定义好的样式文件stylesheet.css。将一个好的样式定义好,在多个页面来调用它,从而提高开发效率,降低维护成本,也能实现页面的结构和性能[10]。
4.2 系统前台主要模块的设计实现
4.2.1 系统首页
用户通过运行系统后,可以从首页界面看到相关的各种信息。如图4系统首页界面所示。该界面设计与实现对应的文件是default.aspx和default.aspx.cs。其中页面顶部有导航条,由系统的几项功能菜单组成,有用户登录、注册、在线音乐、搜索、后台管理、注销几项组成;页面中间由四部分组成的。第一部分是对用户的个人信息进行显示,用户的级别、贡献值、本次访问时间、用户IP信息等。第二个部分显示分类信息相关内容。第三个部分显示最近访问的主题帖子相关信息。第四个部分显示本系统的注册人数。页面底部主要有一些链接网页组成。其顶部和底部信息作为公共信息,分别单独写入Header.asax和Footer.asax文件中,其他页面需要使用以下代码来调用。
<%@ Register Src="header.ascx" TagName="header" TagPrefix="uc1" %>
<%@ Register Src="footer.ascx" TagName="footer" TagPrefix="uc2" %>
图4 论坛系统首页界面
4.2.2 用户注册、登录模块
在论坛系统的首页,游客只能阅贴,不能发贴及回帖,所以游客可通过首页顶部菜单项注册成普通用户,方可进行其他操作。如图5注册界面所示。
图5 用户注册界面
已注册过的用户,可直接通过系统首页顶部导航“登录”菜单,进入相关界面,输入个人用户名和密码等相关信息,执行Button1_Click()事件函数处理,从数据库中用户管理信息表author进行验证,如果没有查找到一致的记录,系统则出现对话框,提示“对不起,您的用户名和密码有误”。 否则可对本系统进行其他相关的操作。如图6用户登录界面所示。
图6 用户登录界面
4.2.3 前台阅贴、回贴模块
该模块是系统前台模块的重要组成部分,游客可通过成功注册并登录,可以对论坛系统感兴趣的帖子进行查看,同时回复自己的见解,从而达到互动效果。如用户hjx登录后,在首页分类信息中点击“计算机类”进入主题帖子页面,可看到关于计算机类的所有主题帖子信息。如图7用户阅贴界面所示。
图7 用户阅贴界面
本模块的实现涉及到softforum数据库中的分类信息表class和主题帖子信息表subject两个表中相关内容。其页面中信息显示通过 GridView控件来存放主题信息表Subject(subTitle,authouName,replySum,hot,publish)的字段。首先,与数据库建立连接,返回SqlConnection对象的值;通过classID字段将分类管理信息表class和主题管理信息表subject进行关联后,执行查询语句,返回SqlCommand对象;通过SqlDataReader对象对数据库中数据进行访问,利用GridView控件的DataSource属性,用DataBind方法,将数据与GridView控件相连接,操作结束后,释放所有的连接[11]。
用户浏览主题帖子后,可查看帖子的回复内容,链接到回复模块页面,此页面中可以看到其他用户对该帖子的回复内容,同时登录用户也可对此主题帖进行交流。同时在回复信息界面显示每个回复用户的个人信息等。如图8用户回帖界面所示。
同时用户可对感兴趣的回复内容中上传的文档、影音文件、图片等进行下载。
图8 用户回贴界面
4.2.4 搜索主题帖子模块
如果帖子主题内容较多,用户还可通过搜索功能,快速查找自己感兴趣的帖子主题内容,通过“搜索”按钮确定后,进入到自己感兴趣的主题帖子内容回复模块页面。从而节约用户的查找主题帖子内容的时间。方便了用户的需求。如图9用户搜索主题帖子界面所示。
图9 用户搜索主题贴子界面
本模块的实现涉及到softforum数据库中主题帖子信息表subject相关内容。通过与数据库连接后,执行查询语句select * from subject where subtitle like '%" + tbSearch.Text.ToString().Trim() + "%'; select count(*) from subject where subtitle like '%" + tbSearch. Text. ToString(). Trim() + "%'",查询满足条件的个数,其后用DataBind方法绑定到GridView控件,在页面上显示出符合要求的主题帖子的个数及相关内容。
4.3 系统后台主要管理模块的设计实现
4.3.1 后台管理界面
用户或管理员以自己的身份通过主页面菜单“后台管理”,进入“后台管理”页面后,管理员的拥有所有权限:更改信息、分类管理、主题管理、回复管理、数据管理、用户管理。而已注册的普通用户所拥有的权限有:更改信息、主题管理、回复管理。以管理员hjx为例,通过登录后,进入后台管理界面,进行一系列的相关操作。如图10后台管理界面所示。
图10 后台管理界面
4.3.2 分类管理模块
分类管理模块是管理员所拥有的权限,通过分类管理模块,管理员可以添加其他分类项名称信息,同时可以修改已有的分类名称、删除已有的分类信息。如图11分类管理界面所示。
本模块的实现涉及到softforum数据库中分类管理信息表class相关内容。选择“添加”按钮时,执行插入语句insert into class(content,subjectsum,articlesum) values('',0,0),从而实现了添加分类信息的功能;选择“编辑”按钮时,update class set content='" + content + "' where classid='" + classid + "'",将分类名称修改后,单击“更新”完成编辑操作;选择“删除”操作,可将分类相关信息进行彻底的删除。
图11 分类管理界面
4.3.3 后台主题管理模块
用户和管理员对主题管理模块所拥有的权限不同,管理员可对所有用户的主题贴进行相关操作。如添加、编辑、删除。而用户只可对自己发表的主题贴进行相关操作。下图为管理员hjx对主题管理模块的操作,其界面如图12主题管理界面所示。
图12 主题管理界面
以管理员hjx为例添加新主题内容,添加新主题内容包括:选择主题分类、主题名称、主题内容等相关内容,如图13管理员添加主题界面所示。 本模块的实现涉及到softforum数据库中主题管理信息表subject和回复管理信息表reply的相关信息。选择“添加”按钮,显示添加新主题相关内容,选择主题分类名称、输入主题名称、通过浏览插入相关文档。其中影音文件格式设置为wma、mp3、avi、mpg、mpeg、wmv,图片文件格式设置为jpg、bmp、gif。通过执行插入语句insert into subject (classid,subtitle,authorname,publish) values(" + this.ddClass. SelectedValue.ToString() + ",'" + subtitle+ "','" +session["name"].Tostring()+ "','" + Session["name"].ToString() + "');insert into reply(subID,repContent,authorName, replyDate,ipadd) values('" + subid + "','" + st + "','" + Session["name"].ToString()+"', getdate(),'" + this.getIP() + "')";将数据记录存放到数据库相关表中,其编辑、删除操作同分类管理相同。
图13 管理员添加主题界面
4.3.4 回复管理模块
用户或管理员以其身份通过主界面菜单“后台管理”进入后台管理模块后,用户和管理员对回复管理模块所拥有的权限不同,管理员可对所有帖子的回复内容进行管理,包括删除和下载别人上传的相关文件。而普通用户仅对自己的回贴信息内容进行管理,如图14管理员回复管理界面所示。
图14 管理员回复管理界面
5 系统测试
5.1 系统的测试方法
本论坛系统采用了黑盒测试方法,它是根据系统对数据的格式要求及系统最终所要实现的功能来完成测试的。通过测试用例,检验输出的结果是否正确,系统的预期的基本功能能否实现,同时能正确识别和维护各种操作[12]。为确保系统每个模块能正确的运行,在测试的过程中,用白盒测试来作为补充测试方法。在测试过程中,每个测试用例即要考虑到正常情况的测试结果,又要考虑到异常情况的测试结果。
5.2 系统的测试步骤
为了保证测试的准确性,对于每一个测试用例都要考虑到合法和非法的测试情况。系统测试的任务是尽可能彻底检查出程序的错误,提高软件系统的完整性和可靠性。
5.3 系统的测试过程和结果
根据系统需求分析的功能描述,根据用户身份不同,所拥有的权限不同,对各个功能模块进行测试。经过不断的测试,各功能模块都能正常运行[13]。
总之,研究与开发基于.net的高职教师学术论坛系统过程中,会涉及到多方面的问题,应在全面规划的基础上逐步实施。此外,在以后的使用中,还会增加一些功能模块,使得本系统的功能变得更加完整,高职教师使用的时候更加方便。
[1]应荣华.浅谈B/S结构的发展[J].商场现代化,2006,(13):90.
[2]Karli Watson, Christian Nagel,等著, 齐立波译. C++入门经典(第三版)[M]. 北京:清华大学出版社, 2006, 699-702.
[3]王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2006:84-86.
[4]赵玲莉.基于ASP的网上教学论坛设计与实现[D].成都电子科学大学软件工程硕士学位论文,2013:20-22.
[5]张蕾.基于.NET的档案管理系统的开发与研究[D].天津大学硕士学位论文,2007:30-35.
[6]滕一霖.基于智能家居网关的页面自适应系统设计与实现[D].中国海洋大学硕士学位论文,2013:100-103.
[7]CSS教程. http://www.w3school.com.cn/css/css_intro.asp.
[8]蒲晓妮.中小型商品流通企业进销存管理系统的分析与设计[D].电子科技大学硕士学位论文,2009:521-534.
[9]曾苗苗,等. HTML+CSS+DIV网页设计与布局从入门到精通.北京:化学工业出版社,2012-8,50.
[10]林菲,孙勇.ASP.NET案例教程[M].北京:清华大学出版社,2009-10-01:30-32.
[11]范磊. 冷藏运输信息管理系统的设计与实现[D]. 山西大学硕士论文, 2010, 37-40.
[12]Ferrara A, MacDonald M. Programming .NET Web Services[M]. 1.O’Reilly Media,Inc.,2002.
[13]房大伟,吕双.ASP.NET开发实战1200例(第I卷)[M].北京:清华大学出版社,2011:32-33.
Implementation of Higher Vocational Teachers’ Academic BBS System Based On The.Net Design
HUANG Jun-xia
(Yuncheng Preschool Education Normal College, Yuncheng Shanxi 044000, China)
The system adopts B/S mode and chooses the ASP, the NET, SQL Server 2005 as a data development environment. This system has completed the basic function of higher vocational teachers’ academic communication BBS system through the system analysis, system design and system testing. This system consists of two parts: front desk’ reading posts and replies module and background desk’ management module. The front desk’ reading mainly includes the functions of user register, login, logout, post, reply, browse and view post information; And non-registered users can only browse the theme and view the reply posts. At the same time, all users can listen and upload music online. The background desk management module is mainly to perform administrator permissions. The administrator can change all the user personal information management, post, reply post management, post management, classification and subject music management, data security management (i.e., backup and restore database). With the friendly interface and practical functions, the system is convenient not only for academic exchange but also for meeting the work requirements between teachers.
Bulletin Board System;ASP.NET; B/S mode;SQL Server 2005
2017-01-02
黄俊霞(1981-),女,山西运城,讲师,硕士,研究方向为计算机教学研究。
TP31
A
1674-344X(2017)2-0041-07