推荐阅读:论《图书与情报》网络采编系统的设计与开发论文 一、 系统开发背景和介绍 1.1系统开发背景 如何在教育网络化的过程中以人为本,实现读者、作者、主编和评审专家间的交流互动及编辑部办公自动化与无纸化、为读者提供交流服务平台,成为影响刊物进一步发展的重
论《图书与情报》网络采编系统的设计与开发论文
一、 系统开发背景和介绍
1.1系统开发背景
如何在教育网络化的过程中以人为本,实现读者、作者、主编和评审专家间的交流互动及编辑部办公自动化与无纸化、为读者提供交流服务平台,成为影响刊物进一步发展的重要因素。而采编系统作为推进这一信息化进程的有效载体,其设计开发工作将为编辑部解决这些亟需问题。
1.2系统需求分析及功能介绍
与编辑部主编交流得知,《图书与情报》编辑部以前接收作者的投稿和与作者交流的过程都是通过信件、电话和电子邮件(后来)来进行的,这样的方式极不方便且成本高,中途可能还有错误疏漏发生,作者投稿不方便,稿件上交后分类、评审、管理、选稿等工作更是让编辑部的成员们忙的不可开交。基于上述情况,设计带有交互功能的网络采编系统被提上了编辑部工作日程。
根据设计前期的调查表明:系统的主要用户是广大读者、投稿者、审稿专家、编辑部内成员及一般浏览者。所以系统设计过程中首先要坚持以人为本,与编辑部需求为前提,反映编辑部特色,面向未来,着眼应用,为读者提供必要的服务,利用系统营造良好的信息化环境。
二、 系统分析与设计
2.1、系统开发语言及涉及的技术
本系统采用服务器端嵌入式语言ASP和数据库管理系统Microsoft Access 2003作为主开发语言,来实现数据的动态管理。同时采用HTML、CSS、JavaScript等语言来实现系统页面的开发及页面的美化。
系统的开发在ation Server)平台的、基于ISAPI(InternetServiceAPI)原理的动态网页开发技术,它可与HTML 和ActiveX 元件结合建立动态、交互且高效的 l代码返回给客户浏览器,这样也就减轻了客户端浏览器的负担,不仅大大提高了交互的速度,而且可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
3.与任何 ActiveX Script 语言兼容
除了可使用VBScript 或JScript 语言来设计外,还通过 plug-in的方式,使用由第三方所提供的其他脚本语言,譬如 REXX 、 Perl 、 Tcl 等。脚本引擎是处理脚本程序的COM(Component Object Model)物件。
4.ActiveX Server Components(ActiveX 服务器元件 ) 具有无限可扩充性
可以使用 Visual Basic 、 Java 、 Visual C++、COBOL 等编程语言来编写你所需要的 ActiveX Server Component ,生成功能更为强大的S的三层结构,如图1所示:
ASP
(图1:B/S/DBMS的三层结图)
其与传统的客户机/服务器(C/S)模式相比,有如下优点:一是它属于“瘦”客户机,只需要在客户端安装IE等浏览器软件即可,程序升级和数据库更新的工作量在服务器端,而不必修改客户端程序;二是在B/S模式下,使用的是浏览器软件,它为不同的系统用户提供了一种公共的统一显示模式。
2.3.2、系统流程设计
对于这样一个系统来说,其动态部分主要功能包括五个方面:一是信息的发布,其内容包括通知、公告、专题、首页图片、本期、过期、下期目录等其它动态信息,总称为信息发布系统。其流程主要是系统管理员为各级别的信息管理员分配权限,信息管理员通过自己的用户名和口令登录到管理界面,进行信息的录入和发布工作,如下图2所示。二是在线交流平台,即留言板系统。其流程主要是用户在系统前台对相关问题留言,系统管理员在后台对留言进行回复,也可进行删除操作,如下图3所示。三是在线销售系统,即购物车系统。其流程主要是管理员在后台发布和修改支付方式等信息,注册用户可以在线订购现卖杂志,确认支付成功后管理员可删除求购信息(支持群发),如下图4所示。四是邮件发送系统,系统管理员可以设置相关发送信息,给任意注册用户发送邮件到指定邮箱。五是用户注册在线投稿及稿件管理系统,这一模块的结构是系统的最关键部分,可实现用户的在线注册、用户个人信息及密码的修改、密码找回,管理员对注册信息查询、修改、删除和对用户密码的修改等
功能;在投稿部分用户可根据注册的用户名和密码登录系统,在阅读相关条款和须知后填写有关稿件信息并上传稿件电子版提交到系统数据库。由专家或者编辑部的成员对稿件作出评审和批注,并上传。若审稿通过或还需修改都会给作者相关提示信息。直到审稿通过后管理员可决定将稿件放在待出期刊目录中。当然管理员可以对稿件的相关信息进行修改和根据稿件投稿人,单位,审批结果,用稿年份进行精确查询,如下图5所示
(图2:信息发布系统系统流程图) (图3:留言板系统系统流程图)
(图4购物车模块系统流程图) (图5会员注册投稿管理系统流程图)
2.3.3、系统功能结构设计
通过对系统的功能和流程分析确定系统主要包括前台信息各种显示、留言、稿件数据的提交和查询,后台信息的发布与管理、留言的回复与删除、用户(包括专家、编辑、主编)与稿件信息显示的显示和管理功能。如下图6所示:
其中将主要模块的功能做如下详细说明:
①系统管理 主要是设置系统的基本信息,包括系统名称、系统地址、管理员信箱、大栏目分类显示信息条数、小分类显示信息条数、发表文章是否使用HTML可视化编辑器、COOKIE名称(是同一个系统上多个此程序也能正常运行)、附件内容管理、数据库备份文件夹设置、数据库备份、恢复等。
②分类管理 主要用于对新闻公告,图书目录等信息进行分类管理,其功能可以增加、编辑、删除及合并大类别栏目或是大类别下的小分类栏目,并可以添加管理某类新闻信息的管理员,即某个用户拥有对该分类的管理权限。这样就能实现编辑部某不同权限管理员对所属信息的管理。
③信息管理 包括添加信息、查看信息、删除信息和编辑信息。在添加信息模块中,为了能够在编辑文字、图片和表格时类似dash;—用户组的概念,它包含了系统所有需要控制的资源,每一个资源都有两种状态,是或否,前者能够对此资源进行访问,后者没有权限对此资源进行访问;三是注册会员的管理,在编辑或主编可以编辑、修改、查找、删除注册用户的任何信息。
⑤稿件管理 根据稿件管理者的权限系统会自动分配给管理者相应的管理内容。一是专家:只有查看用户、未审或修改稿信息和稿件原稿并对稿件提出意见的权限。二是编辑: 除拥有专家的一切权限外还有查看专家审批结果(作者也可看到)、对稿件信息进行编辑修改、决定将稿件用到某年某期上、根据相应条件查询作者或稿件审批、用稿情况、对稿件筛选分类、管理会员等一系列权限:三是主编:除具有编辑的一切权限外还有对主编和专家帐号的管理、版面费统计和管理、系统的设置等权限。
2.4、数据库设计
根据单位实际需求情况,系统数据库的涉及对象包括:系统管理员、栏目、文章目录和公告、系统设置及文件上传、留言、销售图书分类、图书、订单列表、订单详细内容、订单支付情况、邮件系统设置、邮件发送记录、留言板、投稿会员、稿件信息、专家、编辑和主编、等内容。为此,建立一个数据库来存储这些数据对象,由于数据内容多在这里只列出相应数据表,如下图7所示:
表名 存储内容 表名 存储内容
Admin 用户和管理员信息 Product 发布的图书
Ne 稿件相关信息
MemberGroup 邮件系统联系人 Author 注册的会员
(图7相关数据表)
2.5、系统前后台设计
系统前台作为集信息显示和交互功能为一体 的平台,其色彩搭配、布局设计、导航设计等往往成为吸引浏览者的第一要素。为实现对浏览者形成视觉冲击,将其吸引住,从而促使其深入浏览内容的目的,本系统的前台设计在遵循快速、简洁、吸引人、信息概括能力强、易于导航的设计原则的基础之上, 对系统信息页面设计、页面布局设计、导航栏目设计、文字设计、色彩搭配设计、二级页面设计等方面进行了深入思考。前台首页效果图如下图8所示:
(图8)首页
系统后台是管理员管理对系统内信息管理和使用的操作界面,其简单便捷的操作方式、美观大方的布局设计、人性化的系统设置成了系统集简洁、实用、美观、效率为一体的人机交互平台。其效果图如下图9所示:
图9(后台界面)
三、 系统编码与实现
本系统程序编码共有万余行,涉及信息查询、系统管理等十余个功能模块。在如此庞大的系统中,实现各功能模块之间的协调工作以及后台和前台的整合成为开发首先要解决的问题,为此系统中使用了页面访问控制、文件上传等功能模块,并对其编程实现进行了深入地探讨,同时也对前后台整合进行了精心地测试。
3.1、关键技术的编程实现
系统的编程主要涉及用户登录等常规模块和数据库连接等关键模块,在此特对用户身份验证与页面访问控制、数据库连接几个关键技术进行详细的介绍。
(1)用户身份验证与页面访问控制
为了实现合法用户地登录请求和用户权限划分,在本系统中如果用户提示帐号和密码与数据库用户表上的值完全吻合,那么此用户为合法用户,即可进入系统。其间调用CheckPermission 函数,实现页面访问控制。控制用户对其它无权操作页面的访问或跳过验证进行非法页面访问。实现代码如下:
<%
Function CheckPermission()
If Session("Sys_Admin")<>"" then
checkPermission=TRUE
Else
checkPermission=FALSE
End if
End Function
Dim Tmpadmin
Tmpadmin = CheckPermission()
If Tmpadmin <> TRUE then
response.redirect RootUrl&"/Admin/Login.asp?Position=2"
End if
%>
(2)数据库连接
要实现对数据及时、准确地存取和访问,就要在ASP和Access/SQL数据库的正确连接、数据的高效查询、读取上下功夫并保证编写代码的执行效率和安全性。
<%
Dim Conn, Rs, sSql, DateBase
' 初始化数据库连接
Call DBConnBegin()
' 初始化数据库连接对象
' 使用原则:最迟调用,最早释放
Sub DBConnBegin()
' 如果数据库对象已打开,不要再打开
If IsObject(Conn) = True Then Exit Sub
'可以不需要打开数据库连接对象而直接打开记录集对象,但如果需要打开多个记录集对象的话,效率是很低的。
' 如果不创建一个数据库连接对象,ADO会在每个记录集打开时自动创建一个新的数据库连接对象,就算用的是相同的SQL语句。
Set Conn = Server.CreateObject("ADODB.Connection")
On Error Resume Next
' Access数据库 数据库中已经增加了防止下载的机智!
DateBase = RootUrl&"/数据库路径/数据库名.asp"
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(DateBase)
If Err.Number > 0 Then
' 显示错误信息,并且发送邮件通知管理员
'Call DBConnError(Err)
Response.End ' 完全地退出正在运行的脚本
End If
' 创建一个记录集
Set Rs = Server.CreateObject( "ADODB.Recordset" )
End Sub
' 释放数据库连接对象
Sub DBConnEnd()
On Error Resume Next
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
End Sub
%>
3.2、系统测试及试运行
经过近3个月的功能设计及编程实现,系统开发工作进入正式发布前的测试及试运行阶段。系统测试采用灰盒测试方法,灰盒测试结合了白盒测试和黑盒测试的要素,既关注软件的外部属性和行为,又在原代码级了解软件内部数据结构、实际的逻辑流程和体系结构的基础上测试软件,从开发者的角度看待测试,综合考虑用户端、特定的系统知识和操作环境。
系统的测试内容主要包括:用户界面测试、功能测试、兼容性测试、安全性测试等方面。
(1)用户界面测试:
测试是否每个页面都有导航工具,并持直观一致且所有链接是否按指示链接到了该链接的页面,所链接的页面是否存在;整个 系统的页面结构、UI 控件、字体、链接是否风格一致;背景颜色是否与字体颜色和前景颜色搭配;文字回绕是否正确;图片是否使段落没有对齐或出现孤行等。
(2)功能测试
用户登录及权限测试:测试合法用户能否正常注册并登录;能否限制非法用户登录;用户权限划分是否正确、稿件上传提交和审稿查稿功能是否能够实现等。
(3)兼容性测试
操作系统:是否能在Windows外的操作系统上正常运行系统;是否使用了只在某个系统上可用的字体或插件。
浏览器:测试不同厂商、不同版本的浏览器对系统的插件、框架和层、图片、Flash等是否支持。
(4)安全性测试
①目录安全设置:测试系统所有目录是否正确进行了安全设置。避免未经授权的用户可以绕过安全设置而直接访问非公共的目录文件和网络。
②安全信息传输:对使用了加密传输的站点,必须验证加密的正确性和完整性。要求在用户进入或离开安全站点时系统应给出提示信息。还必须检查安全站点的连接时间限制设置是否合适有效。
③登录:测试站点是否具备防范常见的登录攻击手段,例如登录是否有次数限制、口令是否设置了时效性等。
④系统漏洞和补丁:系统是否及时更新,各种已知的安全漏洞是否已全部打上补丁。
⑤脚本语言: 服务器端的脚本常常构成安全漏洞,有些脚本允许访问根目录,有些允许访问邮件服务器,这些漏洞常常被黑客利用。在没有经过授权的情况下,是否能在服务器端放置和编辑脚本。是否针对脚本语言的缺陷进行了处理。
四、 系统开发经验与感想
4.1、系统开发经验
通过《图书与情报》网络采编系统制作开发,除了提高自身的动手能力外,也在系统开发方面积累了一定的经验:
首先在系统分析阶段,要积极与编辑部进行沟通交流,收集整理相关资料,了解编辑部文化特色,并在此基础上进行学校需求分析,确定系统功能,只有这样才能实现“以人为本,与部情结合,反映编辑部文化特色,立足编辑部发展需求”的系统开发目标。
其次在系统设计阶段,要在前期分析结果基础上全局统筹规划,实现系统内容归类和确定功能模块;合理科学布局,确定系统首页版式结构和二级页面划分;大胆构思,设计具有特色的系统效果;制定开发方案,为后期开发提供理论参考。
再次在系统开发阶段,要做好开发团队的配合工作,大到程序模块接口设计,小到文件命名规范都要统一,只有这样实现美工与程序、程序与数据库、前台与后台的整合,保证系统稳定、快速运行。
最后在系统运行阶段,开发人员要认真测试,修复系统BUG;系统信息更新人员要做好账号保管工作,禁止泄露。再好的系统安全设计,如果离开了管理人员的安全意识,也只是纸上谈兵。
4.2、系统开发感想
经过3个月的设计开发及测试、试运行、正式运行,《图书与情报》网络采编系统现已步入了正轨,初步实现了开发目的。在此漫长的过程中,有策划的艰难,有编码的辛苦,当然也有成功的喜悦,同时也意识到一个系统的成功,要靠领导的正确决策,要靠开发人员合理的设计;系统的兴旺,需要栏目突出服务对象,只有系统体现对服务对象的人文关怀,才能使系统人气日增;系统的维护要确定分栏负责人,统一管理,及时调整,要重视反馈、按时更新。
五、 后记
《图书与情报》网络采编系统的最大好处是突破了时空的限制,实现了电子稿件在线投送与在线审批及管理的无纸化,即大大减轻了编辑部的工作负担又方便了作者投稿查稿。Web技术已经是Internet的主流业务,而基于web技术的网络采编系统具有方便易用,灵活高效的特点,随着互连网和其他行业的发展,网络采编系统必有美好的前景。