摘 要
网络用户开户管理系统严格按照软件工程的模式来进行设计, 使用了ASP技术并采用Macromedia Dreamweaver MX 2004 作为设计工具,后台的数据库使用Access创建,并使用了ADO方法来访问数据库。
网络用户开户管理系统的设计比较少,而且利用ASP设计的少之又少。而本次毕业设计就是希望通过ASP技术开发出交互功能较强的用户开户管理系统。系统使用了快速原型法来进行设计,主要实现了管理员和用户两个模块,管理员可以对后台进行对网站的管理和维护,用户可以对网络进行开户等等。系统发布之后,管理员或用户就可以通过Web管理和访问数据库,这样设计既有利于读者方便地操作,也有利于管理员有效的管理。并且已经编码的脚本在运行时由脚本引擎解码,增加了系统的安全性。
总之,此动态交互式的用户开户管理系统具有开户信息的动态管理功能,在管理效率上有很大的提高,基本上达到了设计目的。
关键词:新闻管理 ASP; ADO; 快速原型法
Abstract
This News anagement system is designed strictly under the model of the Software Engineering Science. It uses the skill of ASP and its design tool is Macromedia Dreamweavers MX 2004. The background database is created by Access and is accessed by ADO method.
There are many designing methods of the News management system, but that using the skill of ASP is very few. So the aim of this design is using the skill ASP to develop a management system with more alternative and higher function. The system uses Prototyping Method to build and realize two main modules-- News’s module and the reader’s. The manager can manage and maintain News and the reader can search the information of News and their own News. After the system is publicized, the manager and reader can access the Web site through the Internet for management or search. In conclusion, the design makes the reader’s easy operation and manager’s efficient management. And the script-engineer decodes the encoded script while it is running, so the safety level of system becomes higher.
To sum up, this dynamic alternative News management system has the function of dynamic management of books, improved the efficiency of management and basically got the aim of design.
Keywords: News management ASP; ADO; Prototyping Method
目 录
摘 要. I
Abstract II
目 录. III
1 绪论. 1
2 技术介绍. 2
1.1 ASP 简介... 2
1.1.1 ASP的技术特点... 2
1.1.2 ASP方法与传统静态主页的区别... 3
1.1.3 ASP与组件对象的使用... 3
1.2 ADO简介... 5
1.2.1 ADO与ASP. 5
1.2.2 访库的技术实现方法... 5
1.3 脚本语言简介... 6
1.3.1 VBScript 6
1.3.2 Jscript 7
1.4 ASP与JSP、PHP的比较... 7
1.4.1 ASP. 7
1.4.2 JSP. 8
1.4.3 PHP. 9
1.5 数据库的基本概念... 9
1.5.1 数据库系统的类型... 10
1.5.2 数据库系统的结构... 10
2.2 Access2000简介... 11
2. 概 述. 13
2.1 设计目的... 13
2.2 设计方法... 13
2.3 设计思想... 13
3. 需求分析. 14
3.1 背景概述... 14
3.2 可行性分析... 14
3.3 系统分析... 14
4. 总体设计. 16
4.1 数据库设计... 16
4.1.1 数据库的逻辑设计... 16
4.1.2 后台数据库的配置... 16
4.2 模块设计... 18
5. 详细设计. 18
5.1 用户报修页面... 18
5.2 主页面... 22
5.3 中心新闻页面... 23
结束语. 26
致 谢. 27
参考文献. 28
1 绪论
随着社会的不断进步与发展,新闻信息的不断丰富,人们对新闻信息的渴求越来越强烈了。原来摄取新闻以报纸的方式已经越来越不能满足人们对新闻信息的需要,因此,许多新闻管理系统为了满足社会的需要,如雨后春笋般应运而生。我们经过一段时间对现行学校新闻需求的需求分析,决定设计一个功能较强大,符合实际需求的基于WEB的学校网络中心的新闻管理系统,以一个专门发布学校相关新闻信息为主的网站,以方便广大学生对学校新闻信息的需求。
新闻网站的主要作用是系统管理员通过internet能够方便,快速,简洁的发布,管理新闻;普通用户能够快速地浏览新闻。本系统制作过程中基于windows XP 平台,用IIS 和ACCESS进行系统开发。 该系统也可以用于简单的企业内部网信息管理。大大节约了企业内部发布信息的时间。节约了人力,财力和物力,适应了历史发展的潮流,充分发挥了网络的优势。也可以用于信息管理,对我们以后生活、工作中取到了致关重要的作用。
技术要求:
系统为B/S结构,运行于支持ASP的IIS 5.1或以上服务器平台;新闻数据保存到数据库中,数据库采用微软的Access 2000作数据库的。
系统应具备如下功能:系统管理,新闻中心概述,自助服务,用户报修,中心下载,等等。
本人在这新闻管理系统中,主要完成用户报修与新闻系统二个功能。
系统界面友好,有使用帮助。
系统运行稳定,安全可靠,且执行效率高。
2 技术介绍
1.1 ASP 简介
ASP(Active Server Pages)是一个服务器端的(Server.side)脚本执行环境,用户可用它产生和执行动态的、交互的、高性能的Web服务器应用程序。当脚本在服务器端而不是在客户端执行时,Web服务器将完成产生发往浏览器的HTML(Hypertext Markup Language)页的所有工作。ASP的工作模式是当浏览器向Web服务器提出文件(.asp)的请求时,一个ASP脚本就开始执行,这时Web服务器调用ASP,把该文件全部读入并执行每一条命令,然后将结果以HTML页面形式送回浏览器。
1.1.1 ASP的技术特点
几年以前,业界在动态主页发布方面唯一的渠道是CGI(Common Gateway Interface) 模式。随后出现的 ISAPI、NSAPI和JDBC等技术方案虽较CGI进步,但从企业网(Intranet )的技术现实来衡量,这些方案仍不适用于进行快速开发、及时维护和大面积的技术普及。ASP技术的出现,使动态交互式Web主页设计成为一件轻松愉快的工作。只要几行脚本语句,就能将后台的数据库信息发布到Internet/Intranet上, 在编程和网页脚本的可读性方面大大优于传统的技术方案。
ASP是 Active Server Pages(动态服务器主页)的缩写,它是一个服务器端的脚本环境,在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。ASP可以胜任基于微软Web服务器的各种动态数据发布。
从软件的技术层面看,ASP有如下的特点:
1> 无需编译 ASP脚本集成于HTML当中, 容易生成, 无需编译或链接即可直接解释执行。
2> 易于生成 使用常规文本编辑器 (如WINDOWS下的记事本) , 即可进行 *. asp页面的设计。若从工作效率来考虑,不妨选用具有可视化编辑能力的Visual InterDev。
3> 独立于浏览器 用户端只要使用可解释常规HTML码的浏览器, 即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,若不通过从服务器下载来观察*.asp 主页,在浏览器端见不到正确的页面内容。
4> 面向对象 在ASP脚本中可以方便地引用系统组件和ASP的内置组件, 还能通过定制 ActiveX Server Component (ActiveX服务器组件) 来扩充功能。
5> 与任何ActiveX scripting 语言兼容 除了可使用VBScript 和JScript语言进行设计外, 还可通过Plug.in的方式, 使用由第三方所提供的其它scripting 语言。
6> 源程序码不会外漏 ASP脚本在服务器上执行, 传到用户浏览器的只是ASP执行结果所生成的常规HTML码, 这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。
从应用的层面看,ASP有如下的功能:
1> 处理由浏览器传送到站点服务器的表单输入。
2> 访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。
3> 读写站点服务器的文件, 实现访客计数器、座右铭等功能。
4> 提供广告轮播器、取得浏览器信息、URL表管理等内置功能。
5> 由cookies读写用户端的硬盘文件, 以记录用户的数据。
6> 可以实现在多个主页间共享信息, 以开发复杂的商务站点应用程序。
7> 使用VBScript或JScript等简易的脚本语言, 结合HTML码, 快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。
8> 扩充功能的能力强, 可通过使用Visual Basic、Java、Visual C ++ 等多种程序语言制作ActiveX Server Component以满足自己的特殊需要。
1.1.2 ASP方法与传统静态主页的区别
把信息系统纳入Internet/Intranet 的框架之后,首先要解决的问题是通过网页访问后台数据库信息。所有应用程序都被分割为页面的形式,用户的交互操作是以提交表单等方式来实现的,这就要求Web 站点具有很强的动态数据发布能力。然而,目前Web的服务,仍以提供" 静态"主页内容为主。所谓"静态",指的就是站点的主页内容是"固定不变"的,无法根据用户的需求和实际情况做出相应的变化。当浏览器通过Internet的HTTP协议向站点的Web服务器申请主页时,站点服务器就会将已设计好的静态的HTML文件传送给浏览器。若要更新主页的内容, 只能用非在线的手动方式更新HTML的文件数据。
ASP所设计出的是动态主页,可接收用户提交的信息并做出反应, 其中的数据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。例如:当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。该应用程序分析表单的输入数据,根据不同的数据内容将相应的执行结果(通常是数据库查寻的结果集)以HTML的格式传送给浏览器。数据库的数据可以随时变化,而服务器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。
1.1.3 ASP与组件对象的使用
在利用ASP技术进行动态Web开发的时候,应遵循这样一个原则:即 ASP的服务器端脚本必须与微软倡导的组件对象( Component Object Model )配合使用才能开发出具有实用价值的信息产品。ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件对象粘合在一起,以形成最终的软件产品。这一软件制作的工艺思想类似于硬件工厂生产板卡的过程,那一个个的组件对象就相当于集成电路的芯片,而ASP脚本只是焊接芯片的焊接剂,由此可见组件对象起着核心作用。
组件对象模型COM是微软提出的一种基于二进制的Windows软件标准,它是由OLE 技术逐渐发展而来的。在使用不同语言工具写成的组件对象之间,依据COM 的标准可以进行交互。COM是技术概念和标准, 其商业概念的称谓则使用ActiveX。
上文提到的ADO就是系统提供的用于访问后台数据库的组件。此外,ASP本身还提供了五个内置的对象。这五个内置对象可被ASP 脚本直接使用,它们是:
1> Request 取得用户信息
2> Response 传递信息给用户
3> Server 提供访问服务器的方法和属性
4> Application 在一个应用程序的多个主页之间保留和使用某些共同的信息
5> Session 在一个用户的多个主页之间保留和使用某些共同的信息
其中,使用内置对象1、2可实现Web的交互功能,使用内置对象4、 5可解决具有协作机制的应用问题。
ASP的一大特色,是可以用来编写具有协作机制的应用程序,在多个用户的多个主页之间共享信息。使用内置的Application和Session 对象可实现这些功能。
Application对象保存一个应用程序共同的信息,使用此应用程序的所有用户都可以共同分享。为防止其被多个用户同时更改,提供loc k和unlock方法来实现互斥,例如:
Application.lock 禁止其他用户更改Application的信息;
Application.unlock 允许其他用户更改Application的信息。
Session对象比Application对象的使用外延范围小,它保存仅属于一个用户的一个应用程序的信息。ASP的应用程序可以只有一个首页,也可以有多个主页文件,所有的文件均位于一个虚拟路径下。Session对象可让同一个用户在多个主页之间共享信息。当用户第一次在一个应用程序中申请一个*.asp主页时,ASP将为该用户分配一个Session ID号,它将唯一地标识用户的身份,从而能将同一应用程序的不同用户区分开来。
根据需要还可以自行定制具有某些特色的组件对象,以完成特殊的任务。用Visual Basic、Visual C++、Delphi和 Java等语言都可以编写。自制的组件对象分成两类:
一是由类打包而成的*.dll文件,经注册器注册后,在ASP脚本中可通过"Set 对象名 = 类名"来引用。对象在这种使用过程中是在服务器的后台运行的,其运行的结果通过系统自动生成的HTML作用到前端浏览器。
二是生成*.ocx文件,一般用作可视化的对象ActiveX,可直接将其嵌入*.asp主页中,在页面中插入时需使用HTML语言的标记加以引用。通常构件制作完成并按下载的要求打包后生成*.cab文件。对象在这种使用方式下要先从服务器下载,然后在客户的前端浏览器运行。在第一次下载时被展开成相关的*.dll和*.ocx文件进行本地安装及注册。以后再使用时,就可直接从本地获得,免去了下载之苦,这也是ActiveX优于Java App let的地方。
从长远来看,ASP和组件对象的配合使用无疑是一种引人入胜的新技术,更重要的是由此而提出了一种全新的软件设计方法,把硬件的工艺思想恰如其分地融合于软件的面向对象的分析、设计和施工之中, 使面向对象的概念和方法从工具语言的层次一下子跃上了系统的应用层,在快速开发多层的客户/服务器分布式应用系统中将会产生极好的效果。
1.2 ADO简介
ActiveX数据对象ADO(ActiveX Data Object)是一个ASP内置的ActiveX服务器组件(ActiveX Server Component),用于数据库访问,可把它与ASP结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作。
要执行ADO,服务器端必须安装Windows NT Server和Internet Information Server (IIS),而客户端只要有IE或Netscape较新版本的浏览器即可。
实现Web数据库访问大致可分为两类,一类是以Web服务器作为中介,把浏览器和数据源连接起来,在服务器端执行对数据库的操作;另一类是把应用程序和数据库下载到客户端,在客户端执行对数据库的访问。
公共网关接口CGI(Common Gateway Interface) 当浏览器发出HTTP请求时,Web服务器执行相应的应用程序,访问站点数据库,并将查询结果以HTML格式送回到浏览器。这种方式有很多缺点,功能有限、开发困难,且不具备事务处理(Transaction)功能, 这在很大程度上限制了它的应用。
Internet数据库连接器IDC(Internet Database Connector) 这是一种简易方案,对数据库的操作仍然放在Web端,但用户可通过SQL(Structured Query Language)语句对数据库进行查询、输入、更新、删除等操作。IDC设计简易,不用编译就可直接执行,且支持对数据的多重查询(Multiple Query)。
先进数据库连接器ADC(Advanced Data Connector) 前两种方案中对数据库的操作都是在服务器端进行,而ADC是在浏览器端执行数据查询动作。当浏览器提出对数据库的操作请求时,ADC 先将相应的数据库下载到浏览器端,在用户端对数据库进行操作。显然,这种方案效率很高。客户端对数据库的查询是由安装在客户端的A DC ActiveX Control完成的,而这个ActiveX Control是由站点服务器自动下载并安装在客户端的。
1.2.1 ADO与ASP
这是一种完全的Web数据库访问方案,可把ADO与ASP结合起来,建立提供数据库信息的网页内容,在网页中执行SQL命令,对数据库进行查询、插入、更新、删除等操作。ADO中可用VBScript、JavaScript 语言来控制数据库的访问(而ASP恰恰是脚本语言的解释环境)和查询结果的输出;ADO中使用RecordSets对象对数据库进行操作;可以连接多种支持ODBC的数据库。
1.2.2 访库的技术实现方法
ADO(ActiveX Data Objects)是一组优化的访问数据库专用对象集,为ASP提供了完整的站点数据库访问解决方案。它可作用于服务器端,以提供含有数据库信息的主页内容。通过执行SQL命令,让用户在浏览器画面中输入、更新和删除站点服务器的数据库信息。
ADO使用内置的RecordSets对象作为数据的主要接口。ADO可使用 VBScript、JScript语言来控制对数据库的访问,以及查询结果的输出显示。
ADO可连接多种支持ODBC的数据库,如SQL Server、Oracle、Informix等。
在使用时,首先需在控制面板的ODBC中建立相应的DSN(数据源名) 。要选择系统数据源名,指定所用的驱动程序,如"SQL Server",在数据来源名称中输入DSN名,并选定服务器和数据库。
使用ADO访问数据库的设计要领是掌握ASP脚本的几个典型语句, 它们是:
1> 定义数据库组件。有两种定义方法:
·使用"Server.CreateObject"建立连接的对象。
Set Conn=Server.CreateObject ("ADODB.Connection")
·使用标记建立记录集的对象。
Set RS=Server.CreateObject (“ADODB.RecordSets”)
2> 用"Open"打开待访问的数据库:
Conn.Open "DSN名称"
3> 设定SQL语句,使用"Execute"命令,即可开始执行访问数据库的动作:
Set RS=Conn.Execute("SQL语句")
其中RS为结果集对象(RecordSets)。
4> 利用RecordSets对象所提供的属性显示查询结果
5> 关闭结果集对象,断开与数据库的连接:
RS.Close
Conn.Close
1.3 脚本语言简介
1.3.1 VBScript
Microsoft Visual Basic Scripting Edition 是程序开发语言 Visual Basic 家族的最新成员,它将灵活的脚本应用于更广泛的领域,包括 Microsoft Internet Explorer 中的 Web 客户机脚本和 Microsoft Internet Information Server 中的 Web 服务器 Script。VBScript 使用 ActiveX(R)脚本与应用程序对话。使用 ActiveX Script,浏览器和其他应用程序不再需要每个脚本部件的特殊集成代码。ActiveX脚本让用户可以编译 Script、获取和调用入口点及管理开发者可用的命名空间。通过 ActiveX Script,语言厂商可以建立标准脚本运行时语言。Microsoft 将提供 VBScript 的运行时支持。Microsoft 正在与多个 Internet 组一起定义 ActiveX脚本标准以使脚本引擎可以互换。 ActiveX脚本可用在 Microsoft(R) Internet Explorer 和 Microsoft(R) Internet Information Server 中。
VBScript 的数据类型只有一种,称为 Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为 Variant 是 VBScript 中唯一的数据类型,所以它也是 VBScript 中所有函数的返回值的数据类型。
最简单的 Variant 可以包含数字或字符串信息。Variant 用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数字的数据,则 VBScript 会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则 VBScript 将按字符串处理。当然,也可以将数字包含在引号 (" ") 中使其成为字符串。
1.3.2 Jscript
JScript 是 Microsoft 公司对 ECMA 262 语言规范的一种实现。JScript 完全实现了该语言规范,并且提供了一些利用 Microsoft Internet Explorer 的功能的增强特性。本教程的目的就是引导您学习使用 JScript。JScript 是一种解释型的、基于对象的脚本语言。尽管与诸如 C++ 和 Java 这样成熟的面向对象的语言相比,JScript 的功能要弱一些,但对于它的预期用途而言,JScript 的功能已经足够大了。
JScript 不是任何其他语言的精简版(例如,它只是与 Java 有点模糊而间接的关系),也不是任何事物的简化。不过,它有其局限性。例如,您不能使用该语言来编写独立运行的应用程序,并且该语言读写文件的功能也很少。此外,JScript 脚本只能在某个解释器上运行,该解释器可以是 Web 服务器,也可以是 Web 浏览器。
JScript 是一种宽松类型的语言。这意味着您不必显式定义变量的数据类型。此外,在大多数情况下,JScript 将根据需要自动进行转换。例如,如果试图将一个数值添加到由文本组成的某项(一个字符串),该数值将被转换为文本。
1.4 ASP与JSP、PHP的比较
1.4.1 ASP
ASP是到现在开发人群中应用最广的一个技术,ASP更精确的说是一个中间件,这个中间件将Web上的请求转入到一个解释器中,在这个解释器中将所有的ASP的Script进行分析,再进行执行,而这时可以在这个中间件中去创建一个新的COM对象,对这个对象中的属性和方法进行操作和调用,同时再通过这些COM组件再完成更多的工作。所以说,ASP强大的不在于它的VBScript, 而在于它后台的COM组件,这些组件来无限的扩充了ASP的能力。
优势: 1、简单易学。Basic有谁不会?很少会有人举手,所以有人在说这个开发基础是最广的。而且MS有一向做的非常好的联机手册,本地化语言的帮助,同时非常快的出现教学书籍,这样会大大方便开发人员的学习和对技术的深入研究。 2、安装使用方便。装好一个Windows 2000,只要你安装了IIS那么ASP就可以使用了,从没有什么需要你花心思去配置的。3、开发工具强大而多样。ASP开发工具的多样化,同时它们的功能也很强,这一点已经被许多程序员所津津乐道。易用、简单、人性化,这本就是微软的强项。4、效率高。在低的访问量下,ASP能体现出一定的效率,这时它对机器的要求并不高。
不足之处:1、Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性(Win2K已经不再支持Alpha了)都会因为与NT的捆绑而显现出来。 2、ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,那么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。3、由于ASP还是一种Script语言没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编译的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。4、无法实现跨操作系统的应用。5、还无法完全实现一些企业级的功能:完全的集群、均横负载。
1.4.2 JSP
JSP简单的说就是Java,只是它是一个特别的Java语言,加入了一个特殊的引擎,这个引擎将HTTPServlet这个类的一些对象自动进行初始化好让用户使用,而用户不用再去操心前面的工作。同时这个引擎又引入了< JSP : * 、< % @ 等一系列的特别语法,使用这些语法来进行一些特定的操作,如引用文件、URL转向、Java Bean引用等这样的操作,这些都是由引擎自动完成初始化的工作。可以将这个引擎看作一个JSP到Java Servlet的生成器或是翻译器,让用户不用再面对复杂的Servlet中的还没开始工作就要写的几十行代码。这就是JSP..一个Java Servlet生成器。
优势:1、一处编写随处运行。这是一个程序员的梦想,也是从前的程序员的噩梦,为了在不同的平台间运行,使许多程序员一行行的重写代码。在这一点上java已经给了我最完美的答案它做的要比PHP更出色,除了系统之外,代码不用做一点更改的。 2、系统的多平台支持。java servlet /JSP Web Server/Application Server……系统它可以让你在任意环境做开发,在任意环境进行系统部署,在任意环境扩展,相比ASP/PHP的局限性是显面易见的。 3、强大的可伸缩性。从只有一个小的jar文件就可以运行servlet/JSP到由多台服务器进行集群和均横负载,到多台Application进行事务处理、消息处理......一台服务器到无数以服务器,Java显示了一个巨人的生命力。4、多样化和功能强大的开发工具支持。这一点与asp很像,java已经有了许多非常优秀的开发工具而且有许多可以免费得到,并且其中的许多已经可以顺利的运行于多种平台之下。
不足之处:1、与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。2、运行的速度慢。3、技巧还是技巧。一个短处就一定要付出代价的。Java的运行速度是用将class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。另一方面来说,它还需要硬盘空间来存储一系列的.java文件和.class文件以及对应的版本文件。
1.4.3 PHP
如果说ASP是一个COM,那么可以说PHP是一个纯粹的Script翻译器。
优势: 1、一种能快速学习、跨平台、有良好数据库交互能力的开发语言。ASP比不上它的就是这种跨平台能力了,而正是它的这种能力让Unix/Linux有了一种与ASP媲美的开发语言。语法简单、书写容易、现在市面上也有了大量的书,同时Internet上也有大量的代码可以共享,对于一个初学者想学些“高深的Unix”下的开发来说是一个决好的入手点。2、与Apache及其它扩展库结合紧密。PHP与Apache可以以静态编译的方式结合起来,而与其它的扩展库也可以用这样的方式结合(除外的就是Windows平台了)。这样的方式的最大的好处就是最大化的利用了CPU时和内存,同时极为有效的利用了apache的高性能的吞吐能力。同时外部的扩展也是静态联编,从而达到了最快的运行速度。由于与数据库的接口也使用了这样的方式,所以使用的是本地化的调用,这也让数据库发挥了最佳效能。3、良好的安全性。由于PHP本身的代码开放所以它的代码在许多工程师手中进行了检测,同时它与apache编译在一起的方式也可以让它具有灵活的安全设定。所以到现在为止,PHP具有了公认的安全性能。
不足之处: 1、数据库支持的极大变化。由于PHP的所有的扩展接口都是独立团队开发完成的,同时在开发时为了形成相应数据的个性化操作,所以PHP虽然支持许多数据库,可是针对每种数据库的开发语言都完全不同。这样形成针对一种数据库的工发工作,在数据库进行升级后需要开发人员进行几乎全部的代码更改工作。而为了让应用支持更多种的数据库,就需要开发人员将同样的数据库操作使用不同的代码写出n种代码库出来,让程序员的工作量大大增大。 2、安装复杂。由于PHP的每一种扩充模块并不是完全由PHP本身来完成,需要许多外部的应用库,如图形需要GD库、LDAP需要LDAP库.……这样在安装完成相应的应用后,再联编进PHP中来。这也就是说一定要在FreeBSD/Linux/Unix下运行PHP的原因。只有在这些环境下才能方便的编译对应的扩展库。这些都是一般开发人员在使用PHP前所先要面对的问题,正是这样的问题让许多开发人员转而使用其它的开发语言,毕竟Unix没有那么多的用户。
1.5 数据库的基本概念
什么是数据库系统?简单地说,数据库系统是一种计算机化的数据保存系统,它以特有的数据存储方式将相关的数据内容整合在一起。我们可以将数据库本身想成是一个电子档案柜,在这个电子档案柜内,存放着一些电子数据文件。数据库系统主要的目的在于维护信息,并在必要时提供协助取得这些信息。
1.5.1 数据库系统的类型
数据库系统被使用的范围非常广泛,从一般的微电脑到大型主机都可以使用。一般来说,大型主机多倾向于使用多用户的数据库系统,而一般的微电脑、个人计算机则倾向于使用单用户数据库系统。这里所谓的单用户数据库系统,是指同时最多只能有一个用户存取数据库的内容,而多用户数据库系统,则允许多个用户同时存取数据库的内容。
数据库系统的种类非常多,目前以关系型(Relational)数据库系统最为常见,所谓的关系型数据库系统是以表(Table)的类型将数据提供给用户,而所有的数据库操作都是利用旧的表来产生新的表。除了关系型数据库系统外,其他常见的数据库系统类型还有Inverted List,Hierarchic,Network等数据库系统。
1.5.2 数据库系统的结构
不同的数据库系统有着不同的系统结构,毫无疑问,一个数据库结构并不能完全用于所有的数据库系统,在这里我们以被广泛认同的数据库结构——ANSI/SPARC结构来进行说明。
1. ANSI/SPARC结构
在ANSI/SPARC结构中将数据库分为内部层(Internal Level)、概念层(Conceptual Level)以及外部层(External Level)等三层,如图1.1所示。
图1.1 数据库结构图
内部层是最接近数据库实体存储位置的一层,与数据库数据实际存储方式有关,在内部层中以具体的方式来表示整个数据库。
外部层是最接近用户的部分,与用户对数据的查看方式有关,在外部层中以用户看得懂的方式来表示部分数据库的内容,每个用户所查看的数据内容不同。
概念层位于内部层与外部层之间,以用户看得懂的方式来表示整个数据库,提供每个用户一致的数据查看内容。
不管是使用哪一种数据库系统,都只会影响到ANSI/SPARC结构的外部层以及概念层内容,而与内部层无关。例如,对于关系型数据库系统而言,在概念层中所看到的数据一定是以关系型的形式存在,在外部视域中所看的数据有可能会以关系型的形式存在,至于在内部层中的数据则一定不会是以关系型的形式存在。
2. Mapping对应
在图1.2的详细结构图中,可以发现在内部层与概念层之间以及概念层与外部层之间各有一个对应(Mapping)存在,分别对应着上下两层的内容。
图1.2 数据库详细结构图
概念/内部对应(Conceptual/ Internal Mapping)位于概念层与内部层之间,定义数据库的概念视域内容与实际存储内容之间的对应关系。如果改变了数据库的存储结构,只要在这个对应中修改对应的内容就可以了,而不需要改变概念视域与外部视域的内容。外部/概念对应(external/conceptual mapping)位于外部层与概念层之间,定义特定外部视域与概念视域的对应关系,也就是定义外部视域所查看的部分数据库内容与整个数据库之间的关系。
2.2 Access2000简介
该系统是在Windows98下开发的,后台数据库使用的是Access2000。
Access2000以其简单易用的特点,逐渐成为办公领域流行的数据库软件。使用Access2000,用户不需要进行专业程序设计能力培养,就可在较短的时间内通过简单直观的可视化操作(操作向导)完成大部分的数据管理任务,设计出功能强大的数据库管理程序。即使要开发复杂或专业的数据库管理程序,也只需编写少量的程序代码。
Access2000是微软公司开发的基于Windows平台的小型数据库管理系统,是Office 2000 的组件之一。它承袭了旧版本Access的各项优点,又新增和完善了数据访问页、个性化菜单、internet/intranet、编程、安全保密等功能。
1.什么是数据库
数据库(DataBase),顾名思义就是存放数据的仓库,是一些关于某个特定主题或目的的信息集合,用户可以将自己所需的各种资料以一定的格式存放在计算机的硬盘上,所有的这些信息的集合就是一个数据库。目前数据库技术已经广泛应用于各种管理信息系统,它是决策支持系统和专家系统的基础。
数据库管理系统DBMS(DataBase Management System),它是允许用户对数据库进行创建、修改,并可以对数据库内的数据进行加工处理,生成各种报表的软件系统。用户使用数据库的命令、执行数据库应用程序都需要通过数据库管理系统来完成。Access2000就是可以完成上述任务的一个流行的数据库管理系统。
关系型数据库系统RDBMS(Relation DataBase Management System)它是以数据的关系模型为基础,根据自己定义的关系来存储、处理和管理数据库信息的系统。Access2000数据库是一个典型的关系型数据库。用户在使用Access2000时,可以为每一种类型的信息创建一个表,将数据分别存放在自己创建的表中,并建立起表与表之间的关系;然后使用查询,从一个或多个表中查找符合条件的数据;使用窗体,编辑表中的数据;使用报表,分析、汇总表中的数据,并可以根据实际的需要将所需的数据打印出来;利用数据访问页,查看、编辑WEB页;使用宏,自动完成事先定义好的一系列操作;通过嵌入模块,采用Visual Basic语言编写一段程序代码来实现一些复杂功能,在Access2000上开发出功能更完善的数据库管理程序。
2.Access的特点
自从1992年,Microsoft 公司发布Access1.0以来,随着Windows的普及,使用Access的人越来越多,它逐渐成为流行的数据库软件之一。
Access是一个面向对象的、采用事件驱动机制的小型关系数据库管理系统。在Access中,用户可以根据实际需要对数据进行分类,然后使用表对象分别存储每一种类型的数据,并建立起不同类型数据之间的关系,供报表使用。此时,每条信息仅在一处存放,减少了冗余数据的产生,节省了宝贵的存储空间,同时也加快了更新数据的速度。
在Access数据库中,任何有名字的事物都可以称之为对象。Access使用了与Windows 一致的风格,采取面向对象的方式,完成数据库的各种功能。极大地简化了用户的开发工作。
针对用户在实际应用中的需求,Access数据库提供了表、查询、窗体、报表、页、宏和模块等七个对象,用于收集、存储和操作各种不同的信息。
为了便于使用,Access的每个对象都为用户提供了设计器和生成向导。用户可以在设计器中设计生成对象,或对生成的对象进行编辑;用户也可通过生成向导方便快速的生成一个完备的对象。 。
2. 概 述
2.1 设计目的
新闻管理系统是目前计算机应用的最重要的方面之一,通过对新闻管理系统的开发一方面可以锻炼开发者软件开发的能力、增强实际应用能力;另一方面,设计一个简易的新闻管理系统用于新闻管理对于新闻馆管理员来说,无疑是一项具有重要意义的事务。本系统采用Active Server Pages(动态服务器主页)来设计的,通过交互的WEB应用技术的学习,提高对B/S系统的应用能力。
2.2 设计方法
系统采用快速原型法[6] 进行开发,即在分析阶段提取和分析用户的需求后,根据用户需求快速构造一个用户系统和工作模型,利用模型与用户交流,在交流中按用户的要求再对原型进行修改,从而逐步确认,直到目标系统的实现。
其开发过程可概括为:
2.3 设计思想
新闻管理系统的开发设计是从以下几点考虑的:
● 实用性:为读者提供新闻信息与为管理员提供方便的新闻管理环境
● 操作简单:系统应该适用于不同水平的使用者,操作简易
● 代码可读性:便于系统的维护和操作
● 应用ASP技术实现动态远程管理
系统的结构如图2.1 所示,多数页面都是通过ASP脚本程序直接访问数据库和文件系统。
图2.1 系统结构图
3. 需求分析
对于软件开发人员来说,他所设计的软件是否成功不仅仅取决于该软件能否正常运行,更重要的是看它能否更好地满足用户的需求。因此,在设计这个新闻管理系统之前,进行需求分析是非常必要的。
3.1 背景概述
随着信息时代的到来,人们对信息的需求越来越大,特别随着全球一体化的进程加快,使全球的新闻信息理加丰定富多彩。但由于时间与空间的隔阻,不能很好的使新闻信息传达到群众的手中,而且传统的阅读新闻的大多数为报纸,这样就对成本造成极大的浪费,使得新闻管理相对落后。解决这些问题的最好方法是实现管理的自动化,用计算机处理来帮助人们进行新闻管理。利用计算机中最为友好、最为方便的Windows界面进入系统,使用鼠标、键盘轻松地完成新闻信息的录入、浏览、查询等操作,更好的为用户提供阅读新闻的方便与快捷。
3.2 可行性分析
在开发任何一个系统之前都要对系统开发的可行性进行分析,目的是为了避免盲目投资,减少不必要的损失。可行性分析是在对当前系统有了初步了解的基础上完成的,主要从技术、经济和社会三个方面分析讨论开发系统的可行性。技术可行性是指在现有技术条件下能否满足所提出的系统开发要求,根据现有的计算机软硬件性能、环境条件、辅助设备、基础管理、技术人员的开发能力等方面来衡量现有技术条件能否达到系统目标所提出的要求。经济可行性是根据系统的要求,要实现系统的功能需要投入多少人力和物力资源,投入多少资金,从经济上分析工程是否合算可行。社会可行性是一些社会或人的因素对系统的影响,也就是说在具体的社会环境下,系统能否按照既定的设计方案顺利运转起来,社会可行性是人员、体制、社会环境所形成的限制条件进行研究,了解他们可能对目标系统建立所造成的影响。
从上面介绍的情况可以看出,开发新闻管理系统,实现新闻管理的计算机化是非常必要的,也是可行的。因为使用计算机化的新闻管理系统可以彻底改变管理工作的现状,能提高工作效率,能够提供更准确、及时、实用的信息,能够从根本上解决新闻管理中信息滞后、资源浪费等问题。
3.3 系统分析
第一步:对新闻管理系统进行详细调查,了解新闻管理的处理流程。新闻管理系统的流程一般是这样的,新闻管理分为两个部分,管理模块和读者模块。管理员对相关的新闻进行发布,修改,删除等管理,使网站很好的运行,为读者提供新闻信息。读者可以通过读者服务模块进行新闻信息查询与阅读。
第二步:抽象出新闻管理系统的结构模型,画出本设计的结构框架图。如图3.1所示: