校园新闻管理系统.docx
《校园新闻管理系统.docx》由会员分享,可在线阅读,更多相关《校园新闻管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
校园新闻管理系统
成绩
课程设计报告
题目校园新闻发布管理系统
课程名称工程项目实践
院部名称龙蟠学院
专业计算机科学与技术
班级M11计算机科学与技术II
学生姓名于脐松
学号1121117041
课程设计地点校
课程设计学时8周
指导教师钟睿
金陵科技学院教务处制
【注:
根据课程设计大纲第四项具体要求撰写课程设计报告】
1需求分析
1.1需求分析
本系统把经常变动的信息,类似公司动态、企业新闻、新产品发布、促销活动和行业动态等更新信息集中管理,并通过信息的某些共性进行分类,最后系统化、标准化发布到上,同时提供新闻搜索及相关的友情。
本系统主要分为前台和后台,前台主要包括各类信息的搜索及查看,后台包括管理员及相关信息的系统管理。
◆前台按分类显示新闻;
◆搜索新闻;
◆后台管理:
●添加、删除和修改(编辑)新闻
●添加、删除和修改用户
来访者有不同的权限,需要有个管理权限的功能,系统中应该有个超级管理员,具有所有权限,能够对系统进行全面管理,同时管理员可以修改自己的信息。
根据校园新闻发布管理的实际需求,在首页中能显示最近发布的几条新闻等,同时在后台发布新闻时可以添加图片,在前台能自动根据所显示的图片显示新闻。
在后台管理中,因为有权限的管理员才能登录管理后台,所以需要有个登录验证模块,而且需要根据用户权限的不同显示不同的管理目录,在管理新闻和用户时,当数据少时管理起来还比较方便,如果一多则想找到某条新闻或某个用户就很难,所以需要有个查找(按发布日期)模块用于查找新闻。
根据以上需求分析,该系统要实现的主要功能为:
◆前台显示新闻部分
●用户登录区
●显示最新的前几条新闻
●搜索新闻功能
●新闻详细信息浏览阅读
●图片新闻(自动生成缩略图)在首页显示且只显示前三条
●友情(可在管理中添加设置)
◆后台管理部分
●登录验证
●根据权限显示相应的管理目录
●添加、修改和删除新闻
●用户管理
1.2新闻系统的性能需求
该系统在性能功能上应达到如下需求:
◆操作简单、界面友好:
完全控件式的页面布局,使得新闻的录入工作更简便,许多选项只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。
对常见的新闻管理的各个方面:
新闻录入、浏览、删除、修改、搜索等方面都大体实现,实现了对即时新闻的管理要求;
◆即时可见:
对新闻的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;
◆系统运行应该快速、稳定、高效和可靠;
◆在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
1.3运行环境要求
1.3.1运行平台
客户机硬件要求:
具有PentiumIII处理器以上且满足以下要求的计算机:
最低64MB存,最小2.1GB硬盘。
服务器硬件要求:
具有PentiumIII处理器以上且满足以下要求的计算机:
最低256MB存,最小8GB硬盘。
1.3.2支持程序
◆客户端
操作系统:
Windows98/NT/2000/XP或更高版本
浏览器:
IE5.0以上
◆服务器
操作系统:
Windows200XServer或者WindowsXP
Web服务器:
Tomcat6.0
数据库:
SQLServer2000
2系统结构设计
2.1系统的功能模块简介
该系统的系统的功能模块图如图所示:
登录后经权限判断
系统功能模块图示
整个系统的工作流程为:
打开该系统,普通浏览者能浏览、阅读和搜索新闻,能进行注册,注册后成为新闻输入员,登录进入新闻后台管理区,有添加新闻的权限;如为系统管理员,其有新闻后台管理区的所有权限,如:
添加和管理新闻、添加和管理用户和友情设置。
在添加新闻时,可以添加新闻标题、新闻容、而新闻作者和发布时间是由系统自动获取不需要输入。
管理新闻功能包括对任一条新闻容可作相应修改,也可删除任何一条不再需要保留的新闻。
管理用户包括修改用户名、密码和用户权限,也可将任一用户删除。
2.2系统的模型结构
该系统结构分为三个逻辑层,具体模型结构如图所示。
Web层:
Web层为客户端浏览器提供对应用程序的访问,这一层是作为解决方案文件中的Web项目实现的。
Web层由JSP窗体和代码隐藏文件组成。
Web窗体只是用HTML提供用户操作,而代码隐藏文件实现各种控件的事件处理程序。
业务层:
包含各种业务规则和逻辑的实现,如客户的验证和字符串处理。
新闻系统的模型结构图示
数据访问层:
数据访问层为业务层提供数据服务,这一层是作为解决方案文件中的Conn类(数据访问类,实现公共操作的一个通用类)实现的;
2.3系统数据流图
通过对数据流向进行分析,得出该系统的整个数据流图如图所示。
申请注册
注册成功
用户信息
新闻信息
删除
修改
删除添加
修改
系统数据流图
3系统数据库设计
本项目使用SQLServer2000作为数据库,其中数据库名为news。
包含3个实体。
3.1实体图
1.用户E-R实体图
用户的实体具有用户ID、密码、用户名、用户权限级别4个属性,E-R图如图所示。
用户E-R实体图
2.新闻E-R实体图
新闻的实体具有编号、标题、容、作者、发布时间5个属性,E-R图如图所示。
新闻实体图
3.图片E-R实体图
图片的实体具有编号、名称、大小、类型等6个属性,E-R图如图3.3所示。
评论E-R图
3.2数据表的创建
该数据库中共涉及到3个数据表的应用,分别为如下:
●UserInfo:
保存注册用户的信息
●NewsInfo:
用于存储新闻信息
●Image:
用于存储上传的图片的信息。
.用户信息表
用户信息表(UserInfo)用于存放该管理系统中所有用户的信息,用户管理是每个管理系统中必不可少的,也是比较重要的一部分,本系统中进行了较详细的设计,表中各个字段的数据类型、大小以及简短描述如下表所示。
用户信息表
字段名
数据类型
大小
字段描述
userID
int
4
用户ID,作为主键
username
Varchar
15
用户名
Password
Varchar
12
记录用户登陆时的密码
Usertype
Varchar
2
用户的权限级别
.新闻信息表
新闻信息表(NewsInfo)表用于存储新闻信息。
由于本系统主要是用于管理校园新闻,因此在本系统中进行了较详细的设计,表中各个字段的数据类型、大小以及简短描述如下表所示。
新闻信息表
字段名
数据类型
大小
字段描述
NewsID
int
4
新闻编号,唯一标识
title
varChar
50
新闻标题
content
varChar
1000
新闻容
Publisher
varChar
100
新闻的发布者
Datetime
datetime
8
新闻的发布时间
.图片信息表
图片信息表(Image),用于存储上传的图片的信息。
由于新闻信息中很多都包含有图片,因此对图片的管理也是本系统不可缺少的一部分,该表中各字段的具体描述如下表所示。
图片信息表
字段名
数据类型
大小
字段描述
ImageID
int
4
图片编号(主键),自动递增
ImageName
varchar
50
图片的名称
ImageInfo
Float
8
描述图片的大小
ImageType
varchar
10
图片的类型
ImagePublisher
varchar
50
图片上传者
ImageDatetime
datetime
8
图片上传时间时间
4系统功能模块的设计
4.1各主要窗体页的图形界面介绍
4.1.1前台
明日新闻网络中心的前台主界面如图1.1所示。
图1.1明日新闻网络中心(前台)
通过新闻网的前台可以搜索及查看各类新闻信息、年度新闻人物的查看及评选、大型的友情。
单击界面上方的【返回首页】按钮,即可随时返回新闻网的首页面。
4.1.1.1信息浏览
单击主页面导航条中的各个新闻,界面下方即可显示相关的新闻信息。
如单击“军事”,界面下方自动显示军事新闻信息。
如图1.2所示。
图1.2军事新闻
在“军事新闻”的信息界面中,单击相关信息的“查看新闻的详细容”,系统自动显示相应新闻的详细容。
4.1.1.2新闻搜索
单击前台首页“新闻关键字”的文本框,输入相关的搜索容,单击“请选择新闻类型”的下拉按钮,选择新闻类型,最后单击【确认查询】按钮,界面右侧自动显示相关的查询结果。
单击“查看新闻的详细容”,可查看详细的新闻信息。
效果图如图1.3所示。
图1.3搜索新闻
4.1.1.3新闻人物的查看及评选
1.年度新闻人物的查看及投票
单击【年度新闻人物】按钮,界面右侧自动显示全部新闻人物的相关信息。
图1.4查看新闻人物
单击相应人物后面的【投票】按钮,系统自动提示“投票成功”的提示信息即投票成功。
注意:
只能进行一次投票,否则系统会给予提示。
2.查看年度新闻人物投票数量
单击【年度新闻人物投票数量】按钮,界面右侧自动显示全部新闻人物的投票数量。
4.1.1.4友情
单击“友情”中的名称,即可直接进入相关。
4.1.2后台
单击新闻网界面右侧的【进入后台】按钮,系统弹出的提示信息进行确认后进入管理员登录的界面。
如图1.5所示。
图1.5管理员登录界面
单击“账号”和“密码”的文本框,输入账号:
mr密码:
mrsoft,单击【提交】按钮即可进入如图1.6所示的新闻网后台界面。
图1.6新闻网后台
后台主要分为:
总管理员设置、更改总管理员密码、普通管理员设置、添加新的管理员、新闻类型管理、新闻详细类型管理、新闻信息管理、管理和查看新闻人物九大系统设置,通过这九个系统设置可以对管理员以及信息等容进行常规操作,保证系统正常运行。
在新闻发布系统中,后台管理员分为两种:
一个是普通管理员,他可以对新闻类型进行定义,也可以发布新闻、设置投票人数及;另一个是总管理员,他除了可操作以上功能外,还可以对普通管理员进行设置,总管理员和普通管理员都能通过后台登录页面登录后台。
4.1.2.1总管理员设置
单击【总管理员设置】按钮,界面右侧自动显示相关的界面,如图1.7所示。
图1.7总管理员设置
单击“请输入账户”和“请输入密码”的文本框,输入账户及密码,最后单击【提交】按钮,界面右侧自动显示管理员的全部信息。
如下图1.8所示。
图1.8查看全部信息
单击相应管理员后面的【修改】按钮,在系统弹出的更改管理员性质的界面中即可进行修改,最后单击【修改】按钮即完成修改操作。
单击相应管理员后面的【删除】按钮,系统弹出的提示框进行确认后即删除该管理员信息。
4.1.2.2更改总管理员密码
单击【更改总管理员密码】按钮,界面右侧自动显示相关的界面,如图1.9所示。
图1.9更改总管理员密码
单击“请输入原来的密码”文本框,输入密码,单击【提交】按钮,系统弹出如图1.10所示的界面,单击“请输入新密码”及“请再次输入新密码”文本框,两次输入相同的新密码,最后单击【提交】按钮,系统弹出修改成功的提示信息即完成修改操作。
图1.10总管理员新密码
4.1.2.3普通管理员设置
单击【普通管理员设置】按钮,界面右侧自动显示相关的界面,如图1.11所示。
图1.11普通管理员设置-查看管理员信息
单击相应管理员后面的【修改密码】按钮即可进行密码的修改。
具体的操作方法同“更改总管理员密码”的操作方法相同。
这里不作重复讲解。
4.1.2.4添加新的管理员
单击【添加新的管理员】按钮,界面右侧自动显示相关的界面,如图1.12所示。
图1.12管理员注册
单击“请输入账号”文本框,输入相应的账号,单击【提交】按钮,系统自动显示如图1.13所示的界面,单击“密码”及“真实”文本框,输入密码及,最后单击【提交】按钮,系统弹出注册成功的提示信息即管理员添加成功。
图1.13管理员注册-填写管理员信息
4.1.2.5新闻类型管理
单击【新闻类型管理】按钮,界面右侧自动显示相关的界面,如图1.14所示。
图1.14新闻类型管理-查看全部新闻类别
1.添加类别名称
单击【添加类别名称】按钮,系统自动弹出如图1.15所示的界面,单击“名称”的文本框,输入相应的名称,最后单击【提交】按钮即添加成功。
图1.15添加类别名称
2.修改及删除类别名称
单击相应类别名称后面的【修改】按钮,在系统弹出的界面中单击“名称”文本框即可进行修改,最后单击【提交】按钮即修改成功。
单击相应类别名称后面的【删除】按钮,系统弹出的提示信息进行确认后即删除成功。
4.1.2.6新闻详细类型管理
单击【新闻详细类型管理】按钮,界面右侧自动显示相关的界面,如图1.16所示。
图1.16新闻详细类型管理
新闻详细类别的添加、修改及删除和新闻类型管理的操作方法相同,这里不作重复讲解,请参照1.2.5新闻类型管理。
4.1.2.7新闻信息管理
单击【新闻信息管理】按钮,界面右侧自动显示相关的界面,如图1.17所示。
图1.17新闻信息管理
1.添加新闻
单击【添加新闻】按钮,系统弹出如图1.18所示的界面,单击任意一种新闻类型,即可进入如图1.19所示的信息添加界面。
图1.18新闻类型选择界面
图1.19添加新闻
单击“新闻标题”和“新闻容”文本框,输入相应的标题及容,单击“详细类别”下拉按钮,选择相应的类别,最后单击【提交】按钮即添加成功。
2.查看、修改及删除新闻
单击相应信息后的【查看新闻具体容】按钮,可显示新闻的具体容。
单击相应信息后的【修改】按钮,在弹出的界面中单击各文本框即可进行修改,最后单击【提交】按钮即修改成功。
单击相应信息后的【删除】按钮,系统弹出的提示信息进行确认后即删除成功。
4.1.2.8管理
单击【管理】按钮,界面右侧自动显示相关的界面,如图1.20所示。
图1.20管理
1.添加信息
单击【添加信息】按钮,系统自动进入如图1.21所示的界面。
图1.21添加
单击“名称”及“的地址”文本框,输入的名称及地址,最后单击【提交】按钮即添加成功。
2.修改及删除信息
单击相应名称后的【修改】按钮,在系统弹出的界面中单击各文本框,进行修改之后单击【提交】按钮即修改成功。
单击相应名称后的【删除】按钮,系统弹出的提示信息进行确认后即删除成功。
4.1.2.9查看新闻人物
单击【查看新闻人物】按钮,界面右侧自动显示相关的界面,如图1.22所示。
图1.22查看新闻人物
1.添加新闻信息
单击【添加新闻人物信息】按钮,系统弹出如图1.23所示的界面。
图1.23添加新闻人物信息
单击人物名称、人物籍贯、人物年龄、人物工作和简单介绍的文本框,输入相应的容,最后单击【提交】按钮即添加成功。
2.修改及删除新闻信息
单击相应人物名称后的【修改】按钮,在系统弹出的修改新闻人物信息的各文本框即可进行修改,最后单击【提交】按钮即修改成功。
单击相应人物名称后的【删除】按钮,系统弹出的提示信息进行确认后即删除成功。
4.1.2.10退出后台
单击【退出后台】按钮,系统自动返回新闻网的前台主页面。
4.2Web.config文件配置
ASP.NET应用程序的配置功能放在Web.config文件中,它包含每一个具体Web应用程序的配置信息。
在程序运行时,ASP.NET使用分层虚拟目录结构的Web.config文件提供的配置信息为每个惟一的URL资源计算一组配置设置,然后缓存结果配置设置,以供所有页面对资源的请求使用。
Web.config文件对于访问站点的用户来说是不可见的,而且也是不可访问的,它基于XML,每个配置文件都包含XML标记和子标记的嵌套层次结构。
新闻系统的Web.config文件中的配置:
通过键/值对key和value配置数据库连接的相关信息,将SQLServer数据库News.MDF文件用相对路径的方式设置为字符串"MdbPath"在程序代码中进行连接引用。
4.3系统部分重要功能及其代码
4.3.1Web用户控件
该系统中创建了两个Web用户控件top.ascx和foot.ascx,在首页、新闻详细容查看、新闻管理等页面的HTML代码里都进行了引用,调用方式为:
<%RegisterTagPrefix="uc1"TagName="bottom"Src="bottom.ascx"%>
<%RegisterTagPrefix="uc1"TagName="top"Src="top.ascx"%>
Register指令注册用户控件,同时把属性TagName(标签名)和TagPrefix(标签前缀)添加到Register指令中,Src属性表示该用户控件相对于父页面的相对地址。
用户控件也是服务器端控件,还必须在用户控件代码中添加Runat=server属性,用法如下:
topid="Top1"runat="server">
top>
bottomid="Bottom1"runat="server">
bottom>
其中top.ascx用户控件作用是显示横幅和一些常用按钮以及当前日期,foot.ascx用户控件作用是显示底部相关信息等。
用户控件是非常易于代码重用的,可以把许多相关功能和用户界面封装在一个用户控件中,然后在任何需要该功能的地方重用此控件。
4.3.2添加发布新闻
添加发布新闻在该系统中显然起着很关键的作用,在添加新闻管理页面里,通过单击“添加”按钮执行新闻的添加,“添加”按钮的单击事件主要程序如下:
stringpublisher=Session["username"].ToString();//获取新闻输入员的用户名
//创建连接对象
stringconnectionString="DataSource=.;InitialCatalog=News;IntegratedSecurity=True";
//创建Connection连接对象objconn
SqlConnectionobjconn=newSqlConnection(connectionString);
//定义SQL语句,添加一条记录
stringsql="insertintoNewsInfo(title,content,Publisher,Datetime)values";
sql+="('"+txttitle.Text+"','"+txtcontent.Text+"','"+publisher+"','"+DateTime.Now.ToString("yyyy-MM-dd")+"')";
//创建Command连接对象objcmd
SqlCommandobjcmd=newSqlCommand(sql,objconn);
objcmd.Connection.Open();//打开数据库连接
objcmd.ExecuteNonQuery();//执行数据库操作
objcmd.Connection.Close();//关闭数据库连接
4.3.3用户注册
该系统的容是需要靠校园众多用户来丰富充实的,而用户注册功能提供了给用户注册和发布新闻的作用。
在首页里只需点击注册按钮即可注册,注册页面里注册按钮的单击事件处理程序如下:
//创建数据库连接&命令的对象
stringconnectionString="DataSource=.;InitialCatalog=News;IntegratedSecurity=True";
SqlConnectionobjconn=newSqlConnection(connectionString);
SqlCommandobjcmd=newSqlCommand("AddUser",objconn);
objcmd.CommandType=CommandType.StoredProcedure;//指明Sql的操作命令是存储过程
//给存储过程添加参数
SqlParameterparamusername=newSqlParameter("username",SqlDbType.VarChar);
paramusername.Value=txtusername.Text.ToString();
objcmd.Parameters.Add(paramusername);
SqlParameterparampassword=newSqlParameter("password",SqlDbType.VarChar);
parampassword.Value=Pwd1.Text.ToString();
objcmd.Parameters.Add(parampassword);
objcmd.Connection.Open();//打开数据库连接
objcmd.ExecuteNonQuery();//操作数据库
objconn.Close();//关闭数据库连接
在实现注册功能时用到了存储过程,存储过程AddUser的代码如下:
CREATEPROCEDUREAddUser
(usernamevarchar(15),passwordvarchar(12))
AS
IFEXISTS
(SELECTusernameFROMUserInfoWHEREusername=username)
RETURN1
INSERTINTOUserInfo(username,password)VALUES(username,password)
RETURN0
GO
另外,在注册页面中用到了RequiredFieldValidator(非空)、RegularExpressionValidator(正则表达式)和CompareValidator(比较)验证控件,分别用于文本输入框的非空验证、由正则表达式来验证用户的输入值是否正确和验证两个输入框的值是否相等。
服务器端验证控件是ASP.NET控件中新产生的一种验证控件,可以在客户端直接验证用户的输入,但控件必须包含“runat=server”属性。
正常情况下验证控件是不可见的,当用户输入数据错误时它们才可见。
4.3.3用户修改密码
为了保证用户的安全,系统需要设置有密码