2系统的功能设计
2.1系统的功能结构
该新闻管理系统可以在windows2000server操作系统平台上运行,web服务器为iis,数据库服务器为microsoftsqlserver2000,开发工具采用的microsoftvisualstudio.net和dreamweaver。图2给出系统的功能结构图。其工作流程为:用户登录通过权限判断,普通用户只能浏览、阅读和查询新闻,注册用户除了可以完成普通用户的操作外,还可以进入新闻管理模块进行新闻录入、修改和删除的操作。注册用户除系统管理员外只能对自己录入的新闻进行删改操作。
2.2系统的功能特点
(1)操作简单、界面友好:完全控件式的页面布局,使得新闻的录入工作更简便;许多选项包括新闻类别、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。
(2)即时可见:对新闻的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到"即时发布、即时见效"的功能。
图2系统功能结构图
(3)功能完善:包括常见网站的新闻管理的各个方面:新闻录入、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时新闻的管理要求。
(4)方便移植:针对不同的企业,只需要稍作修改就可以开发出适合本企业特点的网站新闻管理系统!
3系统的详细设计
系统的主要功能是通过几个功能模块来实现的。具体的设计过程如下:
⑴系统登录:该模块负责将用户分为普通用户和注册用户来实现用户权限的管理。
⑵新闻浏览:该模块负责分页列出网站所有新闻的信息,包括标题、类型、来源部门字段及发布日期,每条新闻的标题被做成一个超链接,点击它们就能跳转页面进行新闻阅读。
⑶新闻阅读:在其他页面中点击标题链接即进入新闻阅读页面,此时,每条新闻的详细信息将被取出,包括内容、标题、关键字等,并按照相对固定的格式放置在页面的不同区域,所有新闻使用大致相同的页面布局,只是各字段对应的内容不同而已,另外,页面其它位置,可以动态放置其他元件,如网站标志logo、页面广告banner等链接图片,这样可以很容易地实现图文并茂的阅读效果。
⑷新闻查询:该模块提供了新闻查询功能,输入待查找的内容及选定分类信息可以快速地找到符合条件的新闻,并输出查询结果。
⑸新闻管理:该模块负责分页罗列登录的注册用户曾发布过且未删除的新闻信息,用户可以对该条新闻进行删除、修改。非新闻发布者除系统管理员外不具有对该条新闻的处理权限,所以不同用户进入此页面将显示不同的内容。
⑹新闻录入和修改:注册用户录入一条新闻所需要的内容,包含标题、关键字、类型、来源部门、发布日期等,同时从登录模块得到用户名,这些信息将被写入数据库中保存。该模块还负责编辑状态下的更新,这时,它将根据取得的title字段值对页面控件初始化。
下面以系统登录页面的编写为例给出主要事件和函数,说明该系统的开发过程。
//isreguserok函数:判断用户是否已经注册和密码是否正确
publicboolisreguserok()
{
stringname=textboxname.text.trim();
stringpwd=textboxpassword.text.trim();
//建立/打开数据库连接
sqlconnectionconn=newsqlconnection();
conn.connectionstring="server=(local);uid=sa;pwd=;database=jxdb";
conn.open();
//建立sql字符串
stringsql="select*fromregwherename='"name"'";
sqldatareaderdr;
sqlcommandcmd=newsqlcommand(sql,conn);
dr=cmd.executereader();
//保留用户注册与否信息
boolisreguserexist=dr.read();
//关闭datareader
dr.close();
//取得用户名的密码
stringsqlboth="select*fromregwherename='"name"'";
sqlboth="andpwd='"pwd"'";
sqlcommandcmdboth=newsqlcommand(sqlboth,conn);
sqldatareaderdrboth;
drboth=cmdboth.executereader();
//保留用户名密码同时存在信息
boolisbothexist=drboth.read();
//关闭datareader
drboth.close();
conn.close();
//判断用户是否注册
if(!isreguserexist)
{
response.write("