新闻发布系统的设计与实现.docx
- 文档编号:4932911
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:37
- 大小:378.07KB
新闻发布系统的设计与实现.docx
《新闻发布系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《新闻发布系统的设计与实现.docx(37页珍藏版)》请在冰豆网上搜索。
新闻发布系统的设计与实现
论文题目新闻发布系统的设计与实现
姓名欧东
学院大连东软信息技术职业学院
专业软件技术
指导教师刘冰月讲师兰艳助教
备注
2009年6月19日
新闻发布系统的设计与实现
作者姓名:
欧东
指导教师:
刘冰月讲师兰艳助教
单位名称:
计算机科学与技术系
专业名称:
软件技术
大连东软信息技术职业学院
2009年6月
DesignandImplementationofNewsDistributionSystem
byOuDong
Supervisor:
LecturerLiuBingyueAssistantLanYan
DalianNeusoftInstituteofInformationTechnology
June2009
毕业设计(论文)任务书
毕业设计(论文)题目:
新闻发布系统的设计与实现
设计(论文)的基本内容:
本系统是基于J2EE的一个小型的新闻发布网站,该网站实现让用户新闻浏览,新闻检索,新闻评论的功能,管理员用户可以对新闻以及新闻分类的相关信息进行增、删、改、查操作,他还可以修改、删除普通用户的信,例如对新闻评论。
在具体的程序设计中,采用JAVA作为开发工具,用JSP开发与Mysql数据库交互的网页,并且开发了WEB服务.在系统的设计中,使用精细的系统分析以确定模型,明晰的系统层次以模块化,并使用各种柔性设计来增强系统的扩展性在系统中都有所体现。
毕业设计(论文)专题部分:
题目:
设计或论文专题的基本内容:
学生接受毕业设计(论文)题目日期
第1周
指导教师签字:
2008年12月8日
新闻发布系统的设计与实现
摘要
伴随着网络的出现,网页逐渐融入人们的生活。
快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关。
计算机的存在,提高了我们的工作效率,我们可以利用网络基础和相应的网站平台,建设一个安全、可靠、开放、高效的集新闻查询和新闻管理的系统。
新闻发布系统主要采用标准的MVC架构,并且提供友好的控制平台和接口,便于普通用户使用。
此架构分为模型、视图及控制层,结构清晰,可以减少相应的代码维护,还增加了相应的扩展性,一旦模型发生改变,也易于维护。
在WINDOWS系统的支持下,采用Mysql数据库技术和JSP+Servlet技术进行结构的设计和实现。
本系统主要是由五个子模块组成:
新闻发布,新闻浏览,新闻检索,新闻评论,新闻审核功能。
在运用了以上各种技术中,始终遵循模块独立,系统开发的层次结构清晰以及规范的业务流程,希望将标准化的程序开发在程序中设计和实现。
关键词:
新闻发布系统,MVC架构,JSP,Servlet,Mysql数据库
DesignandImplementationofNewsDistributionSystem
Abstract
Accompaniedbytheemergenceofnetwork,webgradualintegrationintothepeople'slives.Rapidandtimelyinformationbrowsing,colorfulweb-basedinformationnetworkwiththepeople'sdailylives.Theexistenceofthecomputertoimprovetheefficiencyofourwork,wecanusethenetworkinfrastructureandthecorrespondingWebsiteplatform,tobuildasafe,reliable,open,efficientsetofinformationinquiriesandinformationmanagementsystems.
InformationdistributionsystemismainlyastandardMVCframeworktocontrolandprovideafriendlyplatformandinterfacesforordinaryusers.Thisstructureisdividedintomodel,viewandcontrollayer,thestructureclearlycanreducethecodemaintenance,butalsothecorrespondingincreaseinscalability,oncethemodelchanges,butalsoeasytomaintain.WINDOWSsysteminsupportofMysqldatabaseusingJSP+Servlettechnologyandtechnologyforthedesignandrealizationofthestructure.
Thesystemismainlycomposedoffivesub-modules:
pressreleases,newsbrowsing,newssearch,news,newsauditfunction.Intheuseofthesevarioustechniques,alwaysfollowedanindependentmodule,thesystemdevelopedbyaclearhierarchicalstructure,aswellasastandardizedbusinessprocessesandwanttodevelopstandardizedproceduresforthedesignandrealizationprocess.
Keywords:
newsdistributionsystem,MVCframework,JSP,servlet,mysql
第1章绪论
近年来,随着社会的不断进步,全球经济的蓬勃发展,计算机科学已经成为最活跃的学科领域,计算机本身也在各行各业中得到极大的普及,它所带来的方便和快捷使得我们的生活更加丰富多彩,而随之应运而生的满足各种普通用户需求的软件系统就更显其角色的重要性。
利用计算机完成订票管理势在必行。
该软件可以减少企业人力的浪费,为企业的管理带来极大的方便。
通过使用该系统更容易实现对客户,票务等信息的管理,通过计算机来查看票务的情况,使客户方便的同时也使企业节省了很多的人力资源,从而提高企业的经济效益。
1.1课题研究的背景
伴随着网络的出现,网页逐渐融入人们的生活。
快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上又出现了第三媒体——Internet。
它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。
制作网页是企业和个人的宣传自己的重要手段,同时也是学习者获取学习信息的重要手段。
尤其是在信息时代的今天,人们对信息的需求有了更新,更高的要求,而网页由于本身所具有的信息量大,传递快速,没有时空限制等特点恰好满足这种要求。
所以网页也逐渐成为一种新兴的教育资源。
也正是由于网络实现网站的数据信息能够进行实时交互,保证网站数据的实时性。
网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。
站在网络时代的前夜,我们清晰地听到了网络时代的宣言:
谁掌握了网络,谁就掌握了未来。
1.2课题研究的目的和意义
在现今这个高速发展的信息时代,越来越多的企业已经建立或计划建立自己的网站,利用计算机和网络对信息进行管理势在必行。
新闻发布系统必将取代以往繁杂的手工操作模式,实现由复杂、重复性手工操作向人机简便操作的转化,运用计算机完成数据收集、修改、查询、删除以及统计等工作,提高了管理人员工作效率,避免繁重的业务量造成的人为错误,还可运用信息共享加快信息传达。
通过对新闻发布系统的操作,既节省人力、物力,又不必保管、整理数据文件,将一切信息转化为数字化,提高经济效益。
除此之外,操作人员不需很强的专业技术便可操作,系统支持环境广泛、普遍,在技术上具有可行性。
1.3课题应用的原理和理论依据
本系统要求实现新闻发布系统的各项基本功能,所以从安全性和易维护性考虑,选择了Web实现技术。
简单的说就是将系统做成一种B/S模式,可以让用户通过浏览器直接访问位于服务器上的试题以及对系统进行远程维护。
服务器端程序的实现技术也很多,本人选用了当前比较流行的网络编程技术——JSP作为主要实现手段(配合JavaServlet、JavaBean、HTML等)。
JSP作为一种Web实现技术,它的效率是很高的。
这一点正好符合了新闻发布系统所要求的实时性。
JSP自身的安全性,再加上实现模式的特点,完全能够达到新闻发布系统的保密性要求。
除此之外,作为Java平台的一部分,JSP拥有Java语言“一次编写,各处运行”的特点。
又随着越来越多的服务器供货商将JSP支持添加到他们的产品中,这样一来用JSP做成的这套系统可以轻松移植到其它平台来运行。
所以JSP是实现本系统的最佳技术,它是完全可行的。
第2章关键技术介绍
2.1JAVA语言
Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。
另一方面,Java技术也不断更新。
Java是一种简单的、面向对象的、分布式的、解释型的、强壮的、安全的、体系结构中立的、可移植的、高性能的、多线程的、动态的语言。
Java语言是以对象模型来描述现实世界的,更符合人类思维,是面向对象的编程语言,具有极大的灵活性、模块性和可重用性。
JAVA程序可以嵌入HTML网页,由Web浏览器下载运行,给Web普通用户带来生动的接口和交互方式。
2.2JSP工作原理
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP檔(*.jsp)。
JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其它操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP檔中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
2.3Eclipse开发平台
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其它计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其它功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
2.4MYSQL数据库
MYSQL是一个广受Linux小区人们喜爱的半商业的数据库。
MYSQL是可运行在大多数的Linux平台(i386,Sparc,etc),以及少许非Linux甚至非Unix平台。
目前的数据库系统都支持使用SQL语言来管理数据库。
SQL语言中包含创建数据库和管理数据库的命令。
作为程序开发语言,SQL语言可以分为如下几个部分:
数据类型、数据定义语言、数据操纵语言和数据查询语言。
SQLServer数据库用于存储结构化数据,并且提供对存储数据的访问。
数据库系统允许存储数据信息并且对这些数据具有管理能力。
数据库系统支持使用数据结构来创建和管理数据;支持将数据存储到该数据结构;支持搜索和检索数据;支持数据维护,包括编辑和删除等。
2.5TOMCAT服务器
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其它一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
2.6JDBC技术
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。
所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。
而JDBC正是作为此种用途的机制。
第3章系统分析
3.1系统功能概述
根据需求调研结果确定本系统主要包括以下功能模块,系统功能用例图如图3.1所示。
图3.1系统功能用例图
3.2系统各模块功能描述
3.2.1登录功能
该模块实现注册后的用户登录到网站。
用户输入个人用户名及密码,ID存在且密码正确后登录网站。
用户登录用例图如图3.2所示。
图3.2用户登录用例图
3.2.2注册功能
该功能实现用户注册功能,主要将用户的个人信息发送到数据库中,以便下次用户登录时能操作成功。
主要包括用户的名字,密码,性别,E-MAIL和用户的生日。
用户注册用例图如图3.3所示。
图3.3用户注册用例图
3.2.3频道管理功能
频道管理模块,该模块属于后台管理模块,包括:
添加频道包括频道名称、频道顺序、修改频道、删除频道。
频道管理用例图如图3.4所示。
图3.4频道管理用例图
3.2.4栏目管理功能
栏目管理模块,该模块属于后台管理模块,包括:
添加栏目和编辑栏目,添加子栏目,包括栏目的名称和栏目顺序。
栏目管理用例图如图3.5所示。
图3.5栏目管理用例图
3.2.5发布新闻功能
发布新闻模块,该模块属于后台用户模块,包括增加新闻,修改新闻,删除新闻,审核新闻,其中包括新闻标题,新闻发布时间。
新闻发布管理用例图如图3.6所示。
图3.6新闻发布管理用例图
3.3系统开发环境
硬件平台:
内存256MB以上;
软件平台:
MyEclipse
操作系统:
WindowsXP;
数据库:
MYSQL;
开发工具包:
JDKVersion1.5;
Web服务器:
Tomcat;
浏览器:
IE5.0,推荐使用IE6.0;
3.4系统任务的可行性分析
3.4.1技术可行性
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。
本系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。
软件方面:
由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
本系统的开发,是典型的MIS开发。
采用JSP编程语言,已无技术上的问题。
3.4.2系统安全可行性
一个成熟的系统需要有一个相对安全的环境,因此必须建立网站安全性措施,防黑,防病毒方案,同时进行安全隐患分析,安全性包括许多不同方面,从密码和权限到数据库加密,病毒防护,防火墙和VPN,软件错误,数据库备份基至物理性安全措施.针对数据库可能被破坏下载,数据库可能被解密ASP页面的安全性.实行IIS+JSP网站安全管理的方式,其实是对安全隐患分析做出解决方法。
第4章系统设计
4.1指导思想和原则
4.1.1 指导思想
在系统设计的过程中,遵循以下几点指导思想:
(1)软件的设计和开发,不要囫囵吞在一起,最好要分成两个单独的过程——设计过程和开发过程:
传统的软件工程理论,是对整个设计开发过程化研究,而更侧重编程测试和项目规划部分,并且把设计和开发混在一起。
而现在人机交互理论,实际上是把软件设计这部分提出来,是对软件的过程化分析,还借用了认知心理学和其它领域的结果。
目前业界普遍认为:
对商业软件来说,这两个阶段分开,有助于软件质量的提高。
(2)应当以用户为中心去设计软件,而不是以某项新技术或者技术人员为中心去开发软件:
这一点是软件走出象牙塔,渗入人类生活和商业领域的必然后果,软件设计过程中要围绕用户和商业活动来进行,而不是围绕技术和程序员来运行。
(3)决定软件成功与否不是一个软件有多少功能,而是这些功能是否有用和好用。
(4)设计软件,重要的是设计用户行为:
交互设计的含义就是软件设计师设计的不是死的软件,不是静止的接口,而是活的行为,是用户与软件硬件之间的动态交互,并寻找动态的最优。
4.1.2软件设计原则
软件设计过程中一些良好的设计原则将对系统产生深远的影响,以下是软件设计中一些基本的原则:
(1)单一职责原则(SRP)
“单一职责模式”按照字面理解就是,一个类的功能要“单一”或者专一,不能武断地把很多有关或者不有关的功能强制写进一个类里去,它的准确解释是:
“就一个类,应该仅有一个引起它变化的原由”。
我个人认为这个原则主要就是教我们如何抽象并“封装”类。
(2)开放-封闭原则(OC)
“对于扩展开放,对于修改封闭。
”也就是“面对需求,对程序的改动是通过添加代码执行的,而不是修改现有的代码”。
对于随时可能变化的需求,这个原则对于开发者而言实在是太主要了。
在设计的时候,我们要尽量考虑种种变化,把疑问考虑的尽量彻底一些。
但是,无论考虑的多么周到,无论你设计的模块多么“封闭”,都会存在一些不能对之封闭的变化。
既然不太可能完全封闭,我们就必须对设计模块执行抽象,分离出变化点,以备将来“扩展”。
我们都希望在开发工作展开之前或者开始不久就知道项目中可能的变化,这样遵循这个原则,抽象出变化点,程序的“可维护,可扩展,可复用和灵活性好”将大大增强。
(3)里氏代换原则(LSP)
基本地说,也就是“子类型必须能够替换掉它们的父类型”。
一个软件实体如果运用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别。
在程序中,把父类都替换成它的子类,程序的行为没有变化。
(4)依赖倒转原则(DIP)
在解释这个原则前,我们先看看经常碰到的“依赖”,也就是耦合,耦合可以分为下面三种:
①零耦合(NilCoupling)联系,两个类没有依赖联系,那就是零耦合。
②具体耦合(ConcreteCoupling)联系,两个具体的类之间有依赖联系,那么就是具体耦合联系,如果一个具体类直接引用另外一个具体类,就会发生这种联系。
③抽象耦合(AbstractCoupling)联系.这种联系发生在一个具体类和一个抽象类之间,这样就使必须发生联系的类之间保持最大的灵活性。
(这也正是我们编程流程中最期望的耦合方式)
4.2 系统的功能结构设计
4.2.1系统功能模块划分
该系统主要分为三大模块:
用户登录注册、查看新闻、管理新闻。
各模块的功能如下,管理设置程序/模块对应如表4.1所示。
表4.1管理设置程序/模块对应表
功能名称
功能概述
用户登录
.注册后的用户,根据相应的密码实现登录
用户注册
用户为操作新闻发布系统的一些功能,必须要注册后才能使用,未注册的用户不能使用
管理频道
管理员可以管理频道,包括对频道的添加,修改和删除
栏目管理
管理员可以管理栏目,包括对栏目的添加,修改和删除
发布新闻管理
管理员可以发布新闻,包括对新闻的添加,修改,删除和审核
(1)用户登录、注册
用户注册后才能进行登录,确保网络安全性。
(2)查看新闻
查看新闻包括浏览新闻本身,评论新闻,以及检索到网站本身存在的新闻。
(3)管理新闻
管理系统是系统管理员对整个网站后台数据库进行维护,是此网站最重要的大门。
在进入本栏目时系统会提示输入系统管理员的用户名和密码,对于普通用户此接口是不可见的。
它包括频道管理、栏目管理、新闻发布管理。
①频道管理
管理员可以添加,修改和删除频道,频道是发布新闻的前提,将新闻归类是发布新闻的第一步。
②栏目管理
管理员可以在相应的频道中,添加,修改,删除栏目。
③新闻发布管理
管理员在后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新闻 发布 系统 设计 实现