2023年11月28日发(作者:)
新闻管理设计
第一章 绪 论 ..........................................................................................
1.1 意义 ................................................................................................................................
1.2 目的 ................................................................................................................................
1.3 背景和现状.....................................................................................................................
第二章 新闻管理系统问题描述 ............................................................
2.1问题的提出..........................................................................................................................
2.2 研究工作的基本前提 ..........................................................................................................
§2.2.1软件体系结构及环境 ..............................................................................................
§2.2.2 B/S浏览器/服务器结构简介 ...............................................................................
2.3 系统需求 ............................................................................................................................
2.4 接口需求 ............................................................................................................................
第三章 新闻管理系统概要设计 ................................................................
3.1 设计思想 ..........................................................................................................................
3.2 模块设计方案.....................................................................................................................
§3.2.1 用户登录 .................................................................................................................
§3.2.2 新闻管理 ...............................................................................................................
§3.2.3 通知管理 .................................................................................................................
§3.2.4权限修改 ..................................................................................................................
3.4 系统示图 ..........................................................................................................................
3.5 数据库设计.........................................................................................................................
第四章 新闻管理系统详细设计 ............................................................
4.1 目的 ..................................................................................................................................
4.2 服务器的配置...................................................................................................................
4.3 数据库的安装和配置.......................................................................................................
4.4功能模块详细设计..............................................................................................................
§4.4.1 用户登录 .................................................................................................................
§4.4.2 新闻管理模块设计 .................................................................................................
§4.4.3 通知管理模块设计 .................................................................................................
§4.4.4 用户密码修改 .........................................................................................................
§4.4.5 权限管理 .................................................................................................................
4.5 程序流程图.........................................................................................................................
第五章 新闻管理系统测试 ........................................................................
5.1 测试环境 ............................................................................................................................
5.2 测试标准 ............................................................................................................................
5.3 测试方案 ............................................................................................................................
§5.3.1 系统功能测试 .........................................................................................................
§5.3.2 系统性能测试 .........................................................................................................
5.4测试结果 .............................................................................................................................
结论 ...............................................................................................................
第一章 绪 论
§ 1.1 意义
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息
的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet
上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中
按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在
Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的
重要组成部分,从而倍受人们的重视。为了更好的、有效率的进行学院的新闻、
通知的发布以及管理,特提出了学院新闻管理系统的建设。
§ 1.2 目的
在学院日常办公事务中,建立起有一个新闻管理系统。通过此系统,学院可
以地发布、审核、更新新闻和通知,师生可以便利地浏览,并且能对用户信息进
行修改、添加、删除的操作来对用户进行有效、快捷的管理。
[1]
此系统建立后,用户(普通用户、管理员)可以进行以上操作,对学院新闻、
通知信息进行管理,并且管理员还具有对登陆用户的信息进行修改、添加删除等
操作。
§ 1.3 背景和现状
为了学院工作的顺利进行,信息的快速发布,通知的及时传达提出了新闻管
理系统的建设。在现有的管理系统大都采用了具有较好的安全性、移植性的JSP
网络编程技术进行编码实现。
第二章 新闻管理系统问题描述
§2.1问题的提出
随着现在学院管理机制的完善,学院通过网站可以展示学院风采,发布最新
动态信息,与学生、老师进行信息交流和沟通,与其他学院建立联系等。其中新
闻管理系统是构成学院网站的一个重要组成部分,可以用来动态发布有关学院新
的工作安排,有利于学院工作的开展;还可以发布对本学院学生有益的相关新闻
信息和学院的风采展现。
§2.2 研究工作的基本前提
§2.2.1软件体系结构及环境
对实现目标系统的所运用的技术构架描述:该系统采用Browser/Server(B/S)
浏览器/服务器结构为软件体系结构。这种结构最大的优点是:客户机统一采用
浏览器,这不仅让用户使用方便,而且使得客户机端不存在维护的问题。当然,
软件开发布和维护的工作不是自动消失了,而是转移到了Web 服务器端。在
Web 服务器端,程序员要编写响应页面。例如用JSP语言查询数据库,将结果
保存在Web 页面中,再由浏览器显示出来。
运行环境:Tomcat服务器
数据库: MySQL
软件环境:Windows 2000 professional、DreamweaverMX、JBuilder.
硬件环境:PC机
§2.2.2 B/S浏览器/服务器结构简介
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,
对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过W
WW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端
实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器
技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,
用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开
发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将
浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网
(VPN)。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的
优点。须视企业规模和地理分布确定。企业内部通过防火墙接入Internet,再整
个网络采用TCP/IP协议。网络结构如图6所示:
图2.1 B/S网络结构图
§2.3 系统需求
根据用户的具体要求,决定了此系统的功能模块,以及功能特点。
新闻管理系统的功能特点:
(1)操作简单、界面友好:完全控件式的页面布局,使得新闻/通知的录入工作
更简便;许多选项包括新闻/通知类别、来源部门等只需要点击鼠标就可以完成;
另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。
(2)即时可见:对新闻/通知的处理(包括录入、修改、删除)将立即在主页的
对应栏目显示出来,达到"即时发布、即时见效"的功能。
(3)功能完善:包括常见网站的新闻/通知管理的各个方面:新闻/通知发布、
浏览、删除、修改、检索等各个方面,完整地实现了网站对即时新闻的管理要求。
(4)方便移植:针对不同的单位,只需要稍作修改就可以开发出适合本企业特
点的网站新闻管理系统!
按照系统开发的基本观点对系统进行分解,从内容上可对网站作如下划分:
系统登录:该模块负责将用户分为普通用户和注册用户来实现用户权限的管
理。
(1)、新闻管理:
新闻发布:该模块是登陆者进行新闻编辑,包括标题、类型、来源部门字段
及发布日期等信息,然后出现在新闻审核页面上。
新闻审核:该模块负责列出所有未通过新闻的信息,包括标题、类型、来源
部门字段及发布日期,每条新闻的标题被做成一个超链接,点击它们就能跳转页
面进行新闻阅读,有权限的登陆者可以对其进行通过审核、删除等功能。
新闻阅读:在其他页面中点击标题链接即进入新闻阅读页面,此时,每条新
闻的详细信息将被取出,包括内容、标题、关键字等,并按照相对固定的格式放
置在页面的不同区域,所有新闻使用大致相同的页面布局,只是各字段对应的内
容不同而已,另外,页面其它位置,可以动态放置其他元件,如网站标志logo、
页面广告banner等链接图片,这样可以很容易地实现图文并茂的阅读效果。并
且有权限的人可以通过此界面进行新闻修改。
新闻查询:该模块提供了新闻查询功能,输入待查找的内容及选定分类信息
可以快速地找到符合条件的新闻,并输出查询结果。
新闻显示:该模块是显示在页面上会自动流动的显示新闻题目,按照时间来
排列顺序。点击标题后,会出现新闻的全部信息。
(2)、通知管理
通知发布:该模块是登陆者进行通知编辑,包括标题、类型、来源部门字段
及发布日期等信息,然后出现在通知审核页面上。
通知审核:该模块负责列出所有未通过通知的信息,包括标题、附件、类型、
来源部门字段及发布日期,每条通知的标题被做成一个超链接,点击它们就能跳
转页面进行通知阅读,有权限的登陆者可以对其进行通过审核、删除等功能。
通知阅读:在其他页面中点击标题链接即进入通知阅读页面,此时,每条通
知的详细信息将被取出,包括内容、附件、标题、关键字等,并按照相对固定的
格式放置在页面的不同区域,所有通知使用大致相同的页面布局,只是各字段对
应的内容不同而已,另外,页面其它位置,可以动态放置其他元件,如网站标志
logo、页面广告banner等链接图片,这样可以很容易地实现图文并茂的阅读
效果。并且有权限的人可以通过此界面进行通知修改。
通知查询:该模块提供了通知查询功能,输入待查找的内容及选定分类信息
可以快速地找到符合条件的通知,并输出查询结果。
通知显示:该模块是显示在页面上会自动流动的显示通知题目,按照时间来
排列顺序。点击标题后,会出现通知的全部信息。
(3)、用户密码修改
此模块主要要满足登陆用户修改自己密码。首先用户要核对自身原有的密
码,如果核对通过则会在用户数据库中的密码改为输入的新密码。
(4)、权限管理
此模块只针对于具有管理员身份的登陆者,主要要完成的功能有用户信息查
询、用户权限修改、以及添加用户。用户信息查询,会在页面上显示用户的用户
名、用户的角色等信息;添加是通过页面的添加用户名、用户角色、用户密码等
信息,添加成功后,将在数据库中存在该用户。
新闻管理系统功能结构图如下:
用户登录
判断权限
新闻/通知发布 新闻/通知修改
新闻/通知查询
新闻/通知删除
新闻/通知阅读
密码修改 权限管理
图2.2 新闻管理系统功能结构图
§2.4接口需求
用户接口:
本系统的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,
分别进入相对应的界面(如:输入界面、输出界面),使用方便、直观。
软件接口:windows 2000 professional
第三章 新闻管理系统概要设计
该部分要说明新闻管理系统实现的基本方案。根据以上需求分析以及用户的
要求,该系统要实现用户登录时要进行核对用户的合法性、新闻管理、通知管理
等基本功能模块
§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可以很好地解决,因为它能够与Java Database Connectivity API (JDBC)很好
的兼容。你可以将JDBC包含在JSP代码中,并且JDBC能够传递声明执行类似
数据库的命令,只要你能够正确地使用JDBC驱动程序。
JDBC API不会直接地与数据库进行交流。其中的驱动程序完成的实际的连
接,你可以在卖方的Web站点上下载这些驱动程序。除此之外,还有四种JDBC
的驱动程序类型,如果你决定使用JDBC,你需要正确地选择最为适合你需要的
那种类型。你将使用一个DriverManager类来处理基于驱动程序的连接。
你可以使用一个名为getConnection的DriverManager方法来建立你的数据库
连接。你还可以使用它的URL参数来识别数据库:
public static Connection getConnection(jdbc:odbc:nameOfDatabase)
现在,告诉DriverManager有关驱动程序的信息(应该在你的classpath中):
e(“JDBCDriver”);
你已经将数据库连接到JSP程序,但你仍然不能够执行一个数据库命令。解
决这一点,你可以在JSP代码中生成声明以建立数据库命令,如下所示:
public Statement createStatement(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两个表中的,当用户输入用户名和密码后,点“登入”按钮,程序
将自动检查数据库中的数据,以判断用户是否合法,合法则进入新闻管理系统的
主界面,实现此功能要通过对文件进行安全域的配置,还要对
进行权限的设置。对于根据登录者的身份(user_roles)不同,所进入
的界面以及所要的操作,除了管理员身份有新闻审核、通知审核和权限管理页面
外,其他的角色登录后只有新闻发布、通知发布、新闻/通知查询、新闻/通知显
示4个页面。且在查看详细信息的时候,管理员身份可以进行修改、删除新闻或
者通知。
关于此功能的实现还有一种方案可以实现。在的安全域设置中把新
闻审核和通知审核进行安全域的控制,只能有管理员身份的登录者才能进入,当
其他身份点击此两个页面的时候,将会出现出错页面提示“你没有权限”。
密码 角色
用户
图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 新闻管理系统的数据流图
1 N
登陆者 待审核的
新闻发布
新闻信息
N
N
新闻审核 通知发布
1
N N
待审核的N 已审核的
通知信息 新闻信息
N
通知审核
新闻/通知查询
N
已审核的
通知信息
图3.9 新闻通知/管理系统的总体E-R图
N
N 从数据库提取
新闻/通知显示
N
并显示的信息
N
§3.5 数据库设计
该新闻管理系统涉及到了数据库的建立,数据库是按照数据结构来组织、存
储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来
许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数
据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段,
使用户易于编写有关数据库应用程序。特别是近年来推出的计算机关系数据库管
理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理
能力极强。
一般数据库设计方法有两种,即属性主导型和实体主导型。属性主导型从归
纳数据库应用的属性出发,在归并属性集合(实体)时维持属性间的函数依赖关
系。实体主导型则先从寻找对数据库应用有意义的实体入手,然后通过定义属性
来定义实体。一般现实世界的实体数在属性数 1/10 以下时,宜使用实体主导型
设计方法。面向对象的数据库设计是从对象模型出发的,属于实体主导型设计。
数据库的开发步骤:
1)、设计应用系统结构;
2)、选择便于将应用程序与 DBMS 结合的DBMS体系结构,如RDBMS;
3)、根据应用程序使用的环境平台,选择适宜的DBMS(MYSQL)和开发工具
(Navicat或者mysql control center、mysql administrator);
4)、设计数据库,编写定义数据库模式的SQL程序;
5)、编写确保数据正确录入数据库的用户接口应用程序;
6)、录入数据库数据;
该系统采用了MYSQL作为数据库,它是目前较为流行的、快速、开放原代码
的数据库系统,具有很大的功能。
新闻管理系统主要用到了3张表,新闻信息表news、通知信息表notice、
附件表adnexa 。
新闻信息表详细字段如下:
字段名称 英文 类型 允许空
编号 ID int
标题 NewsTopic varchar
投稿时间 ContrTime datetime
投稿人姓名 ContrID varchar
投稿内容 Newscontent
审核人姓名 BoolAud
附件编号 AdnexaID
属性 type
备注 Remark
长
度
5
30
Bool
varchar 15
varchar 10
√ varchar 50
varchar 255
10
表3.1 新闻信息表
通知信息表详细字段如下:
字段名称 英文 类型 允许空
编号 ID int
投稿人姓名 ContrName varchar
内容 Content varchar
投稿时间 ContrTime datetime
审核人姓名 BoolAud
附件编号 AdnexaID
标题 NoticeTopic
类别 Noticetype
发送时间 SendTime
发送单位 SendUnit
备注 Remark
长度
5
15
255
Bool
varchar 30
varchar 30
varchar 30
datetime
varchar 15
varchar 50
表3.2 通知信息表
各数据表间的关系图:
为了保障数据库不被人随意修改,在使用数据库工具的时候,可以用工具给
所建的数据库进行密码设置。因为在页面中也可以进行对数据库的操作,因此在
系统中的权限设置是必要的,在JSP文件中,这一设置是在和
中进行安全域的设置,达到了权限访问的效果。此系统采用管理员表示
和鉴定的方法实现数据库的安全,此安全管理措施并不在前台开发工具中实现,
而是在后台数据库中实现。在登录数据库时,系统让管理员表示自己的身份,不
同的管理员权限不同,系统进行核实,鉴别此管理员是否为合法用户,若是,系
统进一步核实用户,通常要求用户输入口令,系统和对用户口令以鉴别用户身份。
服务器的安全也是通过用户在登录服务器时输入合法的用户名和密码来实现的。
这是一种简单可行的方法,实现起来比较方便。采用安全管理措施主要是为了防
止没有修改权限的用户无意间修改了数据,因此采用用户标识和鉴定的安全管理
措施就能够保障数据库的安全性。
第四章 新闻管理系统详细设计
详细设计阶段确定具体实现目标系统功能的方法,其目标不仅仅是逻辑上正
确的实现每个模块的功能,更重要的是设计出的处理过程应该简明。
§4.1 目的
在经过前面对新闻管理系统进行了全面的需求分析过程和详细的功能模块
分析后,在详细设计阶段将讨论如何具体实现系统中的每个功能模块,以及实现
各个具体功能的方法及其思想。
§4.2 服务器的配置
此系统采用了Tomcat 5.0作为服务器。Tomcat 是Jakarta 的旗舰产品。Jakarta
的目标是提供一个基于Java 平台的商业标准的服务器。作为旗舰产品,Tomcat
严格遵守Java Servlet 2.4 和JavaServer Pages 2.0 规范。
Jakarta Tomcat的日益流行是无可争辩的,它不但是Sun公司Servlet和JSP
规范的参考实现,也是世界上使用最为广泛的Servlet和JSP容器。它正被应用
在成百上千的Web站点,不管是个人网站、非赢利组织网站,还是商务网站,
它的表现都非常出色。
安装Tomcat首先要安装JDK。安装好了Tomcat就要对它进行配置,环境变
量的配置是在“我的电脑——属性——高级——环境变量中,添加如下:
TOMCAT_HOME C:Tomcat 5.0;
path c:j2sdk1.4.2bin;JAVA_HOME c:j2sdk1.4.2;
CLASSPATH c:
设置好了后,打开
localhost 看能不能正确显示主页,如果能,则证明安装配置
成功了。
§4.3 数据库的安装和配置
MySQL是是一个真正的多用户、多线程SQL数据库服务器。MysQL是以一个
客户机/服务器结构实现其功能的,它由一个服务器守护程序mysqld和很多不
同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信
息更容易。MySQL主要特点是快速、健壮和易用。
[9]
MySQL的优点主要有:
1).它使用的核心线程是完全多线程,支持多处理器。
2.有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、
DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、
和ENUM类型。
3).它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,
通常在查询初始化后不该有任何内存分配。没有内存漏洞。
4).全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、
COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询
中混来自不同数据库的表。
5).支持ANSI SQL的LEFT 0UTER JOIN和ODBC。
6).所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用
明确给定值的列设置为他们的决省值。
7). MySQL可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、
Python和TCL API。
安装数据库:把解压缩后将文件
夹中的所有文件拷贝到c:mysql目录下,然后进入命令提示符窗口,再到
c:mysqlbin目录下输入命令:mysqld-nt -install此时如果提示安装成功,则证
明mysql安装成功。
安装成功后,就要启动数据库服务。入管理工具中的服务看看mysql是否
进
在服务项目中,如果在则启动mysql服务,如果在启动的过程中出现了mysql 1067
错误,服务被中断,此时检查计算机的防火墙是否开着,如果开着则关掉防火墙,
在从新启动mysql服务,就可以启动数据库服务了。还有种方法也可以启动服务:
在命令提示窗口中,c:mysqlbin目录下输入 net mysql start同样也可以启动数据
库服务。
服务启动成功后,就可以建立连接了,则打开MySQL Control Center 或者
用Navicat工具,然后新建一个数据库服务,选中file菜单中的new,然后在对
话框中输入相应的信息,数据库服务建议按照如下填写:Name :随便填写,Host
Name : localhost User Name : root Password 不填,其余都采用默认端口。
最后按Apply按钮,接着建路数据库,右键点击Databases后选择New Database 接
着在对话框中输入lz建立新闻管理系统的数据库。
数据库的导入、导出是分别通过在命令提示窗口中c:mysqlbin目录下输入
命令mysql lz<和mysqldump lz>。这里的lz只是一个示例。当然也可
以通过命令导入到处数据库lz中的一个表或者几个表mysql lz news<这
里的.sql文件都必须在c:mysqlbin目录下的。
要使数据库与系统搭上连接必须把数据库驱动
或者拷贝到
C:Tomcat 5.0commonlib目录下。在进行系统配置的时候就要把其中的配置文件
以及程序中把驱动写为 com. mysql .。以便能调用驱动程序。
§4.4功能模块详细设计
在需求分析阶段提到过,把新闻管理系统分为了用户的合法性、新闻管理、
通知管理等基本功能模块。现在来对每个模块的实现作详细的分析。
§4.4.1 用户登录
此模块要实现的基本功能在需求分析阶段已作了介绍,再此就不多作阐明。
用户登录模块的设计,分为了页面设计、文件的配置。
页面设计,主要运用了JSP制作动态页面,其页面包含了用户名、密码文本
框,当用户登入时,需要进行用户名、密码的核对。核对通过用户进入,否则出
现错误页面,错误页面的也是在配置文件中定义的。
§4.4.2 新闻管理模块设计
新闻管理模块包括了新闻发布、新闻审核、新闻查询、新闻显示等小模块。
新闻发布要涉及有个完整的输入界面的设计,用户输入新闻的标题、发送方、附
件(图片),及其新闻内容。输入后的数据通过JavaBean对数据库进行更新,把
内容添加到数据库中。然后通过新闻审核页面进行对新闻进行审核通过、修改、
删除操作,经过审核的新闻信息在数据库中的BoolAud的值会变,如果BoolAud
不为空,则表示新闻通过审核了,通过审核的信息可以直接显示在新闻显示页面
中,而没有通过的则不回出现在新闻显示页面中。新闻查询页面主要是实现新闻
的模糊查询,按照日期、发送方、审核性、标题进行查询,同样也可以点击详细
来查看新闻的具体内容。
新闻发布功能的具体实现:新闻发布页面主要要完成的功能是对判断用户输
入的信息完整否,如果输入信息不完整,将有提示用户某些信息还没填好。如果
有图片附件的将进行图片粘贴,信息完整后,进行发布,发布成功将有成功提示。
完成判断功能的是通过在JSP中使用JavaScript完成的,调用的是Script
中的check_all函数:
函数的具体实现这里不作详细介绍,因为考虑到论文的表面美观,这里以及
以后涉及到代码的部分,都只用代码的主要函数和部分重要代码作说明。
粘贴附件功能是同过判断中的参数值(是否有附件)传到
,通过实现的附件粘贴功能。新闻发送是
通过if(send != null && !(""))判断,执行的的新闻发送,如果
信息完整,则有成功发送提示。
direct("");
新闻审核功能的具体实现:在此模块中你可以看到学院各个办公室发布的,
需要审核的新闻列表,对审核框进行选择,然后你通过点击“同意”来通过你想
发布的新闻,通过点击“删除”来清除你不想发布的新闻。通过点击“详细”查
看新闻的具体内容。
审核是通过改变数据库中的BoolAud是否为空,来判断是否通过审核,对数
据库的访问是通过
调用了delmessage完成的,delmessage是一个Servlet,通过它可以对数
据库进行相应的修改。
在审核模块中,可以通过“详细”按钮查看新闻的详细信息
§4.4.3 通知管理模块设计
通知管理模块包括了通知发布、通知审核、通知查询、通知显示等小模块。
通知发布要涉及有个完整的输入界面的设计,用户输入通知的标题、发送方、附
件(有文件格式要求),及其通知内容。输入后的数据通过JavaBean对数据库进
行更新,把内容添加到数据库中。然后通过通知审核页面进行对通知进行审核通
过、修改、删除操作,经过审核的通知信息在数据库中的BoolAud的值会变,如
果BoolAud不为空,则表示通知通过审核了,通过审核的信息可以直接显示在通
知显示页面中,而没有通过的则不回出现在通知显示页面中。通知查询页面主要
是实现通知的模糊查询,按照日期、发送方、审核性、标题进行查询,同样也可
以点击详细来查看通知的具体内容,在查看详细通知信息时,有附件的还可以点
击附件下载。
在通知详细信息显示时候要特别注意附件的处理,当通知或者新闻都有上传
附件的时候,附件首先是分别保存在xinxijiaoliuxinwenfujian和
xinxijiaoliutongzhifujian两个文件夹中的,因此要进行附件下载的时候,
JSP文件中要正确找到路径地址才能正常的实现附件下载功能。
通知发布功能的具体实现:通知发布和新闻发布的大体思想是相似的,信息
完整性的判断也是在中调用Script中的check_all函数。
通知审核功能具体实现:在此模块中你可以看到学院各个办公室发布的,需
要审核的通知列表,对审核框进行选择,然后你通过点击“同意”来通过你想发
布的新闻,通过点击“删除”来清除你不想发布的新闻。通过点击“详细”查看
新闻的具体内容。通过“下载”来下载附件信息。
审核是通过改变数据库中的BoolAud是否为空,来判断是否通过审核,对数
据库的访问是通过。
通知查询功能具体实现:在此页面中,用户可通过日期查询、发送方查询、标题
查询、审核性查询。通过某一条件进行查询可以所需的信息。在查询页面、审核
页面中也可以进行通知的详细信息查询,有附件的也可以点击下载,进行附件下
载。下载的原理与上面功能模块中的是一致的。
模糊查询的功能实现是判断相应的值,通过Bean文件进行对数据库的数据
查询,找出相应的信息
。
通知显示功能具体实现:通知显示能显示通过审核新闻的标题,通过标题能查看
到通知的全部信息。
在新闻显示页面中只有几条信息,如果想查看更多的信息,则通过
可以查看更多的信息,设计原理和上面代码是一致的。
注:考虑到新闻显示和通知显示和查询的功能实现都是同一原理,因此在上面就
没对新闻的查询和显示功能多作罗嗦了。
§4.4.4 用户密码修改
此模块涉及到的数据不多,为了实现登陆用户修改自己密码的目的,在此系统中,通过
获取登陆用户名和用户密码,得到将要对数据库中进行的信息。核对修改密码时输入的旧密
码与数据库中的是否相同,不相同则不能成功实现密码修改,这样保证了用户的数据安全。
然后通过对数据库中的数据进行修改。
页面中的数据验证是同过在JSP文件中使用javaScript实现的,实现函数为checkdata();
§4.4.5 权限管理
此功能模块使具有特定身份(管理员)的人具有对数据库中的users表和
user_roles表中的数据进行修改的权利。具有的功能主要有,添加用户、删除
用户、修改用户权限等功能。添加用户是通过在数据表中添加用户名、用户身份
(角色)、用户密码实现的,修改用户是修改user_roles中的 Urole的值实现
的,在页面上,提供了两个角色选项admin、common,修改的时候通过checkbox
的值来判断选择的是哪个角色。删除用户是通过判断checkbox中的值和删除按
钮的值来调用Sverlet,对数据库进行操作。
§4.5 程序流程图
一个项目能让人清晰的理解系统的流程,程序流程图是必不可少的。
开始
用户登录判断
N
Y
失败
输入新闻/通知信息
发布新闻/通知信息
是否发布成功 失败
N
Y
保存信息到数据库中
审核新闻/通知信息
是否通过审核
Y N
已审核的信息 未审核的信息
显示信息 查询信息 修改信息
结束
图11、新闻管理系统的程序流程图
程序流程图是将系统设计的具体步骤,通过图示符号表示出来,它直观地反映了
程序设计的构思过程,体现了整个程序运行的思路,是程序设计的关键一步,直
接决定着程序设计质量的高低。同时,绘制好程序流程图非常有利于系统的整体
控制程序流程图又称程序框图,它描绘了一些控制结构。它使用的符号和系统流
程图的符号很多是相同的,但是程序流程图中使用的箭头代表控制流而不是数据
流。程序流程图的主要优点是能对控制流程的描绘很直观。
第五章 新闻管理系统测试
在开发软件系统的过程中,在软件生存周期的每个阶段都不可避免地会产生
错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠
正错误。测试的目的就是在软件投入生产性使用之前,尽可能多地发现软件中的
错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设
计和编码的最后复审。
尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什
么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发
的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面
向对象编程里更具有它的重要性。
§5.1 测试环境
处理器 AMD Athlon XP1800++
内存 256M DDR
网卡 10/100M以太网卡
操作系统
Windows 2000 Pofessional
软件环境 JDK; Macromedia Dreamweaver MX
表5-1 测试环境
§5.2 测试标准
根据测试方案,发现、清除系统中所存在的BUG,并且能够顺利实现用户
所要求的每个模块功能。
§5.3 测试方案
采用黑盒测试,黑盒测试法是完全不考虑程序的内部结构和处理过程,也既
是,黑盒测试是在程序结构进行的测试,它只检查程序功能是否能按照说明书的
规定正常使用,程序是否能适当地接受输入数据产生正确的输出信息,并且保持
外部信息的完整性。
通过在PC机上运行Tomcat服务器,打开网页对新闻管理系统的每个功能模
块进行功能测试和性能测试。
§5.3.1 系统功能测试
I 登陆模块是否可以正常登陆,是否能够实现用户对登陆信息的确认,
保存,重置,退出中断功能。
II 新闻管理模块是否能正常进行新闻发布,经过新闻发布的信息是否
能正确出现在新闻审核中,是否能对上传的图片正常显示,经过审核的信
息是否能正确出现在新闻查询和新闻显示页面上,而没通过审核的信息在
新闻查询页面中的模糊查询项“未审核”查询中应有正确显示。
III 通知管理模块是否能正常进行通知发布,经过通知发布的信息是否能正确出
现在通知审核中,是否能对上传的附件正常显示,而且能正常实现附件下载功能,经
过审核的信息是否能正确出现在通知查询和通知显示页面上,而没通过审核的信息在
通知查询页面中的模糊查询项“未审核”查询中应有正确显示。
§5.3.2 系统性能测试
1、启动登陆模块响应时间,是否能及时响应退出中断
2、进入模块后,多久可以响应。会话即消息发送是否能及时响应。
§5.4测试结果
根据新闻管理系统的特性,作了一些测试方案,发现主要有以下几个问题。
测试功能名称测试数据测试结果
用户登陆Name=“admin” 通过密码验证,正确登陆
Password=”*”
及时响应。
新闻/通知发布 能正常实现新闻/通知的发
NEWS、notice
布功能,对图片附件能进行
相应的处理,基本完成所要
求的功能。无BUG,及时响应。
新闻/通知审核 NEWS、notice 能对新闻/通知发布模块
新闻/通知查询 审核和未审核的信息 能对新闻/通知信息进行
新闻/通知显示 审核通过的信息 能正确显示经过审核的
系统性能测试 当输入信息时,反应时间
中发布的信息进行审核
通过、删除和修改功能。
无BUG
各种模糊查询。
信息,对未发送的信息和
没审核的信息不予显示。
能满足用户的要求
结论
本系统的设计工作在几个月前已经全面展开,在经过了几个月的学习与实践
相结合的过程中,我发觉自己得到了不少宝贵的东西。
新闻管理系统涉及到的知识面很广,涉及到了数据库的设计、数据库的访问、
JSP页面的设计、服务器的配置工作、和Bean。这些都要经过完美的结合才能实
现整个系统的顺利运行。
在系统开发初期,因为对JSP语言不太熟悉,因此在设计界面以及在进行数
据传输、函数调用方面遇到了不少麻烦,在经历了几个月的边设计边学习的过程
中,现在已对JSP基础有了一定的掌握,对系统的设计成功奠定了基础。
在此,我也对系统依然存在的问题表示遗憾,因为时间有限,以及自身对技
术的掌握不成熟,因此系统的界面设计上做得仍然不是很理想,还有在某些功能
模块上,还有点瑕疵,希望在以后的系统维护中能得到很好的解决。
发布评论