




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在线教务辅导网:://教材其余课件及动画素材请查阅在线教务辅导网QQ:349134187或者直接输入下面地址:
第8章系统开发环境与工具
在系统开发过程中,选择好的开发环境与工具,对提高系统的开发效率和软件质量有直接作用。本章首先介绍信息系统集成的根本思想,再介绍CASE开发工具与平台和基于Web的信息系统的集成开发环境,旨在启发读者去熟悉信息系统的各种开发环境和工具。8.1信息系统的集成系统集成是为了到达系统目标将可利用的资源有效地组织起来的过程和结果。系统集成的结果是将部件或小系统联成大系统。单个微机一般不能算是系统集成,把多个微机用网络联接起来就可算是系统集成。把CAD(计算机辅助设计)、CAM(计算机辅助制造)和MIS联通,也属于系统集成,而且是比微机联网更高级的集成。集成在概念上绝不只是联通,而是有效的组织。有效的组织意味着系统中每个部件得到有效的利用,或者反过来说,为了到达系统的目标所耗的资源最少,包括开始的设备最少,和以后的运行消耗最少。系统集成是要到达系统的目标,这个目标总是要到达1+1>2,即系统的总效益大于各部件效益之总和。事实上对于信息系统而言,集成的系所完成的效益是每个分系统单独工作所无法完成的,因而是1+1>>2。系统集成非常重要。正像我们前面所述,如果没有系统集成各部件的效益均无法发挥。所以它成了实现系统效益的瓶颈。另外又在于它是系统上的系统,是复杂的系统,关系全局的系统,因而它影响面大。我国现在大多数企业的信息系统没有发挥应有的效益,企业买了各种各样的软件、硬件,可是没有发挥系统的作用,有的只把它当成一个人的打字机使用,这都是因为集成不好所致。8.1.1系统集成的分类像其他任何对象的分类一样,由不同的角度可以把系统集成分为不同的类型。按涉及的范围可将系统集成分为技术集成、信息集成、组织和人员集成和形象集成。按照系统优化的程度可将系统集成分为联通集成、共享集成和最优集成。按照具体程度分,可将系统集成分为概念集成、逻辑集成和物理集成。8.1.2优化程度的系统集成分类按优化程度可将系统集成分为联通集成、共享集成和最优集成。(1)联通集成顾名思义就是首先保证设备能互相联通。这个要求好似是出自网络的要求。尽管微机桌面处理,用户友好的软件以及一些通信设备能很好的工作,但联通的目标仍然是很难实现的。联通性〔connectivity〕是指计算机和计算机网络设备在无人干预的情况下相互通信和共享信息的性能。缺乏联通性的情况是很多的:·微机经常不能从主干机器或其他品牌的微机取得信息。·有些公司有多种系统,彼此不能通信。·由于各个国家有各自的通信标准,跨国公司很难建立其全球网络。联通性不只是联网而已,另外的一些性能也应具有。例如应用程序兼容,同样的软件可应用于不同的机器上;移植性,由老一代软件移植到新一代软件上;合作处理,利用主干机、部门机和微型机联网,解决同一个问题;信息兼容,在不同的硬件平台和软件应用程序间共享计算机文件;互用性,软件应用程序应用于不同的硬件平台,而又维护一样的用户界面和功能的能力。所以在一个大的计算机系统中联通性的要求是很多的.,当前的大多数系统均没有运到理想的程度。(2)共享集成是指整个系统的信息能为系统中所有用户所共享。这种要求看起来很容易做到,但实际上是很难的。一般来说这里应当有个共享的数据库,其内容为全组织共享,而且要维护到最新状态。除此之外,所有用户的数据在有必要时,也容易接受其他用户的访问。共享集成还可以包括应用软件的共享,在网络上提供很好的软件,用户容易应用或下载,不必要每台机器均独立安装许多软件等。(3)最优集成是最高水平的集成,理想的集成,这是很难到达的集成。一般只有在新建系统时才能到达。在新建系统时,很好了解系统目标,自顶向下,从全面到局部,进行规划;合理确实定系统的结构,从全局考虑各种设备和软件的购置:到达总经费最省,性能最好。实际上随着时间的推移,环境的改变,原来最优的系统,后来己偏移最优了。在开始设计时它是最优的,建成以后己不是最优了。所以最优系统实际上是相对的。追求最优的努力应该一直继续下去。8.1.3按涉及范围分类的系统集成按范围分类,可分为技术集成、信息集成、组织人员集成和形象集成。(1)技术集成主要要到达技术上的联通,解决技术上的问题。如合用性、可取性、响应时间、满足要求的功能,以及容易操作等。(2)信息集成要到达数据共享,要解决数据上的问题,如不正确性、过时、不适宜的单位、没有索引、不够合用和难以获得等。(3)组织人员集成是将系统融合于组织中,成为相互依赖不可缺少的局部,要解决人的问题。如系统难用,系统难学,系统总是工作不正常,系统总出错,系统难以预料等。系统难用,对组织来说,如不解决实际问题,不能和组织或人员配合解决问题,不能适应变化等。(4)形象集成说明将信息系统集成于企业形象之中,成为企业的骄傲。形象系统本身就是信息系统,信息系统也要注意自己的形象。往往一个企业信息系统应用很成功,但信息系统给人的形象很不好。如企业的主页没内容或不更新,企业的信息不那么容易得到,企业信息人员给人的形象不好,效劳不好等。这些不好的形象将会给客户一种印象,即企业的管理水平不高。从而使客户对企业的产品失去信心。信息系统也要时刻注意自己的形象,使之和企业的形象能在艺术上融合。8.1.4按照具体程度分类的系统集成按具体程度可将系统集成分为概念集成、逻辑集成和物理集成。形象地说概念集成是看不见摸不着的;逻辑集成是看得见摸不着的;而物理集成是看得见摸得着的。它们一个比一个更具体,但从重要性来说概念集成是最重要的,是决定一切的。概念集成是最高层抽象思维的集成。一般来说它是定性的艺术的,它确定了解决问题的总体思路。例如有个公司想搞自己的办公自动化,有的说照搬IBM;有的说照搬HP公司,至于到底仿照谁,很难用科学公式证明谁最好。这与该公司的环境关系很大,甚至与非技术环境关系也很大。例如这两家公司关系好,相互信任等。所以构成概念集成的依据是经验和知识,我们可以将这个过程用一个图来做概念上的说明,见图8-1现实问题的状况返回现实状况的表达逻辑集成概念集成逻辑表达匹配物理集成经验与知识索取规那么和公式
图8-1概念集成由图8-1我们可以看出,现实问题总要经过人的表达,根据这种表达提取经验与知识,接着就要进行概念的集成,首先是定性的给出解决问题的思路,有可能的话,给出定量的边界,勾画出系统集成的模型或框架。然后再利用深入的知识,包括规那么和公式,将其深化成为逻辑集成模型,利用逻辑集成模型和状况表达比较,以确定集成方案能否很好地解决这个问题,然后再进行物理集成和实现。只有由概念到逻辑,再到物理集成这条路,才能真正做到最优集成。8.1.5集成策略集成策略是进行集成的执行途径。往往由于集成策略的不正确,很好的集成思想无法得到实现。什么是集成策略,我们可以举几个例子说明。例如某个信息系统公司向用户推行其系统,其策略可能有以下几种:·共同开发用户介入到起动、开发以及集成各个阶段。·效劳于用户用户只介入起动和集成。·推向用户用户介入开发和集成。·卖给用户用户只介入集成。·征用用户用户只介入开发。由此我们可以看出不同策略差异会很大,不同策略将导致不同的结果。我们这里指的集成策略包括三阶段的组合:教育用户、系统装设、应用集成。
(1)教育用户是系统集成的最重要的阶段。首先是开发者和用户的沟通。使开发者了解和熟悉用户,让用户了解系统知识和信息技术的潜能。培训过程是思想接近的过程,培训过程是建立概念集成共识的过程,当然培训也包括知识传授的过程。教育方式不同,内容不同,将决定集成策略的成功与否。往往由于这个阶段准备缺乏而造成以后的夹生饭。(2)系统装设。这是技术集成、信息集成的主要阶段,它不仅要实现联通,而且要实现信息集成。这里既有总体上的问题,也有技术细节问题,即便一个很小的细节,例如汉字系统不兼容,也可能造成系统的巨大缺陷。这里也有许多具体的作法,组成不同的策略。
(3)应用集成这是组织集成、人员集成的主要阶段。通过这阶段做到组织和系统的无缝结合。组织和人员会感到系统使用得心应手,各种功能能得到开展。应用集成一般要规定一些评价指标,通过这些指标可以检验是否到达集成。这种衡量要涉及到系统、用户、环境和问题。要检验些什么呢?例如:系统对企业管理观念的改变,系统对企业运营过程的改变,系统对企业生产率的改善,以及系统本身的一些指标,如响应时间、运行本钱的改善等。8.2CASE开发工具与平台目前,CASE工具(ComputerAidedSoftwareEngineering,计算机辅助软件工程)已有不少。本节从CASE开发工具的概念出发,介绍开发工具的根本结构、根本功能、分类,典型的开发工具及一个具体的CASE工具。8.2.1软件开发工具的概念软件开发工具是一个比较新的技术领域。工具是指进行生产劳动时使用的器具,如锯、犁等等,也引伸为用以到达目的的事物,如语言是人们交流思想的工具;从字面上讲,软件工具是帮助人们开发软件的工具。开发软件当然离不开纸和笔,也离不开计算机硬件设备以及操作系统、汇编程序、编译系统等软件。但是,一般不把它们归入软件开发工具的范围。目前,软件开发工具是指在第三代语言根底上,在软件开发各个阶段帮助开发者提高工作质量和效率的一类新型软件。在理解这一概念时,我们强调:它是一种软件;它是继高级程序语言之后,软件技术进一步开展的产物;它的目的是在软件开发过程的不同方面给予人们不同程度的支持和帮助。在软件开发中,开发者所做的工作离硬件越来越远,而离用户越来越近。人们把更多的工作交给计算机去做,使自己解放出来。早期阶段,开发者把用户已经明确表达出来的算法,用机器语言写成一系列的机器指令,交给机器运行。机器指令是难以记忆的、枯燥的“0〞、“1〞字符串。这样的程序有如天书,读和写都很困难。汇编语言采用英语中有一定意义的单词或单词的缩写代替“0〞、“1〞字符串,向人类语言靠近了一步,而把汇编指令向机器指令的转换交给机器去完成,汇编语言这个"工具"减轻了人们开发软件的劳动强度。同时,操作系统的出现,把原来由操作员直接担负的大局部职责,如内存管理、作业管理、处理机管理等等,交给计算机系统管理,进不步改善了人们应用计算机的条件。高级程序设计语言更接近人类习惯的自然语言,它的出现是计算机广泛应用的条件之一。随着计算机在各行各业的广泛应用,处理的问题越来越复杂,软件开发的任务和性质发生了变化。因为高级语言不是人类的自然语言,不仅非专业程序员仍不易掌握,而且大型系统的编程对专业程序员也是繁重的负担。多数应用领域中的用户只能用本行业的方式表达他们的需求,这种表达与可以直接编程的算法还有很大差距。编写程序已经不是软件开发的主要工作,在编程之前,还有大量的工作要做。在大型软件系统的开发中,除需求分析、系统设计、编写程序之外,文档编写以及工程本身的管理也是十分繁重的任务。人们研制了种种开发工具,以期提高工作质量和效率,改变软件生产的手工业方式。8.2.2软件开发工具的类别可以从不同的角度对软件开发工具进行分类。按支持工作阶段的不同分类可以分为需求分析工具、设计工具、编码工具、测试工具、运行维持工具和工程管理工具。(1)需求分析工具需求分析工具是在系统分析阶段用来严格定义需求规格的工具,能将应用系统的逻辑模型清晰地表达出来。由于系统分析是系统开发过程中最困难的阶段,它的成功与否往往是决定系统成败的关键,因此需求分析工具应包括对分析的结果进行一致性和完整性检查,发现并排除错误的功能。属于系统分析阶段的工具主要包括数据流程图(DFD)绘制与分析工具、图形化的E-R图编辑和数据字典的生成工具、面向对象的模型与分析工具以及快速原型构造工具等。例如美国LogicWorks公司的ERwin和BPwin就是基于数据结构设计方法的双向的数据库设计工具,它能进行E-R图的绘制,直接生成各种数据库的关系模式,还能从现有的数据库应用系统生成相应的E-R图。(2)设计工具设计工具是用来进行系统设计的,将设计结果描述出来形成设计说明书,并检查设计说明书中是否有错误,然后找出并排除这些错误。其中属于总体设计的工具主要是系统结构图的设计工具;详细设计的工具主要有HIPO图工具、PDL支持工具、数据库设计工具及图形界面设计工具等。(3)编码工具在程序设计阶段,编码工具可以为程序员提供各种便利的编程作业环境。属于编码阶段的工具主要包括各种正文编辑器、常规的编译程序、链接程序、调试跟踪程序以及一些程序自动生成工具等,目前广泛使用的编程环境是这些工具的集成化环境。在数据库应用开发方面还有支持数据访问标准化的软件工具,比方美国INTERSOLV公司的ODBC(开放数据库互连方案)产品能支持多种异构数据源和各种操作系统,它提供的统一编程接口的开发环境防止了涉及访问和操作众多的DBMS的具体细节,使在某种平台上开发的DBMS应用可方便地移植到其他平台上并支持多达35种不同的数据源。(4)测试工具软件测试历来是软件质量的保证,它是为了发现错误而执行程序的过程。测试工具应能支持整个测试过程,包括测试用例的选择、测试程序与测试数据的生成、测试的执行及测试结果的评价,而目前很多应用系统是client/server(客户/效劳器)环境,实际环境中每个client站点的软硬件配置可能不同,而且在运行过程中,效劳器都有许多客户机并发访问,因此测试工具功能还应包括并发用户数对性能的影响、效劳器数据量对性能的影响、多个客户端应用对相互之间的冲突和死锁及网络配置对应用的影响等。属于测试阶段的工具有静态分析器、动态覆盖率测试器、测试用例生成器、测试报告生成器、测试程序自动生成器及环境模拟器等。在Windowsclient/server应用领域较出色的产品有美国SQA公司的SQASuite,其中SQATeamTest提供客户瑞图形用户界面(GUI)应用的自动化测试手段,SQAclient/server用于多用户并发运行情况下的测试。(5)运行维护工具运行维护的目的不仅是要保证系统的正常运行,使系统适应新的变化,更重要的是发现和解决性能障碍。属于软件运行维护阶段的工具主要包括支持逆向工程(reverse-engineering)或再造工程(reengineering)的反汇编程序及反编译程序、方便程序阅读和理解的程序结构分析器、源程序到程序流程图的自动转换工具、文档生成工具及系统日常运行管理和安时监控程序等。(6)工程管理工具软件工程管理贯穿系统开发生命周期的全过程,它包括对工程开发队伍或团体的组织和管理,以及在开发过程中各种标准、标准的实施。具体讲,有工程开发人员和本钱估算、工程开发方案、工程资源分配与调度、软件质量保证、版本控制、风险分析及工程状态报告和跟踪等内容。目前支持工程管理的常用工具有PERT图工具、Gantt图工具、软件本钱与人员估算建模及测算工具、软件质量分析与评价工具以及工程文档制作工具、报表生成工具等。在这个领域中INTERSOLV公司的产品PVCS就是一套标准的软件开发管理系统,它是一个集成环境,覆盖了开发管理领域的所有重要问题。按集成程度分类可以分为专用工具和集成化工具。专用工具是支持某一工作阶段或某一工作任务的,而集成化工具那么是支持软件开发全过程的。目前,多数工具是专用的,真正集成化工具不多。这反映出人们对软件开发工具的研究还处于十分初级的阶段。按与计算机系统的关系分类可以分为依赖于特定的计算机系统的工具与独立于计算机系统的工具。一般来说,设计工具往往是依赖于特定软件的,分析工具与方案工具那么往往独立于计算机。例如,ORACALE的代码生成器CASE所生成的代码必然是ORACALE的代码,而计算机系统HP/9000上的4GL生成的代码是在HP/9000上运行的代码。8.2.3软件开发工具的根本功能与一般结构软件开发工具的种类繁多。有的工具只是对软件开发过程的某一方面域某一个环节提供支持,有的对软件开发提供比较全面的支持。功能不同,结构当然也不同。我们以具有综合支持能力的工具为背景,讨论它应具备的功能和结构。1.根本功能软件开发工具的根本功能可以归纳为以下五个方面:(1)提供描述软件状况及其开发过程的概念模式,协助开发人员认识软件工作的环境与要求、管理软件开发的过程。(2)提供存储和管理有关信息的机制与手段。软件开发过程中涉及众多信息,结构复杂,开发工具要提供方便、有效的处理这些信息的手段和相应的人机界面。(3)帮助使用者编制、生成和修改各种文档。开发过程中大量的文字材料、表格、图形常常使人望而却步,人们企望得到开发工具的帮助。(4)生成代码,即帮助使用者编写程序代码,使用户能在较短时间内半自动地生成所需要的代码段落,进行测试和修改。(5)对历史信息进行跨生命周期的管理,即管理工程运行与版本更新的有关信息,以便于信息与资源的充分利用。完整的、一体化的开发工具应当具备上述功能。现有的多数工具往往只实现了其中的一局部。2.一般结构软件开发工具的一般结构如图8-2所示。总控局部及人机界面、信息库(repository)及其管理、代码生成及文档生成、工程管理及版本管理是构成软件开发工具的四大技术要素。(1)总控局部及人机界面。总控局部及人机界面是使用者和工具之间交流信息的桥梁。一个好的开发工具,不仅能帮助使用者完成具体的开发任务,而且能引导试用者熟悉和掌握科学的开发方法。人机界面的设计应遵循三条原那么:第一是面向用户的原那么。开发工具的用户主要是系统开发人员,必须充分考虑这些人员的使用要求和工作习惯。第二是保证各局部之间信息的准确传递。无论是由分散的软件工具集成为一体化的工具,还是有方案地统一开发的一体化工具,各局部之间信息的准确传递,都是正常工作的根底。实现信息的准确传递,在于信息的全面分析和统一规划。这与信息库的管理密切相关。第三是保证系统的开放性和灵活性。软件开发过程的复杂性决定了开发工具的多样性和可变性。因此,软件开发工具常常需要变更和组合,如果系统不具备足够的灵活性和开放性,就无法进行必要的剪裁和改造,它的使用也就有很大的局限性。用户总控人机界面系统状况设计成果运行状况工程版本使用查询一致性维护录入更新联机查询文档生成代码生成其他输出信息库管理信息库
图8-2软件开发工具的一般结构(2)信息库及其管理信息库也称为中心库、主库等。本意是用数据库技术存储和管理软件开发过程的信息。信息库是开发工具的根底。信息库存储系统开发过程中涉及四类信息。第一类是关于软件应用领域与环境状况(系统状况)的;包括有关实体及相互关系的描述,软件要处理的信息种类、格式、数量、流向,对软件的要求,使用者的情况、背景、工作目标、工作习惯,等等。这类信息主要用于分析、设计阶段,是第二类信息的原始材料。第二类是设计成果,包括逻辑设计和物理设计的成果,如数据流程图、数据字典、系统结构图、模块设计要求等等。第三类是运行状况的记录,包括运行效率、作用、用户反映、故障及其处理情况等。第四类是有关工程和版本管理的信息,这类信息是跨生命周期的,对于一次开发似乎作用不太大,但对于持续的、不断更新的系统那么十分重要。信息库的许多管理功能是一般数据库管理系统己经具备的,作为开发工具的根底,在以下两方面功能更强。一是信息之间逻辑联系识别与记录。例如,当数据字典中某一数据项发生变化时,相应的数据流程图也必须随之发生变化,为此,必须"记住"它们之间的逻辑联系。二是定量信息与文字信息的协调一致。信息库中除了数字型信息之外,还有大量的文字信息,这些不同形式的信息之间有密切的关系。信息库需要记录这些关系。例如,某个数字通过文档生成等功能写进了某个文字材料中,当这个数字发生变化时,利用这种关系从这个文字材料中找出这个数字并进行相应的修改;除此之外,历史信息的处理也是信息库管理的另一个难点。从开发工具的需要来讲,历史信息应尽可能保存。由于这些信息数量太大,而且格式往往不一致,其处理难度较大。(3)文档生成与代码生成除了通过屏幕对话之外,使用者从软件开发工具得到的主要帮助是生成代码和文档。文档生成器、代码生成器是早期开发工具的主体,在一体化的工具中也是不可缺少的组成局部。图8-2是代码生成器(codegenerator)的根本轮廓。生成代码依据三方面的材料:一是信息库中的资料,如系统的总体结构、各模块间的调用关系、根底的数据结构、屏幕的设计要求等等;二是各种标准模块的框架和构件,如报表由表名、表头、表体、表尾、附录组成,报表生成器就预先设置了一个生成报表的框架;三是通过屏幕输入的信息,例如生成一个报表,需要通过屏幕输人有关的名称、表的行数等参数。用户人机界面信息库管理模块代码生成器框架组件代码信息库
图8-2代码生成器代码生成器输出的代码可以是某种高级程序设计语言的代码或某种机器语言环境下的代码。输出高级程序设计语言的代码,使用者可以进一步修改加工,形成自己需要的程序。输出机器语言代码可以直接运行,但不能修改,对计算机软硬件环境的依赖性很大,所以这种方式不如前一种方式使用得多。需要强调的是:工具只能发挥帮助和支持的作用,不能完全代替人的工作。文档形成的功能比代码生成更复杂一些。文档是给人看的,必须符合人的工作习惯与要求,否那么没有实用价值。文档有文章、表格、图形三大类。表格比较容易按信息库当前的内容输出。随着计算机绘图功能越来越强,画图也不是困难问题了。文章最难处理。目前的文档生成器,大多数只能提供一个标准的框架,提醒人们完整地、准确地表达设计思想。(4)工程管理与版本管理工程管理与版本管理是跨生命周期的信息管理,关键是历史信息的处理。在大型软件开发过程中,各个阶段的信息要求不同。例如在系统分析时,重点是弄清系统的功能要求,对某些环境因素往往容易无视。到了系统设计阶段,可能发现某个因素对设计影响很大,但信息库中的内容不能满足要求,需要补充调查,这样,不仅影响进度,还必须对文档进行修改。针对这些情况,一些研究者提出了以工程数据库为中心来解决问题的思路。工程数据库记录工程进展的各种有关信息,如各阶段的预期进度、实际进展情况。工程负责人应随时掌握这些情况,发现问题,组织解决。关于版本的信息,主要内容有各版本的编号、功能改变、模块组成、文档状况、产生时间、用户数量、用户反映等。它也可以作为工程数据库的一局部来处理。8.2.4实用软件开发工具介绍下面简单介绍一些实用的开发工具:主要是系统实施阶段用于程序编制的开发工具。1.可视化编程工具。可视化编程工具的典型代表有VB(VisualBasic〕和Delphi,它们是Windows环境中最快的Windows用程序生成工具。可视语言和可视编程使用户只关心特定问题的解决,而不再被计算机及计算机语言所困扰,大大简化了程序员的编程。VB是第一个实用可视编程的工具。它除具有可视化编程环境的根本功能外,还包含功能强大的数据库管理功能,可以方便地创立数据库应用程序;它支持多用户,以面向事务方式对不同格式数据库进行存取,并率先支持对象链接与嵌人OLE及32位编程;它支持ODBC,并可嵌入SQL,大大减轻了编程工作。Delphi由BorlandPascal开展而来,继承其全功能平台特性,弥合不可视化与全功能平台之间的鸿沟。它具有编译效率高,可执行代码质量高等优点,在面向数据库根底上,可以开发出任何要求的应用程序,它可以同时与ODBC数据源(如Oracle,Sybase等)连接并访问数据,还可通过ODBC与其他一些数据连接。2.数据库管理系统开发工具及语言常用的DBMS主要面向关系型数据库,即RDBMS。RDBMS产品经历了从集中式到分布式、从单机环境到网络坏境、从支持信息管理和辅助决策到联机事务处理的开展过程。目前各种RDBMS产品的工具都己进入4GL及图、文、声、像并举的时代,快捷的应用开发工具和生成工具唾手可得,第三方数据库开发工具也是应有尽有。常用产品有Borland公司推出的dBASE5.OforWindows;Microsoft公司的、、等中小型应用数据库。有OracleIngres,Sybase,Imformix等功能完善、结构先进的大型DBMS;还有UNIFACE,Powerbuilder等架构在前类DBMS产品之上的,能提供更丰富的开发环境的第三方数据库开发工具,这类产品还具有一定的互连各厂家数据库产品的功能。dBASE5.OforWindows在原有强大的数据库操作及编程能力的根底上,加人面向对象的开发环境,提供Client/server应用程序开发能力,处理的数据类型包括声音、图像等二进制数据及OLE数据类型,可开发多媒体应用程序。它与DOS版的完全兼容,还提供工具将DOS应用程序转换为Windows应用程序。VisualFoxpro将可视化编程技术引人4GL语言编程环境,使数据库管理应用软件的开发更简捷。其面向对象编程技术的引入,增强了开发大型应用软件的能力,弥补了以前其他版本的缺陷。Powerbuilder是数据库应用开发的强大可视化工具,它由美国PowerSoft:公司按照Client/server体系结构研制设计,采用面向对象技术和图形化的应用开发环境,是数据库的前端开发工具。它同时支持各种数据库管理系统,其语言为PowerScript,是于个功能很强的类Base4GL语言,简单易学,开发人员可以不需精通其他专用语言而直接转向面向对象软件开发。该工具在国内使用很广,可以说是大型关系数据库前端应用软件的理想开发平台。如果制作多平台数据库应用软件,理想的开发工具是荷兰Uniface公司推出的UNIFACE。它作为第四代开发环境,可以开发出独立于硬件平台、操作系统及数据库和网络环境的应用软件,使应用程序透明地运行于传统的宿主式处理系统与Client/server结构体系之间,用户在本地工作站开发的应用程序可以不加修改地运行于网络系统中。其他各数据库厂商在自己的数据库产品上也提供有开发工具;但不具有普遍性,使用相对复杂,不灵活,针对性很强,所以应用面相对较窄。开发人员可以根据实际需求选择适宜的产品,以完成应用系统的开发。3.MIS生成工具在我国,随着计算机应用的深入普及,越来越多的单位希望能开发出适合本单位需求的计算机管理信息系统,但我们的MIS专业队伍不能满足日益扩大的需求,因此各种微机MIS应用生成工具大量涌现,如雅奇MIS、王特MIS等,它们的出现既提高了专业人员的开发速度,也使非专业人员自行开发一丝不太复杂的系统成为可能。这些生成工具具有共同的特点,一般都是基于DOS,Windows数据库管理系统,用户采用快速原型开发模式,在面向对象的可视化交互设计环境中,把自己业务范围的相关数据和功能用生成工具建立成数据库,选择、生成相应的功能构件(如窗口界面元素、录入维护、查询统计、报表计算打印、代码维护、封面设计等),最后,用挂接技术将数据库和功能构件封装起来,就生成了一个数据库应用系统。这类MIS应用生成工具与国外的产品相比具有一些优点,如中文处理能力强,报表输出符合国情,价格低廉,简单易用等。对于结构化较强、静态数据占主导地位的业务流程相对单纯的小型系统来说,利用它们可以收到较好的效果。但对于业务处理灵活,对数据库管理要求较高,或多个子系统关联密切的大型应用,目前的工具就不适用了。8.2.5一个case工具应用前面已经从整体上对CASE工具作了一个说明,本小节将介绍一个具体的工具一Intellicorp的LiveModel和PowerModel,两者合并叫Modelworks。Intellicorp最初发行的是专家系统。后改变方向,发行系统研制工具。于1991年发行了KappaSystems,一个面向对象的应用研制环境。1996年新版改名为PowerModel。后又于1994发行个可利用Kappa的面向对象集成工具,1996年新版改名为LiveModel。两者合并在一起,叫Modelworks。我们选用这两个软件是因为本书是讲信息系统开发与设计的,这两个软件连起来用,就提供了从系统分析直到实现(编程)的研制环境,而且更有关的是它们都是可视化、速成化和组件化的研制工具。PowerModelSystems是一个可视化、速成化和组件化的研制面向对象顾客/效劳者系统的环境,能产生C程序。PowerModel本身是一个优良的应用研制环境,同时也可作为中介软件,适用于把CASE工具、GUI构造程序以及DBMS集成在一起。PowerModel配有它自己的GUI构造程序,它产生的程序能跨平台地在UNIX和Windows下运行。它的第3版还能与C++成员方法(函数)交互操作。和其他可视化、速成化和组件化的应用研制环境一样,PowerModel己有一套性能强的GUI绘制工具。绘成GUI可在UNIX工作台上运行的XWindows和PC机上运行的Windows下完全地相互移植。新版PowerModel能在许多UNIX系统和Windows下运行;并可作为WorldWideWeb上的效劳者。PowerModel的体系结构是模块式的、分属的,其基层是核心层。包括一套核心功能程序,如对象管理程序、对象查询语言等;连同一全套的C语言API〔应用程序接口〕。基层上面的一层是研制层,其中有GUI构造程序,对象浏览程序以及交互的C.环境。最顶层那么为应用层,其中有研制者编制的类和方法(程序)以及各种类库,包括专门窗户系统用的一套GUI组件。这样分层,分模块的好处是,应用时只取用在执行时需要从系统中取用局部,从而就能得到小而有效灼程序。此外,这种开放的、模块式的设计便于扩充和易于修改。PowerModel实现了面向对象的根本原那么,支持多亲继承,核心层的对象管理程序可支持图形浏览,变互执行等。PowerModel的可视研制环境可使用图形洲览、交互执行,等等,快而好地把所需程序研制出来。这个可视研制环境是速成的、累增的、雏形演进的,也就是说,研制模型(雏形)是可执行的,能立即反响,听取用户意见。PowerModel用C语言和自制的Protalk两种语言。Protalk是一种高级语言;是吸取过程、面向对象和4GL三种语言之长而成的杂种语言,其语法是专为设计和使用PowerModel对象之用。实际上PowerModel是用Protalk来支持面向对象的。对象内方法可用C或Protalk编写。Protalk程序模块嵌套在C程序内,反之亦然。Protalk内有一套对象查询和对象模样匹配的有力引擎。提供像SQL对数据库的功能。Protalk内还有一个全功能的规那么系统供编程时编写业务规那么和公司政策。PowerModel可动态地生成SQL,把记录和表映射为PowerModel对象。关系数据库和PowerModel对象间可双向地交换数据。继PowerModel之后而发行的LiveModel,是一个利用PowerModel而建成的面向对象的CASE工具。它是反响当时CASE工艺水平的面向对象CASE工具,与PowerModel集成在一起就是全面从分析到实现的系统研制工具。它是用Martin和Odell的面向对象信息工程方法回来建立模型的。这个模型是用可视工具建立的,而且能马上执行;其反响信息甚至可以返回分析阶段去重复。建立的业务规那么也能执行,这些称便于设计以及分析阶段中反响,便于研制人员之间以及与用户交换意见。所以总起来讲,PowerModel是一个速成的、可视的和组件化的面向对象CASE工具。它可以用于单机系统的研制,更可以用于面向对象客户/效劳器系统的研制。LiveModel提供以下一套全面的面向对象工具,供使用不同的建模技术,来可视地建成一个应用的所有各方面。1.对象绘图器〔ObjectDiagrammer〕ObjectDiagrammer是用以图象建立对象,并规定他们之间的关系。它还能支持现有对象的再用。对象和类之间的关系中规定的有三种:即联系,概括和聚集。对象和类之间的这三种关系是规定必须可视地在图中表示出来的。至于对象和类的属性在需要时,也可列示出来,这样对象的定义就可以反复地进行。LiveModel中对象图立即能翻译成PowerModel中对象类层次结构图。2.事件绘图器〔EventDiagrammer〕EventDiagrammer是用以表示业务过程流,即业务过程、操作以及规那么之间的连接。业务过程用以下三个简单而易懂的元素来表示。1〕事件。事件是一种刺激,如顾客交来定货单,或雇佣一人员。一个事件启动一个触发器。2)触发器。触发器根据业务规那么决定要启动哪个操作。例如,在银行存款业务中,一个触发器可启动一个操作,来核对存户余额是否足够支付其提款。这类操作转过来又可启动其他事件。3〕操作,它是指一个可用C或Protalk编写的方法,或用GUI构造的程序,或用外部程序来实现的业务过程。用EventDiagrammer可直接把所需部件布置和连接起来,以建立业务过程流;而不考虑如何实现。跟着设计的演进,可把这个模型中的元素联系于实现的对象、方法、图像的数据输入屏等等。这个(事件)模型从建立之初就是“活动〞的,而且能执行。可用此模型来执行业务过程;并在设计演进过程中用它来核实设计是否符合要求;这种活动而且能执行的模型是一种速成的、可视的和组件的研制环境。3.业务规那么〔BusinessRules〕以及规那么编辑程序〔RuleEditor〕业务规那么中记载着有用的业务政策和决定。在传统的信息系统中,这些规那么都埋藏在应用程序之中,因而就不易识别和修改、在LiveModel中,业务规那么那么为可见而明显的对象。是用结构化英语编写的。业务规那么写成后,就立即从结构化英语翻译成Protalk;而且总是“活的〞且能执行。业务规那么是用规那么编辑程序编写并存挡的。规那么中每条短句均用其合法词组。规那么编辑程序即用这些合法词组的一个上下文有关的表来编造规那么。这个程序还提供注释项,供记载一个规那么的意义及其修改历史。4.测试〔Testing〕以及文档建立〔Documentation〕在整个研制过程中LiveModel所有的图都是“活的〞并能执行,能在研制的每阶段后,进行累增的测试。LiveModel中建成的各种图象业务模型,需要用一套测试数据,来核实其正确性。情节管理程序〔ScenarioManager〕就是用以建立和管理测试数据(实例)数据库,并用测试实例执行已建成的图象业务模型,以核实其正确性。在整个研制进程中,随时都可把测试情节加进数据库内。最后,这数据库就变成一个典型的和例外情况的实例的完备的库。分析员和研制人员用这套数据,测试各阶段的成果,就能保证演进中的程序符合各项要求。LiveModel大体是能自建文档的,它的ReportWriter〔报告编写程序〕能自动产生各种文档,包各有关领域的报告以及各种图表,同时还检查各图之内以及之间的一致性与完整性。一个面向对象的信息系统有它的静态结构与动态行为,静态结构中包括对象和类的属性(数据)、操作(静态行为)以及对象和类之间的关系。:动态行为中包括对象和类之间的消息传送以及对象和类自身因时而变的行为。LiveModel用ObjectDiagrammer以及BusinessRules和RuleEditor描述静态结构,而EventDiagrammer和ScenarioManager那么为动态行为的运行工具。而LiveModel和PowerModel连用,能生成C程序。目前应世的CASE工具商品软件各有其特色与专长。LiveModel作为CASE工具有其长处,也有缺乏。这里是用LiveModel作为速成的、可视的和组件的研制环境和工具的一个实际商品软件的例子。最后,在此需要说明可能被忽略的一点。有的CASE本身就是一个可视的和组件的研制环境与工具。现有的CASE工具商品软件中,有些是单机研制环境与工具,有些是客户/效劳器系统的研制环境与工具。8.3基于Web的信息系统的集成开发环境8.3.1概述虽然lnternet历史并不长,但由于它能够方便灵活地发布和浏览网络上的超媒体及多媒体信息,因得到了迅速开展。Internet站点和用户近几年都呈现指数增长,而internet信息量中,Web信息又占了绝对多数。目前,各类机构以及个人都纷纷建立Web站,向社会提供大量信息,同时也从Internet中获得大量信息。在早期的Internet中,Web信息以静态内容为主,Web效劳器的根本功能都是直截了当地完成的:根据浏览器的要求,效劳器查找文档,如果查到,就将其传输出去。当时大多数网站提供信息的方式是由用户通过客户浏览器与Web效劳器连接,然后用鼠标点击超链接以浏览相关页面。在此过程中,根本上是效劳器向客户端单方向的静态信息传递。随着内容的不断增长,用户对Web息效劳提出了更高的要求,促使Web技术向纵深开展。例如,在网上内容过多的情况下,用户要求能对网上信息进行检索;在某些情况下,如用户登记、用户留言中不仅要求效劳器能将信息发送给用户,也要求能将用户信息发送给效劳器;而Web务器本身是不能实现这些功能的。这是因为,Web信息是按HTML技术方式组织的,而HTML编程语言,只是一种描述语言。用HTML语言编制的文档本质上是静态的文本文件,它不能提供实时的动态信息,不能直接实现动态查询、统计等数据库应用,所以需要扩展Web效劳器的功能。Web技术与数据库技术的结合是Web技术开展的一个热点。将数据库技术与Web结合起来,可以使internet上的信息更加有序化、条理化,便于信息的组织、分类以及利用,同时也使internet中的个性化效劳成为可能。另一方面:internet使数据库的应用和管理突破传统模式的局限、增添新的活力和优势。基于Web的信息系统,是将数据库和Web技术结合,通过浏览器访问数据库并可实现动态的internet信息效劳系统。利用扩展技术和一些相应的软件将数据库和Web结合起来,在Web上提供用户访问和修改数据库的接口,用户就能通过浏览器在任何地方访问这些数据库。Web中访问数据库实际包括两个方面,一方面是用户的查询通过Web提交给数据库,另一方面是数据库将用户查询的结果通过Web返回给用户。一般过程是这样的:(l)用户通过填充浏览器上用HTML编写的表格来输入查询和数据请求。在此,用户可通过菜单项选择择,单击按钮,填写空白等来输入查询关键字或新的输入数据等。(2)接口程序将输入到表格中的信息提取出来,并组织成有效的SQL查询或其它数据库操作命令,随后将其发送到数据库后台。(3)接口程序在数据库引擎对数据进行处理后接收结果,并对结果进行组织,再以HTML格式将其传回到用户的浏览器上,显示给用户阅读。8.3.2基于Web的信息系统的特点在过去的十几年中,基于传统Client/Server结构的网络系统在各类信息系统的开发中起着举足轻重的作用。这类网络系统的特点是资源存放在效劳器端,客户端通过自己的应用程序存取资源。与以前的各类网络系统相比较,其优点是效劳器与客户端分工明确、界面友好、开发周期短,而且在设备的配置上有很大的灵活性。在中小规模而且相比照较简单的环境中,.这种结构的网络系统的优势非常突出,一直是人们进行系统开发的首选。但随着企业规模的日益扩大,应用程序复杂程度的不断提高,传统的Client/Server模式也逐渐显示出许多问题,在大规模且复杂的应用中,用这种模式进行系统开发往往事倍功半,无法满足用户的要求。主要表现在:1〕使用繁杂。在基于Client/Server模式建设的信息系统中,由于界面较专业化,用户要经过培训才能学会使用系统。而在实际中,许多用户尤其是领导,由于时间、接受能力等方面的原因难以去学习一个系统的使用,周而难以直接利用系统检查和管理工作。此外,不同开发者开发的用户界面风格很不一致,即使是同一开发者,在不同时期或用不同开发工具开发出的用户界面风格把很不一致,用户在学习使用一个系统后,再用另一个系统时需要重新学习。这既给系统的推广带来很大困难,也造成了时间和费用的浪费。2〕开发和维护复杂。在传统的基于Client/Server.模式的信息系统中,除了需要在效劳器端进行大量开发外,还要在客户端进行大量开发。这不仅给软件实现带来困难,还给软件维护造成不便。如果效劳器端应用(如数据库)作了变动,或者是客户端软件要增加新的功能或修改用户界面,那么所有用户机器上的客户端都必须作相应的修改,这样,软件的应用范围越广,软件的维护就越困难,开销也越大。在一些跨区域甚至是跨国的信息系统中,要实现这样的维护几乎是不可能的。3〕移植和升级困难。基于传统的Client/Server模式所采用的软件产品大都缺乏开放的标准,一般不能跨平台运行。如果企业内部存在多种平台,在一种平台上开发的应用,要想移植到另一平台上,需要对源代码进行大量修改并重新编译才再运行,有时甚至需要重新开发;在这类系统中,如果需要将系统软件或应用软件进行升级,那么必须单独开发,经移植然后升级。尽管目前有些应用开发工具如VB、PB等可以方便地开发一个图形界面的数据库前端,用来访问数据库;但它们开发的一般程序不能跨平台运行。4〕信息共享度低。基于Client/Server模式建设的信息系统,一般为封闭式系统,需要专门的客户端软件才能进人系统,不同的系统间无法交流。以往,企业在讨论某些问题时,需要将各部门的领导集中在一起,有时甚至需要把外地的人员召集过来;企业向上级汇报工作时,需要生成大量的报告和报表;企业向职工公布新的文件和管理规定时,需要开会或印发材料。这些都造成了严重浪费和低效率。Internet/Web可以比较圆满地解决上述问题。Client/Server是一种两层结构,即效劳器一层,客户端一层。而Internet/Web那么是一种高级三层结构,其中处在第二层的Web效劳器扮演两种角色,既是效劳器,又是客户端,对处于第一层的客户端浏览器而言,它是效劳器;对第三层即数据库效劳器而言,它又是客户端。在基于Internet/Web的系统中,各用户端计算机上安装相同的浏览器软件,网络另一端高性能计算机上安装运行Web效劳器软件和数据库管理系统。用户根据浏览器显示的Web页面信息,用鼠标点击,即可完成从浏览器向效劳器提交效劳请求的动作,这些请求包括对数据库的查询、修改、插人和删除等。效劳器端负责对请求进行处理,并将处理结果通过网络返回到浏览器端。基于Internet/Web的信息系统的特点如下:〔1〕使用简单。基于Internet/Web的信息系统使用很简单。一般无需培训。用户只要会用通用的浏览器,通过鼠标即可以访问文本、图像、声音、电影及数据库等信息,特别适合非计算机专业人员使用。企业领导检查部门的工作,只需要用鼠标点击相关内容的链接即可。不管什么应用,用户面对的都是一个浏览器,因而不存在使用不同系统重新学习的问题。〔2〕便于开发和维护。采用Internet/Web模式的系统,只需要开发和维护效劳器端应用程序。客户端安装一个通用的Web浏览器即可执行效劳器上相关的应用程序,不需要进行任何开发和维护。这既有利于开发和维护,又统一了用户界面。〔3〕保护企业投资。Internet/Web由于采用标准的TCP/IP、HTTP协议,使它几乎可以跨越当前的所有平台。任何平台上只要安装一个浏览器.就可以访问Web效劳器,用HTML、Java和JavaScript开发的应用,可以简单地移植到任何平台上,可与企业现有网络很好地结合。采用Web效劳器与数据库的连接技术,可以开发与数据库相关的应用,并可以充分利用企业原有数据库的内容。〔4〕信息共享度高。几乎各种操作系统上都有Web浏洲览器,所以,Internet/Web应用可以方便地实现跨平台操作。HTML是数据格式的一个开放标准,目前大多数流行的软件均支持HTML,MIME〔MultipurposeInternetMailExtension〕技术,使得浏览器可以访问多种格式文件。〔5〕可扩展性好。TCP/IP、HTTP的标准性使得Internet/Web模式可直接接入Internet,具有良好的扩展性。〔6〕平安性好。防火墙技术保证现代企业网络和信息的平安性。8.3.3Web与数据库接口技术Web与数据库的接口,也就是要实现Internet环境下对Web数据库的查询与管理,它一般由客户机、Web效劳器、Web数据库接口语言和数据库系统四局部组成,如图8-4所示。图8-4Web与数据库的接口Web客户机接口技术HTTP效劳器数据库客户机数据库系统图8-4是Web与数据库接口的根本结构图,在实际中,具体实现这种接口的方法有多种。如:Microsoft、Oracle、Sun等都开发了专用或公用的Web与数据库的接口技术。从Web数据库的接口的位置来看,我们大致可以将所有接口技术分为两类:一类是效劳器端接口;另一类是客户端接口。在前一种接口技术中,Web与数据库的接口在效劳器端完成,客户机将将请求发送给效劳器,Web效劳器根据客户需求对数据库进行操作,再将操作的结果格式化成相应的HTML页面发送给客户机,如CGI、ASP、PHP以及Oracle的HTP都是采用这种技术。其优点是开发与维护容易、平安性好。缺点一是效劳器负担较重,二是这类技术并没脱离HTML的范畴,本质上是一样的,因此其根本功能不超出HTML。后一种接口技术那么是在客户端实现Web与数据库的接口,它一般是在页面中参加一个插件,客户机将插件下载到本地后,再由插件来完成与数据库的交互。这类技术中最典型的是Java的JDBC,另外,ActiveX也采用了这种技术。这类技术的好处是减轻了效劳器的负担,而且使用灵活,功能强大,但缺点是开发起来比较困难,而且插件下载速度较慢。另外从Web效劳器与数据库效劳器的位置来看,又可把接口技术分为两类:一类是Web效劳器与数据库位于同一台主机上,这类接口包括Web效劳器与一些桌面数据库如ACCESS数据库连接,此时Web效劳器直接与数据库效劳器连接,还包括一些数据库如Oracle等对自身进行Web扩充而形成的Web效劳器,如:OracleWebServer,这种情况下,Web只能与一种数据库进行连接。一类接口那么是Web效劳器与数据库分别位于不同的主机,此时在有Web效劳器的主机上必须安装有关数据库效劳器的前端工作软件,Web:效劳器将通过它与数据库效劳器连接。在这种情况下,一个Web效劳器可以同时与不同的主机上的几个数据库效劳器连接。从Web与数据库接口实现的具体方法来分,接口技术分为以下四类:〔1〕通过CGI实现Web与数据库的接口。利用高级程序语言如VB、PERL、C等编写CGI程序直接访问数据库是实现Web与数据库的一种最主要的方法,它由用户在客户端填写HTML表单激活效劳器端的CGI程序来实现远程数据库访问。这种方法具有功能强大,易于维护的优点,而且很平安,但缺点是CGI编程比较复杂,且Web效劳器开销大。〔2〕利用Web效劳器具有的数据库客户功能实现Web数据库接口;如Microsoft的internetInformationServer〔IIS〕、Netscape的EnterpriseServer等。这类效劳器本身就具有提供远程用户访问本地数据库的功能,因此,实现起来比较简单,但其缺点在于它们并不能支持所有的数据库,而且缺乏灵活性、不易维护,有些Web效劳器对平台有严格的限制。(3)通过增强传统数据库的Web功能实现Web数据库接口。一些传统大型数据库为了适应数据库技术的开展,纷纷在其最新版本提供了与Web效劳器的接口。如Informix、Orocle等数据库。如果采用这些数据库,开发人员只需做少量工作,就可以实现Web数据库,且功能比较完善。但其缺点是数据库价格较高,操作复杂,不适合中小型用户。〔4〕运用Java语言实现Web数据库接口。作为一种专门用于因特网和Web环境、面向对象的编程语言,Java语言提供了一套完整的数据库连接方案,即所谓JDBC。客户机上的浏览器可以通过Web接收并运行含有解释器的Java小应用程序Applet,这样,原来完全依赖效劳器和CGI程序来处理的工作,就可由Applet在浏览器上来分担一局部。与ODBC类似的JDBC,是Java语言的SQLAPI,它支持Java与数据库的无缝连接。以上四种技术各有优缺点,在实际应用中,我们可以根据具体情况来确定使用哪一种技术。通过对各种接口技术的应用和比较,可以得出如表8-1所示的结果。目前,几乎所有的HTTP效劳器都支持CGI,它同时具有灵活性和通用性及可多种语言编程的特点,从而得到了广泛的应用。但是由于其运行效率较低及编程复杂的缺陷,增加了程序员和Web管理员的工作负担。API〔ApplicationProgramingInterface〕技术虽然运行效率高,但是这些API需要工作在专用Web效劳器和操作系统上,因而缺乏通用性。JDBC作为一种新的接口技术,由于其与平台的无关性,及Java语言在可移植性,平安性,可靠性等方面的优势,再加上目前所有的数据库厂商在其产品上均支持JDBC标准,因此,JDBC将会成为新的Web效劳器与数据库接口技术的标准,应用将日益广泛和普及。下面,我们将简要介绍现在应用比较多的两种基于Web的数据库开发技术ASP和PHP。有关具体应用详见相关书籍。表8-1各种接口的比较8.3.4Web与数据库的接口方法ASP〔ActiveServerPages〕其实是一套微软开发的效劳器端脚本环境,内含于和之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态,交互且高效的Web效劳器应用程序、有了ASP就不必担忧客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在效劳器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,效劳器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。以以下出ASP所独具的一些特点:1)使用VBscript、Jscript等简单易懂的脚本语言,结合HTML代冯,即可快速地完成网站的应用程序。2〕无需compile编译,容易编写,可在效劳器端直接执行。3〕使用普通的文本编辑器,如Windows记事本,即可进行编辑设计。4)与浏览器无关,用户端只要使用可执行HTML的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言均在Web效劳器端执行,用户端的浏览器不需要能够执行这些脚本语言。5〕ASP能与任何ActiveXScripting语言相容。除了可使用VBScript或JScript语言来设计外,还通过Plug-in的方式,使用由第三方所提供的其它脚本语言,比方REXX、PERL、TCL等。脚本引擎是处理脚本程序的COM(ComponentObjectModel)物件。6)ASP的源程序,不会被传到客户浏览器,因而可以防止所写的源程序被他人剽窃,也提高了程序的平安性。7)可使用效劳器端的脚本来产生客户端的脚本。8)面向对象(Object-oriented)。9)ActiveXServerComponents〔ActiveX效劳器元件〕具有无限可扩充性。可以使用VisualBasic、Java、VisualC++、COBOL等编程语言来编写你所需要的ActiveXServerComponents。PHP〔PersonalHypertextPreprocessor〕,即超文本预处理器,它是一种HTML内嵌式的效劳器端脚本语言。它混合了C、Java、Perl的语法,但能够比CGI或者Perl更快速地执行动态网页。与其它的交互式脚本语言相比,PHP具有非常显著的特点:首先,PHP大大加强了对数据库的交互能力,PHP为各种流行的数据库,包括Linux平台下的PostgreSQL、Msql、Mysql、Solid和Oracle,以及Windows平台下的SQLServer等,都设计了专门的函数。其次PHP的执行是跨越平台的。它可以在WindowsX、WindowsNT、Unix.或者Linux:环境下运行;可以非常方便地迁移程序。再次,PHP具有自由软件的特性,它的使用是免费的,用户可以自行自由使用,并根据自己的需求参加使用所需的功能。最后,PHP的功能非常丰富,从结构化的特性、对象式的设计、数据库的处理、网络接口使用到平安编码机制,它几乎包含了网站后台程序开发所需的所有功能。PHP最初是由一个叫RasmusLerdorf的程序设计员开始编写的。在1995年,他用PHP〔PersonalHypertextPreprocessor〕开始对外发表第一个版本。在这早期的版本中,仅仅提供了访客留言本、访客计数器等简单的功能。PHP出现后,随着开发小组成员的不断扩充,PHP也得到了较快的开展。同年,第2版的PHP问市,第2版定名为PHP/FI〔FormInterpreter〕,它加人了mSQL的支援,自此奠定了PHP在动态网页开发上的影响力。在1996年底,已经有15000个Web站点使用PHP/FI;在1997年时,使用PHP/FI的Web站点成长到超过5万个。1997年中,PHP开始了第3版的开发方案,开发小组参加了ZeevSuraski及AndiGutmans,而第3版就定名为PHP3。PHP的开展速度是惊人的,根据Netcraft在1999年10月的报告,有931122个域和321128个IP地址利用PHP技术。PHP的获得与安装。同其它动态网页的运行环境一样,PHP运行框架的构建也包括几个方面,即操作系统的选择、数据库效劳器的安装和配置、Web效劳器的安装和配制以及PHP的安装,等等。操作系统的选择对于用户而言是任意的,PHP可以根据自己的需求选择在不同的环境下安装,包括在WINDOWSX下的安装、在WindowsNT下的安装、在Unix下的安装和在Linux下的安装等几种情况。但对于目前大多数PHP用户而言,往往是使用Unix或者Linux作为安装平台,因为对于PHP的运行而言,在Unix或者Linux下运行效率是最高的。用户对于数据库效劳器的选择也没有很大的限制,用户可以选择dBase、dbm、filePro、InterBsae、MySQL、MicrosoftSQL、Sybase、Orcale、Informix、postgreSQL等。对于Web效劳器的选择,可以选择PWS(运行于Windows9X)、IIS(运行于WindowsNT)、OHTTPD(运行于多种操作系统)以及Apache(可运行于多种操作系统之下)等。另外,对PHP程序的获得,用户可以在PHP的官方网站://处下载。8.3.5几个Web开发工具介绍Web开发软件的产生和开展与Internet的开展密不可分,现在Web开发工具越来越多,功能也差异很大,这往往给程序开发人员选择适宜的Web工具带来了很大的困难。这里我们就介绍几种目前最流行的Web开发工具,希望能对读者有所帮助。1、VisualInterDevMicrosoft的产品一般都是只有在Windows环境中才具有最正确的执行效率,因此VisualInterDev〔VI〕也不例外。VI利用在WindowsNT效劳器上执行的InternetInformationServer〔IIS〕〔或在其它的Web效劳器上,利用协作厂商ChiliSoft所提供的扩展功能〕来利用ActiveServerPage〔ASP〕的技术。虽然VI同时支持Java及大局部的JavaScript功能,但它还是比较偏重于使用VisualBasic〔VB〕、VBScript及ActiveX等相关技术。此外,这个软件的数据库设计器〔DatabaseDesigner〕也只能与该公司推出的SQLServer数据库效劳器一起使用。VI集成了软件界龙头老大Microsoft阵营生产的各式各样的开发工具,这对那些使用WindowsNT操作系统的开发员来讲无疑是一个很好的消息。运行软件的集成开发环境〔IntegratedDevelopmentEnvironment;IDE〕将与Office97相似的操作风格与VisualC++及VisualJ++的设计功能完美的结合在一起。同及InternetExplorer一样,VI也是一个ActiveDocument〔Active文件〕的包容器程序〔container〕。程序开发者不用离开VI的IDE就能直接处理Excel、Word及其它具备ActiveDoc功能的文件。VI软件内置有ImageComposer、MusicProducter以及MediaManager三个程序,它们可以帮助开发人员处理各种各样的数据格式。当然用户也可以用鼠标双击指定的文件类型,或利用OpenWith?指令来翻开喜欢的应用软件〔如Photoshop〕以定制IDE的组态。VI套件中包含了FrontPage97HTML编辑器以及设计客户端Script程序的ScriptWizard──ScriptWizard最初是与ActiveXControlPad?共同推出的免费程序。ScriptWizard提供了拖放设计和直接编辑程序代码的功能,而且可自动产生VBScript或JScript的程序代码。在程序设计阶段程序员使用的ActiveX控制组件会与NT上的ASP核心模块通信并自动产生出效劳器端的Script语言。如可以使用DataFormWizard开发一个与数据库结合的HTML页面,这个页面可以修改通过ODBC连结的数据库中的任何记录。此外,利用两个设计阶段的控制组件──DataRange,你不必亲自撰写程序就能开发出操控连线作业〔session〕的程序代码。DataRangerHeader控制组件会启动QueryDesigner,而QueryDesigner那么提供设计工具让用户用拖放设计的方法对ODBC数据库建立SQL查询指令。程序所需的ActiveServerScript程序将可以自动产生。当然开发人员也有可能还需要手动编辑局部程序以便插入适当的数据库参数。当用户对某个URL提出效劳请求时,IIS的ASP核心模块会执行效劳器端的程序代码为用户翻开新的连线操作以及与后台的数据库通信,并且将所得的结果动态的转换为文字及HTML控制码输出。所有的原始程序都保存在效劳器上。用户可以在IDE中利用InternetExplorerActiveX控制组件或使用浏览器来预览所设计的页面。DataView功能让用户可以方便的管理与多个数据库的关连,?在关连连线上按下鼠标右键还能查看数据表定义〔tabledefinition〕、栏位类型〔fieldtype〕、键结构〔keystructure〕和存储过程〔storeprocedure〕等。DatabaseDesigner提供了与Access相似的设计工具,它还提供了能产生用以设计及建立SQL效劳器数据表及数据关系图的数据定义语言〔DataDefinitionLanguage;DDL〕。假设想查看整个站点的结构,只要切换到LinkView功能即可用图示的方式来相看整个站点的配置。页面中失效的链结〔brokenlink〕会以红线表示出来,?用户还可以根据可执行文件、HTML文件、多媒体文件以及内部、外部、主要〔primary〕及次要〔secondary〕连结的方式来过滤所有的元素。假假设用户更改文件名称或移动文件的位置,VI也会自动的更换参考到这个文件的链接。Microsoft的VisualSourceSafe可以集成到VI中以对文件进行读写操作及版本控制。2、HAHTsiteHAHTSoftware公司推出的HAHTsite在跨越多种操作平台、Web效劳器、数据库、API及浏览器等方面都有很好的表现。假设你喜欢VB及VisualStudio的集成开发环境,那么你马上就可以熟悉HAHTsite的与VB兼容的HAHTtalkBasic和WebProjectExplorer。此外,用户也可以使用HAHTtalkBasic来控制或建立任何一种Java对象类的变量。HAHTsite的ApplicationServer具备多处理〔multiprocess〕功能,而且它可以多线程〔multithread〕方式操作的。它所起的作用和Microsoft的IISASP核心模块很相似,它们都会拦截对效劳器上程序代码的调用并根据执行结果动态地产生出HTML页面。HAHTsite效劳器会利用cookie及状态识别码〔stateID〕,同时效劳器会将客户端浏览器的IP地址记录到状态识别码中。HAHTsite不但支持Microsoft的DAO数据库对象模型,同时也能通过原生〔驱动程序来访问Oracle7、MicrosoftSQLServer、SybaseSQLServer和Informix数据库等。HAHTsite的ConnectionManager允许同一个应用的每个组件共享同一个数据库连接。HAHTsite的集成开发环境提供了一系列的页面控制组件,包括textarea〔文字域〕、button〔按钮〕、checkbox〔检查框〕、radiobutton〔选项按钮〕、listbox〔列表盒〕、text〔文字〕、combobox〔复合方块〕以及DataSet控制组件,这个组件会连结页面控制组件和数据库中的数据表,同时提供数据插入〔Insert〕、更新〔Update〕、删除〔Delete〕、查询〔Query〕、再查询〔Requery〕、去除〔Clear〕及移动〔Move〕等功能。套件中的FormWizard能根据用户选定的数据表或输入的SQL查询指令以及给定的数据栏位、控制组件、按钮及版面配置等设置参量自动产生与数据库结合的HTML页面。套件中其它的向导软件还包括报表产生器以及可视化点击-拖拉〔click-and-drag〕控制方式产生HTML帧〔frame〕的工具。在HAHTsite的Widget设计阶段、文件存储阶段以及执行阶段,控制组件都能通过设计精灵以及内置的SDK的帮助,利用HAHTtalkBasic创立出来,用户也可以利用预建的小工具将Javaapplet、ActiveX控制组件、自动更新的页面浏览控制条〔link-navigationbar〕和寄信处理器〔mail-tohandler〕等加到自己的页面中。如果你设定了文字输入域〔text〕的属性,程序将会自动产生验证这个输入栏位的JavaScript程序代码。用户还可以从WebProjectExplorer中将页面的任何一部份剪下并存储成图形文件。另外,用户也可以将页面拉到?HAHTspot图象-映射〔image-map〕编辑器中,这样能够产生客户端或效劳器端的图象映射图。HAHTsite会更新失效的链结、将程序代码编译成与机器无关〔machine-independent〕的pcode,同时能通过文件复制、文件传输〔FTP〕或HTTP协议,将页面更新数据传送到单一或多个效劳器上。这个软件利用预先设置好的站点定义文件,来处理文件扩展名、数据储存路径、是否区别文件名的大小写和其它的相关信息,同时也管理各Web效劳器与操作系统之间的差异性。使用HAHTsite提供的调试器,用户不但可以在本地端的主机上使用VisualWebDebugger,也可以通过密码保护的TCP/IP连结从远程进行调试。3、CactusInformationBuilder的在跨平台支持方面有很大的改进,这个软件可以很将现有的客户机/效劳器及Web应用软
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 材料疲劳断裂影响因素研究重点基础知识点
- 食用油火灾应急处置预案(3篇)
- 火灾应急预案范文文库(3篇)
- 动态编程与递归解法试题及答案
- 网络管理员职业素养提升及试题答案
- 企业品牌建设与战略目标试题及答案
- 编程语言趋势及其对职业发展的影响试题及答案
- 2025年VB考试重要资料与试题及答案
- 网络管理员职业要求与考试试题答案
- 2025年软考增分技巧探讨试题及答案
- 骨科疑难病种清单(2021年版)
- 农村常用法律法规知识讲座课件(村干部培训)
- 电力工程电缆敷设记录表
- 调机品管理规定
- DB63∕T 1683-2018 青海省农牧区公共厕所工程建设标准
- 专题21 当代世界发展的特点与主要趋势含答案解析2023年山东历史新高考【3年真题+1年模考】
- 六年级下册数学课件--总复习《图形的运动》北师大版.--共20张PPT
- 加油站操作员职业技能鉴定试习题库(中级工版)
- 最新房地产开发预算表
- 弱电智能化物业人员人员培训记录
- 线性代数期末试题同济大学第五版附答案
评论
0/150
提交评论