




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
在線教務(wù)輔導(dǎo)網(wǎng):://教材其余課件及動(dòng)畫(huà)素材請(qǐng)查閱在線教務(wù)輔導(dǎo)網(wǎng)QQ:349134187或者直接輸入下面地址:
第8章系統(tǒng)開(kāi)發(fā)環(huán)境與工具
在系統(tǒng)開(kāi)發(fā)過(guò)程中,選擇好的開(kāi)發(fā)環(huán)境與工具,對(duì)提高系統(tǒng)的開(kāi)發(fā)效率和軟件質(zhì)量有直接作用。本章首先介紹信息系統(tǒng)集成的根本思想,再介紹CASE開(kāi)發(fā)工具與平臺(tái)和基于Web的信息系統(tǒng)的集成開(kāi)發(fā)環(huán)境,旨在啟發(fā)讀者去熟悉信息系統(tǒng)的各種開(kāi)發(fā)環(huán)境和工具。8.1信息系統(tǒng)的集成系統(tǒng)集成是為了到達(dá)系統(tǒng)目標(biāo)將可利用的資源有效地組織起來(lái)的過(guò)程和結(jié)果。系統(tǒng)集成的結(jié)果是將部件或小系統(tǒng)聯(lián)成大系統(tǒng)。單個(gè)微機(jī)一般不能算是系統(tǒng)集成,把多個(gè)微機(jī)用網(wǎng)絡(luò)聯(lián)接起來(lái)就可算是系統(tǒng)集成。把CAD(計(jì)算機(jī)輔助設(shè)計(jì))、CAM(計(jì)算機(jī)輔助制造)和MIS聯(lián)通,也屬于系統(tǒng)集成,而且是比微機(jī)聯(lián)網(wǎng)更高級(jí)的集成。集成在概念上絕不只是聯(lián)通,而是有效的組織。有效的組織意味著系統(tǒng)中每個(gè)部件得到有效的利用,或者反過(guò)來(lái)說(shuō),為了到達(dá)系統(tǒng)的目標(biāo)所耗的資源最少,包括開(kāi)始的設(shè)備最少,和以后的運(yùn)行消耗最少。系統(tǒng)集成是要到達(dá)系統(tǒng)的目標(biāo),這個(gè)目標(biāo)總是要到達(dá)1+1>2,即系統(tǒng)的總效益大于各部件效益之總和。事實(shí)上對(duì)于信息系統(tǒng)而言,集成的系所完成的效益是每個(gè)分系統(tǒng)單獨(dú)工作所無(wú)法完成的,因而是1+1>>2。系統(tǒng)集成非常重要。正像我們前面所述,如果沒(méi)有系統(tǒng)集成各部件的效益均無(wú)法發(fā)揮。所以它成了實(shí)現(xiàn)系統(tǒng)效益的瓶頸。另外又在于它是系統(tǒng)上的系統(tǒng),是復(fù)雜的系統(tǒng),關(guān)系全局的系統(tǒng),因而它影響面大。我國(guó)現(xiàn)在大多數(shù)企業(yè)的信息系統(tǒng)沒(méi)有發(fā)揮應(yīng)有的效益,企業(yè)買(mǎi)了各種各樣的軟件、硬件,可是沒(méi)有發(fā)揮系統(tǒng)的作用,有的只把它當(dāng)成一個(gè)人的打字機(jī)使用,這都是因?yàn)榧刹缓盟隆?.1.1系統(tǒng)集成的分類(lèi)像其他任何對(duì)象的分類(lèi)一樣,由不同的角度可以把系統(tǒng)集成分為不同的類(lèi)型。按涉及的范圍可將系統(tǒng)集成分為技術(shù)集成、信息集成、組織和人員集成和形象集成。按照系統(tǒng)優(yōu)化的程度可將系統(tǒng)集成分為聯(lián)通集成、共享集成和最優(yōu)集成。按照具體程度分,可將系統(tǒng)集成分為概念集成、邏輯集成和物理集成。8.1.2優(yōu)化程度的系統(tǒng)集成分類(lèi)按優(yōu)化程度可將系統(tǒng)集成分為聯(lián)通集成、共享集成和最優(yōu)集成。(1)聯(lián)通集成顧名思義就是首先保證設(shè)備能互相聯(lián)通。這個(gè)要求好似是出自網(wǎng)絡(luò)的要求。盡管微機(jī)桌面處理,用戶(hù)友好的軟件以及一些通信設(shè)備能很好的工作,但聯(lián)通的目標(biāo)仍然是很難實(shí)現(xiàn)的。聯(lián)通性〔connectivity〕是指計(jì)算機(jī)和計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備在無(wú)人干預(yù)的情況下相互通信和共享信息的性能。缺乏聯(lián)通性的情況是很多的:·微機(jī)經(jīng)常不能從主干機(jī)器或其他品牌的微機(jī)取得信息?!び行┕居卸喾N系統(tǒng),彼此不能通信?!び捎诟鱾€(gè)國(guó)家有各自的通信標(biāo)準(zhǔn),跨國(guó)公司很難建立其全球網(wǎng)絡(luò)。聯(lián)通性不只是聯(lián)網(wǎng)而已,另外的一些性能也應(yīng)具有。例如應(yīng)用程序兼容,同樣的軟件可應(yīng)用于不同的機(jī)器上;移植性,由老一代軟件移植到新一代軟件上;合作處理,利用主干機(jī)、部門(mén)機(jī)和微型機(jī)聯(lián)網(wǎng),解決同一個(gè)問(wèn)題;信息兼容,在不同的硬件平臺(tái)和軟件應(yīng)用程序間共享計(jì)算機(jī)文件;互用性,軟件應(yīng)用程序應(yīng)用于不同的硬件平臺(tái),而又維護(hù)一樣的用戶(hù)界面和功能的能力。所以在一個(gè)大的計(jì)算機(jī)系統(tǒng)中聯(lián)通性的要求是很多的.,當(dāng)前的大多數(shù)系統(tǒng)均沒(méi)有運(yùn)到理想的程度。(2)共享集成是指整個(gè)系統(tǒng)的信息能為系統(tǒng)中所有用戶(hù)所共享。這種要求看起來(lái)很容易做到,但實(shí)際上是很難的。一般來(lái)說(shuō)這里應(yīng)當(dāng)有個(gè)共享的數(shù)據(jù)庫(kù),其內(nèi)容為全組織共享,而且要維護(hù)到最新?tīng)顟B(tài)。除此之外,所有用戶(hù)的數(shù)據(jù)在有必要時(shí),也容易接受其他用戶(hù)的訪問(wèn)。共享集成還可以包括應(yīng)用軟件的共享,在網(wǎng)絡(luò)上提供很好的軟件,用戶(hù)容易應(yīng)用或下載,不必要每臺(tái)機(jī)器均獨(dú)立安裝許多軟件等。(3)最優(yōu)集成是最高水平的集成,理想的集成,這是很難到達(dá)的集成。一般只有在新建系統(tǒng)時(shí)才能到達(dá)。在新建系統(tǒng)時(shí),很好了解系統(tǒng)目標(biāo),自頂向下,從全面到局部,進(jìn)行規(guī)劃;合理確實(shí)定系統(tǒng)的結(jié)構(gòu),從全局考慮各種設(shè)備和軟件的購(gòu)置:到達(dá)總經(jīng)費(fèi)最省,性能最好。實(shí)際上隨著時(shí)間的推移,環(huán)境的改變,原來(lái)最優(yōu)的系統(tǒng),后來(lái)己偏移最優(yōu)了。在開(kāi)始設(shè)計(jì)時(shí)它是最優(yōu)的,建成以后己不是最優(yōu)了。所以最優(yōu)系統(tǒng)實(shí)際上是相對(duì)的。追求最優(yōu)的努力應(yīng)該一直繼續(xù)下去。8.1.3按涉及范圍分類(lèi)的系統(tǒng)集成按范圍分類(lèi),可分為技術(shù)集成、信息集成、組織人員集成和形象集成。(1)技術(shù)集成主要要到達(dá)技術(shù)上的聯(lián)通,解決技術(shù)上的問(wèn)題。如合用性、可取性、響應(yīng)時(shí)間、滿(mǎn)足要求的功能,以及容易操作等。(2)信息集成要到達(dá)數(shù)據(jù)共享,要解決數(shù)據(jù)上的問(wèn)題,如不正確性、過(guò)時(shí)、不適宜的單位、沒(méi)有索引、不夠合用和難以獲得等。(3)組織人員集成是將系統(tǒng)融合于組織中,成為相互依賴(lài)不可缺少的局部,要解決人的問(wèn)題。如系統(tǒng)難用,系統(tǒng)難學(xué),系統(tǒng)總是工作不正常,系統(tǒng)總出錯(cuò),系統(tǒng)難以預(yù)料等。系統(tǒng)難用,對(duì)組織來(lái)說(shuō),如不解決實(shí)際問(wèn)題,不能和組織或人員配合解決問(wèn)題,不能適應(yīng)變化等。(4)形象集成說(shuō)明將信息系統(tǒng)集成于企業(yè)形象之中,成為企業(yè)的驕傲。形象系統(tǒng)本身就是信息系統(tǒng),信息系統(tǒng)也要注意自己的形象。往往一個(gè)企業(yè)信息系統(tǒng)應(yīng)用很成功,但信息系統(tǒng)給人的形象很不好。如企業(yè)的主頁(yè)沒(méi)內(nèi)容或不更新,企業(yè)的信息不那么容易得到,企業(yè)信息人員給人的形象不好,效勞不好等。這些不好的形象將會(huì)給客戶(hù)一種印象,即企業(yè)的管理水平不高。從而使客戶(hù)對(duì)企業(yè)的產(chǎn)品失去信心。信息系統(tǒng)也要時(shí)刻注意自己的形象,使之和企業(yè)的形象能在藝術(shù)上融合。8.1.4按照具體程度分類(lèi)的系統(tǒng)集成按具體程度可將系統(tǒng)集成分為概念集成、邏輯集成和物理集成。形象地說(shuō)概念集成是看不見(jiàn)摸不著的;邏輯集成是看得見(jiàn)摸不著的;而物理集成是看得見(jiàn)摸得著的。它們一個(gè)比一個(gè)更具體,但從重要性來(lái)說(shuō)概念集成是最重要的,是決定一切的。概念集成是最高層抽象思維的集成。一般來(lái)說(shuō)它是定性的藝術(shù)的,它確定了解決問(wèn)題的總體思路。例如有個(gè)公司想搞自己的辦公自動(dòng)化,有的說(shuō)照搬IBM;有的說(shuō)照搬HP公司,至于到底仿照誰(shuí),很難用科學(xué)公式證明誰(shuí)最好。這與該公司的環(huán)境關(guān)系很大,甚至與非技術(shù)環(huán)境關(guān)系也很大。例如這兩家公司關(guān)系好,相互信任等。所以構(gòu)成概念集成的依據(jù)是經(jīng)驗(yàn)和知識(shí),我們可以將這個(gè)過(guò)程用一個(gè)圖來(lái)做概念上的說(shuō)明,見(jiàn)圖8-1現(xiàn)實(shí)問(wèn)題的狀況返回現(xiàn)實(shí)狀況的表達(dá)邏輯集成概念集成邏輯表達(dá)匹配物理集成經(jīng)驗(yàn)與知識(shí)索取規(guī)那么和公式
圖8-1概念集成由圖8-1我們可以看出,現(xiàn)實(shí)問(wèn)題總要經(jīng)過(guò)人的表達(dá),根據(jù)這種表達(dá)提取經(jīng)驗(yàn)與知識(shí),接著就要進(jìn)行概念的集成,首先是定性的給出解決問(wèn)題的思路,有可能的話,給出定量的邊界,勾畫(huà)出系統(tǒng)集成的模型或框架。然后再利用深入的知識(shí),包括規(guī)那么和公式,將其深化成為邏輯集成模型,利用邏輯集成模型和狀況表達(dá)比較,以確定集成方案能否很好地解決這個(gè)問(wèn)題,然后再進(jìn)行物理集成和實(shí)現(xiàn)。只有由概念到邏輯,再到物理集成這條路,才能真正做到最優(yōu)集成。8.1.5集成策略集成策略是進(jìn)行集成的執(zhí)行途徑。往往由于集成策略的不正確,很好的集成思想無(wú)法得到實(shí)現(xiàn)。什么是集成策略,我們可以舉幾個(gè)例子說(shuō)明。例如某個(gè)信息系統(tǒng)公司向用戶(hù)推行其系統(tǒng),其策略可能有以下幾種:·共同開(kāi)發(fā)用戶(hù)介入到起動(dòng)、開(kāi)發(fā)以及集成各個(gè)階段。·效勞于用戶(hù)用戶(hù)只介入起動(dòng)和集成?!ね葡蛴脩?hù)用戶(hù)介入開(kāi)發(fā)和集成?!べu(mài)給用戶(hù)用戶(hù)只介入集成?!ふ饔糜脩?hù)用戶(hù)只介入開(kāi)發(fā)。由此我們可以看出不同策略差異會(huì)很大,不同策略將導(dǎo)致不同的結(jié)果。我們這里指的集成策略包括三階段的組合:教育用戶(hù)、系統(tǒng)裝設(shè)、應(yīng)用集成。
(1)教育用戶(hù)是系統(tǒng)集成的最重要的階段。首先是開(kāi)發(fā)者和用戶(hù)的溝通。使開(kāi)發(fā)者了解和熟悉用戶(hù),讓用戶(hù)了解系統(tǒng)知識(shí)和信息技術(shù)的潛能。培訓(xùn)過(guò)程是思想接近的過(guò)程,培訓(xùn)過(guò)程是建立概念集成共識(shí)的過(guò)程,當(dāng)然培訓(xùn)也包括知識(shí)傳授的過(guò)程。教育方式不同,內(nèi)容不同,將決定集成策略的成功與否。往往由于這個(gè)階段準(zhǔn)備缺乏而造成以后的夾生飯。(2)系統(tǒng)裝設(shè)。這是技術(shù)集成、信息集成的主要階段,它不僅要實(shí)現(xiàn)聯(lián)通,而且要實(shí)現(xiàn)信息集成。這里既有總體上的問(wèn)題,也有技術(shù)細(xì)節(jié)問(wèn)題,即便一個(gè)很小的細(xì)節(jié),例如漢字系統(tǒng)不兼容,也可能造成系統(tǒng)的巨大缺陷。這里也有許多具體的作法,組成不同的策略。
(3)應(yīng)用集成這是組織集成、人員集成的主要階段。通過(guò)這階段做到組織和系統(tǒng)的無(wú)縫結(jié)合。組織和人員會(huì)感到系統(tǒng)使用得心應(yīng)手,各種功能能得到開(kāi)展。應(yīng)用集成一般要規(guī)定一些評(píng)價(jià)指標(biāo),通過(guò)這些指標(biāo)可以檢驗(yàn)是否到達(dá)集成。這種衡量要涉及到系統(tǒng)、用戶(hù)、環(huán)境和問(wèn)題。要檢驗(yàn)些什么呢?例如:系統(tǒng)對(duì)企業(yè)管理觀念的改變,系統(tǒng)對(duì)企業(yè)運(yùn)營(yíng)過(guò)程的改變,系統(tǒng)對(duì)企業(yè)生產(chǎn)率的改善,以及系統(tǒng)本身的一些指標(biāo),如響應(yīng)時(shí)間、運(yùn)行本錢(qián)的改善等。8.2CASE開(kāi)發(fā)工具與平臺(tái)目前,CASE工具(ComputerAidedSoftwareEngineering,計(jì)算機(jī)輔助軟件工程)已有不少。本節(jié)從CASE開(kāi)發(fā)工具的概念出發(fā),介紹開(kāi)發(fā)工具的根本結(jié)構(gòu)、根本功能、分類(lèi),典型的開(kāi)發(fā)工具及一個(gè)具體的CASE工具。8.2.1軟件開(kāi)發(fā)工具的概念軟件開(kāi)發(fā)工具是一個(gè)比較新的技術(shù)領(lǐng)域。工具是指進(jìn)行生產(chǎn)勞動(dòng)時(shí)使用的器具,如鋸、犁等等,也引伸為用以到達(dá)目的的事物,如語(yǔ)言是人們交流思想的工具;從字面上講,軟件工具是幫助人們開(kāi)發(fā)軟件的工具。開(kāi)發(fā)軟件當(dāng)然離不開(kāi)紙和筆,也離不開(kāi)計(jì)算機(jī)硬件設(shè)備以及操作系統(tǒng)、匯編程序、編譯系統(tǒng)等軟件。但是,一般不把它們歸入軟件開(kāi)發(fā)工具的范圍。目前,軟件開(kāi)發(fā)工具是指在第三代語(yǔ)言根底上,在軟件開(kāi)發(fā)各個(gè)階段幫助開(kāi)發(fā)者提高工作質(zhì)量和效率的一類(lèi)新型軟件。在理解這一概念時(shí),我們強(qiáng)調(diào):它是一種軟件;它是繼高級(jí)程序語(yǔ)言之后,軟件技術(shù)進(jìn)一步開(kāi)展的產(chǎn)物;它的目的是在軟件開(kāi)發(fā)過(guò)程的不同方面給予人們不同程度的支持和幫助。在軟件開(kāi)發(fā)中,開(kāi)發(fā)者所做的工作離硬件越來(lái)越遠(yuǎn),而離用戶(hù)越來(lái)越近。人們把更多的工作交給計(jì)算機(jī)去做,使自己解放出來(lái)。早期階段,開(kāi)發(fā)者把用戶(hù)已經(jīng)明確表達(dá)出來(lái)的算法,用機(jī)器語(yǔ)言寫(xiě)成一系列的機(jī)器指令,交給機(jī)器運(yùn)行。機(jī)器指令是難以記憶的、枯燥的“0〞、“1〞字符串。這樣的程序有如天書(shū),讀和寫(xiě)都很困難。匯編語(yǔ)言采用英語(yǔ)中有一定意義的單詞或單詞的縮寫(xiě)代替“0〞、“1〞字符串,向人類(lèi)語(yǔ)言靠近了一步,而把匯編指令向機(jī)器指令的轉(zhuǎn)換交給機(jī)器去完成,匯編語(yǔ)言這個(gè)"工具"減輕了人們開(kāi)發(fā)軟件的勞動(dòng)強(qiáng)度。同時(shí),操作系統(tǒng)的出現(xiàn),把原來(lái)由操作員直接擔(dān)負(fù)的大局部職責(zé),如內(nèi)存管理、作業(yè)管理、處理機(jī)管理等等,交給計(jì)算機(jī)系統(tǒng)管理,進(jìn)不步改善了人們應(yīng)用計(jì)算機(jī)的條件。高級(jí)程序設(shè)計(jì)語(yǔ)言更接近人類(lèi)習(xí)慣的自然語(yǔ)言,它的出現(xiàn)是計(jì)算機(jī)廣泛應(yīng)用的條件之一。隨著計(jì)算機(jī)在各行各業(yè)的廣泛應(yīng)用,處理的問(wèn)題越來(lái)越復(fù)雜,軟件開(kāi)發(fā)的任務(wù)和性質(zhì)發(fā)生了變化。因?yàn)楦呒?jí)語(yǔ)言不是人類(lèi)的自然語(yǔ)言,不僅非專(zhuān)業(yè)程序員仍不易掌握,而且大型系統(tǒng)的編程對(duì)專(zhuān)業(yè)程序員也是繁重的負(fù)擔(dān)。多數(shù)應(yīng)用領(lǐng)域中的用戶(hù)只能用本行業(yè)的方式表達(dá)他們的需求,這種表達(dá)與可以直接編程的算法還有很大差距。編寫(xiě)程序已經(jīng)不是軟件開(kāi)發(fā)的主要工作,在編程之前,還有大量的工作要做。在大型軟件系統(tǒng)的開(kāi)發(fā)中,除需求分析、系統(tǒng)設(shè)計(jì)、編寫(xiě)程序之外,文檔編寫(xiě)以及工程本身的管理也是十分繁重的任務(wù)。人們研制了種種開(kāi)發(fā)工具,以期提高工作質(zhì)量和效率,改變軟件生產(chǎn)的手工業(yè)方式。8.2.2軟件開(kāi)發(fā)工具的類(lèi)別可以從不同的角度對(duì)軟件開(kāi)發(fā)工具進(jìn)行分類(lèi)。按支持工作階段的不同分類(lèi)可以分為需求分析工具、設(shè)計(jì)工具、編碼工具、測(cè)試工具、運(yùn)行維持工具和工程管理工具。(1)需求分析工具需求分析工具是在系統(tǒng)分析階段用來(lái)嚴(yán)格定義需求規(guī)格的工具,能將應(yīng)用系統(tǒng)的邏輯模型清晰地表達(dá)出來(lái)。由于系統(tǒng)分析是系統(tǒng)開(kāi)發(fā)過(guò)程中最困難的階段,它的成功與否往往是決定系統(tǒng)成敗的關(guān)鍵,因此需求分析工具應(yīng)包括對(duì)分析的結(jié)果進(jìn)行一致性和完整性檢查,發(fā)現(xiàn)并排除錯(cuò)誤的功能。屬于系統(tǒng)分析階段的工具主要包括數(shù)據(jù)流程圖(DFD)繪制與分析工具、圖形化的E-R圖編輯和數(shù)據(jù)字典的生成工具、面向?qū)ο蟮哪P团c分析工具以及快速原型構(gòu)造工具等。例如美國(guó)LogicWorks公司的ERwin和BPwin就是基于數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)方法的雙向的數(shù)據(jù)庫(kù)設(shè)計(jì)工具,它能進(jìn)行E-R圖的繪制,直接生成各種數(shù)據(jù)庫(kù)的關(guān)系模式,還能從現(xiàn)有的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)生成相應(yīng)的E-R圖。(2)設(shè)計(jì)工具設(shè)計(jì)工具是用來(lái)進(jìn)行系統(tǒng)設(shè)計(jì)的,將設(shè)計(jì)結(jié)果描述出來(lái)形成設(shè)計(jì)說(shuō)明書(shū),并檢查設(shè)計(jì)說(shuō)明書(shū)中是否有錯(cuò)誤,然后找出并排除這些錯(cuò)誤。其中屬于總體設(shè)計(jì)的工具主要是系統(tǒng)結(jié)構(gòu)圖的設(shè)計(jì)工具;詳細(xì)設(shè)計(jì)的工具主要有HIPO圖工具、PDL支持工具、數(shù)據(jù)庫(kù)設(shè)計(jì)工具及圖形界面設(shè)計(jì)工具等。(3)編碼工具在程序設(shè)計(jì)階段,編碼工具可以為程序員提供各種便利的編程作業(yè)環(huán)境。屬于編碼階段的工具主要包括各種正文編輯器、常規(guī)的編譯程序、鏈接程序、調(diào)試跟蹤程序以及一些程序自動(dòng)生成工具等,目前廣泛使用的編程環(huán)境是這些工具的集成化環(huán)境。在數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)方面還有支持?jǐn)?shù)據(jù)訪問(wèn)標(biāo)準(zhǔn)化的軟件工具,比方美國(guó)INTERSOLV公司的ODBC(開(kāi)放數(shù)據(jù)庫(kù)互連方案)產(chǎn)品能支持多種異構(gòu)數(shù)據(jù)源和各種操作系統(tǒng),它提供的統(tǒng)一編程接口的開(kāi)發(fā)環(huán)境防止了涉及訪問(wèn)和操作眾多的DBMS的具體細(xì)節(jié),使在某種平臺(tái)上開(kāi)發(fā)的DBMS應(yīng)用可方便地移植到其他平臺(tái)上并支持多達(dá)35種不同的數(shù)據(jù)源。(4)測(cè)試工具軟件測(cè)試歷來(lái)是軟件質(zhì)量的保證,它是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。測(cè)試工具應(yīng)能支持整個(gè)測(cè)試過(guò)程,包括測(cè)試用例的選擇、測(cè)試程序與測(cè)試數(shù)據(jù)的生成、測(cè)試的執(zhí)行及測(cè)試結(jié)果的評(píng)價(jià),而目前很多應(yīng)用系統(tǒng)是client/server(客戶(hù)/效勞器)環(huán)境,實(shí)際環(huán)境中每個(gè)client站點(diǎn)的軟硬件配置可能不同,而且在運(yùn)行過(guò)程中,效勞器都有許多客戶(hù)機(jī)并發(fā)訪問(wèn),因此測(cè)試工具功能還應(yīng)包括并發(fā)用戶(hù)數(shù)對(duì)性能的影響、效勞器數(shù)據(jù)量對(duì)性能的影響、多個(gè)客戶(hù)端應(yīng)用對(duì)相互之間的沖突和死鎖及網(wǎng)絡(luò)配置對(duì)應(yīng)用的影響等。屬于測(cè)試階段的工具有靜態(tài)分析器、動(dòng)態(tài)覆蓋率測(cè)試器、測(cè)試用例生成器、測(cè)試報(bào)告生成器、測(cè)試程序自動(dòng)生成器及環(huán)境模擬器等。在Windowsclient/server應(yīng)用領(lǐng)域較出色的產(chǎn)品有美國(guó)SQA公司的SQASuite,其中SQATeamTest提供客戶(hù)瑞圖形用戶(hù)界面(GUI)應(yīng)用的自動(dòng)化測(cè)試手段,SQAclient/server用于多用戶(hù)并發(fā)運(yùn)行情況下的測(cè)試。(5)運(yùn)行維護(hù)工具運(yùn)行維護(hù)的目的不僅是要保證系統(tǒng)的正常運(yùn)行,使系統(tǒng)適應(yīng)新的變化,更重要的是發(fā)現(xiàn)和解決性能障礙。屬于軟件運(yùn)行維護(hù)階段的工具主要包括支持逆向工程(reverse-engineering)或再造工程(reengineering)的反匯編程序及反編譯程序、方便程序閱讀和理解的程序結(jié)構(gòu)分析器、源程序到程序流程圖的自動(dòng)轉(zhuǎn)換工具、文檔生成工具及系統(tǒng)日常運(yùn)行管理和安時(shí)監(jiān)控程序等。(6)工程管理工具軟件工程管理貫穿系統(tǒng)開(kāi)發(fā)生命周期的全過(guò)程,它包括對(duì)工程開(kāi)發(fā)隊(duì)伍或團(tuán)體的組織和管理,以及在開(kāi)發(fā)過(guò)程中各種標(biāo)準(zhǔn)、標(biāo)準(zhǔn)的實(shí)施。具體講,有工程開(kāi)發(fā)人員和本錢(qián)估算、工程開(kāi)發(fā)方案、工程資源分配與調(diào)度、軟件質(zhì)量保證、版本控制、風(fēng)險(xiǎn)分析及工程狀態(tài)報(bào)告和跟蹤等內(nèi)容。目前支持工程管理的常用工具有PERT圖工具、Gantt圖工具、軟件本錢(qián)與人員估算建模及測(cè)算工具、軟件質(zhì)量分析與評(píng)價(jià)工具以及工程文檔制作工具、報(bào)表生成工具等。在這個(gè)領(lǐng)域中INTERSOLV公司的產(chǎn)品PVCS就是一套標(biāo)準(zhǔn)的軟件開(kāi)發(fā)管理系統(tǒng),它是一個(gè)集成環(huán)境,覆蓋了開(kāi)發(fā)管理領(lǐng)域的所有重要問(wèn)題。按集成程度分類(lèi)可以分為專(zhuān)用工具和集成化工具。專(zhuān)用工具是支持某一工作階段或某一工作任務(wù)的,而集成化工具那么是支持軟件開(kāi)發(fā)全過(guò)程的。目前,多數(shù)工具是專(zhuān)用的,真正集成化工具不多。這反映出人們對(duì)軟件開(kāi)發(fā)工具的研究還處于十分初級(jí)的階段。按與計(jì)算機(jī)系統(tǒng)的關(guān)系分類(lèi)可以分為依賴(lài)于特定的計(jì)算機(jī)系統(tǒng)的工具與獨(dú)立于計(jì)算機(jī)系統(tǒng)的工具。一般來(lái)說(shuō),設(shè)計(jì)工具往往是依賴(lài)于特定軟件的,分析工具與方案工具那么往往獨(dú)立于計(jì)算機(jī)。例如,ORACALE的代碼生成器CASE所生成的代碼必然是ORACALE的代碼,而計(jì)算機(jī)系統(tǒng)HP/9000上的4GL生成的代碼是在HP/9000上運(yùn)行的代碼。8.2.3軟件開(kāi)發(fā)工具的根本功能與一般結(jié)構(gòu)軟件開(kāi)發(fā)工具的種類(lèi)繁多。有的工具只是對(duì)軟件開(kāi)發(fā)過(guò)程的某一方面域某一個(gè)環(huán)節(jié)提供支持,有的對(duì)軟件開(kāi)發(fā)提供比較全面的支持。功能不同,結(jié)構(gòu)當(dāng)然也不同。我們以具有綜合支持能力的工具為背景,討論它應(yīng)具備的功能和結(jié)構(gòu)。1.根本功能軟件開(kāi)發(fā)工具的根本功能可以歸納為以下五個(gè)方面:(1)提供描述軟件狀況及其開(kāi)發(fā)過(guò)程的概念模式,協(xié)助開(kāi)發(fā)人員認(rèn)識(shí)軟件工作的環(huán)境與要求、管理軟件開(kāi)發(fā)的過(guò)程。(2)提供存儲(chǔ)和管理有關(guān)信息的機(jī)制與手段。軟件開(kāi)發(fā)過(guò)程中涉及眾多信息,結(jié)構(gòu)復(fù)雜,開(kāi)發(fā)工具要提供方便、有效的處理這些信息的手段和相應(yīng)的人機(jī)界面。(3)幫助使用者編制、生成和修改各種文檔。開(kāi)發(fā)過(guò)程中大量的文字材料、表格、圖形常常使人望而卻步,人們企望得到開(kāi)發(fā)工具的幫助。(4)生成代碼,即幫助使用者編寫(xiě)程序代碼,使用戶(hù)能在較短時(shí)間內(nèi)半自動(dòng)地生成所需要的代碼段落,進(jìn)行測(cè)試和修改。(5)對(duì)歷史信息進(jìn)行跨生命周期的管理,即管理工程運(yùn)行與版本更新的有關(guān)信息,以便于信息與資源的充分利用。完整的、一體化的開(kāi)發(fā)工具應(yīng)當(dāng)具備上述功能?,F(xiàn)有的多數(shù)工具往往只實(shí)現(xiàn)了其中的一局部。2.一般結(jié)構(gòu)軟件開(kāi)發(fā)工具的一般結(jié)構(gòu)如圖8-2所示??偪鼐植考叭藱C(jī)界面、信息庫(kù)(repository)及其管理、代碼生成及文檔生成、工程管理及版本管理是構(gòu)成軟件開(kāi)發(fā)工具的四大技術(shù)要素。(1)總控局部及人機(jī)界面??偪鼐植考叭藱C(jī)界面是使用者和工具之間交流信息的橋梁。一個(gè)好的開(kāi)發(fā)工具,不僅能幫助使用者完成具體的開(kāi)發(fā)任務(wù),而且能引導(dǎo)試用者熟悉和掌握科學(xué)的開(kāi)發(fā)方法。人機(jī)界面的設(shè)計(jì)應(yīng)遵循三條原那么:第一是面向用戶(hù)的原那么。開(kāi)發(fā)工具的用戶(hù)主要是系統(tǒng)開(kāi)發(fā)人員,必須充分考慮這些人員的使用要求和工作習(xí)慣。第二是保證各局部之間信息的準(zhǔn)確傳遞。無(wú)論是由分散的軟件工具集成為一體化的工具,還是有方案地統(tǒng)一開(kāi)發(fā)的一體化工具,各局部之間信息的準(zhǔn)確傳遞,都是正常工作的根底。實(shí)現(xiàn)信息的準(zhǔn)確傳遞,在于信息的全面分析和統(tǒng)一規(guī)劃。這與信息庫(kù)的管理密切相關(guān)。第三是保證系統(tǒng)的開(kāi)放性和靈活性。軟件開(kāi)發(fā)過(guò)程的復(fù)雜性決定了開(kāi)發(fā)工具的多樣性和可變性。因此,軟件開(kāi)發(fā)工具常常需要變更和組合,如果系統(tǒng)不具備足夠的靈活性和開(kāi)放性,就無(wú)法進(jìn)行必要的剪裁和改造,它的使用也就有很大的局限性。用戶(hù)總控人機(jī)界面系統(tǒng)狀況設(shè)計(jì)成果運(yùn)行狀況工程版本使用查詢(xún)一致性維護(hù)錄入更新聯(lián)機(jī)查詢(xún)文檔生成代碼生成其他輸出信息庫(kù)管理信息庫(kù)
圖8-2軟件開(kāi)發(fā)工具的一般結(jié)構(gòu)(2)信息庫(kù)及其管理信息庫(kù)也稱(chēng)為中心庫(kù)、主庫(kù)等。本意是用數(shù)據(jù)庫(kù)技術(shù)存儲(chǔ)和管理軟件開(kāi)發(fā)過(guò)程的信息。信息庫(kù)是開(kāi)發(fā)工具的根底。信息庫(kù)存儲(chǔ)系統(tǒng)開(kāi)發(fā)過(guò)程中涉及四類(lèi)信息。第一類(lèi)是關(guān)于軟件應(yīng)用領(lǐng)域與環(huán)境狀況(系統(tǒng)狀況)的;包括有關(guān)實(shí)體及相互關(guān)系的描述,軟件要處理的信息種類(lèi)、格式、數(shù)量、流向,對(duì)軟件的要求,使用者的情況、背景、工作目標(biāo)、工作習(xí)慣,等等。這類(lèi)信息主要用于分析、設(shè)計(jì)階段,是第二類(lèi)信息的原始材料。第二類(lèi)是設(shè)計(jì)成果,包括邏輯設(shè)計(jì)和物理設(shè)計(jì)的成果,如數(shù)據(jù)流程圖、數(shù)據(jù)字典、系統(tǒng)結(jié)構(gòu)圖、模塊設(shè)計(jì)要求等等。第三類(lèi)是運(yùn)行狀況的記錄,包括運(yùn)行效率、作用、用戶(hù)反映、故障及其處理情況等。第四類(lèi)是有關(guān)工程和版本管理的信息,這類(lèi)信息是跨生命周期的,對(duì)于一次開(kāi)發(fā)似乎作用不太大,但對(duì)于持續(xù)的、不斷更新的系統(tǒng)那么十分重要。信息庫(kù)的許多管理功能是一般數(shù)據(jù)庫(kù)管理系統(tǒng)己經(jīng)具備的,作為開(kāi)發(fā)工具的根底,在以下兩方面功能更強(qiáng)。一是信息之間邏輯聯(lián)系識(shí)別與記錄。例如,當(dāng)數(shù)據(jù)字典中某一數(shù)據(jù)項(xiàng)發(fā)生變化時(shí),相應(yīng)的數(shù)據(jù)流程圖也必須隨之發(fā)生變化,為此,必須"記住"它們之間的邏輯聯(lián)系。二是定量信息與文字信息的協(xié)調(diào)一致。信息庫(kù)中除了數(shù)字型信息之外,還有大量的文字信息,這些不同形式的信息之間有密切的關(guān)系。信息庫(kù)需要記錄這些關(guān)系。例如,某個(gè)數(shù)字通過(guò)文檔生成等功能寫(xiě)進(jìn)了某個(gè)文字材料中,當(dāng)這個(gè)數(shù)字發(fā)生變化時(shí),利用這種關(guān)系從這個(gè)文字材料中找出這個(gè)數(shù)字并進(jìn)行相應(yīng)的修改;除此之外,歷史信息的處理也是信息庫(kù)管理的另一個(gè)難點(diǎn)。從開(kāi)發(fā)工具的需要來(lái)講,歷史信息應(yīng)盡可能保存。由于這些信息數(shù)量太大,而且格式往往不一致,其處理難度較大。(3)文檔生成與代碼生成除了通過(guò)屏幕對(duì)話之外,使用者從軟件開(kāi)發(fā)工具得到的主要幫助是生成代碼和文檔。文檔生成器、代碼生成器是早期開(kāi)發(fā)工具的主體,在一體化的工具中也是不可缺少的組成局部。圖8-2是代碼生成器(codegenerator)的根本輪廓。生成代碼依據(jù)三方面的材料:一是信息庫(kù)中的資料,如系統(tǒng)的總體結(jié)構(gòu)、各模塊間的調(diào)用關(guān)系、根底的數(shù)據(jù)結(jié)構(gòu)、屏幕的設(shè)計(jì)要求等等;二是各種標(biāo)準(zhǔn)模塊的框架和構(gòu)件,如報(bào)表由表名、表頭、表體、表尾、附錄組成,報(bào)表生成器就預(yù)先設(shè)置了一個(gè)生成報(bào)表的框架;三是通過(guò)屏幕輸入的信息,例如生成一個(gè)報(bào)表,需要通過(guò)屏幕輸人有關(guān)的名稱(chēng)、表的行數(shù)等參數(shù)。用戶(hù)人機(jī)界面信息庫(kù)管理模塊代碼生成器框架組件代碼信息庫(kù)
圖8-2代碼生成器代碼生成器輸出的代碼可以是某種高級(jí)程序設(shè)計(jì)語(yǔ)言的代碼或某種機(jī)器語(yǔ)言環(huán)境下的代碼。輸出高級(jí)程序設(shè)計(jì)語(yǔ)言的代碼,使用者可以進(jìn)一步修改加工,形成自己需要的程序。輸出機(jī)器語(yǔ)言代碼可以直接運(yùn)行,但不能修改,對(duì)計(jì)算機(jī)軟硬件環(huán)境的依賴(lài)性很大,所以這種方式不如前一種方式使用得多。需要強(qiáng)調(diào)的是:工具只能發(fā)揮幫助和支持的作用,不能完全代替人的工作。文檔形成的功能比代碼生成更復(fù)雜一些。文檔是給人看的,必須符合人的工作習(xí)慣與要求,否那么沒(méi)有實(shí)用價(jià)值。文檔有文章、表格、圖形三大類(lèi)。表格比較容易按信息庫(kù)當(dāng)前的內(nèi)容輸出。隨著計(jì)算機(jī)繪圖功能越來(lái)越強(qiáng),畫(huà)圖也不是困難問(wèn)題了。文章最難處理。目前的文檔生成器,大多數(shù)只能提供一個(gè)標(biāo)準(zhǔn)的框架,提醒人們完整地、準(zhǔn)確地表達(dá)設(shè)計(jì)思想。(4)工程管理與版本管理工程管理與版本管理是跨生命周期的信息管理,關(guān)鍵是歷史信息的處理。在大型軟件開(kāi)發(fā)過(guò)程中,各個(gè)階段的信息要求不同。例如在系統(tǒng)分析時(shí),重點(diǎn)是弄清系統(tǒng)的功能要求,對(duì)某些環(huán)境因素往往容易無(wú)視。到了系統(tǒng)設(shè)計(jì)階段,可能發(fā)現(xiàn)某個(gè)因素對(duì)設(shè)計(jì)影響很大,但信息庫(kù)中的內(nèi)容不能滿(mǎn)足要求,需要補(bǔ)充調(diào)查,這樣,不僅影響進(jìn)度,還必須對(duì)文檔進(jìn)行修改。針對(duì)這些情況,一些研究者提出了以工程數(shù)據(jù)庫(kù)為中心來(lái)解決問(wèn)題的思路。工程數(shù)據(jù)庫(kù)記錄工程進(jìn)展的各種有關(guān)信息,如各階段的預(yù)期進(jìn)度、實(shí)際進(jìn)展情況。工程負(fù)責(zé)人應(yīng)隨時(shí)掌握這些情況,發(fā)現(xiàn)問(wèn)題,組織解決。關(guān)于版本的信息,主要內(nèi)容有各版本的編號(hào)、功能改變、模塊組成、文檔狀況、產(chǎn)生時(shí)間、用戶(hù)數(shù)量、用戶(hù)反映等。它也可以作為工程數(shù)據(jù)庫(kù)的一局部來(lái)處理。8.2.4實(shí)用軟件開(kāi)發(fā)工具介紹下面簡(jiǎn)單介紹一些實(shí)用的開(kāi)發(fā)工具:主要是系統(tǒng)實(shí)施階段用于程序編制的開(kāi)發(fā)工具。1.可視化編程工具??梢暬幊坦ぞ叩牡湫痛碛蠽B(VisualBasic〕和Delphi,它們是Windows環(huán)境中最快的Windows用程序生成工具。可視語(yǔ)言和可視編程使用戶(hù)只關(guān)心特定問(wèn)題的解決,而不再被計(jì)算機(jī)及計(jì)算機(jī)語(yǔ)言所困擾,大大簡(jiǎn)化了程序員的編程。VB是第一個(gè)實(shí)用可視編程的工具。它除具有可視化編程環(huán)境的根本功能外,還包含功能強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,可以方便地創(chuàng)立數(shù)據(jù)庫(kù)應(yīng)用程序;它支持多用戶(hù),以面向事務(wù)方式對(duì)不同格式數(shù)據(jù)庫(kù)進(jìn)行存取,并率先支持對(duì)象鏈接與嵌人OLE及32位編程;它支持ODBC,并可嵌入SQL,大大減輕了編程工作。Delphi由BorlandPascal開(kāi)展而來(lái),繼承其全功能平臺(tái)特性,彌合不可視化與全功能平臺(tái)之間的鴻溝。它具有編譯效率高,可執(zhí)行代碼質(zhì)量高等優(yōu)點(diǎn),在面向數(shù)據(jù)庫(kù)根底上,可以開(kāi)發(fā)出任何要求的應(yīng)用程序,它可以同時(shí)與ODBC數(shù)據(jù)源(如Oracle,Sybase等)連接并訪問(wèn)數(shù)據(jù),還可通過(guò)ODBC與其他一些數(shù)據(jù)連接。2.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)開(kāi)發(fā)工具及語(yǔ)言常用的DBMS主要面向關(guān)系型數(shù)據(jù)庫(kù),即RDBMS。RDBMS產(chǎn)品經(jīng)歷了從集中式到分布式、從單機(jī)環(huán)境到網(wǎng)絡(luò)壞境、從支持信息管理和輔助決策到聯(lián)機(jī)事務(wù)處理的開(kāi)展過(guò)程。目前各種RDBMS產(chǎn)品的工具都己進(jìn)入4GL及圖、文、聲、像并舉的時(shí)代,快捷的應(yīng)用開(kāi)發(fā)工具和生成工具唾手可得,第三方數(shù)據(jù)庫(kù)開(kāi)發(fā)工具也是應(yīng)有盡有。常用產(chǎn)品有Borland公司推出的dBASE5.OforWindows;Microsoft公司的、、等中小型應(yīng)用數(shù)據(jù)庫(kù)。有OracleIngres,Sybase,Imformix等功能完善、結(jié)構(gòu)先進(jìn)的大型DBMS;還有UNIFACE,Powerbuilder等架構(gòu)在前類(lèi)DBMS產(chǎn)品之上的,能提供更豐富的開(kāi)發(fā)環(huán)境的第三方數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,這類(lèi)產(chǎn)品還具有一定的互連各廠家數(shù)據(jù)庫(kù)產(chǎn)品的功能。dBASE5.OforWindows在原有強(qiáng)大的數(shù)據(jù)庫(kù)操作及編程能力的根底上,加人面向?qū)ο蟮拈_(kāi)發(fā)環(huán)境,提供Client/server應(yīng)用程序開(kāi)發(fā)能力,處理的數(shù)據(jù)類(lèi)型包括聲音、圖像等二進(jìn)制數(shù)據(jù)及OLE數(shù)據(jù)類(lèi)型,可開(kāi)發(fā)多媒體應(yīng)用程序。它與DOS版的完全兼容,還提供工具將DOS應(yīng)用程序轉(zhuǎn)換為Windows應(yīng)用程序。VisualFoxpro將可視化編程技術(shù)引人4GL語(yǔ)言編程環(huán)境,使數(shù)據(jù)庫(kù)管理應(yīng)用軟件的開(kāi)發(fā)更簡(jiǎn)捷。其面向?qū)ο缶幊碳夹g(shù)的引入,增強(qiáng)了開(kāi)發(fā)大型應(yīng)用軟件的能力,彌補(bǔ)了以前其他版本的缺陷。Powerbuilder是數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)的強(qiáng)大可視化工具,它由美國(guó)PowerSoft:公司按照Client/server體系結(jié)構(gòu)研制設(shè)計(jì),采用面向?qū)ο蠹夹g(shù)和圖形化的應(yīng)用開(kāi)發(fā)環(huán)境,是數(shù)據(jù)庫(kù)的前端開(kāi)發(fā)工具。它同時(shí)支持各種數(shù)據(jù)庫(kù)管理系統(tǒng),其語(yǔ)言為PowerScript,是于個(gè)功能很強(qiáng)的類(lèi)Base4GL語(yǔ)言,簡(jiǎn)單易學(xué),開(kāi)發(fā)人員可以不需精通其他專(zhuān)用語(yǔ)言而直接轉(zhuǎn)向面向?qū)ο筌浖_(kāi)發(fā)。該工具在國(guó)內(nèi)使用很廣,可以說(shuō)是大型關(guān)系數(shù)據(jù)庫(kù)前端應(yīng)用軟件的理想開(kāi)發(fā)平臺(tái)。如果制作多平臺(tái)數(shù)據(jù)庫(kù)應(yīng)用軟件,理想的開(kāi)發(fā)工具是荷蘭Uniface公司推出的UNIFACE。它作為第四代開(kāi)發(fā)環(huán)境,可以開(kāi)發(fā)出獨(dú)立于硬件平臺(tái)、操作系統(tǒng)及數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)環(huán)境的應(yīng)用軟件,使應(yīng)用程序透明地運(yùn)行于傳統(tǒng)的宿主式處理系統(tǒng)與Client/server結(jié)構(gòu)體系之間,用戶(hù)在本地工作站開(kāi)發(fā)的應(yīng)用程序可以不加修改地運(yùn)行于網(wǎng)絡(luò)系統(tǒng)中。其他各數(shù)據(jù)庫(kù)廠商在自己的數(shù)據(jù)庫(kù)產(chǎn)品上也提供有開(kāi)發(fā)工具;但不具有普遍性,使用相對(duì)復(fù)雜,不靈活,針對(duì)性很強(qiáng),所以應(yīng)用面相對(duì)較窄。開(kāi)發(fā)人員可以根據(jù)實(shí)際需求選擇適宜的產(chǎn)品,以完成應(yīng)用系統(tǒng)的開(kāi)發(fā)。3.MIS生成工具在我國(guó),隨著計(jì)算機(jī)應(yīng)用的深入普及,越來(lái)越多的單位希望能開(kāi)發(fā)出適合本單位需求的計(jì)算機(jī)管理信息系統(tǒng),但我們的MIS專(zhuān)業(yè)隊(duì)伍不能滿(mǎn)足日益擴(kuò)大的需求,因此各種微機(jī)MIS應(yīng)用生成工具大量涌現(xiàn),如雅奇MIS、王特MIS等,它們的出現(xiàn)既提高了專(zhuān)業(yè)人員的開(kāi)發(fā)速度,也使非專(zhuān)業(yè)人員自行開(kāi)發(fā)一絲不太復(fù)雜的系統(tǒng)成為可能。這些生成工具具有共同的特點(diǎn),一般都是基于DOS,Windows數(shù)據(jù)庫(kù)管理系統(tǒng),用戶(hù)采用快速原型開(kāi)發(fā)模式,在面向?qū)ο蟮目梢暬换ピO(shè)計(jì)環(huán)境中,把自己業(yè)務(wù)范圍的相關(guān)數(shù)據(jù)和功能用生成工具建立成數(shù)據(jù)庫(kù),選擇、生成相應(yīng)的功能構(gòu)件(如窗口界面元素、錄入維護(hù)、查詢(xún)統(tǒng)計(jì)、報(bào)表計(jì)算打印、代碼維護(hù)、封面設(shè)計(jì)等),最后,用掛接技術(shù)將數(shù)據(jù)庫(kù)和功能構(gòu)件封裝起來(lái),就生成了一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。這類(lèi)MIS應(yīng)用生成工具與國(guó)外的產(chǎn)品相比具有一些優(yōu)點(diǎn),如中文處理能力強(qiáng),報(bào)表輸出符合國(guó)情,價(jià)格低廉,簡(jiǎn)單易用等。對(duì)于結(jié)構(gòu)化較強(qiáng)、靜態(tài)數(shù)據(jù)占主導(dǎo)地位的業(yè)務(wù)流程相對(duì)單純的小型系統(tǒng)來(lái)說(shuō),利用它們可以收到較好的效果。但對(duì)于業(yè)務(wù)處理靈活,對(duì)數(shù)據(jù)庫(kù)管理要求較高,或多個(gè)子系統(tǒng)關(guān)聯(lián)密切的大型應(yīng)用,目前的工具就不適用了。8.2.5一個(gè)case工具應(yīng)用前面已經(jīng)從整體上對(duì)CASE工具作了一個(gè)說(shuō)明,本小節(jié)將介紹一個(gè)具體的工具一Intellicorp的LiveModel和PowerModel,兩者合并叫Modelworks。Intellicorp最初發(fā)行的是專(zhuān)家系統(tǒng)。后改變方向,發(fā)行系統(tǒng)研制工具。于1991年發(fā)行了KappaSystems,一個(gè)面向?qū)ο蟮膽?yīng)用研制環(huán)境。1996年新版改名為PowerModel。后又于1994發(fā)行個(gè)可利用Kappa的面向?qū)ο蠹晒ぞ撸?996年新版改名為L(zhǎng)iveModel。兩者合并在一起,叫Modelworks。我們選用這兩個(gè)軟件是因?yàn)楸緯?shū)是講信息系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)的,這兩個(gè)軟件連起來(lái)用,就提供了從系統(tǒng)分析直到實(shí)現(xiàn)(編程)的研制環(huán)境,而且更有關(guān)的是它們都是可視化、速成化和組件化的研制工具。PowerModelSystems是一個(gè)可視化、速成化和組件化的研制面向?qū)ο箢櫩?效勞者系統(tǒng)的環(huán)境,能產(chǎn)生C程序。PowerModel本身是一個(gè)優(yōu)良的應(yīng)用研制環(huán)境,同時(shí)也可作為中介軟件,適用于把CASE工具、GUI構(gòu)造程序以及DBMS集成在一起。PowerModel配有它自己的GUI構(gòu)造程序,它產(chǎn)生的程序能跨平臺(tái)地在UNIX和Windows下運(yùn)行。它的第3版還能與C++成員方法(函數(shù))交互操作。和其他可視化、速成化和組件化的應(yīng)用研制環(huán)境一樣,PowerModel己有一套性能強(qiáng)的GUI繪制工具。繪成GUI可在UNIX工作臺(tái)上運(yùn)行的XWindows和PC機(jī)上運(yùn)行的Windows下完全地相互移植。新版PowerModel能在許多UNIX系統(tǒng)和Windows下運(yùn)行;并可作為WorldWideWeb上的效勞者。PowerModel的體系結(jié)構(gòu)是模塊式的、分屬的,其基層是核心層。包括一套核心功能程序,如對(duì)象管理程序、對(duì)象查詢(xún)語(yǔ)言等;連同一全套的C語(yǔ)言API〔應(yīng)用程序接口〕。基層上面的一層是研制層,其中有GUI構(gòu)造程序,對(duì)象瀏覽程序以及交互的C.環(huán)境。最頂層那么為應(yīng)用層,其中有研制者編制的類(lèi)和方法(程序)以及各種類(lèi)庫(kù),包括專(zhuān)門(mén)窗戶(hù)系統(tǒng)用的一套GUI組件。這樣分層,分模塊的好處是,應(yīng)用時(shí)只取用在執(zhí)行時(shí)需要從系統(tǒng)中取用局部,從而就能得到小而有效灼程序。此外,這種開(kāi)放的、模塊式的設(shè)計(jì)便于擴(kuò)充和易于修改。PowerModel實(shí)現(xiàn)了面向?qū)ο蟮母驹敲?,支持多親繼承,核心層的對(duì)象管理程序可支持圖形瀏覽,變互執(zhí)行等。PowerModel的可視研制環(huán)境可使用圖形洲覽、交互執(zhí)行,等等,快而好地把所需程序研制出來(lái)。這個(gè)可視研制環(huán)境是速成的、累增的、雛形演進(jìn)的,也就是說(shuō),研制模型(雛形)是可執(zhí)行的,能立即反響,聽(tīng)取用戶(hù)意見(jiàn)。PowerModel用C語(yǔ)言和自制的Protalk兩種語(yǔ)言。Protalk是一種高級(jí)語(yǔ)言;是吸取過(guò)程、面向?qū)ο蠛?GL三種語(yǔ)言之長(zhǎng)而成的雜種語(yǔ)言,其語(yǔ)法是專(zhuān)為設(shè)計(jì)和使用PowerModel對(duì)象之用。實(shí)際上PowerModel是用Protalk來(lái)支持面向?qū)ο蟮摹?duì)象內(nèi)方法可用C或Protalk編寫(xiě)。Protalk程序模塊嵌套在C程序內(nèi),反之亦然。Protalk內(nèi)有一套對(duì)象查詢(xún)和對(duì)象模樣匹配的有力引擎。提供像SQL對(duì)數(shù)據(jù)庫(kù)的功能。Protalk內(nèi)還有一個(gè)全功能的規(guī)那么系統(tǒng)供編程時(shí)編寫(xiě)業(yè)務(wù)規(guī)那么和公司政策。PowerModel可動(dòng)態(tài)地生成SQL,把記錄和表映射為PowerModel對(duì)象。關(guān)系數(shù)據(jù)庫(kù)和PowerModel對(duì)象間可雙向地交換數(shù)據(jù)。繼PowerModel之后而發(fā)行的LiveModel,是一個(gè)利用PowerModel而建成的面向?qū)ο蟮腃ASE工具。它是反響當(dāng)時(shí)CASE工藝水平的面向?qū)ο驝ASE工具,與PowerModel集成在一起就是全面從分析到實(shí)現(xiàn)的系統(tǒng)研制工具。它是用Martin和Odell的面向?qū)ο笮畔⒐こ谭椒ɑ貋?lái)建立模型的。這個(gè)模型是用可視工具建立的,而且能馬上執(zhí)行;其反響信息甚至可以返回分析階段去重復(fù)。建立的業(yè)務(wù)規(guī)那么也能執(zhí)行,這些稱(chēng)便于設(shè)計(jì)以及分析階段中反響,便于研制人員之間以及與用戶(hù)交換意見(jiàn)。所以總起來(lái)講,PowerModel是一個(gè)速成的、可視的和組件化的面向?qū)ο驝ASE工具。它可以用于單機(jī)系統(tǒng)的研制,更可以用于面向?qū)ο罂蛻?hù)/效勞器系統(tǒng)的研制。LiveModel提供以下一套全面的面向?qū)ο蠊ぞ?,供使用不同的建模技術(shù),來(lái)可視地建成一個(gè)應(yīng)用的所有各方面。1.對(duì)象繪圖器〔ObjectDiagrammer〕ObjectDiagrammer是用以圖象建立對(duì)象,并規(guī)定他們之間的關(guān)系。它還能支持現(xiàn)有對(duì)象的再用。對(duì)象和類(lèi)之間的關(guān)系中規(guī)定的有三種:即聯(lián)系,概括和聚集。對(duì)象和類(lèi)之間的這三種關(guān)系是規(guī)定必須可視地在圖中表示出來(lái)的。至于對(duì)象和類(lèi)的屬性在需要時(shí),也可列示出來(lái),這樣對(duì)象的定義就可以反復(fù)地進(jìn)行。LiveModel中對(duì)象圖立即能翻譯成PowerModel中對(duì)象類(lèi)層次結(jié)構(gòu)圖。2.事件繪圖器〔EventDiagrammer〕EventDiagrammer是用以表示業(yè)務(wù)過(guò)程流,即業(yè)務(wù)過(guò)程、操作以及規(guī)那么之間的連接。業(yè)務(wù)過(guò)程用以下三個(gè)簡(jiǎn)單而易懂的元素來(lái)表示。1〕事件。事件是一種刺激,如顧客交來(lái)定貨單,或雇傭一人員。一個(gè)事件啟動(dòng)一個(gè)觸發(fā)器。2)觸發(fā)器。觸發(fā)器根據(jù)業(yè)務(wù)規(guī)那么決定要啟動(dòng)哪個(gè)操作。例如,在銀行存款業(yè)務(wù)中,一個(gè)觸發(fā)器可啟動(dòng)一個(gè)操作,來(lái)核對(duì)存戶(hù)余額是否足夠支付其提款。這類(lèi)操作轉(zhuǎn)過(guò)來(lái)又可啟動(dòng)其他事件。3〕操作,它是指一個(gè)可用C或Protalk編寫(xiě)的方法,或用GUI構(gòu)造的程序,或用外部程序來(lái)實(shí)現(xiàn)的業(yè)務(wù)過(guò)程。用EventDiagrammer可直接把所需部件布置和連接起來(lái),以建立業(yè)務(wù)過(guò)程流;而不考慮如何實(shí)現(xiàn)。跟著設(shè)計(jì)的演進(jìn),可把這個(gè)模型中的元素聯(lián)系于實(shí)現(xiàn)的對(duì)象、方法、圖像的數(shù)據(jù)輸入屏等等。這個(gè)(事件)模型從建立之初就是“活動(dòng)〞的,而且能執(zhí)行??捎么四P蛠?lái)執(zhí)行業(yè)務(wù)過(guò)程;并在設(shè)計(jì)演進(jìn)過(guò)程中用它來(lái)核實(shí)設(shè)計(jì)是否符合要求;這種活動(dòng)而且能執(zhí)行的模型是一種速成的、可視的和組件的研制環(huán)境。3.業(yè)務(wù)規(guī)那么〔BusinessRules〕以及規(guī)那么編輯程序〔RuleEditor〕業(yè)務(wù)規(guī)那么中記載著有用的業(yè)務(wù)政策和決定。在傳統(tǒng)的信息系統(tǒng)中,這些規(guī)那么都埋藏在應(yīng)用程序之中,因而就不易識(shí)別和修改、在LiveModel中,業(yè)務(wù)規(guī)那么那么為可見(jiàn)而明顯的對(duì)象。是用結(jié)構(gòu)化英語(yǔ)編寫(xiě)的。業(yè)務(wù)規(guī)那么寫(xiě)成后,就立即從結(jié)構(gòu)化英語(yǔ)翻譯成Protalk;而且總是“活的〞且能執(zhí)行。業(yè)務(wù)規(guī)那么是用規(guī)那么編輯程序編寫(xiě)并存擋的。規(guī)那么中每條短句均用其合法詞組。規(guī)那么編輯程序即用這些合法詞組的一個(gè)上下文有關(guān)的表來(lái)編造規(guī)那么。這個(gè)程序還提供注釋項(xiàng),供記載一個(gè)規(guī)那么的意義及其修改歷史。4.測(cè)試〔Testing〕以及文檔建立〔Documentation〕在整個(gè)研制過(guò)程中LiveModel所有的圖都是“活的〞并能執(zhí)行,能在研制的每階段后,進(jìn)行累增的測(cè)試。LiveModel中建成的各種圖象業(yè)務(wù)模型,需要用一套測(cè)試數(shù)據(jù),來(lái)核實(shí)其正確性。情節(jié)管理程序〔ScenarioManager〕就是用以建立和管理測(cè)試數(shù)據(jù)(實(shí)例)數(shù)據(jù)庫(kù),并用測(cè)試實(shí)例執(zhí)行已建成的圖象業(yè)務(wù)模型,以核實(shí)其正確性。在整個(gè)研制進(jìn)程中,隨時(shí)都可把測(cè)試情節(jié)加進(jìn)數(shù)據(jù)庫(kù)內(nèi)。最后,這數(shù)據(jù)庫(kù)就變成一個(gè)典型的和例外情況的實(shí)例的完備的庫(kù)。分析員和研制人員用這套數(shù)據(jù),測(cè)試各階段的成果,就能保證演進(jìn)中的程序符合各項(xiàng)要求。LiveModel大體是能自建文檔的,它的ReportWriter〔報(bào)告編寫(xiě)程序〕能自動(dòng)產(chǎn)生各種文檔,包各有關(guān)領(lǐng)域的報(bào)告以及各種圖表,同時(shí)還檢查各圖之內(nèi)以及之間的一致性與完整性。一個(gè)面向?qū)ο蟮男畔⑾到y(tǒng)有它的靜態(tài)結(jié)構(gòu)與動(dòng)態(tài)行為,靜態(tài)結(jié)構(gòu)中包括對(duì)象和類(lèi)的屬性(數(shù)據(jù))、操作(靜態(tài)行為)以及對(duì)象和類(lèi)之間的關(guān)系。:動(dòng)態(tài)行為中包括對(duì)象和類(lèi)之間的消息傳送以及對(duì)象和類(lèi)自身因時(shí)而變的行為。LiveModel用ObjectDiagrammer以及BusinessRules和RuleEditor描述靜態(tài)結(jié)構(gòu),而EventDiagrammer和ScenarioManager那么為動(dòng)態(tài)行為的運(yùn)行工具。而LiveModel和PowerModel連用,能生成C程序。目前應(yīng)世的CASE工具商品軟件各有其特色與專(zhuān)長(zhǎng)。LiveModel作為CASE工具有其長(zhǎng)處,也有缺乏。這里是用LiveModel作為速成的、可視的和組件的研制環(huán)境和工具的一個(gè)實(shí)際商品軟件的例子。最后,在此需要說(shuō)明可能被忽略的一點(diǎn)。有的CASE本身就是一個(gè)可視的和組件的研制環(huán)境與工具?,F(xiàn)有的CASE工具商品軟件中,有些是單機(jī)研制環(huán)境與工具,有些是客戶(hù)/效勞器系統(tǒng)的研制環(huán)境與工具。8.3基于Web的信息系統(tǒng)的集成開(kāi)發(fā)環(huán)境8.3.1概述雖然lnternet歷史并不長(zhǎng),但由于它能夠方便靈活地發(fā)布和瀏覽網(wǎng)絡(luò)上的超媒體及多媒體信息,因得到了迅速開(kāi)展。Internet站點(diǎn)和用戶(hù)近幾年都呈現(xiàn)指數(shù)增長(zhǎng),而internet信息量中,Web信息又占了絕對(duì)多數(shù)。目前,各類(lèi)機(jī)構(gòu)以及個(gè)人都紛紛建立Web站,向社會(huì)提供大量信息,同時(shí)也從Internet中獲得大量信息。在早期的Internet中,Web信息以靜態(tài)內(nèi)容為主,Web效勞器的根本功能都是直截了當(dāng)?shù)赝瓿傻模焊鶕?jù)瀏覽器的要求,效勞器查找文檔,如果查到,就將其傳輸出去。當(dāng)時(shí)大多數(shù)網(wǎng)站提供信息的方式是由用戶(hù)通過(guò)客戶(hù)瀏覽器與Web效勞器連接,然后用鼠標(biāo)點(diǎn)擊超鏈接以瀏覽相關(guān)頁(yè)面。在此過(guò)程中,根本上是效勞器向客戶(hù)端單方向的靜態(tài)信息傳遞。隨著內(nèi)容的不斷增長(zhǎng),用戶(hù)對(duì)Web息效勞提出了更高的要求,促使Web技術(shù)向縱深開(kāi)展。例如,在網(wǎng)上內(nèi)容過(guò)多的情況下,用戶(hù)要求能對(duì)網(wǎng)上信息進(jìn)行檢索;在某些情況下,如用戶(hù)登記、用戶(hù)留言中不僅要求效勞器能將信息發(fā)送給用戶(hù),也要求能將用戶(hù)信息發(fā)送給效勞器;而Web務(wù)器本身是不能實(shí)現(xiàn)這些功能的。這是因?yàn)?,Web信息是按HTML技術(shù)方式組織的,而HTML編程語(yǔ)言,只是一種描述語(yǔ)言。用HTML語(yǔ)言編制的文檔本質(zhì)上是靜態(tài)的文本文件,它不能提供實(shí)時(shí)的動(dòng)態(tài)信息,不能直接實(shí)現(xiàn)動(dòng)態(tài)查詢(xún)、統(tǒng)計(jì)等數(shù)據(jù)庫(kù)應(yīng)用,所以需要擴(kuò)展Web效勞器的功能。Web技術(shù)與數(shù)據(jù)庫(kù)技術(shù)的結(jié)合是Web技術(shù)開(kāi)展的一個(gè)熱點(diǎn)。將數(shù)據(jù)庫(kù)技術(shù)與Web結(jié)合起來(lái),可以使internet上的信息更加有序化、條理化,便于信息的組織、分類(lèi)以及利用,同時(shí)也使internet中的個(gè)性化效勞成為可能。另一方面:internet使數(shù)據(jù)庫(kù)的應(yīng)用和管理突破傳統(tǒng)模式的局限、增添新的活力和優(yōu)勢(shì)。基于Web的信息系統(tǒng),是將數(shù)據(jù)庫(kù)和Web技術(shù)結(jié)合,通過(guò)瀏覽器訪問(wèn)數(shù)據(jù)庫(kù)并可實(shí)現(xiàn)動(dòng)態(tài)的internet信息效勞系統(tǒng)。利用擴(kuò)展技術(shù)和一些相應(yīng)的軟件將數(shù)據(jù)庫(kù)和Web結(jié)合起來(lái),在Web上提供用戶(hù)訪問(wèn)和修改數(shù)據(jù)庫(kù)的接口,用戶(hù)就能通過(guò)瀏覽器在任何地方訪問(wèn)這些數(shù)據(jù)庫(kù)。Web中訪問(wèn)數(shù)據(jù)庫(kù)實(shí)際包括兩個(gè)方面,一方面是用戶(hù)的查詢(xún)通過(guò)Web提交給數(shù)據(jù)庫(kù),另一方面是數(shù)據(jù)庫(kù)將用戶(hù)查詢(xún)的結(jié)果通過(guò)Web返回給用戶(hù)。一般過(guò)程是這樣的:(l)用戶(hù)通過(guò)填充瀏覽器上用HTML編寫(xiě)的表格來(lái)輸入查詢(xún)和數(shù)據(jù)請(qǐng)求。在此,用戶(hù)可通過(guò)菜單項(xiàng)選擇擇,單擊按鈕,填寫(xiě)空白等來(lái)輸入查詢(xún)關(guān)鍵字或新的輸入數(shù)據(jù)等。(2)接口程序?qū)⑤斎氲奖砀裰械男畔⑻崛〕鰜?lái),并組織成有效的SQL查詢(xún)或其它數(shù)據(jù)庫(kù)操作命令,隨后將其發(fā)送到數(shù)據(jù)庫(kù)后臺(tái)。(3)接口程序在數(shù)據(jù)庫(kù)引擎對(duì)數(shù)據(jù)進(jìn)行處理后接收結(jié)果,并對(duì)結(jié)果進(jìn)行組織,再以HTML格式將其傳回到用戶(hù)的瀏覽器上,顯示給用戶(hù)閱讀。8.3.2基于Web的信息系統(tǒng)的特點(diǎn)在過(guò)去的十幾年中,基于傳統(tǒng)Client/Server結(jié)構(gòu)的網(wǎng)絡(luò)系統(tǒng)在各類(lèi)信息系統(tǒng)的開(kāi)發(fā)中起著舉足輕重的作用。這類(lèi)網(wǎng)絡(luò)系統(tǒng)的特點(diǎn)是資源存放在效勞器端,客戶(hù)端通過(guò)自己的應(yīng)用程序存取資源。與以前的各類(lèi)網(wǎng)絡(luò)系統(tǒng)相比較,其優(yōu)點(diǎn)是效勞器與客戶(hù)端分工明確、界面友好、開(kāi)發(fā)周期短,而且在設(shè)備的配置上有很大的靈活性。在中小規(guī)模而且相比照較簡(jiǎn)單的環(huán)境中,.這種結(jié)構(gòu)的網(wǎng)絡(luò)系統(tǒng)的優(yōu)勢(shì)非常突出,一直是人們進(jìn)行系統(tǒng)開(kāi)發(fā)的首選。但隨著企業(yè)規(guī)模的日益擴(kuò)大,應(yīng)用程序復(fù)雜程度的不斷提高,傳統(tǒng)的Client/Server模式也逐漸顯示出許多問(wèn)題,在大規(guī)模且復(fù)雜的應(yīng)用中,用這種模式進(jìn)行系統(tǒng)開(kāi)發(fā)往往事倍功半,無(wú)法滿(mǎn)足用戶(hù)的要求。主要表現(xiàn)在:1〕使用繁雜。在基于Client/Server模式建設(shè)的信息系統(tǒng)中,由于界面較專(zhuān)業(yè)化,用戶(hù)要經(jīng)過(guò)培訓(xùn)才能學(xué)會(huì)使用系統(tǒng)。而在實(shí)際中,許多用戶(hù)尤其是領(lǐng)導(dǎo),由于時(shí)間、接受能力等方面的原因難以去學(xué)習(xí)一個(gè)系統(tǒng)的使用,周而難以直接利用系統(tǒng)檢查和管理工作。此外,不同開(kāi)發(fā)者開(kāi)發(fā)的用戶(hù)界面風(fēng)格很不一致,即使是同一開(kāi)發(fā)者,在不同時(shí)期或用不同開(kāi)發(fā)工具開(kāi)發(fā)出的用戶(hù)界面風(fēng)格把很不一致,用戶(hù)在學(xué)習(xí)使用一個(gè)系統(tǒng)后,再用另一個(gè)系統(tǒng)時(shí)需要重新學(xué)習(xí)。這既給系統(tǒng)的推廣帶來(lái)很大困難,也造成了時(shí)間和費(fèi)用的浪費(fèi)。2〕開(kāi)發(fā)和維護(hù)復(fù)雜。在傳統(tǒng)的基于Client/Server.模式的信息系統(tǒng)中,除了需要在效勞器端進(jìn)行大量開(kāi)發(fā)外,還要在客戶(hù)端進(jìn)行大量開(kāi)發(fā)。這不僅給軟件實(shí)現(xiàn)帶來(lái)困難,還給軟件維護(hù)造成不便。如果效勞器端應(yīng)用(如數(shù)據(jù)庫(kù))作了變動(dòng),或者是客戶(hù)端軟件要增加新的功能或修改用戶(hù)界面,那么所有用戶(hù)機(jī)器上的客戶(hù)端都必須作相應(yīng)的修改,這樣,軟件的應(yīng)用范圍越廣,軟件的維護(hù)就越困難,開(kāi)銷(xiāo)也越大。在一些跨區(qū)域甚至是跨國(guó)的信息系統(tǒng)中,要實(shí)現(xiàn)這樣的維護(hù)幾乎是不可能的。3〕移植和升級(jí)困難。基于傳統(tǒng)的Client/Server模式所采用的軟件產(chǎn)品大都缺乏開(kāi)放的標(biāo)準(zhǔn),一般不能跨平臺(tái)運(yùn)行。如果企業(yè)內(nèi)部存在多種平臺(tái),在一種平臺(tái)上開(kāi)發(fā)的應(yīng)用,要想移植到另一平臺(tái)上,需要對(duì)源代碼進(jìn)行大量修改并重新編譯才再運(yùn)行,有時(shí)甚至需要重新開(kāi)發(fā);在這類(lèi)系統(tǒng)中,如果需要將系統(tǒng)軟件或應(yīng)用軟件進(jìn)行升級(jí),那么必須單獨(dú)開(kāi)發(fā),經(jīng)移植然后升級(jí)。盡管目前有些應(yīng)用開(kāi)發(fā)工具如VB、PB等可以方便地開(kāi)發(fā)一個(gè)圖形界面的數(shù)據(jù)庫(kù)前端,用來(lái)訪問(wèn)數(shù)據(jù)庫(kù);但它們開(kāi)發(fā)的一般程序不能跨平臺(tái)運(yùn)行。4〕信息共享度低?;贑lient/Server模式建設(shè)的信息系統(tǒng),一般為封閉式系統(tǒng),需要專(zhuān)門(mén)的客戶(hù)端軟件才能進(jìn)人系統(tǒng),不同的系統(tǒng)間無(wú)法交流。以往,企業(yè)在討論某些問(wèn)題時(shí),需要將各部門(mén)的領(lǐng)導(dǎo)集中在一起,有時(shí)甚至需要把外地的人員召集過(guò)來(lái);企業(yè)向上級(jí)匯報(bào)工作時(shí),需要生成大量的報(bào)告和報(bào)表;企業(yè)向職工公布新的文件和管理規(guī)定時(shí),需要開(kāi)會(huì)或印發(fā)材料。這些都造成了嚴(yán)重浪費(fèi)和低效率。Internet/Web可以比較圓滿(mǎn)地解決上述問(wèn)題。Client/Server是一種兩層結(jié)構(gòu),即效勞器一層,客戶(hù)端一層。而Internet/Web那么是一種高級(jí)三層結(jié)構(gòu),其中處在第二層的Web效勞器扮演兩種角色,既是效勞器,又是客戶(hù)端,對(duì)處于第一層的客戶(hù)端瀏覽器而言,它是效勞器;對(duì)第三層即數(shù)據(jù)庫(kù)效勞器而言,它又是客戶(hù)端。在基于Internet/Web的系統(tǒng)中,各用戶(hù)端計(jì)算機(jī)上安裝相同的瀏覽器軟件,網(wǎng)絡(luò)另一端高性能計(jì)算機(jī)上安裝運(yùn)行Web效勞器軟件和數(shù)據(jù)庫(kù)管理系統(tǒng)。用戶(hù)根據(jù)瀏覽器顯示的Web頁(yè)面信息,用鼠標(biāo)點(diǎn)擊,即可完成從瀏覽器向效勞器提交效勞請(qǐng)求的動(dòng)作,這些請(qǐng)求包括對(duì)數(shù)據(jù)庫(kù)的查詢(xún)、修改、插人和刪除等。效勞器端負(fù)責(zé)對(duì)請(qǐng)求進(jìn)行處理,并將處理結(jié)果通過(guò)網(wǎng)絡(luò)返回到瀏覽器端?;贗nternet/Web的信息系統(tǒng)的特點(diǎn)如下:〔1〕使用簡(jiǎn)單?;贗nternet/Web的信息系統(tǒng)使用很簡(jiǎn)單。一般無(wú)需培訓(xùn)。用戶(hù)只要會(huì)用通用的瀏覽器,通過(guò)鼠標(biāo)即可以訪問(wèn)文本、圖像、聲音、電影及數(shù)據(jù)庫(kù)等信息,特別適合非計(jì)算機(jī)專(zhuān)業(yè)人員使用。企業(yè)領(lǐng)導(dǎo)檢查部門(mén)的工作,只需要用鼠標(biāo)點(diǎn)擊相關(guān)內(nèi)容的鏈接即可。不管什么應(yīng)用,用戶(hù)面對(duì)的都是一個(gè)瀏覽器,因而不存在使用不同系統(tǒng)重新學(xué)習(xí)的問(wèn)題?!?〕便于開(kāi)發(fā)和維護(hù)。采用Internet/Web模式的系統(tǒng),只需要開(kāi)發(fā)和維護(hù)效勞器端應(yīng)用程序??蛻?hù)端安裝一個(gè)通用的Web瀏覽器即可執(zhí)行效勞器上相關(guān)的應(yīng)用程序,不需要進(jìn)行任何開(kāi)發(fā)和維護(hù)。這既有利于開(kāi)發(fā)和維護(hù),又統(tǒng)一了用戶(hù)界面。〔3〕保護(hù)企業(yè)投資。Internet/Web由于采用標(biāo)準(zhǔn)的TCP/IP、HTTP協(xié)議,使它幾乎可以跨越當(dāng)前的所有平臺(tái)。任何平臺(tái)上只要安裝一個(gè)瀏覽器.就可以訪問(wèn)Web效勞器,用HTML、Java和JavaScript開(kāi)發(fā)的應(yīng)用,可以簡(jiǎn)單地移植到任何平臺(tái)上,可與企業(yè)現(xiàn)有網(wǎng)絡(luò)很好地結(jié)合。采用Web效勞器與數(shù)據(jù)庫(kù)的連接技術(shù),可以開(kāi)發(fā)與數(shù)據(jù)庫(kù)相關(guān)的應(yīng)用,并可以充分利用企業(yè)原有數(shù)據(jù)庫(kù)的內(nèi)容?!?〕信息共享度高。幾乎各種操作系統(tǒng)上都有Web瀏洲覽器,所以,Internet/Web應(yīng)用可以方便地實(shí)現(xiàn)跨平臺(tái)操作。HTML是數(shù)據(jù)格式的一個(gè)開(kāi)放標(biāo)準(zhǔn),目前大多數(shù)流行的軟件均支持HTML,MIME〔MultipurposeInternetMailExtension〕技術(shù),使得瀏覽器可以訪問(wèn)多種格式文件?!?〕可擴(kuò)展性好。TCP/IP、HTTP的標(biāo)準(zhǔn)性使得Internet/Web模式可直接接入Internet,具有良好的擴(kuò)展性。〔6〕平安性好。防火墻技術(shù)保證現(xiàn)代企業(yè)網(wǎng)絡(luò)和信息的平安性。8.3.3Web與數(shù)據(jù)庫(kù)接口技術(shù)Web與數(shù)據(jù)庫(kù)的接口,也就是要實(shí)現(xiàn)Internet環(huán)境下對(duì)Web數(shù)據(jù)庫(kù)的查詢(xún)與管理,它一般由客戶(hù)機(jī)、Web效勞器、Web數(shù)據(jù)庫(kù)接口語(yǔ)言和數(shù)據(jù)庫(kù)系統(tǒng)四局部組成,如圖8-4所示。圖8-4Web與數(shù)據(jù)庫(kù)的接口Web客戶(hù)機(jī)接口技術(shù)HTTP效勞器數(shù)據(jù)庫(kù)客戶(hù)機(jī)數(shù)據(jù)庫(kù)系統(tǒng)圖8-4是Web與數(shù)據(jù)庫(kù)接口的根本結(jié)構(gòu)圖,在實(shí)際中,具體實(shí)現(xiàn)這種接口的方法有多種。如:Microsoft、Oracle、Sun等都開(kāi)發(fā)了專(zhuān)用或公用的Web與數(shù)據(jù)庫(kù)的接口技術(shù)。從Web數(shù)據(jù)庫(kù)的接口的位置來(lái)看,我們大致可以將所有接口技術(shù)分為兩類(lèi):一類(lèi)是效勞器端接口;另一類(lèi)是客戶(hù)端接口。在前一種接口技術(shù)中,Web與數(shù)據(jù)庫(kù)的接口在效勞器端完成,客戶(hù)機(jī)將將請(qǐng)求發(fā)送給效勞器,Web效勞器根據(jù)客戶(hù)需求對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,再將操作的結(jié)果格式化成相應(yīng)的HTML頁(yè)面發(fā)送給客戶(hù)機(jī),如CGI、ASP、PHP以及Oracle的HTP都是采用這種技術(shù)。其優(yōu)點(diǎn)是開(kāi)發(fā)與維護(hù)容易、平安性好。缺點(diǎn)一是效勞器負(fù)擔(dān)較重,二是這類(lèi)技術(shù)并沒(méi)脫離HTML的范疇,本質(zhì)上是一樣的,因此其根本功能不超出HTML。后一種接口技術(shù)那么是在客戶(hù)端實(shí)現(xiàn)Web與數(shù)據(jù)庫(kù)的接口,它一般是在頁(yè)面中參加一個(gè)插件,客戶(hù)機(jī)將插件下載到本地后,再由插件來(lái)完成與數(shù)據(jù)庫(kù)的交互。這類(lèi)技術(shù)中最典型的是Java的JDBC,另外,ActiveX也采用了這種技術(shù)。這類(lèi)技術(shù)的好處是減輕了效勞器的負(fù)擔(dān),而且使用靈活,功能強(qiáng)大,但缺點(diǎn)是開(kāi)發(fā)起來(lái)比較困難,而且插件下載速度較慢。另外從Web效勞器與數(shù)據(jù)庫(kù)效勞器的位置來(lái)看,又可把接口技術(shù)分為兩類(lèi):一類(lèi)是Web效勞器與數(shù)據(jù)庫(kù)位于同一臺(tái)主機(jī)上,這類(lèi)接口包括Web效勞器與一些桌面數(shù)據(jù)庫(kù)如ACCESS數(shù)據(jù)庫(kù)連接,此時(shí)Web效勞器直接與數(shù)據(jù)庫(kù)效勞器連接,還包括一些數(shù)據(jù)庫(kù)如Oracle等對(duì)自身進(jìn)行Web擴(kuò)充而形成的Web效勞器,如:OracleWebServer,這種情況下,Web只能與一種數(shù)據(jù)庫(kù)進(jìn)行連接。一類(lèi)接口那么是Web效勞器與數(shù)據(jù)庫(kù)分別位于不同的主機(jī),此時(shí)在有Web效勞器的主機(jī)上必須安裝有關(guān)數(shù)據(jù)庫(kù)效勞器的前端工作軟件,Web:效勞器將通過(guò)它與數(shù)據(jù)庫(kù)效勞器連接。在這種情況下,一個(gè)Web效勞器可以同時(shí)與不同的主機(jī)上的幾個(gè)數(shù)據(jù)庫(kù)效勞器連接。從Web與數(shù)據(jù)庫(kù)接口實(shí)現(xiàn)的具體方法來(lái)分,接口技術(shù)分為以下四類(lèi):〔1〕通過(guò)CGI實(shí)現(xiàn)Web與數(shù)據(jù)庫(kù)的接口。利用高級(jí)程序語(yǔ)言如VB、PERL、C等編寫(xiě)CGI程序直接訪問(wèn)數(shù)據(jù)庫(kù)是實(shí)現(xiàn)Web與數(shù)據(jù)庫(kù)的一種最主要的方法,它由用戶(hù)在客戶(hù)端填寫(xiě)HTML表單激活效勞器端的CGI程序來(lái)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫(kù)訪問(wèn)。這種方法具有功能強(qiáng)大,易于維護(hù)的優(yōu)點(diǎn),而且很平安,但缺點(diǎn)是CGI編程比較復(fù)雜,且Web效勞器開(kāi)銷(xiāo)大?!?〕利用Web效勞器具有的數(shù)據(jù)庫(kù)客戶(hù)功能實(shí)現(xiàn)Web數(shù)據(jù)庫(kù)接口;如Microsoft的internetInformationServer〔IIS〕、Netscape的EnterpriseServer等。這類(lèi)效勞器本身就具有提供遠(yuǎn)程用戶(hù)訪問(wèn)本地?cái)?shù)據(jù)庫(kù)的功能,因此,實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,但其缺點(diǎn)在于它們并不能支持所有的數(shù)據(jù)庫(kù),而且缺乏靈活性、不易維護(hù),有些Web效勞器對(duì)平臺(tái)有嚴(yán)格的限制。(3)通過(guò)增強(qiáng)傳統(tǒng)數(shù)據(jù)庫(kù)的Web功能實(shí)現(xiàn)Web數(shù)據(jù)庫(kù)接口。一些傳統(tǒng)大型數(shù)據(jù)庫(kù)為了適應(yīng)數(shù)據(jù)庫(kù)技術(shù)的開(kāi)展,紛紛在其最新版本提供了與Web效勞器的接口。如Informix、Orocle等數(shù)據(jù)庫(kù)。如果采用這些數(shù)據(jù)庫(kù),開(kāi)發(fā)人員只需做少量工作,就可以實(shí)現(xiàn)Web數(shù)據(jù)庫(kù),且功能比較完善。但其缺點(diǎn)是數(shù)據(jù)庫(kù)價(jià)格較高,操作復(fù)雜,不適合中小型用戶(hù)。〔4〕運(yùn)用Java語(yǔ)言實(shí)現(xiàn)Web數(shù)據(jù)庫(kù)接口。作為一種專(zhuān)門(mén)用于因特網(wǎng)和Web環(huán)境、面向?qū)ο蟮木幊陶Z(yǔ)言,Java語(yǔ)言提供了一套完整的數(shù)據(jù)庫(kù)連接方案,即所謂JDBC。客戶(hù)機(jī)上的瀏覽器可以通過(guò)Web接收并運(yùn)行含有解釋器的Java小應(yīng)用程序Applet,這樣,原來(lái)完全依賴(lài)效勞器和CGI程序來(lái)處理的工作,就可由Applet在瀏覽器上來(lái)分擔(dān)一局部。與ODBC類(lèi)似的JDBC,是Java語(yǔ)言的SQLAPI,它支持Java與數(shù)據(jù)庫(kù)的無(wú)縫連接。以上四種技術(shù)各有優(yōu)缺點(diǎn),在實(shí)際應(yīng)用中,我們可以根據(jù)具體情況來(lái)確定使用哪一種技術(shù)。通過(guò)對(duì)各種接口技術(shù)的應(yīng)用和比較,可以得出如表8-1所示的結(jié)果。目前,幾乎所有的HTTP效勞器都支持CGI,它同時(shí)具有靈活性和通用性及可多種語(yǔ)言編程的特點(diǎn),從而得到了廣泛的應(yīng)用。但是由于其運(yùn)行效率較低及編程復(fù)雜的缺陷,增加了程序員和Web管理員的工作負(fù)擔(dān)。API〔ApplicationProgramingInterface〕技術(shù)雖然運(yùn)行效率高,但是這些API需要工作在專(zhuān)用Web效勞器和操作系統(tǒng)上,因而缺乏通用性。JDBC作為一種新的接口技術(shù),由于其與平臺(tái)的無(wú)關(guān)性,及Java語(yǔ)言在可移植性,平安性,可靠性等方面的優(yōu)勢(shì),再加上目前所有的數(shù)據(jù)庫(kù)廠商在其產(chǎn)品上均支持JDBC標(biāo)準(zhǔn),因此,JDBC將會(huì)成為新的Web效勞器與數(shù)據(jù)庫(kù)接口技術(shù)的標(biāo)準(zhǔn),應(yīng)用將日益廣泛和普及。下面,我們將簡(jiǎn)要介紹現(xiàn)在應(yīng)用比較多的兩種基于Web的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)ASP和PHP。有關(guān)具體應(yīng)用詳見(jiàn)相關(guān)書(shū)籍。表8-1各種接口的比較8.3.4Web與數(shù)據(jù)庫(kù)的接口方法ASP〔ActiveServerPages〕其實(shí)是一套微軟開(kāi)發(fā)的效勞器端腳本環(huán)境,內(nèi)含于和之中,通過(guò)ASP我們可以結(jié)合HTML網(wǎng)頁(yè)、ASP指令和ActiveX元件建立動(dòng)態(tài),交互且高效的Web效勞器應(yīng)用程序、有了ASP就不必?fù)?dān)憂客戶(hù)的瀏覽器是否能運(yùn)行你所編寫(xiě)的代碼,因?yàn)樗械某绦蚨紝⒃谛谄鞫藞?zhí)行,包括所有嵌在普通HTML中的腳本程序。當(dāng)程序執(zhí)行完畢后,效勞器僅將執(zhí)行的結(jié)果返回給客戶(hù)瀏覽器,這樣也就減輕了客戶(hù)端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。以以下出ASP所獨(dú)具的一些特點(diǎn):1)使用VBscript、Jscript等簡(jiǎn)單易懂的腳本語(yǔ)言,結(jié)合HTML代馮,即可快速地完成網(wǎng)站的應(yīng)用程序。2〕無(wú)需compile編譯,容易編寫(xiě),可在效勞器端直接執(zhí)行。3〕使用普通的文本編輯器,如Windows記事本,即可進(jìn)行編輯設(shè)計(jì)。4)與瀏覽器無(wú)關(guān),用戶(hù)端只要使用可執(zhí)行HTML的瀏覽器,即可瀏覽ASP所設(shè)計(jì)的網(wǎng)頁(yè)內(nèi)容。ASP所使用的腳本語(yǔ)言均在Web效勞器端執(zhí)行,用戶(hù)端的瀏覽器不需要能夠執(zhí)行這些腳本語(yǔ)言。5〕ASP能與任何ActiveXScripting語(yǔ)言相容。除了可使用VBScript或JScript語(yǔ)言來(lái)設(shè)計(jì)外,還通過(guò)Plug-in的方式,使用由第三方所提供的其它腳本語(yǔ)言,比方REXX、PERL、TCL等。腳本引擎是處理腳本程序的COM(ComponentObjectModel)物件。6)ASP的源程序,不會(huì)被傳到客戶(hù)瀏覽器,因而可以防止所寫(xiě)的源程序被他人剽竊,也提高了程序的平安性。7)可使用效勞器端的腳本來(lái)產(chǎn)生客戶(hù)端的腳本。8)面向?qū)ο?Object-oriented)。9)ActiveXServerComponents〔ActiveX效勞器元件〕具有無(wú)限可擴(kuò)充性??梢允褂肰isualBasic、Java、VisualC++、COBOL等編程語(yǔ)言來(lái)編寫(xiě)你所需要的ActiveXServerComponents。PHP〔PersonalHypertextPreprocessor〕,即超文本預(yù)處理器,它是一種HTML內(nèi)嵌式的效勞器端腳本語(yǔ)言。它混合了C、Java、Perl的語(yǔ)法,但能夠比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。與其它的交互式腳本語(yǔ)言相比,PHP具有非常顯著的特點(diǎn):首先,PHP大大加強(qiáng)了對(duì)數(shù)據(jù)庫(kù)的交互能力,PHP為各種流行的數(shù)據(jù)庫(kù),包括Linux平臺(tái)下的PostgreSQL、Msql、Mysql、Solid和Oracle,以及Windows平臺(tái)下的SQLServer等,都設(shè)計(jì)了專(zhuān)門(mén)的函數(shù)。其次PHP的執(zhí)行是跨越平臺(tái)的。它可以在WindowsX、WindowsNT、Unix.或者Linux:環(huán)境下運(yùn)行;可以非常方便地遷移程序。再次,PHP具有自由軟件的特性,它的使用是免費(fèi)的,用戶(hù)可以自行自由使用,并根據(jù)自己的需求參加使用所需的功能。最后,PHP的功能非常豐富,從結(jié)構(gòu)化的特性、對(duì)象式的設(shè)計(jì)、數(shù)據(jù)庫(kù)的處理、網(wǎng)絡(luò)接口使用到平安編碼機(jī)制,它幾乎包含了網(wǎng)站后臺(tái)程序開(kāi)發(fā)所需的所有功能。PHP最初是由一個(gè)叫RasmusLerdorf的程序設(shè)計(jì)員開(kāi)始編寫(xiě)的。在1995年,他用PHP〔PersonalHypertextPreprocessor〕開(kāi)始對(duì)外發(fā)表第一個(gè)版本。在這早期的版本中,僅僅提供了訪客留言本、訪客計(jì)數(shù)器等簡(jiǎn)單的功能。PHP出現(xiàn)后,隨著開(kāi)發(fā)小組成員的不斷擴(kuò)充,PHP也得到了較快的開(kāi)展。同年,第2版的PHP問(wèn)市,第2版定名為PHP/FI〔FormInterpreter〕,它加人了mSQL的支援,自此奠定了PHP在動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)上的影響力。在1996年底,已經(jīng)有15000個(gè)Web站點(diǎn)使用PHP/FI;在1997年時(shí),使用PHP/FI的Web站點(diǎn)成長(zhǎng)到超過(guò)5萬(wàn)個(gè)。1997年中,PHP開(kāi)始了第3版的開(kāi)發(fā)方案,開(kāi)發(fā)小組參加了ZeevSuraski及AndiGutmans,而第3版就定名為PHP3。PHP的開(kāi)展速度是驚人的,根據(jù)Netcraft在1999年10月的報(bào)告,有931122個(gè)域和321128個(gè)IP地址利用PHP技術(shù)。PHP的獲得與安裝。同其它動(dòng)態(tài)網(wǎng)頁(yè)的運(yùn)行環(huán)境一樣,PHP運(yùn)行框架的構(gòu)建也包括幾個(gè)方面,即操作系統(tǒng)的選擇、數(shù)據(jù)庫(kù)效勞器的安裝和配置、Web效勞器的安裝和配制以及PHP的安裝,等等。操作系統(tǒng)的選擇對(duì)于用戶(hù)而言是任意的,PHP可以根據(jù)自己的需求選擇在不同的環(huán)境下安裝,包括在WINDOWSX下的安裝、在WindowsNT下的安裝、在Unix下的安裝和在Linux下的安裝等幾種情況。但對(duì)于目前大多數(shù)PHP用戶(hù)而言,往往是使用Unix或者Linux作為安裝平臺(tái),因?yàn)閷?duì)于PHP的運(yùn)行而言,在Unix或者Linux下運(yùn)行效率是最高的。用戶(hù)對(duì)于數(shù)據(jù)庫(kù)效勞器的選擇也沒(méi)有很大的限制,用戶(hù)可以選擇dBase、dbm、filePro、InterBsae、MySQL、MicrosoftSQL、Sybase、Orcale、Informix、postgreSQL等。對(duì)于Web效勞器的選擇,可以選擇PWS(運(yùn)行于Windows9X)、IIS(運(yùn)行于WindowsNT)、OHTTPD(運(yùn)行于多種操作系統(tǒng))以及Apache(可運(yùn)行于多種操作系統(tǒng)之下)等。另外,對(duì)PHP程序的獲得,用戶(hù)可以在PHP的官方網(wǎng)站://處下載。8.3.5幾個(gè)Web開(kāi)發(fā)工具介紹Web開(kāi)發(fā)軟件的產(chǎn)生和開(kāi)展與Internet的開(kāi)展密不可分,現(xiàn)在Web開(kāi)發(fā)工具越來(lái)越多,功能也差異很大,這往往給程序開(kāi)發(fā)人員選擇適宜的Web工具帶來(lái)了很大的困難。這里我們就介紹幾種目前最流行的Web開(kāi)發(fā)工具,希望能對(duì)讀者有所幫助。1、VisualInterDevMicrosoft的產(chǎn)品一般都是只有在Windows環(huán)境中才具有最正確的執(zhí)行效率,因此VisualInterDev〔VI〕也不例外。VI利用在WindowsNT效勞器上執(zhí)行的InternetInformationServer〔IIS〕〔或在其它的Web效勞器上,利用協(xié)作廠商ChiliSoft所提供的擴(kuò)展功能〕來(lái)利用ActiveServerPage〔ASP〕的技術(shù)。雖然VI同時(shí)支持Java及大局部的JavaScript功能,但它還是比較偏重于使用VisualBasic〔VB〕、VBScript及ActiveX等相關(guān)技術(shù)。此外,這個(gè)軟件的數(shù)據(jù)庫(kù)設(shè)計(jì)器〔DatabaseDesigner〕也只能與該公司推出的SQLServer數(shù)據(jù)庫(kù)效勞器一起使用。VI集成了軟件界龍頭老大Microsoft陣營(yíng)生產(chǎn)的各式各樣的開(kāi)發(fā)工具,這對(duì)那些使用WindowsNT操作系統(tǒng)的開(kāi)發(fā)員來(lái)講無(wú)疑是一個(gè)很好的消息。運(yùn)行軟件的集成開(kāi)發(fā)環(huán)境〔IntegratedDevelopmentEnvironment;IDE〕將與Office97相似的操作風(fēng)格與VisualC++及VisualJ++的設(shè)計(jì)功能完美的結(jié)合在一起。同及InternetExplorer一樣,VI也是一個(gè)ActiveDocument〔Active文件〕的包容器程序〔container〕。程序開(kāi)發(fā)者不用離開(kāi)VI的IDE就能直接處理Excel、Word及其它具備ActiveDoc功能的文件。VI軟件內(nèi)置有ImageComposer、MusicProducter以及MediaManager三個(gè)程序,它們可以幫助開(kāi)發(fā)人員處理各種各樣的數(shù)據(jù)格式。當(dāng)然用戶(hù)也可以用鼠標(biāo)雙擊指定的文件類(lèi)型,或利用OpenWith?指令來(lái)翻開(kāi)喜歡的應(yīng)用軟件〔如Photoshop〕以定制IDE的組態(tài)。VI套件中包含了FrontPage97HTML編輯器以及設(shè)計(jì)客戶(hù)端Script程序的ScriptWizard──ScriptWizard最初是與ActiveXControlPad?共同推出的免費(fèi)程序。ScriptWizard提供了拖放設(shè)計(jì)和直接編輯程序代碼的功能,而且可自動(dòng)產(chǎn)生VBScript或JScript的程序代碼。在程序設(shè)計(jì)階段程序員使用的ActiveX控制組件會(huì)與NT上的ASP核心模塊通信并自動(dòng)產(chǎn)生出效勞器端的Script語(yǔ)言。如可以使用DataFormWizard開(kāi)發(fā)一個(gè)與數(shù)據(jù)庫(kù)結(jié)合的HTML頁(yè)面,這個(gè)頁(yè)面可以修改通過(guò)ODBC連結(jié)的數(shù)據(jù)庫(kù)中的任何記錄。此外,利用兩個(gè)設(shè)計(jì)階段的控制組件──DataRange,你不必親自撰寫(xiě)程序就能開(kāi)發(fā)出操控連線作業(yè)〔session〕的程序代碼。DataRangerHeader控制組件會(huì)啟動(dòng)QueryDesigner,而QueryDesigner那么提供設(shè)計(jì)工具讓用戶(hù)用拖放設(shè)計(jì)的方法對(duì)ODBC數(shù)據(jù)庫(kù)建立SQL查詢(xún)指令。程序所需的ActiveServerScript程序?qū)⒖梢宰詣?dòng)產(chǎn)生。當(dāng)然開(kāi)發(fā)人員也有可能還需要手動(dòng)編輯局部程序以便插入適當(dāng)?shù)臄?shù)據(jù)庫(kù)參數(shù)。當(dāng)用戶(hù)對(duì)某個(gè)URL提出效勞請(qǐng)求時(shí),IIS的ASP核心模塊會(huì)執(zhí)行效勞器端的程序代碼為用戶(hù)翻開(kāi)新的連線操作以及與后臺(tái)的數(shù)據(jù)庫(kù)通信,并且將所得的結(jié)果動(dòng)態(tài)的轉(zhuǎn)換為文字及HTML控制碼輸出。所有的原始程序都保存在效勞器上。用戶(hù)可以在IDE中利用InternetExplorerActiveX控制組件或使用瀏覽器來(lái)預(yù)覽所設(shè)計(jì)的頁(yè)面。DataView功能讓用戶(hù)可以方便的管理與多個(gè)數(shù)據(jù)庫(kù)的關(guān)連,?在關(guān)連連線上按下鼠標(biāo)右鍵還能查看數(shù)據(jù)表定義〔tabledefinition〕、欄位類(lèi)型〔fieldtype〕、鍵結(jié)構(gòu)〔keystructure〕和存儲(chǔ)過(guò)程〔storeprocedure〕等。DatabaseDesigner提供了與Access相似的設(shè)計(jì)工具,它還提供了能產(chǎn)生用以設(shè)計(jì)及建立SQL效勞器數(shù)據(jù)表及數(shù)據(jù)關(guān)系圖的數(shù)據(jù)定義語(yǔ)言〔DataDefinitionLanguage;DDL〕。假設(shè)想查看整個(gè)站點(diǎn)的結(jié)構(gòu),只要切換到LinkView功能即可用圖示的方式來(lái)相看整個(gè)站點(diǎn)的配置。頁(yè)面中失效的鏈結(jié)〔brokenlink〕會(huì)以紅線表示出來(lái),?用戶(hù)還可以根據(jù)可執(zhí)行文件、HTML文件、多媒體文件以及內(nèi)部、外部、主要〔primary〕及次要〔secondary〕連結(jié)的方式來(lái)過(guò)濾所有的元素。假假設(shè)用戶(hù)更改文件名稱(chēng)或移動(dòng)文件的位置,VI也會(huì)自動(dòng)的更換參考到這個(gè)文件的鏈接。Microsoft的VisualSourceSafe可以集成到VI中以對(duì)文件進(jìn)行讀寫(xiě)操作及版本控制。2、HAHTsiteHAHTSoftware公司推出的HAHTsite在跨越多種操作平臺(tái)、Web效勞器、數(shù)據(jù)庫(kù)、API及瀏覽器等方面都有很好的表現(xiàn)。假設(shè)你喜歡VB及VisualStudio的集成開(kāi)發(fā)環(huán)境,那么你馬上就可以熟悉HAHTsite的與VB兼容的HAHTtalkBasic和WebProjectExplorer。此外,用戶(hù)也可以使用HAHTtalkBasic來(lái)控制或建立任何一種Java對(duì)象類(lèi)的變量。HAHTsite的ApplicationServer具備多處理〔multiprocess〕功能,而且它可以多線程〔multithread〕方式操作的。它所起的作用和Microsoft的IISASP核心模塊很相似,它們都會(huì)攔截對(duì)效勞器上程序代碼的調(diào)用并根據(jù)執(zhí)行結(jié)果動(dòng)態(tài)地產(chǎn)生出HTML頁(yè)面。HAHTsite效勞器會(huì)利用cookie及狀態(tài)識(shí)別碼〔stateID〕,同時(shí)效勞器會(huì)將客戶(hù)端瀏覽器的IP地址記錄到狀態(tài)識(shí)別碼中。HAHTsite不但支持Microsoft的DAO數(shù)據(jù)庫(kù)對(duì)象模型,同時(shí)也能通過(guò)原生〔驅(qū)動(dòng)程序來(lái)訪問(wèn)Oracle7、MicrosoftSQLServer、SybaseSQLServer和Informix數(shù)據(jù)庫(kù)等。HAHTsite的ConnectionManager允許同一個(gè)應(yīng)用的每個(gè)組件共享同一個(gè)數(shù)據(jù)庫(kù)連接。HAHTsite的集成開(kāi)發(fā)環(huán)境提供了一系列的頁(yè)面控制組件,包括textarea〔文字域〕、button〔按鈕〕、checkbox〔檢查框〕、radiobutton〔選項(xiàng)按鈕〕、listbox〔列表盒〕、text〔文字〕、combobox〔復(fù)合方塊〕以及DataSet控制組件,這個(gè)組件會(huì)連結(jié)頁(yè)面控制組件和數(shù)據(jù)庫(kù)中的數(shù)據(jù)表,同時(shí)提供數(shù)據(jù)插入〔Insert〕、更新〔Update〕、刪除〔Delete〕、查詢(xún)〔Query〕、再查詢(xún)〔Requery〕、去除〔Clear〕及移動(dòng)〔Move〕等功能。套件中的FormWizard能根據(jù)用戶(hù)選定的數(shù)據(jù)表或輸入的SQL查詢(xún)指令以及給定的數(shù)據(jù)欄位、控制組件、按鈕及版面配置等設(shè)置參量自動(dòng)產(chǎn)生與數(shù)據(jù)庫(kù)結(jié)合的HTML頁(yè)面。套件中其它的向?qū)к浖€包括報(bào)表產(chǎn)生器以及可視化點(diǎn)擊-拖拉〔click-and-drag〕控制方式產(chǎn)生HTML幀〔frame〕的工具。在HAHTsite的Widget設(shè)計(jì)階段、文件存儲(chǔ)階段以及執(zhí)行階段,控制組件都能通過(guò)設(shè)計(jì)精靈以及內(nèi)置的SDK的幫助,利用HAHTtalkBasic創(chuàng)立出來(lái),用戶(hù)也可以利用預(yù)建的小工具將Javaapplet、ActiveX控制組件、自動(dòng)更新的頁(yè)面瀏覽控制條〔link-navigationbar〕和寄信處理器〔mail-tohandler〕等加到自己的頁(yè)面中。如果你設(shè)定了文字輸入域〔text〕的屬性,程序?qū)?huì)自動(dòng)產(chǎn)生驗(yàn)證這個(gè)輸入欄位的JavaScript程序代碼。用戶(hù)還可以從WebProjectExplorer中將頁(yè)面的任何一部份剪下并存儲(chǔ)成圖形文件。另外,用戶(hù)也可以將頁(yè)面拉到?HAHTspot圖象-映射〔image-map〕編輯器中,這樣能夠產(chǎn)生客戶(hù)端或效勞器端的圖象映射圖。HAHTsite會(huì)更新失效的鏈結(jié)、將程序代碼編譯成與機(jī)器無(wú)關(guān)〔machine-independent〕的pcode,同時(shí)能通過(guò)文件復(fù)制、文件傳輸〔FTP〕或HTTP協(xié)議,將頁(yè)面更新數(shù)據(jù)傳送到單一或多個(gè)效勞器上。這個(gè)軟件利用預(yù)先設(shè)置好的站點(diǎn)定義文件,來(lái)處理文件擴(kuò)展名、數(shù)據(jù)儲(chǔ)存路徑、是否區(qū)別文件名的大小寫(xiě)和其它的相關(guān)信息,同時(shí)也管理各Web效勞器與操作系統(tǒng)之間的差異性。使用HAHTsite提供的調(diào)試器,用戶(hù)不但可以在本地端的主機(jī)上使用VisualWebDebugger,也可以通過(guò)密碼保護(hù)的TCP/IP連結(jié)從遠(yuǎn)程進(jìn)行調(diào)試。3、CactusInformationBuilder的在跨平臺(tái)支持方面有很大的改進(jìn),這個(gè)軟件可以很將現(xiàn)有的客戶(hù)機(jī)/效勞器及Web應(yīng)用軟
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶市物業(yè)服務(wù)合同范本示例
- 保理合同(日元)
- 房屋使用權(quán)合同轉(zhuǎn)租協(xié)議樣本
- 檢測(cè)服務(wù)合同范本:機(jī)構(gòu)合作篇
- 資產(chǎn)配置基金合同例文
- 度標(biāo)準(zhǔn)私人承包協(xié)議合同
- 農(nóng)產(chǎn)品購(gòu)銷(xiāo)合同經(jīng)典合同范文
- 房地產(chǎn)項(xiàng)目苗木采購(gòu)合同書(shū)模板
- 家電配件的表面裝飾與標(biāo)識(shí)技術(shù)考核試卷
- 中介服務(wù)行業(yè)的人力資源服務(wù)標(biāo)準(zhǔn)考核試卷
- (外研版)英語(yǔ)四年級(jí)下冊(cè)配套同步練習(xí) (全書(shū)完整版)
- 某物業(yè)公司能力素質(zhì)模型庫(kù)(參考)
- 消防工程述標(biāo)
- DBJ∕T13-354-2021 既有房屋結(jié)構(gòu)安全隱患排查技術(shù)標(biāo)準(zhǔn)
- 教學(xué)課件-古文陋室銘劉禹錫課件
- 主題班會(huì)教學(xué)課件:禁毒教育主題班會(huì)(共38張)
- 道路、橋梁、隧道、地鐵施工標(biāo)準(zhǔn)化手冊(cè)(專(zhuān)業(yè)篇)
- 初中人音版音樂(lè)七年級(jí)下冊(cè).第二單元長(zhǎng)江之歌.(14張)ppt課件
- NancyDrew分析
- 離心式排風(fēng)機(jī)安裝施工方案及技術(shù)措施
- 中西紀(jì)年對(duì)照表
評(píng)論
0/150
提交評(píng)論