陕西日报社新闻采编系统的设计与实现
刘海
2014年12月
中图分类号:TP311.
UDC分类号:004.
作者姓名刘海
学院名称软件学院
指导教师金乾坤
答辩委员会主席教授
申请学位工程硕士
学科专业软件工程
学位授予单位北京理工大学
论文答辩日期2014年12月
DesignandImplementationofShaanxiDailyNewsGatheringSystem
CandidateName:刘海
SchoolorDepartment:SoftwareSchool
FacultyMentor:JINGQIANKUN
Chair,ThesisCommittee:Prof.
DegreeApplied:MasterofEngineering
Major:SoftwareEngineering
Degreeby:BeijingInstituteofTechnology
TheDateofDefence:December,2014
特此申明。
签名:日期:
关于学位论文使用权的说明
本人完全了解北京理工大学有关保管、使用学位论文的规定,其中包括:①学校有权保管、并向有关部门送交学位论文的原件与复印件;②学校可以采用影印、缩印或其它复制手段复制并保存学位论文;③学校可允许学位论文被查阅或借阅;④学校可以学术交流为目的,复制赠送和交换学位论文;⑤学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。
导师签名:日期:
摘要
陕西日报社新闻采编系统是新闻采编系统的一个具体应用。新闻采编系统是计算机技术、通信技术和网络技术在新闻领域的综合应用。计算机化的新闻采编系统已成为现代化新闻领域运营中必不可少的基础设施与技术支撑环境,是现代信息化建设的一个重要组成部分。为了使新闻采编过程更加合理化、科学化,需要用现代化的技术手段来替代低效的繁琐的手工方式,对报社现有资源进行优化、重组和利用,真正提高报社的竞争力。
目前,国内许多大型媒体虽然早已经实现新闻采编的自动化,并且拥有全面的新闻采编系统。然而仍然有许多的中小媒体并不具备自己的新闻采编系统,这就形成了对新闻采编系统的巨大需求。
本文结合了陕西日报社的实际情况,从采编系统开发的背景和国内外的研究和发展现状入手,叙述了新闻采编系统的总体设计方案。之后论述了新闻采编系统的整体状况,然后对系统的需求分析和架构设计进行了详尽的描述。在此基础之上,本文还详细描述了新闻采编系统中各个子系统的功能和作用,以及模块的划分和各个模块的设计方案选择。系统的开发是应用Struts和Hibernate和Spring框架作为系统的开发框架,应用MySQL作为系统的数据存储,基于MVC的设计模式而设计的一个系统应用。随着信息系统的成功运行,在给新闻工作者带来方便的同时,也规范了信息操作的流程,带来更大的经济和社会效益。信息系统全面使用,将有利于社会领域内的知识管理,同时也会加快信息的发展。
关键词:新闻采编系统Struts框架Hibernate框架Spring框架
Abstract
ShaanxiDailynewsgatheringsystemisaspecificapplicationofnewsgatheringsystem.Newsgatheringsystemisacomputertechnology,communicationstechnologyandnetworktechnologyintegratedapplicationinthefieldofjournalism.Thecomputerizedsystemhasbecomeamodernnewsgatheringoperationsinthefieldofinformationandtechnologyinfrastructurenecessarytosupporttheenvironment,isanimportantpartofmoderninformationtechnology.Inordertorationalizethenewsgatheringprocess,scientific,moderntechnologyneededtoreplacethetediousmanualinefficientwaytooptimizeexistingresourcestothenewspaper,restructuringanduse,totrulyimprovethecompetitivenessofthenewspaper.
Atpresent,althoughthedomesticlargemediaalreadyautomatednewsgathering,withcomprehensivenewsgatheringsystem.However,manyofthesmallmediadoesnothaveitsowncollectionsystem,whichformedahugedemandfornewsgatheringsystem.
Combinedwiththeactualsituationinthenewspaper,startingfromtheresearchanddevelopmentstatusofsystemdevelopmentbackgroundanddomesticandinternationalnewsgatheringsystem,describestheoveralldesignnewsgatheringsystems;secondlyanoverviewoftheoverallsituationofthesystem,thedemandforsystemsanalysisandarchitecturedesignisdescribedindetail;onthisbasis,thepaperintroducesthenewsgatheringsystem,thefunctionandroleofeachsubsystemandmoduledivision,eachmoduledesign.DevelopmentofthesystemistheapplicationofStrutsandHibernateandSpringframeworkasthesystemdevelopmentframework,asystemapplicationapplicationMySQLasthedatastoragesystem,basedontheMVCdesignpatternanddesign.Withthesuccessfuloperationofinformationsystems,tojournalistsatthesametimebringconvenience,standardizedprocessinformationoperations,bringinggreatereconomicandsocialbenefits.Fulluseofinformationsystems,willbenefitsocietyinthefieldofknowledgemanagement,butalsotoacceleratetherapiddevelopmentoftheinformation.
KeyWords:NewsgatheringsystemStrutsFrameworkHibernateFrameworkSpringFramework
目录
第一章绪论...5
1.1设计背景...5
1.2研究现状...6
1.2.1新闻采编系统的定义...6
1.2.2国外研究现状...7
1.2.3国内研究现状...8
1.3设计目的与意义...10
1.4设计方法与手段...11
1.5论文组织结构...11
第二章系统开发环境介绍...13
2.1Apache服务器...13
2.2MVC技术选择...14
2.3数据库选择...16
2.4在线编辑...17
2.5系统开发模型...17
2.6本章小结...18
第三章系统分析...19
3.1系统总体目标...19
3.1需求分析...21
3.1.1功能需求分析...21
3.1.2性能需求分析...24
3.2系统结构分析...25
3.3系统的基本处理框图...26
3.4本章小结...28
第四章系统设计...29
4.1系统总体功能设计...29
4.1.1系统框架设计...30
4.1.2系统功能模块划分...31
4.2数据库设计...42
4.2.1数据库需求分析...43
4.2.2数据库概念设计...44
4.2.1数据库逻辑结构设计...46
4.2.2数据库物理结构设计...47
4.3系统物理配置方案的设计...49
4.4代码设计...49
4.5输入设计...49
4.6安全性设计...50
4.7本章小结...50
第五章系统实现...51
5.1系统配置模块...51
5.2系统功能实现...52
5.1.1数据持久层的实现...53
5.1.2业务逻辑层实现...55
5.1.3表现层实现...55
5.2系统界面设计...56
5.2.2普通用户界面...57
5.2.3稿件检索界面...57
5.2.4稿件编辑状态...58
5.2.5稿件提交界面...59
5.2.6系统管理员界面...59
5.2.7图片上传界面...61
5.3系统测试...61
5.3.1系统测试步骤...62
5.3.2系统模块测试...62
5.3.3系统测试结果...64
5.4系统安全措施...64
5.5本章小结...65
第六章总结...66
参考文献...67
致谢...1
近年来,我国新闻产业得到了飞速发展,新闻日报社的采编技术也在不断进步,但随着人们对信息需求的不断追新,采编技术产业的发展也面对着一个很大的挑战。报社作为信息社会的焦点,面临着社会群众对新闻的实时性、准确性和广泛性的迫切需求。目前,各大媒体公司(例如新华社、人民日报社等)为了更高效的对新闻进行组织、编辑和发布,都投入了很大的成本,开发了各自的新闻采编系统。采编系统,是一种利用先进的网络技术,使报社得到迅速的发展的一种技术应用。新闻在如今信息爆炸的社会中,其时效性的特点越发明显,新闻报社必须准确及时的把新闻传播到社会中来,否则新闻也将失去意义。而针对时效性这一特点,新闻稿件采编办公系统的重要性也越来越明显。自二十世纪九十年代以来,随着全球信息化的高速发展,全球都掀起了新闻稿件期刊的网络化进程,逐步实现比传统纸质新闻报纸期刊业务更迅速的网络新闻期刊业务。
新闻采编系统,是一个以计算机网络平台构建起来的系统,它可以对网络上所有的信息进行管理分类,还能系统化,标准化的发布到网站上的一种网站应用程序,网站信息通过一个简单的界面加入数据,然后通过已有的模板格式与审核流程发布到网站上。它的出现大大减轻了网站更新维护的工作量,通过网络数据库的引用,将网络的更新工作简化到只需要录入文字和上传图片,从而使网站的更新的速度大大缩短,从而大大加快了信息的传播速度。它是一种集软硬件为一体的系统,作为报社信息系统提供的一个整体方案,协同报社发展与管理信息的二次革命。因此,应该大力发展新闻采编系统。采编系统的使用,提高了报社的报纸生产效率和管理水平,同时保证了报纸质量。
虽然大型的媒体产业,已经实现了采编系统管理的一体化,这包括编辑、图片信息、通讯、经济信息等,并拥有自己的卫星,然而,这需要大量的投资,对于一般的报社企业,是不适合的。随着信息产业的迅速崛起,中小型媒体大量涌现,因此急需一个成本低且能满足中小型企业需求的系统。
经过了多年的发展,如今,新闻稿件采编系统经历了许多阶段,在网络新闻发布上,从最初的网络新闻信息文本的发布,到网络新闻信息的交互平台,最后到集成了多种新闻功能特点的网络新闻信息平台的阶段。新闻稿件采编系统所采用的系统设计结构,也从最初的客户端/服务器端(C/S)结构向浏览器/服务器(B/S)结构发展。系统平台逐步从局域网(LocalAreaNetwork,LAN)内部的新闻采编系统发展成为互联网(Internet)开放的新闻采编系统平台。同时,系统功能也从最初单纯的稿件编辑系统,向信息化时代集成多种功能的多媒体新闻稿件采编管理系统转变。
新闻采编系统一般都分为:信息采集、内容加工、内容发布、信息资源管理、决策分析等几个大的模块。信息采集是通过图、文、音频、视频全方位的采集方式获取最及时有效的信息资源,例如通过远程投稿、特约写稿、网络抓取、外电稿件、采访调度等一系列方式来获取最全面的信息资源。
1.采、编、排、发排管理流程
编:即编辑稿件,编辑在网上写稿、初审、复审、终审的稿件流程操作。要求写稿、修改流程有完整的操作痕迹保留。系统提供稿件跟踪查询功能,为了满足工作需要,要求该查询功能能够根据设定好的权限来进行管理。提供方便的新到任务提醒功能。
发:即发排,排版结束后,系统在服务器端生成发排文件的同时,在相应的排版工作站一端也应留有副本。采编流程与排版流程的无障碍衔接便于编务人员与排版人员的业务沟通,使各方能及时了解对方的工作思路和业务需求。
2.严格的权限管理机制
在操作系统、数据库、应用系统多级安全管理的基础上提供严格的分级别权限管理,同时,提供对系统用户在线状态的监控。
3.严谨完善的备份功能
4.完备的系统日志
5.系统安全管理
采用先进的自动校对系统,能够在稿件编辑阶段进行计算机自动校对,及早发现错误并及时修改。
构成一个紧密集成的工作流[6]"国内比较先进的新闻采编系统包括,北大方正集团公司自主研发的方正文韬新闻采编系统,着是基于先进的群件系统LotusNotes开发的新一代的新闻采编系统,它充分利用了Notes在业界领先的通讯功能和安全管理机制,最大限度的发挥了Notes定制工作流程的灵活性。
在我国专业的新闻稿件采编系统设计领域,北京玛格泰克科技有限公司的《Magtech稿件采编系统Ver2.0版》在技术方面显得比较成熟,玛格泰克公司长期从事研究新闻期刊出版行业的业务流程和业务逻辑,依此需求开发了通用的新闻稿件采编应用系统,并以此为基础,为新闻报纸期刊出版社推出了通用的整体解决方案。稿件采编系统采用了客户端/服务器(C/S)结构体系,并使用SQLServer数据库作为后台数据库。系统功能囊括了新闻作者在线稿件编辑、在线稿件查询、编辑部人员在线审稿、在线校对等功能。目前国内的数十家出版社、数百家杂志社均在使用玛格泰克新闻期刊采编系统,并由玛格泰克公司进行系统的后期维护工作。紫光新华科技发展有限公司自行开发的媒体综合业务系统UNISNEWS系统,针对报社新闻稿件信息的特点,同样采用了客户端/服务器C/S结构体系,系统提供了基本的新闻报社业务管理功能,包括新闻采集、稿件编辑、稿件上传、稿件审核、图片编辑浏览、版面浏览等新闻报纸期刊生产过程的管理功能。
作者本身就是陕西日报社的一名记者,通过这几年在报社的工作和学习,并先后参与了两个新闻采编系统的开发项目,项目组通过对第一套系统的总结,把开发模式运用到第二套系统的开发中,使第二套系统的开发周期明显缩短,为报社节约了可观的成本。项目的实际操作中,作者学习并总结了项目组的开发经验与模式,结合在学校学习的理论知识,报社自身的信息化建设,计算机网络技术的应用却不尽如人意。随着电子排版系统的日益普及,很大程度上提高了各新闻单位的出版质量和出版速度。编辑部门的手工工作方式与电脑车间的完全自动化形式形成了鲜明的对比,如何适应信息社会高速发展的需要,扩大新闻信息的采集领域和传播范围,进一步提高出报质量,保证出报速度,实现编辑部门工作基于MVC模式的新闻采编系统的设计与实现自动化就提上了议事日程。
开发此系统主要以Windows7为操作平台,采用MyEclipse程序设计环境进行开发,以MySQL数据库作为数据源,利用SQL语言实现各种方式的查询功能以及统计结果。系统体系结构采用基于B/S结构的三层架构,即:用户表示层、业务逻辑层、数据访问层,这种层次结构能够很好的提供层与层之间的相互独立,任何一层的改变不会影响其它层的功能。
开发过程中始终贯穿系统分析与设计的有关思想,采用结构化系统开发方法,将系统开发分为三个阶段:系统分析、系统设计和系统实施。在整个分析与设计的过程中,采用“自上而下”的方法进行系统规划和分析,然后进行系统开发。系统分析提出了MIS的逻辑模型并提交系统分析报告。分析系统的逻辑模型,系统设计在逻辑模型的基础上建立了系统的物理模型,提出了系统设计说明书,系统实现主要进行了系统的界面设计和程序设计。
主要通过以下几部分来完成陕西日报社系统的设计与实现:
第一章绪论:本章主要介绍了本设计的研究背景、研究现状、研究目的和意义、设计研究方法。
第二章系统开发环境介绍:本章主要介绍本系统开发所需的操作系统、开发环境、服务器配置、所用技术做简单的介绍。
致谢:本章主要阐述在开发过程中,对老师、同事的帮助与鼓励表示感谢。
a)模块化:支持多种语言或脚本引擎,如Perl/MoPerl、JSP/PHP等
b)安全性高:由于开放源代码,通常存在的完全性问题会被及时发现和解决
c)扩展性好:支持多种操作系统,而配置与安装基本相似
d)可移植性好:在异构操作系统中,配置与安装基本相似。
e)性能优异:可以自定义运行参数、编译环境,以适应不同Web环境的承载。
f)多线程:支持UINX运行POSIX线程,和Windows的多线程等
g)多种语言支持:支持UTF-8、GB2312、ShiftJIS、BIG5等多种字符集编码。
(1)Struts技术介绍
JakartaStrutsFramework是一个开放源代码的Apache项目,已经成为利用JavaServlet和JavaServerPage(JSP)技术构建Web应用程序的最流行的表示框架包。它推动形成了基于Model-View-Controller(MVC)设计模式的应用程序框架。
Struts的体系结构包括视图(View)、模型(Model)和控制器(Controller)三个部分:
a)视图(View):Stuts的视图主要是JSP文件。Struts提供了许多定制JSP标签,它们使用起来简单、功能强大,在创建视图界面的时候使用Struts标签可达到事半功倍的效果。常用的Struts标签包括BeanTags、LogicTags、HtmlTags、NestedTags和TemplateTags等。
b)模型(Model):模型组件代表应用的业务数据和逻辑Struts中系统模型的状态主要由ActionFormBean和值对象来体现。
c)控制器(Controller):Struts的控制器主要是ActionServlet,但是操作业务逻辑的则是Action、ActionMapping和ActionForward,它们几个共同协助完成业务逻辑的工作。其中Action是真正的业务逻辑的实现者,ActionMapping和ActionForward的任务是指定不同业务逻辑或流程的运行方向。
(2)Hibernate技术介绍
Hibernate是Java应用和关系数据库之间的桥梁,它能进行Java对象和关系数据库之间的映射。Hibernate内部封装了通过JDBC访问数据库的操作,向上层应用提供面向对象的数据访问API。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的优点:
a)它支持各种关系数据库,从一对一到多对多的各种复杂关系。
b)对象/关系数据库映射(ORM)
它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想
c)透明持久化(persistent)
d)事务Transaction(org.hibernate.Transaction)
e)它没有侵入性,即所谓的轻量级框架
f)移植性会很好
g)缓存机制,提供一级缓存和二级缓存
h)简洁的HQL编程
(3)Spring技术介绍
在新闻采编系统的实现中,我们业务全部交给Spring管理,这样很大程度上使软件模块得到解耦。
在本系统的设计中,我们选择MYSQL数据库工具进行设计和管理本系统所需要的数据库。MYSQL是一个成熟的广泛应用的数据库平台,它可以保证企业级业务的可用性及可管理性,同时它的失败转移集群和数据库镜像技术为各级用户提供了更为可靠的数据存储能力。另外,MYSQL通过数据库加密和默认安全设置等技术,保证了数据库中用户数据的安全性。
MySql数据库的主要特征:
a)MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。
b)MySql可运行在不同的操作系统下。
c)MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证。
d)MySql支持大型的数据库。MySql可以方便地支持上千万条记录的数据库。
e)MySql拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用不必担心其稳定性。
f)强大的查询功能。MySql支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便。
我们在系统的开发中,使用数据库技术对系统中的信息实现存储和管理,包括
用户可以更加便利的对数据库中的信息进行插入、查询、编辑、更新、删除等操作,从而完成系统的功能实现,具体的数据库表设计将在系统的详细设计部分中描述。
由于本系统主要实现的是新闻采编的功能,那么系统需要为系统的用户群之一,即稿件的作者提供新闻的编辑功能,而同时本系统的设计采用的是B/S的架构,所以我们需要在本系统中实现在线稿件编辑的功能,使得稿件的作者可以直接地在网页上进行新闻的在线新建、编辑、上传等操作。我们在系统的实现中,引入了成熟的FCKeditor控件技术以完成在线编辑功能的实现。FCKeditor是一个所见即所得文字编辑器,专门用于网页开发,它的代码开源的。作为轻量化的网页控件[8],它为网页开发者提供了简单的访问接口,不需要太复杂的安装步骤即可使用。它可以和PHP、JAVA、JavaScript、ASP、ASP.NET等多种不同的编程语言相结合,并且相容于绝大部分的浏览器。
在开发的过程中,我们以添加引用的方式将FCKeditor相应的jar文件添加进工程之后,然后将其导入到工具箱,便可以以控件的设计方式使用该工具,从而实现系统中的在线编辑功能。
该课题拟采用瀑布模型法构建新闻采编系统,通过设计一系列阶段按顺序展开,按照这一逻辑顺序将用户需求简化,使得各个阶段的目标更加明确,开发过程更易跟踪与控制。从系统需求分析开始直到产品发布和维护,将软件生命周期划分为了六个基本过程:制定计划、需求分析、软件设计、程序编写、软件测试和运行维护,通过这种成熟的软件开发模型提供的固定次序来一步步完成系统开发与设计。瀑布模型下的软件开发流程如图2.1所示。由于该系统的需求分析较为清晰,并不存在频繁的需求变更所引起的代码更新。而且瀑布模型为系统的开发提供了阶段性的检查点,方便系统的开发日程安排,使得开发过程更加清晰而有序。所以我们采用瀑布模型来规划和开展系统的开发。
图2-1瀑布模型下的软件开发流程
在本章中,主要详细地介绍了在本课题的设计中所涉及到的关键技术,包括所选用的服务器、MVC技术、在线编辑控件技术、数据库技术、课题所采用的开发模型以及数据库技术。
在软件工程中,需求分析是首要工作,也是极为重要的工作。需求分析需要深入用户和行业,并在与用户的详细沟通交流之后,将用户的需求整理为系统功能清单,并简洁、明了的记录在系统需求规格说明书上,最终系统验收也将按照需求规格说明书来进行。
需求分析将确定对系统的综合需求,包括功能需求、性能需求、可靠性和可用性需求以及将来可能提出的要求等。
根据新闻稿件采编系统的功能需求和功能特点,一个优异的新闻稿件采编系统应该具备以下两个特点:
(1)将新闻稿件采编工作进行自动化和流程化管理,摒弃原始的手工模式,并逐步向现代化办公发展。系统需要有网络稿件编辑功能、网络审核稿件功能、网络新闻发布等功能。
才能获得权限进入系统,从而执行其相应的功能。
(2)管理员功能模块
(3)采编人员功能模块
该功能模块是面向新闻采编人员设计的,主要实现对新闻的稿件的管理,包括稿件作者对新闻稿件的编辑和上传、编辑部人员对新闻稿件的审核和处理,以及稿件搜索和稿件校验等功能。接下来将分别针对稿件作者和编辑部人员简要描述其功能需求。
编辑稿件模块如图3-1,记者在编辑稿件时可以选择是否需要修改密码,稿件编辑时,会询问是否需要编辑图片,如需编辑会进入图片编辑状态,完成编辑之后,通过上传功能完成稿件上传到服务器中,此时可以对稿件执行搜索校验或者直接分类,其所拥有的主要功能有:
1)新闻稿件上传功能。
2)新闻稿件搜索功能。
3)新闻稿件校验功能。
4)用户密码管理。
5)新闻稿件分类功能。
6)新闻图片编辑功能。
7)传送稿件功能
编辑部人员所拥有的主要功能有:
1)接收稿件功能。
2)修改记者稿件
3)待处理稿件功能。
4)退修稿件功能。
5)编辑部稿件审核功能
6)传送稿件功能
7)新闻稿件搜索功能。
8)新闻稿件校验功能。
9)作者管理功能。
图3-1编辑稿件流程图
通过需求分析阶段对陕西日报社新闻采编系统进行全面的、详细的需求调查,
明确新闻采编系统的基本功能和特点,并把系统具体需求一一记录在需求文档中。
通过对陕西日报社新闻采编系统的总体设计方案,将系统分为具体的模块,采用瀑
布模型为软件的开发模型。在系统实现后,测试将采用黑盒测试的测试方法,对需求文档中所提及的每项功能进行详尽测试,确保系统能够正确稳定的运行。
所谓新闻采编,就是新闻工作者对新闻从前方采集,中期处理编辑,最后到新闻发布的整体过程。新闻采编系统就是利用计算机技术与信息网络技术将以上过程通过计算机实现,从而提高新闻工作者的工作效率,提高新闻的时效性,因此新闻采编系统一般具有以下特点:
1.采编自动化
新闻采编系统是以编辑记者为中心的,对稿件的编辑和审阅,紧紧围绕稿件的采编流程,实现新闻信息从采写到编辑记者稿件的跟踪、登记、统计、资料检索和查询的采编自动化。提供先进的消息传递、管理和资料检索服务、修改、传送、编辑、审阅、签发、异地传输等多项稿件信息流处理工作流程追踪、提供对新闻稿件的海量信息管理和信息检索服务。
2.协同工作能力
稿件的编辑审阅是一个群体工作过程,因此,系统必须具有强大的信息传递功能,使稿件在部门和部门之间相互传递,并保证稿件的时效性、完整性和安全性。在传递过程中,系统要有足够的处理能力保证群组整体工作的效率。
3.移动发稿能力
4.新闻信息的资源化
新闻机构的实力除了其能对新闻事件报道作出迅速的处理和反应外,另一个更重要方面是其对新闻背景资料利用的深度和广度,为了使记者及编辑方便、快捷地检索数据资料,使信息资源化,要求系统具有海量信息的存储功能,使新闻信息能成为一种具有经济与社会效益的资源。
新闻采编系统主要是对系统用户以及新闻稿件数据进行有效的管理。在此,我们将以不同的系统用户为单位具体对系统功能需求进行更为详细的描述,使得系统功能需求更加清晰,为系统的开发打好基础。
系统管理员的功能需求:
(1)用户信息管理
(2)部门信息管理
部门信息管理包括对系统中部门信息的查看、删除和修改操作。
(3)稿件数据维护
(4)密码修改
记者编辑的功能需求:
(1)新闻稿件上传功能
编辑工作者可以将每天采访的新闻及时编辑、上传、入库。
(2)新闻稿件搜索功能
(3)新闻稿件校验功能
(4)用户密码管理
(5)新闻稿件分类功能
新闻稿件可以按月、按部门分类,并实现快速查询功能。
(6)新闻图片编辑功能
图片信息包括:名称,格式,大小等。在具体稿件中插入的图片都设置一个ID
号,我们按名称或者编号存储在数据库中,方便查询和删除等。
(7)传送稿件功能
请其他记者用户对稿件内容提出修改意见。
编辑部人员的功能需求:
(1)接收稿件功能
将作者新上传的稿件收集起来进行审批。
(2)修改记者稿件
可以对记者用户上传的稿件进行修改,对其内容和格式进行修改。
(3)待处理稿件功能
将新稿件进行处理情况分类,第一种为新上传的稿件,存放在编辑部的编稿库
中,以待编辑部人员进行审核和编辑;第二种为编辑部普通编辑人员已经对稿件
完成了编辑和审核,由编辑部主任确认后。存放在编发库中,准备明天印刷上报。
(4)退修稿件功能
将内容有误或者其他不符要求的稿件退给相应作者进行修改。
(5)编辑部稿件审核功能
编辑部人员将对稿件作者上传的稿件进行审核,并将其划分到编稿库或者编发
库。编稿库存放需要编辑和审核的稿件;编发库存放已修改审核后第二天要打印
出版的稿件。
(6)传送稿件功能
编辑部人员可以将编稿库中和编发库中的稿件发送给部门的记者用户,进行稿
(7)新闻稿件搜索功能
(8)新闻稿件校验功能
(9)作者管理功能
编辑部主任可以进行添加、修改、删除作者的操作:
对于编辑部的权限分为普通员工和编辑部主任两种权限。
(1)普通员工权限:
可以对编稿库和编发库中的稿件进行编辑和审核;
(2)编辑部主任权限:
可以将编稿库中的稿件移到编发库中作为明日发表的稿件;
并可以锁定编发库中稿件为最终版本,则普通员工不能再对此稿件进行编辑;
新闻采编系统是管理系统(MIS)在报社产业的的具体应用。因此,它必须具有以下一些与其它MIS系统共有的特性:
(1)它们均是以数据库为核心,以网络为技术支撑环境,具有一定规模的计算机化的系统。
(2)它们是以经营业务为主线,以提高工作质量与效率和辅助决策为主要目的,可以提高综合管理水平,反映报社全貌,增强报社竞争能力,获得更多、更好的社会、经济效益的信息系统。
(3)在系统内部按一定原则划分若干子系统(也可能在子系统之上加一层分系统),各子系统、分系统之间互有接口,可有效地进行信息交换,真正实现信息资源共享。
(4)它处理的对象既有结构化数据,也有半结构化或非结构化数据。有些数据及结构会较多地受到人工干预和社会因素的影响,既有静态的,也有动态的。
(5)具有完善的系统管理、监督、运行保障体系和相应的规章制度以及系统安全措施。
采编系统是现行企业级管理信息系统中最复杂的一类,这是由报社产业管理的性质决定。基于此本系统的性能需求如下:
(1)处理速度
(2)数据完整
本系统保证各种记录信息完整不丢失,各种数据之间的关联正确,并且相同的
数据在不同的记录中保持一致,不出现用户对数据的脏读、误读。
(3)访问安全
(4)可扩展性
本系统是采用面向对象的思想进行开发设计的,各功能模块的代码相互独立,可以很方便的添加和删除功能模块,使得系统的维护与扩展都更加的便利
新闻采编系统由4层结构组成,并遵循MVC结构进行设计。四层结构分别为表示层、业务逻辑层、持久层与数据库层,如图3-2。
其中表示层与业务逻辑层均由Struts与Spring框架组成,表示层用于提供程序与用户之间交互的界面,项目主要通过JSP、Struts标签库进行展现;业务逻辑层主要处理程序中的各种业务逻辑,项目中通过Struts框架的中央控制器及Action对象和Spring的注解对业务请求进行处理;持久层由Hibernate框架组成,它负责应用程序与关系数据库之间的操作;数据库层为应用程序提供数据库。
新闻采编系统
持久层
(Hibernat框架)
业务逻辑层
(Struts、Spring框架)
表示层
(Struts框架)
数据库层
(MySQL数据库)
图3-2系统逻辑分层
系统的体系结构框架如图3-3。
图3-3新闻采编系统功能结构图
从记者来搞到采编完成的基本框图如图3-4。
图3-4采编系统基本处理流程图
下面我们对主要加工环节进行介绍:
建稿:系统有两种建稿方式,建新稿和按来稿建稿。
分发:只有发稿人具有分发稿件的权限。分发操作的用处是根据用户的选择,将来稿库中的稿件拷贝到各个组的待编稿库中,同时在来稿库中作相应的记录。
调阅:调阅稿件主要完成根据当前用户所在的编辑组,从部门配置库中找出当前编辑组的调阅稿源;然后从部门配置库中找出用户选择待调阅的来稿库的库名和它所在的服务器名,打开该来稿库。
签发:签发稿件是一篇稿件在采编前台中的最后一个加工环节。当一篇稿件被签发时,这篇稿件就通过接口子系统送到发稿系统上天了。
淘汰:淘汰稿件模块将待淘汰的一篇或多篇稿件拷贝到淘汰稿库中,并在当前部门的淘汰稿登记库将刚才被淘汰的稿件予以登记,如果是分社来稿,还要进行来稿登记,记录淘汰原因。
传稿:在正常业务中,经常会有稿件需要送审或送签,这就需要将这些稿件从一个处理稿库送到另一个处理稿库中处理,这些功能是通过传稿操作来实现的。
在本章中,主要分析了新闻采编系统的总体设计,做出了详细的总体目标的预期以及各个方面需求的分析,之后对系统进行了功能和性能的需求分析,最后论述了系统的总体结构设计,并给出了系统的开发和运行的环境。
图4-1系统功能模块
在每个大模块下,又分为多个子模块;其中管理员功能模块分为用户信息管理模块、部门信息管理模块、稿件数据维护模块、个人密码修改模块;采编人员功能模块主要分为作者功能模块和编辑部功能模块,其中作者功能模块又分为稿件编辑上传、稿件搜索、稿件校验、稿件分类、图片编辑、稿件传送、用户密码修改;编辑部功能模块又分为稿件接收模块、稿件修改模块、稿件退修模块、稿件搜索模块、稿件校验模块、稿件处理模块;其他模块主要是一些常见功能和帮助,包括:关系系统、帮助、操作向导、记事本、计算器等功能。功能模块详细图如图4-2。
图4-2陕西日报社采编系统功能结构图
针对陕西日报新闻采编系统的需求,本设计采用B/S结构模式进行开发,系
统部署图如图4-3所示。客户端采用内部连接或者网络连接通过HTTP协议对Web服务器进行访问。Web服务器与数据库服务器的连接采用TCP/IP协议,以保证数据的准确性。
图4-3系统部署图
系统的总体设计中最重要的就是系统的模块化。模块化是解决一个复杂问题时自上而下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。
模块设计的两个基本原则为:每个模块内部自身联系应当紧密,而模块之间的相互联系应该尽量减少。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少而接口简单,即尽量做到高凝聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
在本系统的总体设计中我采用结构化设计(Structuredesign,简称SD),即用一组标准的准则和工具,采用模块化方法,进行系统控制层次和模块的分析与设计。我首先将整个系统化分为几个小问题和小模块。然后,再进一步细分模块,添加细节。
同时,这种高凝聚低耦合的设计,有利于系统的集成。
通过对该领域现状的描述指出了需要解决的问题,具体研究内容如下:
(1)分析现有新闻采编系统的特点,归纳新闻采编系统所拥有的功能和系统框架,研究不同环境下新闻采编系统实现方法和功能上的差异性。
(2)提出符合陕西日报功能的新闻采编系统的理论和结构。
(3)实现陕西日报新闻采编系统。
新闻稿件采编系统的开发和应用是信息化环境下报社的生存之道和发展之路。国内外成功的期刊报纸采编系统应用案例表明,为期刊报纸提供先进的信息管理平台,推进期刊报纸的网络采编、出版和发行,是实现期刊报纸资源共享的有效方式。通过以上的分析可知,系统的组件图如图4-4。
图4-4系统的组件图
(1)系统初始化
(3)管理员功能模块
管理员功能模块可以管理用户信息、部门信息,维护稿件数据以及修改个人密码。其功能结构图如图4-6所示:
图4-6管理员功能结构图
a)用户信息管理
图4-7用户信息管理时序图
b)部门信息管理
图4-8部门信息管理时序图
c)稿件数据维护
图4-9稿件维护时序图
d)个人密码修改
图4-10个人密码修改时序图
(4)采编人员功能模块
系统的采编人员功能模块主要实现整个新闻采编的工作流程,完成稿件从新建到定稿的一系列操作,以及对稿件的搜索功能。由于系统的主要功能都是由采编人员完成的,所以以采编人员的类别可以将该功能模块划分为作者功能模块和编辑部功能模块,其功能结构图如图4-11所示。具体功能将在下面小节中进行分别的详细描述。
1)作者功能模块
该模块实现的功能为稿件作者所可以进行的操作,主要是对新闻稿件的编辑上传等操作和对作者自己信息的操作,详细描述如下:
图4-11采编人员功能结构图
2)编辑部功能模块
该模块实现的功能为编辑部人员所可以进行的操作,主要是对新闻稿件的审批处理等操作和对作者的信息管理,详细描述如下:
图4-12稿件处理的流程图
G.稿件修改功能:编辑部人员可以对记者用户上传的稿件进行修改,对其内容和格式进行修改。
当编辑部用户进行稿件修改的操作功能时,首先登陆系统,确认用户名、密码和权限,然后可以进行稿件修改操作。编辑部用户先选择将要修改的稿件,之后对其内容或格式进行修改,并将修改后的稿件保存到数据库中,提示修改完成。稿件修改功能完成。编辑部主任可以进行添加、修改、删除作者的操作。
数据库的结构设计是指对数据库概念模型的设计,是用概念模型对现实世界进行全面、准确的描述。其中最为广泛的方法是P.P.Chen于1976年提出的实体-联系方法(Entity-RelationshipApproach),简称E-R图法。
E-R图的基本思想是:在将一个组织的有关数据组成为数据库管理系统能接受的模式前所进行的一个中间步骤,即先设计一个概念性数据模型,该模型是现实世界中事物与事物联系的反映,而与存取结构和存取方式无关,然后再将其转换成数据库管理系统上的数据模式。
用E-R图设计数据库的基本步骤是:
(1)确定实体类型;
(2)确定联系类型;
(3)画出E-R图;
(4)确定属性;
(5)从E-R图中导出数据结构图;
(6)设计记录格式。
由于管理系统需要存储稿件到数据库进行保存和远程访问,MYSQL数据库是市面上使用较多数据库之一,该设计采用MYSQL6.0作为数据管理平台,用来保存新闻稿件数据,并提供给用户检索稿件、修改稿件、校验稿件等操作。在该系统的数据库的设计上,考虑的思路主要如下:
(1)用户管理,如:账号的建立、更改、删除、用户登陆密码的修改。
(2)稿库:由编辑自己建立的新闻稿库,下面又分为个人稿库、部门稿库、垃圾箱三部分。
(3)稿件搜索:编辑人员可以通过检索功能,输入关键字,选择检索范围,检索目标等实现快速查询目标稿件。
数据库的整个设计过程可以分为以下几个阶段:
(2)概念设计阶段:该阶段的目标是要建立数据的概念模型,用以反映数据信息的储存要求,以及信息之间的流动关系、相互制约限制关系等。在本设计中采用E-R图的方式对概念模型的设计予以体现,主要描述了数据库中的各个实体的信息,包括实体的属性和各属性的约束等,以及各个实体间的关联关系。
(3)逻辑设计阶段:在该阶段中,根据概念设计所提出的概念数据模型,设计出数据库的逻辑模式,用以反映业务逻辑在数据库中的体现。
(4)物理设计阶段:根据所选用的具体的数据库,根据之前提出的逻辑结构,设计数据库的物理结构,确定每张数据库表的具体实现方式。
(5)验证设计阶段:将系统所需数据进行收集并填充到数据库中,建立起完整的数据,然后通过运行一些比较有代表性的业务逻辑流程来验证数据库运行是否正确合理。
图4-13数据库设计开发流程图
对于一个服务器,MYSQL可以安装一次或多次,即在一个节点上可以分开安装多个数据库引擎,而每次安装的版本称为一个实例。在每一个实例下,可以创建一个或多个数据库,在新华社新闻采编系统内,每一个MYSQL服务器上都安装了一个实例和一个数据库。数据库主要公共稿件库和部门资料库。总社有总编室、国内部、国际部等8个部门组成。用户较少的部门两到三个部门共用一个数据库,用户较多的大部门单独使用一个数据库。体育部除了存储部门数据外,还备份存储了打蜡纸资料。对于需要处理小语种(除中英文之外的文种)的国际部与对外部用单独的一个数据库来处理。新采编系统中的数据库结构根据实际需求结合MYSQL的特点进行合理设计,遵循关系数据库的设计原则,既充分考虑数据的一致性、完整性、冗余度,又保证查询效率。在设计过程中考虑到MYSQL可以通过I/O直接访问磁盘数据,提高数据存取速度,所以建立的是以裸设备方式管理的表空间。下面分别说明公共稿件库和部门资料库的数据库设计。
数据库的概念设计是对用户所提出的需求进行综合、归纳和抽象,从而生成概念模型。本设计中采用E-R图实现数据库的概念设计,E-R图是在需求分析的基础上进行的设计,主要用于体现各个实体的属性以及他们之间的相互关系。在该系统中,实体有:系统管理员、采编人员、部门、新闻稿件以及图片等。系统管理员实体具备用户名、密码及权限等属性,其E-R图如图4-14所示
图4-14系统管理员E-R图
图4-15采编人员E-R图
部门实体主要具备部门编号及部门名称等属性,其E-R图如图4-16。
图4-16部门E-R图
新闻稿件实体主要具备标题、正文、编号、类别、所属作者、图片、审核状态等属性,其E-R图4-17。
图4-17新闻稿件E-R图
图片实体主要具备编号、大小、标题、所属作者、地址等属性,其E-R图如图4-18。
图4-18图片实体E-R图
通过对各实体之间的相互关系的分析得出数据库设计的总体E-R图如图4-19。
图4-19系统总体E-R图
系统逻辑结构设计是将概念结构设计阶段完成的概念模型转化为MySQL系统所支持的数据模型,关系模型必须规范化。规范化主要是指一个数据结构中没有重复出现的数据项。目前关于规范关系,已有五种范式,通常以第三范式作为存储结构,来减少数据允余,提高效率。把一个非规范化的数据结构处理成第三范式的数据结构通常要经过如下几步:
(1)把非规范化关系的数据结构分解成若干个二维表,分解后的二维表必定属于第一范式;
(2)对于那些属于第一范式而不属于第二范式的数据结构,必然存在着组合关键字,且非关键字数据元素部分依赖于此关键字,对此继续分解,使其非关键元素都要完全依赖于关键字,这是得到的数据结构必定属于第二范式;
(3)如果某个数据结构属于第二范式而不属于第三范式,即非关键字数据元素传递函数依赖与关键字,则还要分解,转换成若干个消除传递依赖关系的数据结构,以得到属于第三范式的数据结构。
转换后的具体关系模型(遵从第三范式3NF)如下所示:
部门(部门编号、部门名称)
图片信息表(图片编号、图片标题、图片大小、图片作者、描述、图片地址)
稿件信息表(稿件编号、稿件标题、稿件正文、稿件作者、稿件图片、审核状态)
数据库的物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储结构。系统采用的是MySQL数据库,系统数据库名为News,该数据库中包括5个数据表:
表4-1管理员信息表
字段名
字符类型
说明
是否允许为空
备注
Admin_ID
Varchar
管理员ID
否
由系统自动生成,主键
Admin_name
管理员姓名
Admin_pw
管理员密码
Admin_sex
管理员性别
Admin_age
Int
年龄
是
Admin_adress
家庭住址
Admin_telnum
Admin_limit
权限
表4-2采集人员信息表
User_ID
varchar
采集人员ID
User_name
姓名
User_sex
性别
User_age
User_birthday
Date
出生日期
User_workdate
入职日期
User_degree
学历
User_telnum
Number
User_address
User_idcard
身份证号
User_dep
所属科室
User_zc
职称
User_zw
职务
User_limit
表4-3稿件信息表
Draft_ID
稿件ID
有系统自动生成,主键
Draft_title
稿件标题
Draft_text
Text
稿件正文
Draft_author
Vachar
稿件作者
Draft_type
稿件类型
Draft_image
稿件图片
Draft_statue
审核状态
表4-4图片信息表
Image_ID
图片编号
主键
Image_title
Varcharr
图片标题
Image_size
图片大小
Image_author
图片作者
Image_url
图片地址
Image_desc
图片描述
表4-5部门信息表
Dep_ID
部门编号
Dep_name
部门标题
操作系统:Windows7
开发工具:MyEclipse
数据库:MySQLServer
硬件配置:CPU:Pentium200MHz以上
内存:32MBRAM以上
硬盘:100MB以上磁盘空间
显示分辨率:最低800×600像素建议1024×768像素
系统的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。该系统以Windows7为平台,采用Java面向对象程序的开发语言,还采用当前流行的MySQL数据库,有效的保证了系统兼容性和可扩展性。
代码设计的主要主要原则:标准化;唯一性;合理性;可扩充性;适用性和规范性。常见的编码方式有两种:顺序码和区间码,本系统采用区间码和顺序码结合的编码方式[5][6][7]。
本系统中的代码设计主要如下:
(2)部门编号:采用顺序码,如:01代表小语种部门,02代表体育部,03总编部;04代表国内部;05代表国际部
数据输入是用户与计算机的重要接口,也是一项工作量大、手工作业多的操作环节,所以采用适宜的输入方式和查错方法,以保证输入的正确性,是输入设计的核心内容。输入设计主要包括以下工作:
(1)选择合适的输入方式(就目前本系统而言,基本都是采用键盘输入的方式)
(2)输入数据的校验:包括检验输入数据的合法性、合理性,是否合乎逻辑等。
在输入某个字段时,如果输入错误,则系统会自动报错,弹出对话框,提示输入信息有误。
(2)在该系统的运行过程中,要配备专门的监察人员定期对系统日志文件进行审查,跟踪每个用户在系统中的操作过程是否在该用户的权限范围之内,如果发现非法行为,则立即收回该用户权限并对数据库中数据进行相应恢复处理。
(3)对数据库中数据的备份无疑是很重要的一环。通过备份数据,可以在数据遭到恶意修改或删除的时候进行数据的恢复,从而保证数据的安全性和完整性。
在本章中,对陕西日报新闻采编系统的详细设计进行了具体的介绍,将该系统划分为几个相对独立的功能模块,并以UML图的方式对每一个模块所要实现的功能给予详尽的分析与设计。最后介绍了系统中所需的数据库的设计,以E-R图的形式表现了各实体间的关系,并给出了各个数据表的具体字段的详细设计。
在Web端的构建中,使用了Spring,Struts和Hibernate框架,因此在构建工程项目时需要搭建框架开发平台。
JavaWeb应用都会存在一个web.xml文件,这个文件的主要作用是配置Web服务启动时的加载信息。我们所需的框架,需要在此文件下引入。
(1)首先引入Spring容器;
(2)之后引入struts框架,并指定Struts配置文件的位置;
(3)之后引入Hibernate框架
Hibernate配备文件中主要负责指定连接数据库方言,配置数据映射。
org.hibernate.dialect.MySQL5InnoDBDialect
(4)由于JSP中默认的编码格式是ISO-8859-1,而中文编码默认为GBK或者GB2312,因此必须经过编码,但是由于文件比较多,如果在每个文件中进行编码,十分的麻烦。这里使用了Struts的过滤器。过滤器的是外部请求进入服务端或者服务端向外部返回响应时,都必须经过的路径,因此可以在过滤器中统一对字符编码。为了编码的通用性,这里使用了UTF-8编码格式。
根据对系统进行的详细需求分析、系统概要设计和系统详细设计,完成了系统的实现工作,系统整体实现的包图如图5-1所示。
图5-1新闻采编系统总体包图
数据持久层(Persistencelayer)主要管理数据库的建立、查询、处理数据等工作。数据持久层有四个主要类,分别为BaseDAO、DepartmentDao、UserDAO和DraftDao。数据持久层的类图5-2所示。
图5-2持久层类图
BaseDAO主要负责DAO接口的设计,这主要包含保存实体,删除实体,更新实体,按ID查询,查询所有,分页查询等操作。函数设计如下:
publicinterfaceBaseDao
voidsave(Tentity);//保存
voiddelete(Longid);//删除
voidupdate(Tentity);//更新
TgetById(Longid);//按照ID查询
List
List
@Deprecated
PageBeangetPageBean(intpageNum,intpageSize,Stringhql,List
PageBeangetPageBean(intpageNum,intpageSize,QueryHelperqueryHelper);
}
DepartmentDao、UserDAO和DraftDao是对BaseDAO的实现,这里以DepartmentDao为例:
首先DepartmentDAO实现了BaseDAO接口
publicclassDepartmentDAOimplementsBaseDAO
然后引入Hibernate的SessionFactory
@Resource
privateSessionFactorysessionFactory;
之后是具体的构造
publicList
returnsessionFactory.getCurrentSession().createQuery(
"FROMDepartmentdWHEREd.parentISNULL")
.list();
在此系统的实现中,业务逻辑层主要由Struts和Spring框架实现,利用Strusts主要实现业务控制,利用Spring主要是利用它的控制反转,使代码最大化接口。
这里以Draft类为例,分析了Department类的实现。
首先在struts.xml中配置需要拦截的请求:
这里的配置中actionname="department_*"是指拦截以department_开头的action请求,class="departmentAction",主要指明处理类为departmentAction,由于我们在Spring的配置文件中指明了
所以它会自动找到对应处理类。然后会把对应的请求转到对应类中,以添加页面为例:
/**添加页面*/
publicStringaddUI()throwsException{
//准备数据,departmentList
List
List
ActionContext.getContext().put("departmentList",departmentList);
return"saveUI";
之后,又按照return的值,参考struts.xml转到对应的处理页面中。
之后使用div控制页面
在javascript中对嵌入做特殊处理:
$(function(){
document.forms[0].loginName.focus();
});
//在被嵌套时就刷新上级窗口
if(window.parent!=window){
window.parent.location.reload(true);
系统表现层的实现主要分为系统登陆界面,普通用户的管理界面,新闻稿件库的管理界面以及编辑部审理稿件的管理界面等。下面将分别从普通用户、编辑部以及系统管理员的角度对系统界面进行介绍。
如图5-3所示,是进入系统的主界面。
(1)新闻编辑界面
用户登陆后,如图5-4所示,进入普通用户的操作界面中,在左侧边栏显示的是用户可以进行的基本操作,主要分为新写稿件、稿件上载、个人稿库、外电稿库、费稿库、稿件检索。稿件库中可以按照个人编辑的稿件库分类进行查看稿件,更新或者删除稿件,此处通过用户名在数据库中调出此用户的相应稿件,并依次显示出来。进入个人稿库时,系统调用业务逻辑层(Model层)的UserInfo类的用户名来调用数据库查找函数GetPersonLibrary()来获取用户的个人稿件库内容,内容包括有稿件名称、创建日期、作者名称、稿件内容等,并在右侧面板显示出来
用户左侧边栏的稿件搜索功能提供了基本的搜索功能,如图5-5所示,在中间面板中首先提示稿件检索操作的方法,通过输入关键字进行检索search(stringkeyword)操作,可选择搜索范围,设定检索的数据库目标,以及检索日期范围,在输入检索信息后,系统会将使用GetSearchInfo()函数将检索信息得到,并使用SQL查询语句在数据库中进行查询,并将结果返回到中间面板中。
图5-5稿件检索操作界面
图5-6稿件编辑界面
如图5-7,在稿件编辑完成后,设置稿签,并点击提交。
图5-7稿件提交状态
系统管理员主要承担着用户管理、部门管理、数据维护的工作。
(1)用户管理
系统用户管理的主要工作是新建用户、对用户进行分组、用户的权限设定、以及用户的删除。系统管理员可点击左侧边栏中的用户管理进入用户管理功能,如图5-8所示,在用户管理界面,系统将调用SQL检索将所有用户信息从数据库中调出,然后依次按照编号进行排表,并统计并显示用户数量、组数量、在线人数。
图5-8用户管理界面
系统管理员可以设置用户的访问权限,如图5-9所示,在访问权限处可以设定用户在各个部门的提交、读取、写入的权限,并可以在属性中对其进行修改,给予权限时用户的权限要满足数据库权限的约束条件。
图5-9系统管理员设置用户权限
(2)部门管理
系统管理员对部门进行管理时,如图5-10所示,在日报社中有着很多个不同部门,各个部门之间的连接比较紧密,故而将普通用户按照工作科室分为各个不同的部门,这样有助于系统管理。系统管理员可以根据需求新建部门,设定部门的名称,并将普通用户的部门设置为此新建部门,提供此部门的读写权限等。
图5-10部门管理界面
新闻采编者,在编辑图片时,需要加入图片,这些图片由新闻采编者收集好,然后使用图片上传功能,上传到采编系统,进行编辑。图片上载界面如图5-11,5-12。
图5-11图片上传界面
图5-12图片上传
按照软件工程的思想,任何软件正式投入运行前,必须进行测试以保证软件的正确性、容错性、可扩展性及运行速度等等。在该系统交付使用前,对该软件系统的所有功能模块进行了详细测试,测试的目的在于:寻找问题,纠正错误,提高系统的技术能力,使系统早日投入运行。测试主要采用软件工程的“黑盒测试”和“白盒测试”方法。
主要的错误可以分为以下几类:
(1)语法错误:语法错误是经常遇到的错误,由不正确的脚本语法导致。
(2)运行时错误:脚本在运行过程中,脚本试图运行不可能的指令导致。必须纠正导致运行时的错误,才能使脚本在运行时不被中断。
(3)逻辑错误:逻辑错误通常是潜在的,也是难以预测的。如果有因为键入错误,或者是程序逻辑流程错误所引起的逻辑错误,系统可能正常运行,但产生的结果是错误的。
系统的测试方法有两种:黑盒测试(black-boxtesting)和白盒测试(white-boxtesting)。在黑盒测试中,它通过实际使用软件来检测每个软件功能是否都能正常使用,即系统测试员只能测试软件在做什么,而无法看到处在黑盒中的软件是如何做的。黑盒测试有时又被称为功能性测试。在白盒测试中,系统测试员可以看到白盒中软件是如何做的,并通过访问软件代码,观察代码逻辑来测试软件功能。白盒测试要求至少运行一次每个模块中的所有独立路径;测试所有的逻辑值是否为真;在软件合理范围内运行所有的循环;检查内部数据结构是否运行正确等。
黑盒测试的方法有主要有:
(1)通过性测试,即测试软件的基本功能是否能够实现。
(2)失效性测试,即测试软件在输入非法数据、错误数据和垃圾数据时是
否能够正确处理。
(3)数据测试,即对需要输入输出的信息检测是否正常。
(4)边界条件缺陷,查看系统在输入数值取到边界值时是否设置正确。
(5)重复测试,即通过不断重复执行同样的操作,查看是否会有缺陷。
(6)资源测试,在系统资源不足和尽可能满足资源需求的情况下对系统进
行测试,查看是否会出现缺陷。
系统测试环境如表5-1所示,服务器软件环境采用的操作系统为Window操作系统,采用的数据库软件为MYSQL服务器,Web服务器采用Apachetomcat服务器,测试客户机的软件环境采用的操作系统为Window7SP1,采用的测试浏览器为IE10.0和Firefox两种采用不同内核的浏览器,对系统进行测试。
表5-1系统测试环境
配置说明
测试服务器
测试客户机
软
件
环
境
操作系统
Windows7
数据库
MYSQL
无
WebServer
ApacheTomcat
应用软件
MyEclipse
IE11.0、Firefox浏览器
硬
CPU
IntelPentiumE58003.2GHz
IntelCORET52501.5GHZ
内存
8GB
2GB
硬盘
1TB
320GB
网卡
10/100M
(1)用户模块测试
1)测试目的
检测陕西日报社新闻采编系统能够正确的显示和处理用户模块中各项功能。
2)测试范围及重点
3)测试方法
测试方法采用黑盒测试。
4)测试内容及结果。
(2)系统界面测试
检测陕西日报新闻采编系统是否能够正确显示的系统界面。
测试包括有普通用户操作界面、系统管理员操作界面、编辑部操作界面以数据库管理界面等几个界面显示的情况。
3)测试方法与工具
测试方法为黑盒测试。
4)测试内容及结果,如表5-2。
表5-2测试内容及结果
序号
测试点
前提条件
输入与操作
期望结果
测试结果
1
其他条件满足
libo
弹出对话框,提示长度小于6
2
张三
弹出对话框,提示不能用中文
3
libo123
弹出对话框,提示用户名不能包含空格
4
密码
123456
弹出对话框,提示过于简单
5
‘123456
弹出对话框,提示含有测试字符
使用黑盒测试对系统做了模块测试后,系统需求中所有的系统功能均已按照要求实现。系统用户设计、数据库设计和系统界面设计均无问题,达到正确运行的标准。
应综合考虑系统的安全性,基本的安全措施必须有的,另外,必须经常检查系统的运行情况,及时发现问题,避免造成破坏。
在本系统中采取的保护措施主要有:
(2)用户在修改个人资料时,需输入密码验证,否则无法修改。
(3)后台数据库设置严格的身份验证,保护数据不被破坏。
(5)经常检查和防护,及时发现新的漏洞,及时解决。
在本章中,通过对陕西日报新闻采编系统的测试,检测系统的基本功能点,验证系统基本功能已经完成,系统可以正确工作,同时本人在进行系统测试的过程中,也实践了系统测试的基本方法和操作流程。
随着社会信息化以及计算机技术和网络通讯技术的飞速发展,计算机技术正在逐渐成为工作学习生活中不可或缺的劳动工具。本人在仔细调研了陕西日报社的具体工作情况和新闻稿件采编需求后,为了提高新闻稿件采编与存储管理的效率,减轻新闻记者以及新闻编辑部人员的工作负担,提高工作效率,一个专业的针对陕西日报社特点的新闻采编系统的开发和应用就显得非常的重要,这不仅有利于报社又好又快发展,同时能够提高新闻的编辑、分类、校对、查询的效率,具有十分重要的意义。
[1]苗雪兰、刘瑞新、宋会群著.数据库技术及应用[M].机械工业出版社,2005.3
[2]陈雁.数据库系统原理与应用[M].北京:中国电力出版社,2003.
[3]刘鲁主编.信息系统原理、方法与应用[M].北京:高等教育出版社,2007.1
[4]甘仞初主编.信息系统分析与设计[M].北京:高等教育出版社,2003.6
[5]黄梯云主编.管理信息系统[M].北京:高等教育出版社,2009.4
[6]薛华成.管理信息系统[M].第四版.北京:清华大学出版社,2003
[7]姜旭平.信息系统开发方法[M].北京:清华大学出版社,1997
[8]严建援、刘云福、王克聪等译.哈格管理信息系统[M].第二版.中国人民大学出版社,2009.1
[9]周之英.现代软件工程(上、中、下)[M].北京:科学出版社,2000
[10]孙涌.现代软件工程[M].北京:希望电子出版社,2002
[11]张科.期刊网络采编系统研发及系统功能分析[J].大学图书馆学报,2008
[12]黄莘,漆蓉,税红.稿件采编系统的操作分析[J].编辑学报.2008(02):25-29
[13]孙卫琴.Tomacat与JavaWeb开发技术详解(第二版).电子工业出版社2009.1
[14]孙卫琴.Java网络编程。电子工业出版社。2007.3
[15]孙卫琴.精通Hibernate:Java对象持久化技术详解.电子工业出版社.2004.7
[16]孙卫琴.精通Struts:基于MVC的JavaWeb设计与开发.电子工业出版社.2004.9
[17]陈丹丹、王国辉.实战突击JavaWeb项目整合开发.电子工业出版社2011.9
[18]李钟尉、陈丹丹.Java项目开发案例全程实录(第二版).清湖大学出版社2011.1
[19]陈臣王斌孙琳王鸽蒲蓬勃研磨struts2清华大学出版社2011.10
[22](美)艾里特|精通Hibernate机械工业2009-04-01
[26]Song,Shao-Zhong.ImplementationofdynamicdatabasefunctionsinB/Sstructureprogramming[J].CMCE2010,136-139
[27]Martínez,LuisG,Castro,JuanR.Knowingsoftwareengineer'spersonalitytoimprovesoftwaredevelopment[C].Proceedingsofthe6thInternationalConferenceonSoftwareandDatabaseTechnologies,LosAngeles,2011,99-104
[28]ErichGamma,RichardHelm,RalphJohnson,JohnVlissides.DesignPatternsElementsofReusableObject-OrientedSoftware[M].Boston(USA),Addison-WesleyProfessional,1994,268-306
[29]ZhengLihua,ThedevelopmentofremotelabortrainingsystemforruralsmalltownsbasedonMVCmodel[J],IFIPAdvancesinInformationandCommunicationTechnologyp473-482,2011.
首先,我要深深感谢我的导师金乾坤老师。金老师为人谦和,平易近人。在论文的选题、搜集资料和写作阶段,金老师都倾注了极大的关怀和鼓励。在论文的写作过程中,每当我有所疑问,金老师总会放下繁忙的工作,不厌其烦地指点我;在我初稿完成之后,金老师又在百忙之中抽出空来对我的论文认真的批改,字字句句把关,提出许多中肯的指导意见,使我在研究和写作过程中不致迷失方向。他严谨的治学之风和对事业的孜孜追求将影响和激励我的一生,他对我的关心和教诲我更将永远铭记。借此机会,我谨向金老师致以深深地谢意。
其次,我还要感谢肖老师等授课老师,正是因为有了他们严格、无私、高质量的教导,我才能在这几年的学习过程中汲取专业知识和迅速提升能力。我还要感谢教务处肖老师老师这几年来对我的关心、帮助与支持;同时也感谢这两年多来与我互勉互励的诸位同学,在各位同学的共同努力之下,我们始终拥有一个良好的生活环境和一个积极向上的学习氛围。
同时也感谢刘红岗、刘杰等人,他们以极大的热情,帮助我完成了系统资料的收集,以及在专业知识方面的帮助,感谢他们所提供的大力帮助与支持。可以说,没有大家的共同努力,我的论文不会这么快的就就完成。
我更要感谢我的家人,正是有他们在身后默默的支持和鼓励我,才让我在学习的道路上走的更远,在人生的道路上铺扎实每一块砖,因为我知道,机会永远留给有准备的人。
最后,我要感谢参与我论文评审和答辩的各位老师,他们给了我一个审视两年多来学习成果的机会,让我能够明确今后的发展方向,他们对我的帮助是无价的财富。我将在今后的工作、学习中加倍努力,以期能够取得更高的成绩来回报他们、回报社会。