面向对象课程设计c# 新闻发布系统.docx

上传人:b****6 文档编号:7063577 上传时间:2023-01-16 格式:DOCX 页数:50 大小:1,023.48KB
下载 相关 举报
面向对象课程设计c# 新闻发布系统.docx_第1页
第1页 / 共50页
面向对象课程设计c# 新闻发布系统.docx_第2页
第2页 / 共50页
面向对象课程设计c# 新闻发布系统.docx_第3页
第3页 / 共50页
面向对象课程设计c# 新闻发布系统.docx_第4页
第4页 / 共50页
面向对象课程设计c# 新闻发布系统.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

面向对象课程设计c# 新闻发布系统.docx

《面向对象课程设计c# 新闻发布系统.docx》由会员分享,可在线阅读,更多相关《面向对象课程设计c# 新闻发布系统.docx(50页珍藏版)》请在冰豆网上搜索。

面向对象课程设计c# 新闻发布系统.docx

面向对象课程设计c#新闻发布系统

课程设计任务书

学生姓名:

专业班级:

信管0801班

指导教师:

工作单位:

武汉理工大学管理学院

题目:

校园新闻发布系统

初始条件:

按照学校对留学生管理的实际要求,根据所学的《面向对象的信息系统设计》的知识,设计完成一个学校留学生处对留学生管理的管理信息系统中涉及到关于相关文档的一个管理系统,实现教师课件共享、学习资料共享、学生作业提交和批改的网络化管理。

软件的开发平台为MicrosoftVisualStudio2008,数据库服务器为SQLServer2008

要求完成的主要任务:

1.按问题的需要,设计出系统目标、模块结构、数据库结构。

要求:

问题分析透彻、关系理解正确、处理得当。

数据库结构完备,程序结构合理,界面完备清晰。

至少涉及3个数据库表,至少3个窗口,至少用到10种组件。

2.编制程序。

至少500行程序代码。

3.调试程序,以达到预期的目的。

4.撰写出规范的设计说明书(报告),并为指导教师提供电子文档

设计报告切忌雷同、切忌抄袭,尽管设计任务1的部分对象是相同的。

个人所承担的部分详写。

设计报告中应包括分析设计、关键技术描述、sql文件、主要源代码等。

更具体的要求细节参看文件《面向对象课程设计要求_09.doc》

 

指导教师签名:

2011年12月12日

系主任(或责任教师)签名:

2011年12月12日

 

校园新闻发布系统

1系统分析

1.1问题的提出及系统目标

ASP.NET是新一代Web应用程序开发平台,它是一个已编译的、基于.NET的开发环境,它提供了生成企业级应用程序所必需的全部服务,基于.NETFramework生成,整个框架都可用于任何ASP.NET应用程序。

