基于net的校园新闻发布管理系统Word文档下载推荐.docx
《基于net的校园新闻发布管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于net的校园新闻发布管理系统Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
(6)对于发布的新闻,需要提供新闻文章和发布者的跟踪信息,可以由此了解新
闻发布者的贡献情况,并能够确定谁可以对新闻内容负责。
(7)新闻至少需要支持图片显示,为此需要实现图片文件的上传功能。
在更为方便
的情况下,新闻中可以包含对多媒体文件,例如声音和视频等的支持。
(8)对于系统后台管理而言,需要显示基本的系统以及新闻发布情况,例如进入系
统的管理员权限、系统中发布的新闻情况、管理员发布的新闻情况等。
(9)设计一个集中大部分管理和显示功能的首页,其中包括:
热门新闻显示、新闻
头条、分类显示新闻、新闻搜索、用户登录等。
3.系统的运行要求
(1)本设计需要的基本硬件环境如下:
①CPU:
主频在166MHz以上,Intel或AMD
②内存:
容量在32MB以上(最好是64MB或者更高,这样就可以提高调试效率和运行速度)
③硬盘:
空间在1GB以上,转速在5400转/秒或者更高。
(2)本项目所需要运行的软件环境如下:
服务器端操作系统:
WindowsServer2003中文企业版(带ServicePack1)
客户端浏览器:
InternetExplorer6.0及以上版本。
调试与运行辅助工具:
InternetInformationServerV5.1,Microsoft.NETFrameworkSDK1.1版本,MicrosoftVisualStudio.NET2003,中文版或英文版。
2.2数据流程分析
数据是信息的表达形式,它能被计算机直接输入、处理、存储和输出。
一个正确的数据流程是今后新系统用以实现用户需求的保证。
现有的数据流程分析一般是通过分层的数据流程图(DataFlowDiagram,DFD)来实现的。
数据流图是描述系统静态数据构成和关系的有力工具,数据流图更多地从静态的观点来考察一个实际的业务系统。
其具体做法是:
按业务流程处理流程的顺序,将相应调查过程中所掌握的数据处理过程绘制成一套完整的数据流程图。
现在常用的有两种描述数据流程图的方法,一种是以方框、连线及其变形图例符号来表示数据流动过程,另一种是以连接弧线作为其基本符号来表示数据流动过程。
根据系统需求所确定的目标,本系统决定实现包括用户管理、新闻管理、类目管理、评论管理等几方面内容的数据库应用系统。
本系统数据流图分为两层,第1层数据流图、第2层数据流图。
其中第1层数据流图描述了系统的概况,第2层数据流图描述了系统的整体功能。
图2-1系统第1层数据流图
图2-2系统第2层数据流图
2.3数据字典
利用数据字典,可以进一步描述数据流图中的相关元素。
表2-1表2-2
表2-3表2-4
表2-5表2-6
表2-7表2-8
第三章软件设计
3.1总体设计
本系统主要分为三个功能模块:
新闻浏览显示模块、新闻发布管理模块和系统管理模块。
每个模块的功能分述如下:
1.新闻浏览和显示模块
新闻浏览和显示模块主要包括以下功能:
显示头条新闻、显示最新更新新闻、分类显示新闻、查看新闻类目、浏览详细新闻信息、搜索新闻、添加新闻评论
这些功能主要通过首页显示实现,首页中还应该包括用户登录部分。
2.新闻发布和管理模块
新闻发布和管理模块包括几个部分:
添加新闻、新闻审核、管理新闻、管理新闻评论、管理新闻分类等。
(1)添加新闻部分的功能设计如下:
根据权限设置分类、HTML内容编辑、上传图片或媒体文件、预览新闻、提交新闻
(2)新闻审核部分的功能设计如下:
搜索待批新闻、显示待批新闻内容、审核通过,并发布新闻
(3)管理新闻部分的功能设计如下:
搜索新闻、显示新闻、修改新闻、删除新闻
(4)新闻评论管理部分的功能设计如下:
搜索评论、显示评论内容、编辑评论内容、删除评论
(5)管理新闻分类部分的功能设计如下:
显示分类、添加分类、修改分类、删除分类
新闻管理部分大部分功能需要用户登录才能进行。
如果允许普通用户发布新闻,需要在首页或适当页面提供相应链接,不需要登录。
3.系统管理模块
系统管理模块包括了用户登录验证、用户管理、用户权限管理和设置、系统信息和权限信息显示、新闻发布情况统计等功能,此外,对于系统发布的新闻或发布新闻的用户,系统提供跟踪功能,记录提交者信息、审核者信息、评论条数等,以方便统计和跟踪新闻的反响。
新闻系统的成功通常依赖于新闻管理功能的方便性和用户浏览新闻的方便性。
在我的功能设计中,允许浏览新闻的用户登录系统并提交新闻,只需要经过审核的步骤即可发布,这样可以保证丰富的新闻来源。
其次,对于新闻和用户的跟踪,可以保证没一条新闻和新闻提供者得到有效的追踪和管理。
此外,对于新闻我提供了类目管理,并且可以为新闻类目设置具有相应管理权限的管理员,使新闻管理功能实现分布而非集中,有效减少管理员的工作量和不必要的失误。
系统功能模块图如图3-1所示:
图3-1系统功能模块图
3.2详细设计
3.2.1代码设计
常用的编码的类型有数字码和连续码。
其中数字码全部代码均用数字0~9组成,使用方便,简单易记。
连续码中的项目按数字顺序编号,优点是简单明了,易于追加,但代码无分类功能,码的组织和体系性较差。
因此本系统选用较为常用的连续码进行编码。
例如,db_Admin表中的id号,db_article表中的articleid号,db_fclass表中的classId号。
3.2.2输出设计
输出设计也是网站必不可少的组成部分。
从系统的角度来说,输入和输出是相对的,各级子系统的输出就是上一级系统的输入。
根据输出的目的,输出可分为中间输出和最终输出两类。
中间输出是指子系统对主系统或另一个子系统之间的数据传送,而最终输出则是指通过终端设备(如显示器屏幕、打印机等)向管理者或用户输出的一类信息。
本系统调用数据库中用户想要访问的数据,将其回馈给用户。
因此,本系统主要用到的输出设备为显示器和打印机。
3.2.3输入设计
输入的作用是提供系统的原始数据、系统运行状态等信息。
输入设计包括确定输入数据的内容、输入方式、记录格式、正确性校验以及输入与介质等方面。
在系统开发过程中输入设计所占的比重较大,一个好的输入设计能为今后系统运行带来很多的方便。
本系统的主要输入方式有两种:
键盘输入和鼠标输入。
例如系统管理员利用键盘添加新闻、修改新闻、添加用户、修改用户信息、添加评论、修改评论等等,利用鼠标浏览新闻及相关评论。
3.2.4处理过程设计
根据学校新闻发布管理的具体情况要求,本系统设置了两种用户,分别为新闻管理员和系统管理员。
总体流程如下:
第一步,系统管理员启动系统,并添加新闻分类,为系统添加几个新闻管理员,分别用于管理各个分类的新闻。
第二步,为新闻管理员分配权限。
第三步,新闻管理员修改个人信息及管理员登陆密码。
第四步,新闻管理员为获得添加新闻权限的类目添加新闻,并等待系统管理员对新闻的审核。
(每个新闻管理员只能管理一个类目)
第五步,系统管理员具有所有权限,可以添加新闻而不需要审核直接通过,同时他对各个新闻管理员提交来的新闻进行审核。
第六步,用户浏览新闻,对自己感兴趣的新闻添加评论。
第七步,系统管理员和具有管理评论权限的新闻管理员对评论管理。
第八步,系统管理员对新闻的时效性审核,对过期新闻进行删除。
3.2.5数据库设计
1.概念设计
得到以上数据项和数据结构,可以确定本系统所包含的实体:
管理员用户实体、新闻分类实体、新闻实体、评论实体。
各实体属性信息如E-R图所示:
图3-3管理员用户实体属性
图3-4新闻分类实体属性
图3-5新闻实体属性
图3-6评论实体属性
图3-7主要实体关系图
2.逻辑设计
新闻发布和管理模块涉及的数据包括:
新闻分类、新闻、用户、新闻评论,因此支撑一个新闻发布和管理系统的基本数据结构只需要这些基本数据表就可以了。
新闻发布和管理系统的数据表以及它们之间的链接关系,如图3-8所示。
图3-7数据表及其链接关系
下面具体是数据表的结构设计以及它们之间的关系。
(1)新闻分类表
新闻分类表db_fClass中保存了每一个新闻分类的名称、文章数等信息。
在在这里我仅使用了单层分类,因此每一个分类不会有子类目。
为了增强系统的功能以便支持子类目,仅仅需要增加一个附加的ParentClassId列来表示父类目的ID。
当然,需要注意的是针对类目的操作将变得更加复杂。
此外,还可以增加一些数据列。
例如:
分类的描述以及分类对应的图象等,从而使新闻在前端页面显示时更加形象化。
新闻分类表db_fClass的设计结构如表3-1所示。
表3-1新闻分类表的结构
字段列表
字段类型
字段大小
必填字段
说明
classId
Bigint
8
是
新闻类目的惟一ID值
className
Char
40
新闻类目的名称
ArticleNums
否
该新闻类目所有新闻的数量
(2)新闻条目表
新闻条目表db_Article中包括了所有类目中的所有新闻条目的相关信息和具体新闻内容,其设计结构如表3-2所示。
表3-2新闻条目表的结构
articleid
新闻条目的惟一ID值
content
Next
16
新闻条目的HTML格式正文
title
Nvarchar
500
新闻标题
classname
新闻所属类目的ID
username
100
提交新闻的用户ID
headline
Int
4
是否作为头条新闻显示
highlight
是否高亮显示新闻标题
summary
400
新闻内容简介
Nkey
相关新闻
writer
新闻作者
source
新闻来源
hints
新闻访问次数
dateandtime
Datetime
新闻提交时间
checkup
是否通过新闻审核
这里,username引用了db_Admin中的username列作为外键,而classname引用了db_fClass中的classname列作为外键。
由于外键的约束,这个数据表的设计隐含要求登录用户才具有提交新闻的权限,此外,新闻条目表中的checkup列表示该新闻是否通过审核,用于支持新闻发布前的审核。
(3)新闻评论表
新闻评论表db_Remark的结构设计如下表3-3所示。
表3-3新闻评论表的结构
id
新闻评论的惟一ID值
新闻评论对应的新闻条目ID
新闻评论提交者
body
1000
新闻评论的内容
face
20
新闻评论采用的表情
提交新闻评论的时间
ip
新闻评论提交者的IP地址
这里,只有articleid作为外键和新闻条目表db_Article链接起来,并不存在username的外键约束。
因此,提交新闻评论的用户可以不是系统的注册用户,不需要登录,新闻评论也不需要审核即可发布。
当然,对于新闻评论的管理如修改、删除等仍然包括在系统管理功能中。
(4)用户管理表
用户管理表db_Admin的设计结构如表3-4所示。
表3-4用户管理表的结构
用户的惟一ID值
用户名称
password
用户密码
userclass
用户所属类别
remark
Nchar
200
对于用户的说明
addnum
用户提交新闻的数量
popedom
用户所拥有的管理权限
拥有管理权限的新闻类目
这里的用户管理表的设计非常简单,权限设置也仅提供了最基本的方式。
首先,除了用户名称和密码外,用户的基本资料等信息全部没有设计。
其次,普通用户对于新闻类目的访问权限局限在某一个类目,而不是多个类目,这一点在很多时候是不合适的。
(5)数据库中的存储过程
为了有效管理数据库,创建一组存储过程是非常必要的,否则我们不仅需要在数据操作时使用各种SQL语句,而且也无法复用这些SQL语句,更糟糕的是我们无法保证数据操作的效率。
数据库设计中所包含的部分存储过程及其参数、说明等,如表2-5所示。
表3-5数据库中的部分存储过程
存储过程
存储过程参数
存储过程描述
sp_SetClassNumZero
@classNamechar(200)
设置某一新闻分类的中新闻数目为0
sp_addAdmin
@usernamechar(40),
@passwordnchar(40),
@userclassnchar(20),
@remarknchar(200)
添加一个管理员用户
sp_addClassNum
增加某一新闻分类中的新闻数目
sp_addFclass
@classNamechar(40)
增加一个新闻分类
sp_addNum
@usernamechar(200)
增加某个用户提交的新闻数目
sp_delAdmin
@idbigint
删除一个管理用户
sp_delClass
@classIdbigint
删除某一新闻分类
sp_delClassNum
减少某一新闻分类中的新闻数目
sp_delNum
减少某个用户提交的新闻数目
sp_selAdmin
@usernamechar(100),
@passwordnchar(100)
根据用户名称和密码查询用户
sp_selAdminAll
选择所有用户
sp_selAdminbyUserName
@usernamechar(40)
按用户名称查询用户
sp_selFclass
@classnamechar(40)
查询新闻类目
sp_selFclassAll
查询所有新闻类目
sp_updateAdmin
@idbigint,
@passwordchar(40),
@userclasschar(100),
更新管理用户信息
sp_setClassNum
@classNamechar(200),
@numbigint
设置新闻类目中的新闻数量
sp_searchCkArticleByContent
@contentnvarchar(200)
根据内容查询已经通过审核的新闻
sp_passArticle
@articleidbigint
审核通过新闻
sp_getHotNews
查询热点新闻
sp_addArticleHints
增加新闻访问次数
sp_addArticle
@content[ntext],
@title[nvarchar](500),
@classname[char](40),
@username[char](100),
@headline[int],
@highlight[int],
@summary[char](400),
@Nkey[char](400),
@writer[char](100),
@source[char](400),
@popedom[char](100),
@checkup[int]
添加新闻
sp_searchNckArticleByContent
根据内容搜索没有通过审核的新闻
sp_searchCkArticleByTitle
@titlenvarchar(400)
根据标题搜索审核通过的新闻
sp_selCkArticleByClass
@classnamechar(200)
根据类目查询通过审核的新闻
sp_updateArticle
@articleidbigint,
@contentntext,
@titlenchar(500),
@classnamechar(200),
@headlineint,
@highlightint,
@summarychar(400),
@Nkeychar(400),
@writerchar(100),
@sourcechar(100)
更新新闻内容
sp_addRemark
@usernamechar(200),
@bodychar(1000),
@facechar(100),
@ipchar(100)
添加新闻评论
sp_searchRemarkByAuthor
@usernamenvarchar(200)
根据作者搜索新闻评论
sp_searchRemarkByBody
@bodynvarchar(1000)
根据内容搜索新闻评论
sp_selRemarkByArticleId
根据文章ID查询新闻评论
这里没有列出全部的存储过程以及每一个存储过程的SQL语句。
大多数存储过程都只是执行标准的数据访问操作:
插入、更新、返回查询结果、删除等。
有些影响访问性能的设计决策需要加以特殊说明。
提供不同的存储过程,分别用于按标题或内容检索审核通过的新闻、所有新闻等,
以满足多种需求。
进行管理的时候可能需要检索所有新闻,但是普通用户只能看到现有
的经过审核的新闻。
为此系统还提供了按类别检索新闻的存储过程,可以满足这些需求。
检索所有新闻条目的正文会导致系统性能的下降,因此,有必要提供一些存储过程,
每次只检索正文中的一部分内容,或者在查询某一类别的分类时避免检索新闻条目的正文,仅检索其他相关信息,在需要显示详细正文信息时,再通过其他的存储过程完成新闻正文内容的检索。
当然,这里介绍的存储过程设计并没有做到这一点,但是在大型系统的设计中,这是非常重要的。
在很多情况下,新闻可能需要一个摘要域。
摘要域在正文内容的直接提取无法反映
新闻大致的情况下特别有用,比如,长篇新闻报道中,摘要域通常都是必要的。
在我的表结构设计和存储过程设计中都没有包含摘要域。
3.2.6界面设计
网站是信息的载体形式,色彩设计必须以完成网站可视性阅读功能为目的。
本系统采用蓝色基调,白色,红色,黑色为辅调。
蓝色对视觉器官刺激较弱,它代表平静,科技,理智,速度,诚实,真实,可信,人看到蓝色时情绪安宁。
用它作为管理系统的主色调也是最合适不过了。
白色在系统中主要作为背景色,导航栏字体颜色。
白色视觉度,注目度都比较高,因为白色为全色相,所以也能满足本管理系统用户心理要求,加之与蓝色配合,在页面右下方大量留白,使整个系统更具阅读可视性,操作易用性。
整个系统看起来颇大气,富有立体感。
红色纯度高,注目性高,对人视觉刺激大,因此本系统将系统某些操作提示使用红色字体,更加能起提示,警告等作用。
黑色为全色相,没有纯度,它本身无刺激性,所有在本系统中的主体文字颜色都设置为黑色,这正所谓“白底黑字”以增强阅读可视性。
3.2.7安全控制设计
本系统采用“CodeBehind”技术,即代码分离技术,它可以把界面代码和程序代码以不同的文件分离开,有效的保护代码,这对程序的安全性来说是一个