新闻管理系统文档格式.docx
《新闻管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《新闻管理系统文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
例如用JSP语言查询数据库,将结果保存在Web页面中,再由浏览器显示出来。
运行环境:
Tomcat服务器
数据库:
MySQL
软件环境:
Windows2000professional、DreamweaverMX、JBuilder.
硬件环境:
PC机
2.2.2B/S浏览器/服务器结构简介
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着Windows98/Windows2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。
前者的特点是安全、快捷、准确。
后者则具有节省投资、跨地域广的优点。
须视企业规模和地理分布确定。
企业内部通过防火墙接入Internet,再整个网络采用TCP/IP协议。
网络结构如图6所示:
图2.1B/S网络结构图
2.3系统需求
根据用户的具体要求,决定了此系统的功能模块,以及功能特点。
新闻管理系统的功能特点:
(1)操作简单、界面友好:
完全控件式的页面布局,使得新闻/通知的录入工作更简便;
许多选项包括新闻/通知类别、来源部门等只需要点击鼠标就可以完成;
另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。
(2)即时可见:
对新闻/通知的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到"
即时发布、即时见效"
的功能。
(3)功能完善:
包括常见网站的新闻/通知管理的各个方面:
新闻/通知发布、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时新闻的管理要求。
(4)方便移植:
针对不同的单位,只需要稍作修改就可以开发出适合本企业特点的网站新闻管理系统!
按照系统开发的基本观点对系统进行分解,从内容上可对网站作如下划分:
系统登录:
该模块负责将用户分为普通用户和注册用户来实现用户权限的管理。
(1)、新闻管理:
新闻发布:
该模块是登陆者进行新闻编辑,包括标题、类型、来源部门字段及发布日期等信息,然后出现在新闻审核页面上。
新闻审核:
该模块负责列出所有未通过新闻的信息,包括标题、类型、来源部门字段及发布日期,每条新闻的标题被做成一个超链接,点击它们就能跳转页面进行新闻阅读,有权限的登陆者可以对其进行通过审核、删除等功能。
新闻阅读:
在其他页面中点击标题链接即进入新闻阅读页面,此时,每条新闻的详细信息将被取出,包括内容、标题、关键字等,并按照相对固定的格式放置在页面的不同区域,所有新闻使用大致相同的页面布局,只是各字段对应的内容不同而已,另外,页面其它位置,可以动态放置其他元件,如网站标志logo、页面广告banner等链接图片,这样可以很容易地实现图文并茂的阅读效果。
并且有权限的人可以通过此界面进行新闻修改。
新闻查询:
该模块提供了新闻查询功能,输入待查找的内容及选定分类信息可以快速地找到符合条件的新闻,并输出查询结果。
新闻显示:
该模块是显示在页面上会自动流动的显示新闻题目,按照时间来排列顺序。
点击标题后,会出现新闻的全部信息。
(2)、通知管理
通知发布:
该模块是登陆者进行通知编辑,包括标题、类型、来源部门字段及发布日期等信息,然后出现在通知审核页面上。
通知审核:
该模块负责列出所有未通过通知的信息,包括标题、附件、类型、来源部门字段及发布日期,每条通知的标题被做成一个超链接,点击它们就能跳转页面进行通知阅读,有权限的登陆者可以对其进行通过审核、删除等功能。
通知阅读:
在其他页面中点击标题链接即进入通知阅读页面,此时,每条通知的详细信息将被取出,包括内容、附件、标题、关键字等,并按照相对固定的格式放置在页面的不同区域,所有通知使用大致相同的页面布局,只是各字段对应的内容不同而已,另外,页面其它位置,可以动态放置其他元件,如网站标志logo、页面广告banner等链接图片,这样可以很容易地实现图文并茂的阅读效果。
并且有权限的人可以通过此界面进行通知修改。
通知查询:
该模块提供了通知查询功能,输入待查找的内容及选定分类信息可以快速地找到符合条件的通知,并输出查询结果。
通知显示:
该模块是显示在页面上会自动流动的显示通知题目,按照时间来排列顺序。
点击标题后,会出现通知的全部信息。
(3)、用户密码修改
此模块主要要满足登陆用户修改自己密码。
首先用户要核对自身原有的密码,如果核对通过则会在用户数据库中的密码改为输入的新密码。
(4)、权限管理
此模块只针对于具有管理员身份的登陆者,主要要完成的功能有用户信息查询、用户权限修改、以及添加用户。
用户信息查询,会在页面上显示用户的用户名、用户的角色等信息;
添加是通过页面的添加用户名、用户角色、用户密码等信息,添加成功后,将在数据库中存在该用户。
新闻管理系统功能结构图如下:
图2.2新闻管理系统功能结构图
2.4接口需求
用户接口:
本系统的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:
输入界面、输出界面),使用方便、直观。
软件接口:
windows2000professional
第三章新闻管理系统概要设计
该部分要说明新闻管理系统实现的基本方案。
根据以上需求分析以及用户的要求,该系统要实现用户登录时要进行核对用户的合法性、新闻管理、通知管理等基本功能模块
3.1设计思想
本系统采用了面向对象编程语言(java)进行基层编程,页面编程采用了JSP技术。
系统采用跨平台性能较好的Java编程语言,采用JSP、Servlet、JavaBean、JavaScript技术。
使用JSP、Servlet、JavaScript负责浏览器表现层的实现;
JSP实现查询、数据翻页显示等简单的逻辑操作;
Servlet实现数据的添加、删除、修改等复杂的逻辑操作;
JavaBean负责数据库操作、Web页面中文显示等可重用的操作的实现。
Java是一个由sun公司开发的编程语言。
使用它可在各式各样不同种机器、不同种操作平台下的网络环境中开发软件,不论使用的是哪一种www浏览器、哪一种计算机、哪一种操作系统.只要www浏览器注明“支持java语言“就可以看到生动的页面。
java正在逐步成为Internet应用的主要开发语言。
它彻底改变了应用软件的开发模式、带来了Pc机的一次技术革命,为迅速发展的信息世界增添了新的活力。
使用java语言主要有以下特点:
1)、简单性
Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。
Java略去了运算符重载、多重继承等模糊的概念、并且通过实现自动垃圾收集.大大简化了程序设计者的内存管理。
2)、面向对象的特性
Java话言的设计集中于对象及其接口上,它提供了简单的类机制以及动态的接口模型。
对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;
而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。
3)、分布性处理
Java是面向网络的语言。
通过Java提供的基础类库可以处理TCP/IP协议.用户可以通过URL地址在网络上很方便地访问其他对象。
4)健壮性
Java在编译和运行程序时、都要对可能出现的问题进行检查,以消除错误的产生。
它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时产生错误。
使用集成的面向对象的例外处理机制,在编译时,Java会提示可能出现但末被处理的例外,帮助程序员正确地进行选择以防止系统的崩消。
另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。
5)、安全性
用于网络、分布式计算环境下的Java必须要能够防止病毒的入侵。
Java不支持指针、一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
6)、体系结构中立
Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后.对它进行转换.使之能够在不问的平台运行。
7)可移植性
与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。
同时,Java的类库中也实现了与不同平台的接口,使这些类库可以从一个平台移植到另一个平台。
另外,Java编译器是由Java语言实现的,Java运行时系统由标准c实现,这使得Java系统本身也具有可移植性。
JSP目前在国外已经得到广泛的应用,在国内,因为Java语言普及性不够,所以尚未得到重用,但是越来越多的公司和个人开始关注JSP的应用前景,国内也已经出现了许多JSP做的网页和网站,JSP正日益火瀑、大有取代其他网页编程语言的趋势。
JSP规范是web服务器、应用服务器开发者、交易系统、以及开发工具供应商等各方广泛合作的结果。
其特点是:
●能运行在任何web或应用程序服务器上。
●能分离应用程序的逻辑和页面显示。
●能快速地开发和测试
●能简化开发基于Web的交互式应用程序的过程。
JSP相对于目前流行的其他网页制作技术(如:
ASP)相比较具有了很多优越性:
1)、JSP技术基于平台和服务器的互相独立,输入支持来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。
相比之下,ASP技术主要依赖微软的技术支持。
2)、平台和服务器的独立性JSP技术依附于一次写入之后,可以运行在任何具有符合JavaTM语法结构的环境。
取而代之过去依附于单一平台或开发商,JSP技术能够运行在任何WEB服务器上并且支持来自多家开发商提供的各种各样工具包。
3)、开放的开发过程,开放的原代码,SUN应用JAVA社团性过程开发JSP技术,使得JSP更具有友好性。
而ASP技术仅依靠微软本身的推动,其发展是建立在独占的,封闭的开发过程基础之上。
4)、从开发人员的角度来看:
ASP和JSP技术都能使开发者实现通过点击网页中的组件制作交互式的,动态的内容和应用程序的WEB站点。
ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。
并且JSP标签可扩充,其跨越平台的可重用性强。
5)、在企业级JAVABEANS技术支持下,JSP网页通过运用高级的,对象映射的方式访问数据库,使对数据库的访问更有效。
因此此系统中,选择利用JSP技术和Servlets、JavaBean、JavaScript进行新闻管理系统的开发,更能体现现代技术的优越性。
JSP技术能让Web开发员和网页设计员快速地开发容易维护的动态Web主页。
用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源(例如JavaBesns)的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP技术是Servlet技术的扩展。
Servlet是平台无关的,100%纯Java的Java服务端组件。
通过JSP来进行数据库访问不需要太多的引导。
问题是如何使开发者能够接受Web程序的数据库访问比传统的本地OLAP系统的数据库访问更加具有吸引力,并且使他们认识到,整洁和简要的数据访问方法才是关键的。
在这一点上,JSP可以很好地解决,因为它能够与JavaDatabaseConnectivityAPI(JDBC)很好的兼容。
你可以将JDBC包含在JSP代码中,并且JDBC能够传递声明执行类似数据库的命令,只要你能够正确地使用JDBC驱动程序。
JDBCAPI不会直接地与数据库进行交流。
其中的驱动程序完成的实际的连接,你可以在卖方的Web站点上下载这些驱动程序。
除此之外,还有四种JDBC的驱动程序类型,如果你决定使用JDBC,你需要正确地选择最为适合你需要的那种类型。
你将使用一个DriverManager类来处理基于驱动程序的连接。
你可以使用一个名为getConnection的DriverManager方法来建立你的数据库连接。
你还可以使用它的URL参数来识别数据库:
publicstaticConnectiongetConnection(jdbc:
odbc:
nameOfDatabase)
现在,告诉DriverManager有关驱动程序的信息(应该在你的classpath中):
Class.forName(“sun.jdbc.odbc.nameOfJDBCDriver”);
你已经将数据库连接到JSP程序,但你仍然不能够执行一个数据库命令。
解决这一点,你可以在JSP代码中生成声明以建立数据库命令,如下所示:
publicStatementcreateStatement(intresultSetType,intresultSetConcurrency)
其中的参数能够让你控制从数据库查询得到的结果。
当使用第一个参数时,可以在程序中看到结果;
当使用第二个参数时,你可以通过查询来更新数值。
声明(Statement)就是SQL命令。
PreparedStatement就是SQL的声明,你可以通过其中的参数来控制程序的过程。
CallableStatement是用于访问SQL存储程序。
你以上的声明接口使你可以使用一些方法来执行SQL声明。
ResultSet所做的就是访问从查询得到的数据,所以你可以在JSP程序中使用这些数据。
通过将JSP程序分解成单一的、功能明显的页面,以及在任何给定页面中执行一个单一的数据库操作,可以很大程度地简化你的数据库操作,以及建立可以用于以后程序开发的页面,即使你将SQL嵌入到这些页面的JDBC中。
为了使得你的JSP数据库访问更加整洁和容易维护,在JSP代码中嵌入JDBC,以及通过发送SQL命令与数据库通讯,但是,它要求在不能增加代码复杂程度下,建立通过接口的SQL命令的程序。
当你的SQL处理需要提高灵活性的时候,你可以进一步地分离你的数据库接口代码,以清洁你的JSP程序。
3.2模块设计方案
各个模块的功能实现都是在详细设计中实现的,这里只是提出了实现的大体方案,各个模块的实现方案都是经过与以前的系统比较后,作了优化得出的。
系统的功能模块图:
图3.1新闻管理系统的功能模块图
3.2.1用户登录
用户登录时所用的用户名以及密码都是存放在数据库中的users、user_roles两个表中的,当用户输入用户名和密码后,点“登入”按钮,程序将自动检查数据库中的数据,以判断用户是否合法,合法则进入新闻管理系统的主界面,实现此功能要通过对server.xml文件进行安全域的配置,还要对web.xml进行权限的设置。
对于根据登录者的身份(user_roles)不同,所进入的界面以及所要的操作,除了管理员身份有新闻审核、通知审核和权限管理页面外,其他的角色登录后只有新闻发布、通知发布、新闻/通知查询、新闻/通知显示4个页面。
且在查看详细信息的时候,管理员身份可以进行修改、删除新闻或者通知。
关于此功能的实现还有一种方案可以实现。
在web.xml的安全域设置中把新闻审核和通知审核进行安全域的控制,只能有管理员身份的登录者才能进入,当其他身份点击此两个页面的时候,将会出现出错页面提示“你没有权限”。
图3.2用户的ER图
3.2.2新闻管理
此模块包括了新闻发布、新闻审核、新闻查询、新闻显示几大模块。
主要完成的功能是对新闻信息进行编辑、发布,发布的信息通过新闻审核页面进行新闻审核通过后会出现在新闻查询页面的“已审核”的新闻信息中和新闻显示的页面中。
新闻查询可分日期查询、发送方查询、标题查询、审核性查询。
通过某一条件进行查询可以所需的信息。
在查询页面、审核页面中也可以进行新闻的详细信息查询。
具体的功能模块图如下:
图3.3新闻管理功能模块图
图3.4新闻管理模块E-R图
3.2.3通知管理
此模块包括了通知发布、通知审核、通知查询、通知显示几大模块。
主要完成的功能是对通知信息进行编辑、发布,发布的信息通过通知审核页面进行通知审核通过后会出现在通知查询页面的“已审核”的通知信息中和通知显示的页面中。
通知查询可分日期查询、发送方查询、标题查询、审核性查询。
在查询页面、审核页面中也可以进行通知的详细信息查询。
图3.5通知管理功能模块图
图3.6通知管理模块E-R图
3.2.4权限修改
此模块要主要要完成的功能有用户信息查询、用户权限修改、以及添加用户。
功能模块图如下:
图3.7权限管理功能模块图
注:
因为在前面已经对密码修改部分进行了功能阐述,此模块的功能单一,因此在此不作过多阐述了,具体实现将在下章进行详细功能设计。
3.4系统示图
在一个系统中,数据的流向是很重要的,因此此系统采用了数据流图来描述整个新闻管理系统的数据流向。
数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息数据在系统中流动和处理的情况。
数据流图是结构化系统分析的基本工具。
一个数据流图确定了系统的转化过程、系统所操纵的数据或物质的收集(存储),还有过程、存储、外部世界之间的数据流或物质流。
数据流模型把层次分解方法运用到系统分析上,这种方法很适用于事务处理系统和其它功能密集型应用程序。
新闻和通知发布与新闻/通知审核、新闻/通知查询、新闻/通知显示模块间的数据流图如下:
图3.8新闻管理系统的数据流图
图3.9新闻通知/管理系统的总体E-R图
3.5数据库设计
该新闻管理系统涉及到了数据库的建立,数据库是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。
使用数据库可以带来许多好处:
如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。
此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。
特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强。
一般数据库设计方法有两种,即属性主导型和实体主导型。
属性主导型从归纳数据库应用的属性出发,在归并属性集合(实体)时维持属性间的函数依赖关系。
实体主导型则先从寻找对数据库应用有意义的实体入手,然后通过定义属性来定义实体。
一般现实世界的实体数在属性数1/10以下时,宜使用实体主导型设计方法。
面向对象的数据库设计是从对象模型出发的,属于实体主导型设计。
数据库的开发步骤:
1)、设计应用系统结构;
2)、选择便于将应用程序与DBMS结合的DBMS体系结构,如RDBMS;
3)、根据应用程序使用的环境平台,选择适宜的DBMS(MYSQL)和开发工具(Navicat或者mysqlcontrolcenter、mysqladministrator);
4)、设计数据库,编写定义数据库模式的SQL程序;
5)、编写确保数据正确录入数据库的用户接口应用程序;
6)、录入数据库数据;
该系统采用了MYSQL作为数据库,它是目前较为流行的、快速、开放原代码的数据库系统,具有很大的功能。
新闻管理系统主要用到了3张表,新闻信息表news、通知信息表notice、附件表adnexa。
新闻信息表详细字段如下:
字段名称
英文
类型
长度
允许空
编号
ID
int
5
标题
NewsTopic
varchar
30
投稿时间
ContrTime
datetime
投稿人姓名
ContrID
10
投稿内容
Newscontent
255
审核人姓名
BoolAud
Bool
附件编号
AdnexaID
15
属性
type
备注
Remark
50
√
表3.1新闻信息表
通知信息表详细字段如下:
编