可以使用任何与公共语言运行库(CLR)兼容的语言(包括VisualBasic.NET、C#和JScript.NET)来创建应用程序。

该系统使用ASP.NET(C#语言)和ADO.NET技术开发,实现了网站新闻的动态管理,使得对信息的管理更加及时、高效,提高了工作效率,具有一般新闻系统的功能,主要包括前台新闻查看区和后台管理区,可为学校各部门发布新闻,为校园网站提供新闻发布与管理的服务。

该校园新闻发布系统使用ASP.NET(C#语言)和ADO.NET技术开发,实现了网站新闻的动态管理,使得对信息的管理更加及时、高效,提高了工作效率。

该新闻系统具有一般新闻系统的功能,主要包括前台新闻查看区和后台管理区,可为学校各部门发布新闻,为校园网站提供新闻发布与管理的服务。

该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于.NET平台架构开发设计,主要实现对校园新闻的发布与管理功能,对新闻内容信息的浏览阅读、评论、搜索等。

随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于B/S模式的新一代MIS(ManagementInformationSystem,管理信息系统)系统,正成为技术发展的趋势。

为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。

1.2需求分析

1.2.1功能需求

该系统的用户为校园网站,需要经常发布一些新闻,如何能有效地管理和发布新闻呢?

通过对其它一些新闻系统的调查发现,一般新闻系统功能如下:

(1)前台按分类显示新闻;

(2)搜索新闻;

(3)评论新闻

(4)图片展示

(5)后台管理:

●添加、删除和修改新闻

●添加、删除和修改用户(管理员)

●添加、删除和修改新闻分类

●添加新闻(添加成功后的新闻根据管理员权限分为可发布新闻和待审核新闻)

根据校园网站新闻发布管理的实际需求,在首页中能显示最热门新闻、头条新闻和最近发布的几条新闻等,同时在后台发布新闻时可以添加图片,也可以添加HTML语法,在前台能自动根据所显示的图片和HTML语法来显示新闻。

在后台管理中,因为有权限的管理员才能登录管理后台,所以需要有个登录验证模块,而且需要根据用户权限的不同显示不同的管理目录,在管理新闻和用户时,当数据少时管理起来还比较方便,如果一多则想找到某条新闻或某个用户就很难,所以需要有个查找(新闻标题、用户)模块用于查找新闻或用户。

根据以上需求分析,该系统要实现的主要功能为:

(1)前台显示新闻部分

●用户登录区

●显示最热门的前几条新闻

●显示最新的前几条新闻

●搜索新闻功能(按种类、按标题、按内容搜索)

●显示所有新闻分类和其下的所有新闻(社团新闻、学院新闻、校级新闻等)

●新闻详细信息浏览阅读(作者,编辑,时间,浏览次数)

●图片新闻(自动生成缩略图)以滚动形式在首页显示且只显示前几条

●网站友情链接(可在管理中添加设置)

●网站公告可显示发布了新闻但没通过审核的一些相关通知等

(2)后台管理部分

●管理员登录验证

●添加、修改和删除新闻

●管理评论(删除不良评论)

●新闻分类管理(大类,二级分类)

●用户管理(添加、修改、删除管理员,密码加密)

●系统设置、网站基本配置(网站标题、关键字)等

●后台用统一的风格(采用母板页)

1.2.2性能需求

●该系统在性能功能上应达到如下需求:

●操作简单、界面友好:

完全控件式的页面布局,使得新闻的录入工作更简便,许多选项包括新闻分类、来源部门等只需要点击鼠标就可以完成。

对常见网站的新闻管理的各个方面:

新闻录入、浏览、删除、修改、搜索等方面都大体实现,实现了网站对即时新闻的管理要求;

●即时可见:

对新闻的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;

●系统运行应该快速、稳定、高效和可靠;

●在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。

1.3系统的模块结构

工作流程为:

一般访问者浏览主页Default.aspx,可以按照自己的需求浏览不同种类的新闻(class.aspx),对查看的每一篇新闻(show.aspx)下方都有一个看后感受的投票和一个写评论的地方(无须登录,但是会记录下发表评论的网友名),如果有需要访问者可以按找不同的方式(标题、内容,或者新闻类别)搜索包含关键字的新闻(query.aspx),以列表方式呈现。

如果是管理员,则进入后台登录页面(login.aspx),验证登录通过后来到后台管理主页(admin_index.aspx,包含一个母版页Admin.Master),管理员可以选择添加、修改、删除新闻大类和二级分类(admin_class.aspx),可以添加新闻(add_news.aspx)和管理新闻(admin_news.aspx,将数据库中的新闻用列表显示),在管理新闻的界面可以点击“修改”按钮进行新闻的修改(update_news.aspx)。

也可以修改用户(admin_pwd.aspx),包括添加用户,删除用户,修改密码(MD5算法加密),还可以管理友情链接(admin_link.aspx),或者修改整个网站的配置(admin_config.aspx)如网站名,联系人qq,关键字等待,点击后台母版页中的“退出登录”(login_out.aspx)断开会话区间,退出到管理后台登录页面,点击取消登录返回主页(Default.aspx)。

2系统设计

2.1数据库设计

2.1.1概念设计(E-R图)

通过visio作的E-R图如下(省去了各属性),其中还有links,admin,config三个表是独立的,没有画出。

2.1.2逻辑设计(关系表)

(1)news表——新闻表

字段

中文意义

数据类型

能否为空

备注

id

新闻唯一ID号

int

NOTNULL

主键

title

新闻标题

nvarchar(100)

NOTNULL

classid

所属分类

int

NOTNULL

外键,参照type表

boardid

所属二级分类

int

外键,参照type表

contents

新闻内容

ntext

NOTNULL

oAuthor

责编

nvarchar(50)

oSource

来源

nvarchar(50)

picurl

图片地址

nvarchar(100)

data

发布日期

datatime

hklick

浏览次数

nvarchar(255)

pinglun

评论次数

int

(2)type表——新闻分类表

字段

中文意义

数据类型

能否为空

备注

id

一级分类id

int

NOTNULL

主键

class_name

一级分类名

nvarchar(50)

board_name

二级分类名

nvchar(50)

外键,参照type表

classid

所属二级分类id

int

外键,参照自身type表

leishu

种类数

nvchar(50)

(3)admin表——用户管理

字段

中文意义

数据类型

能否为空

备注

id

id号

int

NOTNULL

主键

username

用户名

nvarchar(50)

password

登录密码(密文存储)

nvchar(50)

groud

所属分组

int

(4)Comment-——评论表

字段

中文意义

数据类型

能否为空

备注

id

id标识号

int

NOTNULL

主键

newsid

新闻编号

int

外键,参照news表

username

评论标题

nvchar(50)

content

评论内容

text

ip

评论者的ip地址

nvarchar(50)

data

评论时间

datetime

(5)links——友情链接表

字段

中文意义

数据类型

能否为空

备注

id

id标识号

int

NOTNULL

主键

title

网站名

nvarchar(100)

NOTNULL

logo

logo地址

nvarchar(100)

url

网站地址

nvarchar(100)

NOTNULL

txt_or_logo

logo替换文本

int

NOTNULL

paixu

排序

int

contents

网站描述描述

nvarchar(100)

(6)Mood——心情表

字段

中文意义

数据类型

能否为空

备注

id

id标识号

int

NOTNULL

主键

mood1

惊讶

int

mood2

欠揍

int

mood3

支持

int

mood4

很棒

int

mood5

愤怒

int

mood6

搞笑

int

mood7

恶心

int

mood8

不解

int

classid

类别id

nvarchar(50)

参照type表

moodid

心情id

int

(7)config——网站配置表

字段

中文意义

数据类型

能否为空

备注

W_WebSiteName

网站站点名

nvarchar(50)

W_Webtitle

网站副标题

nvarchar(200)

W-WebSiteUrl

网站域名

nvarchar(50)

W_StatMastName

站长名

nvarchar(50)

W_StatMastEmail

联系邮箱

invarchar(50)

W_StatMastQQ

联系QQ

char(12)

W_StatMastICP

备案

nvarchar(50)

W-WebSiteKeyword

网站关键词

nvarchar(500)

W-WebSiteIntr

网站介绍

nvarchar(500)

W_WorryNeed

过滤字

nvarchar(500)

W_Webtongji

统计代码

nvarchar(200)

2.2主要功能(界面)模块设计

2.2.1显示新闻

(1)新闻的显示包括主体内容页面:

新闻标题,新闻来源,责任编辑,阅读次数,发布时间和新闻内容(包含图片)。

右边是一个新闻搜索窗口(在某一类别中搜索包含某一关键字所有新闻),一个图片新闻列表。

(2)新闻主体的下方是一个评论窗口,包括一个看完后的心情投票、一个发表看法的地方和一个查看所有评论的区域

(3)按时间顺序将查看的新闻所属种类的其他新闻,以标题列出。

2.2.2添加、修改新闻

添加新闻模块,如下图所示。

可以实现图片上传,预览功能。

并在提交时进行各内容填写的合法性要求检查。

管理新闻包括修改和删除新闻,点击各个标题的链接可查看新闻,点击后面的按钮可分别实现修改和删除功能。

(分页显示,每页10条记录,并实现在查看各页数据时局部刷新)

修改成功提示

2.2.3添加评论

上面是添加评论的区域,包括评论人、验证码和评论内容,下半部分是已有的评论。

2.2.4修改分类

添加新的大类,和它的二级分类

修改和删除已有分类(删除大类时,在数据库中设置级联删除它的所属二级分类)

修改大类下的二级分类名字:

2.2.5搜索新闻

包括首页的按标题或内容搜索新闻,和在新闻大类显示页按新闻种类的关键字搜索

搜索标题中有“学校”两个字的所有新闻。

分页显示,结果如下图:

2.2.6显示最新或最热新闻、图片

在首页,有最新资讯和热门图片两个模块,分别是按照新闻发布的时间和有图片的新闻的浏览次数在数据库中进行筛选的。

2.2.7心情管理

读完某一篇文章之后,读者可进行心情表态,点击某一心情下的单选按钮时,数据库中做相应改变:

(该功能区域下方还有阅读上一篇、下一篇的提示标题)

2.2.8后台登录和退出

整个页面下方显示的是一个网站的信息,最重要的是后台管理链接入口:

点击进去后,便看到登录界面:

正确输入用户名、密码和验证码后(输入错误会有相应提示),登录到了后台:

点击退出登录后,出现一个提示窗口,确定后返回到登录后台页面。

2.2.9友情链接管理

可以添加新链接,上传LOGO:

修改链接:

2.3界面设计

2.3.1前台展示

界面采用div+css,配合table的使用,图片展示、搜索、分类新闻布局清晰,看起来简单明了。

引用头部、底部和搜索框三个自定义的控件。

2.3.2后台管理

后台使用了母版页,配合站点地图使得可视化效果良好。

3系统实现

3.1关键技术

(1)引用操作数据的操作类SQLHelper.cs,给查询、更新、插入、删除等操作带来了极大方便;

(2)用配置文件Web.config来配置数据库连接字符串;

(3)使用站点地图Web.sitemap和TreeView导航控件来定置母板页,使得风格统一;

(4)在添加和修改新闻时引用了一个富文本编辑器FreeTextBox,添加引用FreeTextBox.dll并在页面中加入相关代码即可使用;

(5)管理新闻时用DataList数据控件列出各条新闻,并实现分页功能后,拖用UpdatePanel这个AJAX扩展控件来实现分页时局部刷新功能。

(6)心情评价主要用到javascript;

(7)自己定置了top.ascx,bottom.ascx,search.ascx三个自定义控件;

(8)搜索新闻时发挥T-SQL语句的优势,使用了like模糊查询;

(9)通过session内置对象建立一个登录会话来实现为登录不能访问后台的功能。

3.2关键源程序

3.2.1Web.config配置文件中重要信息

数据库连接字符串:

后台母版页配置站点地图:

在httpHandlers节点中配置富文本编辑器:

3.2.2Web.sitemap后台管理站点地图配置文件

action=0"title="分类管理"description="分类管理"/>

3.2.3显示新闻

以下show_news.aspx.cs代码所实现的功能主要是:

显示id号对应的新闻内容,统计浏览次数,添加评论(过滤不良词汇),上下篇导航,填充图文资讯和本类新闻的内容。

privatestringAuther;//全局id

privatevoidbind1()

{

//用Repeater控件显示新闻

stringsqlStr="select*fromnewswhereid="+this.Auther;

this.Repeater1.DataSource=SqlHelper.ExecuteDataset(SqlHelper.ConnectionString,CommandType.Text,sqlStr);

this.Repeater1.DataBind();

}

//浏览次数统计

privatevoidbind2()

{

stringsqlStr="updatenewssethklick=hklick+1whereid="+this.Auther;

SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionString,CommandType.Text,sqlStr);

}

//添加评论

protectedvoidButton1_Click(objectsender,EventArgse)

{

if(this.TextBox2.Text.ToString()!

=this.Session["CheckCode"].ToString())

{

base.Response.Write("");

}

else

{

try

{

stringstr=base.Request.QueryString["id"].ToString();

stringstr2=repHtml(this.FilterBadWords(this.TextBox1.Text));//替换不良词汇

stringstr3=repHtml(this.FilterBadWords(this.TextBox3.Text));

stringuserHostAddress=base.Request.UserHostAddress;

//插入到评论Comment数据表中,同时将该新闻的评论调试字段pinglun加1

stringsqlStr1="insertintoComment(username,conent,ip,newsid)values('"+str2+"','"+str3+"','"+userHostAddress+"','"+str+"')";

stringsqlStr2="updatenewssetpinglun=pinglun+1whereid="+str;

SqlHelper.Ex

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1