络操作系统,Web服务器软件采用IIS5.0(InternetInformationServer)。客户端软件,包括单机操作系统和浏览器软件,分别选用Windows2000和InternetExplorer,数据库系统采用SQLServer2000有利于方便操作。
3.开发工具
基于Web的系统开发工具应使开发者使用各种各样的技术来创建动态的Web应用程序,并且应是一个可视化的工具。我们采用了DreamweaverMX进行开发,它是用来快速创建数据驱动Web应用程序的基于团队的开发环境,支持ASP,以ODBC连接数据库,脚本语言为简单易学的JavaScript。
4.运行需求
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据完好无损,对数据的精确度、时间特性、适应性等都有一定要求,要求系统运行时能够保证正确性、可靠性、高效性、完整性、易使用性、可维护性、可测试性、复用性、安全保密性、可移植性、互联性。
第四章系统功能分析及模块设计
4.1系统功能描述
新闻发布及管理系统主要从以下几个方面进行设计和开发:(1)新闻类别管理,包括新闻类别的录入、查询、修改和删除等;(2)新闻发布管理,包括新闻信息录入、修改和删除等;(3)图片处理,包括图片文件上传、存储、修改、删除和浏览等;(4)新闻查询,分为按照新闻类别和新闻发布时间两个查询子模块;(5)网友评论,包括评论发表和管理员删除两个子模块;(6)系统用户管理,包括添加用户、删除用户和修改信息3个子模块。各模块的功能如下图1所示:
图1新闻发布及管理系统功能模块图
4.2功能模块划分
本系统中功能模块之间的关系如图2所示。在系统系统初始化时,有一个默认的系统管理员用户Admin,系统管理员除了可以修改Admin用户的密码,还可以创建、修改和删除普通用户,普通用户只能修改自己的用户名和密码。用户管理功能模块的关系,如图3所示。
图2新闻发布及管理系统功能模块关系图
Admin用户
图3用户管理功能模块图
4.3流程分析
多用户系统一般都是从用户登录模块开始。用户身份验证可以分为两个阶段:首先对用户身份进行认证,确认用户是否是有效的系统用户;进而确认用户类型,即验证用户是管理员用户还是普通用户。
前一阶段决定用户能否进入系统;后一阶段根据用户类型决定用户的权限,以及用户的工作界面。
本系统的前台部分不需要进行身份验证,任何人都可以游览已发布的新闻并发表评论。后台部分需要进行身份验证,Admin用户拥有所有权限,普通用户只能管理自己的新闻,包括修改、删除新闻和删除网友评论。后台系统的流程分析如图4所示。
重试
图4后台系统流程分析图
第五章数据库结构设计与实现
5.1创建数据库
本系统使用的是SQLServer2000作为系统数据库。首先用户创建一个名为news的数据库,保存新闻发布及管理系统的所有数据。可以在SQLServer的企业管理器中直接创建,也可以在SQLServer的查询分析器中执行以下脚本,创建数据库。
CREATEDATABASEnews
GO
5.2数据库逻辑结构设计
本系统包含新闻类别表Category、新闻信息表News、网友评论表Discuss和用户表Users四个表。本节将介绍这些表的结构。
1、新闻类别表Category
新闻类别表用来保存新闻类别数据,其结构如表1所示。
表1Category表
字段名
字段类型
字段长
说明
CateId
int
4
CateName
varchar
50
2、新闻信息表News
新闻信息表用来保存新闻的基本信息,如新闻标题、内容、发布时间等,具体结构如表2所示。
表2News表
字段名
字段类型
字段长
说明
Id
int
4
新闻编号,系统自动编号
Title
varchar
100
新闻标题
Content
Text
16
新闻内容
PostTime
Datetime
8
提交时间
Poster
Varchar
50
提交人
CateId
Int
4
新闻类别编号
Attpic
Bit
4
是否有图片:0:没有;1:有
Readcount
int
4
阅读次数
3、网友评论表Discuss
该表用来保存网友对新闻发表的评论,Discuss表的结构如表3所示。
表3Discuss表
字段名
字段类型
字段长
说明
Id
int
4
评论文章编号,系统自动生成
UserId
varchar
20
评论人
Posttime
smaaldatetime
4
提交时间
content
varchar
4000
评论内容
NewsId
Int
4
新闻编号
在Discuss表中使用了Smalldatetime数据类型存储日期时间数据,该类型可以存储从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟;datetime类型可以存储从1753年1月1日到9999年12月31日的日期和时间数据,精确到3.33ms。在精确度要求不高的情况下使用smalldatetime数据类型就足够了。
4、用户表Users
Users用来保存用户的基本信息,如表4所示。
表4Users表
字段名
字段类型
字段长
说明
UserId
int
4
用户ID,系统自动编号
UserName
varchar
50
用户名
UserPwd
varchar
50
密码
Ename
varchar
50
用户姓名
Email
varchar
50
电子邮箱
第六章目录结构与通过用模块设计
本小节将介绍新闻发布管理系统的目录结构和一些通过模块
6.1目录结构
本系统中的所有ASP文件都保存在主目录下,主目录名由用户决定。此外,在主目录下还包含两个子目录:
*存储上传的新闻图片。
*存储网页中的图片文件。
6.2通用模块
新闻发布系统中还包含一些通过学习用模块。用户可以在其他文件中直接使用#include语句包含这些模块,使用其定义的功能。
1、ConnDB.asp文件
ConnDB.asp文件的主要功能是连接数据库,其内容如下:
dimConn
dimConnStr
setConn=server.createobject("adodb.connection")
ConnStr="DRIVER={SQLServer};Server=(local);UID=sa;PWD=ustb;Database=news"
Conn.OpenConnStr
%>
2、IsAdmin.asp文件
IsAdmin.asp文件包含的功能是判断用户是否是Admin用户。如果是,则进入包含它的网页;如果不是,则中断执行。使用时,用户只需在所有只有Admin用户才有权执行操作的网页中,使用#include包含该文件。IsAdmin.asp代码如下:
<%
IfSession("UserName")<>"Admin"Then
Response.Write("不是Admin用户,没有此权限")
Response.End
EndIf
%>
3、IsAuthor.asp文件
在修改、删除新闻时,要判断当前用户是否为Admin用户或者发表新闻的作者。IsAuthor.asp完成该功能。如果当前用户是Admin,则不做任何操作。如果不是Admin,程序将根据Id参数读取新闻,并将Poster字段的值和Session中的当前用户进行比较。如果指定新闻不存在或当前用户不是指定新闻的作者,IsAuthor.asp文件将中断程序执行。IsAuthor.asp代码如下:
<%
IfSession("UserName")<>"Admin"Then
NewsId=Request("Id")
'根据新闻编号读取新闻信息
setrsNews=Server.CreateObject("ADODB.RecordSet")
sql="SELECT*FROMNewsWHEREId="&Trim(NewsId)
setrsNews=Conn.Execute(sql)
SetRs=conn.Execute(sql)
IfrsNews.EOFThen
Response.Write"指定新闻不存在"
Response.End
Else
'判断用户权限,是否可以维护新闻,管理员可以编辑所有新闻,编辑者只能修改自己的新闻
IfrsNews("Poster")<>Session("UserName")Then
Response.Write"不是Admin或新闻的作者,无权修改!"
Response.End
EndIf
EndIf
EndIf
%>
4、template.asp文件
template.asp文件的功能是修改新闻的字体、字号、颜色和排列位置等属性。template.asp文件的界面如图5所示。
template.asp文件的内容如下:
字体
宋体
楷体
新宋体
黑体
隶书
AndaleMono
Aria
上一篇:ASP文章在线发布系统(论文和程序)
下一篇:成本管理详细介绍