一、选题目的和意义
基于Web的多彩文本信息系统,它是一种以Web为基础的超文本系统。多彩文本信息系统不仅能够对文本进行编辑、而且可以将所写的文本内容存储和再现。随着计算机网络的快速发展,普通的文本留言系统已经很难满足我们的需求,因此多彩文本留言系统随之出现。它不仅仅具有普通文本留言系统的特点,而且使单调的文字变的丰富多彩,用户可以对所写的文字任意的更改大小、字体、添加图片等,产生图文并茂的文字效果。这一方法的实现,将会对信息发布中需要使用普通文本的地方,如考试系统中试题题目、文章管理系统、办公系统公文的题目或正文等需要特殊格式的文本甚至图片等应用,具有重要的实际意义。
通过设计对多彩文本信息系统原理有一个深入的了解,并且希望通过一次小小的实践来运用所学知识,来培养我的动手能力和合作能力,故选择基于Web的多彩文本信息系统作为我的文档课题。
二、本选题在国内外的研究现状和发展趋势
多彩文本技术是互联网应用中比较流行的技术,它提供给用户一个在网页中进行“所见即所得”的能够进行图文混排,类似Microsoft Word的多媒体内容编辑环境。此种技术手段在国内外已经得到普遍应用,在此略举两例:在网易的电子邮件系统中,它被称为“多媒体编辑器”;在“中国人的校友录中,它被称为“多彩文本”。有的公司专门开发此类的中间件,用以构建Web版的Word、Excel等为特征的网络办公系统。
在网络中,能够像在Word中那样,自由书写,发送或发表图文并茂,多彩绚丽的多媒体信件、文章等,更为符合人们的习惯,是人们在互联网中自然的需求。因此,多彩文本技术的研究和应用是必然趋势。
三、课题设计方案 [主要说明:研究(设计)的基本内容、观点及拟采取的研究途径。]
1. 研究的基本内容:
序号 研究的主要内容
1 搭建开发环境。
2 多彩文本信息系统的前台考察。(注:文本编辑界面中的文字操作)
3 多彩文本信息系统的建模和前台的设计。
4 建立数据库,实现对前台文字效果标记语言的存储。运用动态语言实现对前台多彩文本信息的读取,通过数据库对相关标记化语言的存储。
5 多彩文本系统后台程序设计。运用动态语言实现对已编辑文本效果的再现。
基本观点:
光阴茬苒,internet取得了飞速发展与广泛应用。网络在不知不觉中已经成为了人们生活中不可缺少的一部分,它已经成为第四媒体。网络技术正在向技术化、宽带化、智能化和个人化方向发展,高速信息公路概念的提出为人们展示了通信领域美好的前景。向用户提供声音、图像、数据和文本综合服务、实现用户之间的多媒体通信、是网络技术发展的目标。人们可以通过网络进行网络化办公,实时新闻发布、浏览等等。不过获取信息的方式是通过文字,但是普通文本信息发布系统很难满足用户日益增长的需求,因此多彩文本信息系统随之诞生,它更符合人们书写习惯。它使单调的文字变的更加绚丽多彩。
多彩文本信息发布对文字编辑自由化,字体多样化,图文混排化,编排实时化等提出了许多新的要求,在存储和再现方面应做到准确性、实时性。
3. 方法:
理论研究与实践相结合,以软件的实用性为目的。严格按照软件工程的设计方法做好需求分析,可行性分析等。参考国内外已经取得的研究成果,认真研读参考资料。运用所学的软件工程、网络、数据库、数据结构、PHP、HTML、JAVA SCRIPT的知识设计出合理的算法和模块化程序,达到预期的效果。
四、计划进度安排 [主要说明:起止时间及分阶段的进度要求。]
第一阶段: 起止时间:2005.11.1-2005.11.20
进度要求:进行课题的搜集资料、调查研究、需求分析、实验准备工作。
第二阶段: 起止时间:2005.11.21-2005.12.20
进度要求:写出设计说明书,初步完成设计,提交指导老师进行中期检查。
第三阶段: 起止时间:2005.12.21-2006.12.31
进度要求:根据中期检查结果,修改,完善,完成设计,提交院(系) 领导小组。
第四阶段: 起止时间:2006.1.1-2006.1.15
进度要求:整理设计,及相关资料,准备文档答辩。
五、主要参考文献
[1] 张海藩.软件工程导论.第四版.北京:清华出版,2003年.
[2] 萨师煊.计算机系统概论.第三版.北京:高等教育出版社,2000.2.
[3] 白鉴聪.王进.Java Script网页效果大师.机械工业出版社,2003.
[4] 白鉴聪,潘军锋,罗剑波等.PHP4编程与实例.第一版.北京:机械工业出版社,2001.1.
[5] 萨师煊,王珊等,数据库系统概论、第三版,高等教育出版社 2000.2.
[6] (美)Paul McFedries著 欧阳宇,张治坤等译.Java Script开发使用手册.机械工业出版社.2002.
[7] (美)Jesus Castagnetto等著 薛忠胜,扬登峰等译.PHP高级编程.机械工业出版社,2001.1.
[8] 德州学院教务处. 附件1:文档范文(设计)格式参考样例.2006.3.
指导教师意见及建议
签 名:
年 月 日
教学单位领导小组审批意见:
签 名:
年 月 日
多彩文本信息发布系统—后台
赵耀栋
(德州学院计算机系,山东德州 253023)
摘要:网络的发展速度有目共睹,如今它已经成为第四媒体。人们现在已经逐步习惯于通过网络获取知识和信息,因此基于Internet的服务得到了人们的重视,通过对当前Web网页信息系统的分析,多彩文本信息发布系统更能满足人们的需求。
在系统分析上,通过对单一的文本信息发布系统的调查,总结出多彩文本信息发布系统应当做如何的改进、添加新的功能。运用软件工程的思想,分析和设计数据模型和功能模型,在编码阶段通过算法完成对信息的存储和再现。
多彩文本信息发布系统是利用PHP技术完成对信息后台处理,DHTML、Java Script完成对信息的前台操作。能够较好的完成对Web信息发布系统的应用,可以为实现所有的基于网络化信息发布提供方法上的参考。
关键词:数据模型,功能模型,Internet,PHP,DHTML,Java Script
1.绪论
1.1 选题背景
多彩文本技术是互联网应用中比较流行的技术,它提供给用户一个在网页中进行“所见即所得”的能够进行图文混排,类似Microsoft Word的多媒体内容编辑环境。此种技术手段在国内外已经得到普遍应用,如在网易的电子邮件系统中,它被称为“多媒体编辑器”。在“中国人”的校友录中,它被称为“多彩文本”。有的公司专门开发此类的中间件,用以构建Web版的Word、Excel等为特征的网络办公系统。
在网络中,能够像在Word中那样,自由书写,发送或发表图文并茂,多彩绚丽的多媒体信件、文章等,更为符合人们的习惯,是人们在互联网中自然的需求,因此,多彩文本技术的研究和应用是必然趋势。
1.2 选题目的和意义
主要目的是研究在信息发布系统中,客户端如何生成和表示多彩文本,如何在服务器中存储多彩文本,如何从服务器获取和再现多彩文本。这一方法的实现,将会对信息发布中需要使用普通文本的地方,如考试系统中试题题目、文章管理系统、办公系统公文的题目或正文等需要特殊格式的文本甚至图片等应用,具有重要的实际意义。
本课题的研究工作,锻炼我的Web开发技术,科研能力等,具有实际的实践意义. 通过设计对多彩文本信息系统原理有一个深入的了解,并且希望通过这次的实践来运用所学知识,来培养我的动手能力和合作能力,故选择基于Web的多彩文本信息发布作为我的文档课题。
1.3 研究内容
多彩文本信息发布前台主要是搭建工作平台,分析应该具有的功能,分析前台实现的原理,以及前台实现的功能语言特点。利用PHP编程语言实现对前台信息的获取,设计数据库模型存储所得到的信息和样式。通过算法取出数据库所存信息,完成对发布内容的再现。
1.4 可行性分析
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、操作的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。
(1) 经济的可行性
主要是对项目的经济效益进行评价,本系统作为一个文档设计的范文版,无需开发经费,对于我系在经济上是可以接受的,并且本系统实施后可以显著提高信息发布的效率,所以本系统在经济上是可行的。
(2) 技术的可行性
技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。软件方面,配置运行PHP语言的环境,数据库服务器方面则有SQL Server,Oracle、MySQL等,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
(3) 操作的可行性
目前,计算机的性能得到较高的提升及其价格也有较大的下降,故为其进入普通家庭做了很好的铺垫,从而满足普通个体用户,各学校,各职能部门,各直属单位上网需求.其简单易懂,不用特别培训即可自由使用本软件。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。
1.5 具体工作分配
我的文档设计是和曹林峰同学一起合作实现的,通过DHTML和Java Script语言实现对信息多彩编辑,按照发布者的意愿实现信息的格式化。我是负责后台信息格式化存储和再现工作,包括对文字信息的格式化存储,存储算法的设计,数据库模型的设计,格式化再现编辑的内容。
2. PHP简介
2.1 了解PHP
PHP作为一种跨平台的服务端的嵌入式脚本语言、在迅猛发展的网站建设中得到了越来越广泛的应用,至今已经有超过六位数的网站是使用PHP语言来搭建的。该语言最新推出的版本是PHP5,整个程序的核心进行了大幅度的改动,改动以后的性能更优越,速度更快,能够实现更强大的功能,满足更多方面的需求。
PHP大量地借用C、Java、Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地书写出动态生成页面的脚本。对于一个运行于Web服务器的嵌入式脚本语言,它的基本要求包括:
解释脚本的模块能够很好地与Web服务器结合,使得WEB服务器能够快速地解释并执行脚本程序。
语法结构完整,具备基本程序语言功能。
支持多种数据库的读取、存储等操作。
广泛地支持各种Internet协议。
PHP不仅完全满足嵌入Web服务器脚本语言的基本要求,而且还提供了大量的内部函数,方便用户实现各种功能。现在推出的PHP,支持目前绝大多数数据库,支持多种Internet协议。包括对HTTP协议和电子邮件,是开发各种网络化应用程序的利器。通过PHP程序员可以便捷地开发出各种运行于WEB服务器的应用程序。
2.2 PHP的工作原理
PHP较之用C语言等的一个最大区别在于其执行方式,C语言等必须先要编译完成,然后才能为服务器执行,PHP则不需要编译这一步,它可以把代码混入HTML中,直接由服务器解释执行。
其工作原理:首先在用户端通过浏览器输入合法的URL,然后通过物理网络浏览器将用户的请求送到指定的服务器上。服务器端首先检查该请求是否存在需要在服务器端处理的脚本,PHP检查是否存在PHP的标记(如“"),如果有则执行该标记内的PHP代码,对数据库或文件等对象进
行操作,然后将执行结果通过网络显示在用户端的浏览器上。其工作原理如图1所示。
(说明:在图中的Apache服务器当然可以是其它的服务器,如Win.NT中的IIS,PWS等等。只要能解析PHP代码即可。在数据库方面,也可以是其它的数据库系统,比如Oracle,MSSQL等等。)
图 1 PHP工作原理
2.3 PHP 与数据库的结合
PHP能够支持的数据库很多,我们以MySQL数据库介绍PHP访问数据库的方法。MySQL数据库是基于SQL语言的免费的数据库软件,它完全支持多线程、多平台、数据库类型多样,包括有,无符号1,2,3,4,8字节integers,float,double,char,varchar,text,boolean,date等。有非常灵活和安全的权限系统、密码和加密,为Win9X提供ODBC接口,另有为第三方开发商提供的多样的ODBC驱动程序。
PHP访问MySQL的方法有两种:
2.3.1 利用PHP的数据库函数连接。
这里主要用到几个常用的数据库函数:
(1)MySQL-connect():建立与MySQL服务器的连接。
(2)MySQL-create-db():建立一个新的MySQL数据库。
(3)MySQL-drop-db():删除一个指定的MySQL数据库。
(4)MySQL-select-db():选择一个MySQL数据库。
(5)MySQL-query():送出query 字符串以帮助MySQL进行相关的处理或执行。
(6)MySQL-num-rows():本函数返回表行的数目,一般配合SELECT语句进行查询操作。
(7)MySQL-close():关闭与MySQL服务器的连接。
2.3.2 通过ODBC连接。
PHP通过ODBC连接MySQL数据库主要用到如下函数:
(1)odbc-conect():用来 ODBC数据源建立连接。
(2)odbc-do():用来在建立连接之后执行数据库查询。
(3)odbc-result():用于取得当前记录行中某个字段的值。
(4)odbc-fetch-row():用来把查询结果保存到数组,每个数组元素对应一条记录。
(5)odbc-close():关闭某一ODBC连接。
上述两种方法在与数据库建立连接的语法上,并没有太大差别。不过在相比较之下,通过ODBC方式存取数据库比PHP直接存取MySQL耗时间,但通过ODBC接口存取数据库不必担心使用何种数据库,如Oracle、Informix、Sybase等。它们都支持ODBC接口,这样可减少更换数据库时需要更改程序的问题。图2显示了PHP连接数据库的两种方法。
从上面知道,PHP访问数据库的方法都可以采用以上两种方法之一,对于PHP访问其它数据库的函数可以参考有关手册。
图2 PHP连接数据库的方法
3. 多彩文本信息发布系统的总体设计
3.1 系统分析
多彩文本的具体分析与实现段的主要任务是根据需求规格说明确定的设计目标,以及它们的优先顺序,并根据目标确定最适合的设计方法,制定各种规范。将系统按功能划分成模块的层次结构。确定每个模块的功能,建立与已确定的软件需求的对应关系。确定模块之间的调用关系,确定模块之间的接口,即模块之间传递的消息。设计好接口的信息结构,评估模块划分的质量及导出模块结构的规则。
本程序的整体思路为,首页是显示数据库中信息发布者编辑的文本格式,进入发布信息页后打开编辑窗口,程序自动初始化,主要通过CSS精确定位工具栏,然后再把编辑框设为可编辑状态,再主要就是通过键盘输入及鼠标的相应行为来激活相对应的函数,调用每个格式化函数之前都是先判断和保留鼠标所选择的热区,对其以后的输入进行格式化。发布成功后通过PHP动态的将编辑的信息格式存储到数据库当中。其操作过程和结构关系如图3、4所示。
图3 多彩文本信息发布操作过程
图4 多彩文本信息发布系统结构关系图
3.2 任务概述
本设计主要包括搭建开发运行平台、系统的研发两大任务:
3.2.1 平台搭建
操作系统采用windows xp,WEB服务采用Apache,数据库采用MySQL,编程语言采用PHP和Java Script。
3.2.2 研制开发
按照软件工程的方法进行。
3.3平台搭建
3.3.1 PHP的安装和配置
(1)安装
①将PHP-4_0_4-Win32.rar解压缩到d:\php下。
②将d:\php下的php4ts.dll移动到c:\操作系统安装目录\system下。
③将d:\php下的php.ini-dist复制到c:\操作系统安装目录 下,更名为php.ini。
(2)配置:通过修改php.ini中的参数来实现。对MySQL而言,若无特殊要求,一般无须配置,因为PHP在php.ini中已经做好了对MySQL的配置,所以一般无须修改。
3.3.2 Apache的安装和配置
(1)安装软件:双击Apache_1_3_14_win32.exe,按照提示,安装到d:\apache下,即完成安装。
(2)配置服务:单击[开始]->[程序]->[ Apache Web Server]->[ Management]->[ Edit configuration],打开Apache的配置文件httpd.conf,按表1提示进行配置,完毕后保存。
注意:
所谓“修改”,即对该文件中已经存在的参数,修改其参数值;所谓“添加”,即将该文件中缺少的参数和参数值增加到该文件中相应位置,为了省事,也可以放到该文件的最后。每处的配置起作用,必须将行首的#号(注释符号)去掉。描述以httpd.conf文件的行文顺序进行。表中路径、地址、主机名、信箱等,实际配置时请根据自己情况进行。每次配置变动后一定要保存,并启动或重新启动Apache的服务,所做的最新配置才会起作用。示例路径:PHP安装路径——d:/php;发布文档(即文件)主目录——d:/www。
表 1 Apache配置参数设定
参数名和参数值 操作 作用
① BindAddress 服务器机器IP 修改 进行地址绑定(指定服务器地址)
② LoadModule php4_module
d:/php/sapi/php4apache.dll 添加 指明将PHP配置为Apache的模块(Apache module)方式进行工作时的PHP语言解释器
③ Port 80 修改 指定Apache对外提供Web服务的通信端口
④ ServerAdmin 服务器管理员邮箱(修改 当发生错误时送回客户端浏览器的管理员信箱
⑤ ServerName 服务器的计算机名称 修改 指明主机名称
⑥ DocumentRoot "d:\www" 修改 指明向客户端提供Web服务的发布文档主目录
⑦ 修改 发布文档主目录定义,该处目录的值应与⑥中的一致
⑧ ScriptAlias/php/ "d:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe" 添加 指明PHP脚本语言名称和PHP脚本语言解释器的路径
指明PHP脚本扩展名
指明PHP脚本解释器(PHP以非模块工作时起作用)
⑨ DirectoryIndex index.php 修改 指定默认文档(主页文档,只请求服务器地址就响应的文档)
(3)Web服务的安装和启动
安装Apache服务:将Apache在Windows操作系统服务中注册。单击:[开始]->[程序]->[Apache Web Server]-> [Apache as a service]->[Install service]。
启动Apache服务:单击 [开始]->[程序]->[Apache Web Server]-> [Apache as a service]->[ Start Service]。
(默认情况下,每次操作系统启动时自动启动该服务,可更改)
3.3.3 测试Apache对PHP的支持
(1)测试目标:检查二者是否能够正常协作。
(2)测试方法:
用记事本或uedit编写测试脚本,存为d:\www\index.php,内容为:
echo phpinfo();
?>
说明:
phpinfo()是PHP内置函数,用来显示PHP和Apache配置信息。在浏览器中敲入:http://你的机器的IP地址,回车后若显示PHP配置页面,则说明配置达到了上述的测试目标,Apache与PHP能够正常协作;若不显示类似画面,则配置有误,此时的Apache不能够识别PHP脚本,需更改配置。
3.3.4 MySQL的安装和启动服务
(1)安装
将MySQL-3.23.43-win.zip解压缩后,双击setup.exe,按照提示,进行安装。
根据指定安装路径的不同,安装可采取的方式有:
① 默认安装:安装过程中不指定安装路径,采用默认的c:\MySQL。采用该种方式安装,一路按“下一步”按钮即可完成。
②定制安装:安装过程中指定自己的安装路径(如:d:/MySQL),而不是采用默的 c:\MySQL。采用该种方式安装完成后,需要做一个配置文件,将MySQL的有关信息向操作系统特别声明一下。具体方法是:用记事本或uedit创建一个文件my.ini 保存在你的操作系统安装目录下,该文件内容如下:
[MySQLd]
basedir=d:/MySQL/
datadir=d:/MySQL/data/
注意:我们用定制安装方式。
(2)启动服务程序
双击d:\MySQL\bin下的winMySQLadmin.exe(MySQL服务程序),这样就会在操作系统的后台服务中注册并启动MySQL服务程序。(默认情况下,每次操作系统启动时自动启动该服务,在Windows2000的服务中可更改其启动方式)
(3)MySQL数据库连接测试:通过MySQL的客户端程序MySQL.exe,测试其与服务程序的连接是否正常,服务程序是否能够正常工作。
启动客户端程序MySQL.exe:在命令提示符或 MS-DOS下,进入d:\MySQL\bin,键入命令
MySQL回车。