《軟件開(kāi)發(fā)工具》第6章 軟件開(kāi)發(fā)工具的現(xiàn)狀與發(fā)展_第1頁(yè)
《軟件開(kāi)發(fā)工具》第6章 軟件開(kāi)發(fā)工具的現(xiàn)狀與發(fā)展_第2頁(yè)
《軟件開(kāi)發(fā)工具》第6章 軟件開(kāi)發(fā)工具的現(xiàn)狀與發(fā)展_第3頁(yè)
《軟件開(kāi)發(fā)工具》第6章 軟件開(kāi)發(fā)工具的現(xiàn)狀與發(fā)展_第4頁(yè)
《軟件開(kāi)發(fā)工具》第6章 軟件開(kāi)發(fā)工具的現(xiàn)狀與發(fā)展_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第6章軟件開(kāi)發(fā)工具的現(xiàn)狀與發(fā)展本章內(nèi)容6.1軟件開(kāi)發(fā)工具的發(fā)展現(xiàn)狀6.2軟件開(kāi)發(fā)工具的發(fā)展方向與趨勢(shì)6.3從計(jì)算機(jī)語(yǔ)言發(fā)展而來(lái)的工具6.4綜合性的平臺(tái)或開(kāi)發(fā)環(huán)境6.1

軟件開(kāi)發(fā)工具的現(xiàn)狀20世紀(jì)80年代中期,軟件開(kāi)發(fā)工具開(kāi)始興起。與一切新技術(shù)一樣經(jīng)歷了反復(fù)和曲折的發(fā)展過(guò)程。從開(kāi)始的期望過(guò)高,到受了挫折之后的思考;從模糊的設(shè)想,到具體地分析與實(shí)現(xiàn)。一、國(guó)外發(fā)展?fàn)顩r80年代中期,專(zhuān)項(xiàng)的、支持某一工作環(huán)節(jié)的專(zhuān)用工具大量涌現(xiàn)管理數(shù)據(jù)字典的工具CDD,Dictionary/3000畫(huà)數(shù)據(jù)流圖的工具Flow代碼生成器4GL支持單一環(huán)節(jié)、分散應(yīng)用工具的弱點(diǎn)對(duì)軟件開(kāi)發(fā)缺乏全面統(tǒng)一的支撐環(huán)境,容易造成沖突和矛盾。把許多困難、瑣碎的信息轉(zhuǎn)換工作留給了軟件開(kāi)發(fā)人員。AD/Cycle中的主要工具:(1)用于項(xiàng)目管理與質(zhì)量管理的ADPS(自動(dòng)數(shù)據(jù)處理系統(tǒng))(2)用于AS/400的一體化工具ADT(ApplicationDataTable) AS/400商用服務(wù)器,作為IBM的中小型商用計(jì)算機(jī)系統(tǒng),以其卓越性能,在全世界贏得廣泛客戶(hù)。自問(wèn)世以來(lái),AS/400在全球的安裝量已經(jīng)超過(guò)60萬(wàn)套,行銷(xiāo)150個(gè)國(guó)家,廣泛應(yīng)用于流通、金融證券、制造、運(yùn)輸行業(yè)?!敦?cái)富》雜志排名中,前100家大企業(yè)中有93家使用AS/400,前1000名企業(yè)中有850家選擇AS/400。(3)用于分析、建模及DB2數(shù)據(jù)庫(kù)設(shè)計(jì)的BachmanReengineeringProductSet(Bachman公司,巴赫曼再造產(chǎn)品集)。DB2就是IBM開(kāi)發(fā)的一種大型關(guān)系型數(shù)據(jù)庫(kù)平臺(tái)。它支持多用戶(hù)或應(yīng)用程序在同一條SQL語(yǔ)句中查詢(xún)不同database甚至不同DBMS中的數(shù)據(jù)。目前,DB2有如下一些版本:(比如DB2forUnix,DB2forWindows,DB2forAS/400,DB2forOS/390等)。BachmanReengineeringProductSet:程序的維護(hù)、當(dāng)前提升和遷移當(dāng)前的應(yīng)用、開(kāi)發(fā)新的應(yīng)用。(4)用于在SAA平臺(tái)上生成代碼的SCP/AD; IBM的SAA是一套應(yīng)用程序、通信和用戶(hù)接口規(guī)范,它專(zhuān)門(mén)服務(wù)于IBM大型計(jì)算機(jī)操作系統(tǒng)如VM、MVS,中型機(jī)操作系統(tǒng)如OS/400(為IBMAS/400系列機(jī))和臺(tái)式機(jī)系統(tǒng)的OS/2操作系統(tǒng)。SAA定義了公共應(yīng)用程序(CommonApplications),這些應(yīng)用程序可在任何一個(gè)SAA平臺(tái)上運(yùn)行。(5)用于DFD、ER及數(shù)據(jù)庫(kù)設(shè)計(jì)的DevelopMale;(6)用于文檔工作站環(huán)境下的一體化開(kāi)發(fā)工具PCPrism和Excelerator(Intersolv公司);(7)強(qiáng)調(diào)以知識(shí)庫(kù)為支持的一體化開(kāi)發(fā)工具IEW(用于PCDOS)和ADW(用于OS2,KnowledgeWare公司);(8)用于信息庫(kù)管理的RepositoryManager/MVS; .(9)用于軟件測(cè)試的SATT和WITT。1994年AD/Cycle事實(shí)上被終止新型的Client/Server結(jié)構(gòu)迅速興起;開(kāi)放式體系結(jié)構(gòu)的廣泛應(yīng)用;基于傳統(tǒng)的主機(jī)中心結(jié)構(gòu)、局限于IBM平臺(tái)的缺點(diǎn)使AD/Cycle失去了活力。目前真正一體化、能適應(yīng)各種平臺(tái)的工具尚不多。較多的是兩類(lèi)工具:一類(lèi)是用于特定平臺(tái)上的、主要用于設(shè)計(jì)階段的工具。這類(lèi)工具多依賴(lài)于軟件平臺(tái)(如某種DBMS),包括:ORACLE的CASE,INFOMAX的NewEra,IBM的VisualAge,PowerBuilder,PowerHouse。一類(lèi)是側(cè)重于分析方法的、獨(dú)立于平臺(tái)的工具。從方法論的角度,這類(lèi)工具更值得關(guān)注。如Rational公司的Rose,MARKV等。近年來(lái),基于互聯(lián)網(wǎng)和開(kāi)源軟件的工具出現(xiàn)。除了普通工具的功能外,還能夠:搜索和檢查開(kāi)源軟件;自動(dòng)生成和檢查XML;基于SOAP;面向UDDL的搜索。二、國(guó)內(nèi)發(fā)展?fàn)顩r上世紀(jì)80年代初期,徐家福、楊芙清開(kāi)始研究軟件工作環(huán)境;單項(xiàng)工具:清華大學(xué)的Auto-DBase3,報(bào)表生成器,自動(dòng)屏幕設(shè)計(jì)工具、自動(dòng)菜單設(shè)計(jì)工具等;一體化的集成環(huán)境:北京大學(xué)的青鳥(niǎo)項(xiàng)目,QuickMIS等產(chǎn)品;研究水平并不落后,主要的落后點(diǎn)在于應(yīng)用,即沒(méi)有大規(guī)模地應(yīng)用軟件開(kāi)發(fā)工具;我國(guó)軟件產(chǎn)業(yè),當(dāng)務(wù)之急應(yīng)是大力普及軟件工程及方法學(xué)的知識(shí),提高軟件開(kāi)發(fā)工作的水平,這才能使軟件開(kāi)發(fā)工具的應(yīng)用具有實(shí)踐的基礎(chǔ)。6.2

軟件開(kāi)發(fā)工具的發(fā)展趨勢(shì)(四化) (一)智能化、網(wǎng)絡(luò)化、一體化、標(biāo)準(zhǔn)化是軟件開(kāi)發(fā)工具發(fā)展的重要方向:智能化:在軟件開(kāi)發(fā)工具的研究與使用中引人人工智能、神經(jīng)網(wǎng)絡(luò)等技術(shù),使得軟件開(kāi)發(fā)工具對(duì)于不確定型的信息、模糊信息具有更強(qiáng)的處理能力。由于在軟件開(kāi)發(fā)工作中,存在著大量不確定的因素,人們常常需要用知識(shí)與經(jīng)驗(yàn)來(lái)加以補(bǔ)充或加工。在這方面人工智能方面的技術(shù)可以提高信息處理的功能及效率。網(wǎng)絡(luò)化:如果說(shuō)單個(gè)工作站或微機(jī)的延伸還只是個(gè)人頭腦的擴(kuò)展的話(huà),那么計(jì)算機(jī)網(wǎng)絡(luò)的普遍使用則是全人類(lèi)的頭腦得到了極大的擴(kuò)充,人類(lèi)收集與積累知識(shí)的能力大大地加強(qiáng)了。通過(guò)網(wǎng)絡(luò),人們可以更方便地互通信息,共享知識(shí),這就給人們所夢(mèng)想的軟件重用、知識(shí)重用提供了新的機(jī)會(huì)。在項(xiàng)目管理方面,網(wǎng)絡(luò)的應(yīng)用使人們更便于掌握項(xiàng)目的進(jìn)展?fàn)顩r、質(zhì)量狀況等。目前利用網(wǎng)絡(luò)提供條件提高工作效率的軟件開(kāi)發(fā)工具,以及在網(wǎng)絡(luò)上開(kāi)發(fā)應(yīng)用軟件的工具,正在成為當(dāng)前發(fā)展的一個(gè)熱點(diǎn)。一體化:這一趨勢(shì)早在80年代后期已經(jīng)十分明顯。但是,在開(kāi)始時(shí)人們顯然低估了一體化的困難。許多教訓(xùn)告訴我們,困難不在于技術(shù)上的問(wèn)題(如速度、容量等),而在于對(duì)軟件開(kāi)發(fā)過(guò)程與相關(guān)信息的認(rèn)識(shí)深度。只有對(duì)于軟件開(kāi)發(fā)中涉及的各種信息,以及在開(kāi)發(fā)過(guò)程中它們的發(fā)生、變化、關(guān)系、一致性等有了完整與深刻的理解,才能真正實(shí)現(xiàn)軟件開(kāi)發(fā)工具的一體化。近來(lái)關(guān)于信息庫(kù)的內(nèi)容及處理功能的討論,從理論上為實(shí)現(xiàn)一體化提供了基礎(chǔ)??蛻?hù)/服務(wù)器結(jié)構(gòu)的發(fā)展也為實(shí)現(xiàn)軟件開(kāi)發(fā)工具的一體化提供了啟發(fā)與新思路。標(biāo)準(zhǔn)化:為了解決大型軟件開(kāi)發(fā)的困難,需要把軟件開(kāi)發(fā)工作分成兩個(gè)部分:軟件構(gòu)件(就像硬件的芯片)的開(kāi)發(fā)和用這些構(gòu)件組成大型軟件(就像用芯片組成主機(jī))。軟件構(gòu)件必須實(shí)現(xiàn)標(biāo)準(zhǔn)化,用構(gòu)件組成大型軟件的結(jié)構(gòu)也必須符合一定的標(biāo)準(zhǔn),否則就不可能提高生產(chǎn)效率。一些標(biāo)準(zhǔn)已經(jīng)提出,如CORBA、COM等等??梢灶A(yù)計(jì),今后幾年內(nèi)在這方面還會(huì)有新的進(jìn)展。CORBA(CommonObjectRequestBrokerArchitecture,公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu),通用對(duì)象請(qǐng)求代理體系結(jié)構(gòu))是由OMG組織制訂的一種標(biāo)準(zhǔn)的面向?qū)ο髴?yīng)用程序體系規(guī)范?;蛘哒f(shuō)CORBA體系結(jié)構(gòu)是對(duì)象管理組織(OMG)為解決分布式處理環(huán)境(DCE)中,硬件和軟件系統(tǒng)的互連而提出的一種解決方案;OMG組織是一個(gè)國(guó)際性的非盈利組織,其職責(zé)是為應(yīng)用開(kāi)發(fā)提供一個(gè)公共框架,制訂工業(yè)指南和對(duì)象管理規(guī)范,加快對(duì)象技術(shù)的發(fā)展。COM(ComponentObjectModel)是微軟自1993年便提出的元件式軟件平臺(tái),用來(lái)做行程間通訊(Inter-processcommunication,IPC)以及當(dāng)作元件式軟件開(kāi)發(fā)的平臺(tái)。COM提供跟編程語(yǔ)言無(wú)關(guān)的方法實(shí)作一個(gè)軟件物件,因此可以在其他環(huán)境中執(zhí)行。COM要求軟件元件必須遵照一個(gè)共同的接口,該接口與實(shí)現(xiàn)無(wú)關(guān),因此可以隱藏實(shí)現(xiàn)屬性,并且被其他物件在不知道其內(nèi)部實(shí)現(xiàn)的情形下正確的使用。COM并被實(shí)作于多個(gè)平臺(tái)之上,并不限于Windows操作系統(tǒng)之上。但還是只有Windows最常使用COM,且某些功能已被目前的.NET平臺(tái)取代。(二)軟件工具的發(fā)展軌跡軟件開(kāi)發(fā)工具的目標(biāo)和作用是什么?我們需要軟件開(kāi)發(fā)工具,就是要更好更快地開(kāi)發(fā)軟件,就是為了提高軟件開(kāi)發(fā)的效率和質(zhì)量。軟件開(kāi)發(fā)工具是一個(gè)相當(dāng)寬泛、又比較模糊的概念,很難給出確切的、沒(méi)有爭(zhēng)議的定義。軟件開(kāi)發(fā)工具包含了從非常具體的計(jì)算機(jī)語(yǔ)言到內(nèi)容豐富、功能齊全的開(kāi)發(fā)環(huán)境的一個(gè)相當(dāng)廣泛的譜系。譜系的一端是從某些計(jì)算機(jī)語(yǔ)言,通過(guò)增加各種輔助工具發(fā)展而來(lái)的工具;另一端是從較為復(fù)雜的概念模式或過(guò)程模式出發(fā)設(shè)計(jì)的開(kāi)發(fā)平臺(tái)或開(kāi)發(fā)環(huán)境。軟件開(kāi)發(fā)工具發(fā)展過(guò)程中,多樣性和趨同性并存。用一種語(yǔ)言、一個(gè)環(huán)境包羅萬(wàn)象的思想是無(wú)法實(shí)現(xiàn)的。宇宙和社會(huì)的極端復(fù)雜性,應(yīng)用領(lǐng)域的變幻莫測(cè),必然導(dǎo)致語(yǔ)言和工具的多樣性,這是一個(gè)客觀規(guī)律。在功能、系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、使用方式甚至界面設(shè)計(jì)等許多方面,工具呈現(xiàn)出明顯的趨同性。這表明在信息處理、知識(shí)表達(dá)、事務(wù)處理等問(wèn)題上,確實(shí)存在著普遍規(guī)律的,只是我們今天還沒(méi)有透徹地理解和掌握。6.3從計(jì)算機(jī)語(yǔ)言發(fā)展出來(lái)的工具VB:VisualBasic是一種由微軟公司開(kāi)發(fā)的包含協(xié)助開(kāi)發(fā)環(huán)境的事件驅(qū)動(dòng)編程語(yǔ)言。從任何標(biāo)準(zhǔn)來(lái)說(shuō),VB都是世界上使用人數(shù)最多的語(yǔ)言,不僅是盛贊VB的開(kāi)發(fā)者還是抱怨VB的開(kāi)發(fā)者的數(shù)量。它源自于BASIC編程語(yǔ)言。VB擁有圖形用戶(hù)界面(GUI)和快速應(yīng)用程序開(kāi)發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫(kù),或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個(gè)應(yīng)用程序。ADO---ActiveDataObjects,活動(dòng)數(shù)據(jù)對(duì)象

DAO---DataAccessObjects,數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象

RDO---RemoteDataObjects,遠(yuǎn)程數(shù)據(jù)對(duì)象

語(yǔ)言特性VB的中心思想就是要便于程序員使用,無(wú)論是新手或者專(zhuān)家。VB使用了可以簡(jiǎn)單建立應(yīng)用程序的GUI系統(tǒng),但是又可以開(kāi)發(fā)復(fù)雜的程序。窗體控件的增加和改變可以用拖放技術(shù)實(shí)現(xiàn)。一個(gè)排列滿(mǎn)控件的工具箱用來(lái)顯示可用控件(比如文本框或者按鈕)。VB的程序可以包含一個(gè)或多個(gè)窗體,或者是一個(gè)主窗體和多個(gè)子窗體,類(lèi)似于操作系統(tǒng)的樣子。VB的組件既可以擁有用戶(hù)界面,也可以沒(méi)有。這樣一來(lái)服務(wù)器端程序就可以處理增加的模塊。VB使得大量的外界控件有了自己的生存空間。大量的第三方控件針對(duì)VB提供。VB也提供了建立、使用和重用這些控件的方法,但是由于語(yǔ)言問(wèn)題,從一個(gè)應(yīng)用程序創(chuàng)建另外一個(gè)并不簡(jiǎn)單。VisualBasic的局限性不支持繼承

VB和VB.net都是基于對(duì)象的編程語(yǔ)言,但是不包含繼承特性。VB中提供了特殊的類(lèi)的功能,但是還是不能滿(mǎn)足程序員的需求。VB.net包含了所有面向?qū)ο蟮奶匦浴6嗑€(xiàn)程無(wú)原生支持

VisualBasic對(duì)于多線(xiàn)程無(wú)原生支持,只能通過(guò)WindowsAPI的調(diào)用實(shí)現(xiàn)。VB.Net2002以及之后的版本,都支持多線(xiàn)程技術(shù)。異常處理不完善

VisualBaisc中內(nèi)置異常處理,即使未寫(xiě)異常處理代碼,一旦用戶(hù)出錯(cuò)也會(huì)彈出一個(gè)明確寫(xiě)出出錯(cuò)原因?qū)υ?huà)框,接著程序終止。VC:MicrosoftVisualC++是Microsoft公司推出的開(kāi)發(fā)Win32環(huán)境程序、面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動(dòng)生成、靈活方便的類(lèi)管理、代碼編寫(xiě)和界面設(shè)計(jì)集成交互操作、可開(kāi)發(fā)多種程序等優(yōu)點(diǎn),而且通過(guò)簡(jiǎn)單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫(kù)接口、OLE,WinSock網(wǎng)絡(luò)、3D控制界面。OLE(ObjectLinkingandEmbedding,對(duì)象連接與嵌入)。OLE不僅是桌面應(yīng)用程序集成,而且還定義和實(shí)現(xiàn)了一種允許應(yīng)用程序作為軟件“對(duì)象”(數(shù)據(jù)集合和操作數(shù)據(jù)的函數(shù))彼此進(jìn)行“連接”的機(jī)制,這種連接機(jī)制和協(xié)議稱(chēng)為部件對(duì)象模型(ComponentObjectModel),簡(jiǎn)稱(chēng)COM。OLE可以用來(lái)創(chuàng)建復(fù)合文檔,復(fù)合文檔包含了創(chuàng)建于不同源應(yīng)用程序,有著不同類(lèi)型的數(shù)據(jù),因此它可以把文字、聲音、圖像、表格、應(yīng)用程序等組合在一起。VC以擁有“語(yǔ)法高亮”,IntelliSense(自動(dòng)編譯功能)以及高級(jí)除錯(cuò)功能而著稱(chēng)。比如,它允許用戶(hù)進(jìn)行遠(yuǎn)程調(diào)試,單步執(zhí)行等。還有允許用戶(hù)在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動(dòng)正在調(diào)試的程序。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱(chēng)。這些特征明顯縮短程式編輯、編譯及連結(jié)的時(shí)間花費(fèi),在大型軟件計(jì)劃上尤其顯著PB:生產(chǎn)廠商PowerSoft公司推出的產(chǎn)品(PowerSoft現(xiàn)已被數(shù)據(jù)庫(kù)廠商Sybase所收購(gòu)),它完全按照客戶(hù)機(jī)/服務(wù)器體系結(jié)構(gòu)研制設(shè)計(jì),在客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu)中,它使用在客戶(hù)機(jī)中,作為數(shù)據(jù)庫(kù)應(yīng)用程序的開(kāi)發(fā)工具而存在。由于PowerBuilder采用了面向?qū)ο蠛涂梢暬夹g(shù),提供可視化的應(yīng)用開(kāi)發(fā)環(huán)境,使得我們利用PowerBuilder,可以方便快捷地開(kāi)發(fā)出利用后臺(tái)服務(wù)器中的數(shù)據(jù)和數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)庫(kù)應(yīng)用程序。在當(dāng)前,網(wǎng)絡(luò)技術(shù)迅速發(fā)展,隨之發(fā)展的還有OLE,跨平臺(tái)等技術(shù),而在PowerBuilder的最新版中提供了對(duì)這些技術(shù)的全面支持。在數(shù)據(jù)庫(kù)開(kāi)發(fā)工具領(lǐng)域,PowerBuilder是其中非常優(yōu)秀的一個(gè),利用它我們可以開(kāi)發(fā)出功能強(qiáng)大的數(shù)據(jù)庫(kù)應(yīng)用程序。PB的主要特性:PowerBuilder提供了對(duì)目前流行的大多數(shù)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的支持。其應(yīng)用程序中對(duì)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)采用國(guó)際化標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)言SQL,使得用PowerBuilder開(kāi)發(fā)的應(yīng)用程序可以不做修改或者只做少量的修改就可以在不同的后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)上使用。PowerBuilder是一種面向?qū)ο蟮拈_(kāi)發(fā)工具,各種WINDOWS應(yīng)用程序中常見(jiàn)的窗口、菜單、控件等在PowerBuilder中都是一個(gè)個(gè)的對(duì)象。PowerBuilder就提供了良好的跨平臺(tái)性,比如在PowerBuilder中,利用WINDOWS平臺(tái)開(kāi)發(fā)的各種對(duì)象可以方便地應(yīng)用到UNIX平臺(tái)中。C++Builder是由Borland公司推出的一款可視化集成開(kāi)發(fā)工具。C++Builder具有快速的可視化開(kāi)發(fā)環(huán)境:只要簡(jiǎn)單地把控件(Component)拖到窗體(Form)上,定義一下它的屬性,設(shè)置一下它的外觀,就可以快速地建立應(yīng)用程序界面;C++Builder內(nèi)置了100多個(gè)完全封裝了Windows公用特性且具有完全可擴(kuò)展性(包括全面支持ActiveX控件)的可重用控件;C++Builder具有一個(gè)專(zhuān)業(yè)C++開(kāi)發(fā)環(huán)境所能提供的全部功能:快速、高效、靈活的編譯器優(yōu)化,逐步連接,CPU透視,命令行工具等。它實(shí)現(xiàn)了可視化的編程環(huán)境和功能強(qiáng)大的編程語(yǔ)言(C++)的完美結(jié)合。C++Builder的特性:C++Builder優(yōu)化的32位原碼編譯器建立在Borland公司久經(jīng)考驗(yàn)的編譯技術(shù)基礎(chǔ)之上,提供了高度安全性、可靠性、快速性的編譯優(yōu)化方法,完全編譯出原始機(jī)器碼而非中間碼,軟件執(zhí)行速度大大提高。C++Builder可以編譯所有符合ANSI/ISO標(biāo)準(zhǔn)的原代碼,支持最新ANSIC++/C語(yǔ)言特征。C++Builder的集成開(kāi)發(fā)環(huán)境(IDE)提供了可視化窗體設(shè)計(jì)器、對(duì)象觀察器、控件板、工程管理器、集成編輯器和調(diào)試器等一系列可視化快速應(yīng)用程序開(kāi)發(fā)(RAD)工具,讓程序員可以很輕松地建立和管理自己的程序和資源。Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是由SunMicrosystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言和Java平臺(tái)(即JavaSE,JavaEE,JavaME)的總稱(chēng)。Java技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話(huà)和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專(zhuān)業(yè)社群。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢(shì)和廣闊前景。Java的特性:

1、Java語(yǔ)言是簡(jiǎn)單的。Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類(lèi)型轉(zhuǎn)換。特別地,Java語(yǔ)言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂(yōu)。

2、Java語(yǔ)言是一個(gè)面向?qū)ο蟮?。Java語(yǔ)言提供類(lèi)、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見(jiàn),只支持類(lèi)之間的單繼承,但支持接口之間的多繼承,并支持類(lèi)與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語(yǔ)言全面支持動(dòng)態(tài)綁定,而C++語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定??傊?,Java語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。

3、Java語(yǔ)言是分布式的。Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(javanet),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類(lèi)庫(kù),包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。

4、Java語(yǔ)言是健壯的。Java的強(qiáng)類(lèi)型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。5、Java語(yǔ)言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語(yǔ)言具有的許多安全特性以外,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類(lèi)具有一個(gè)安全防范機(jī)制(類(lèi)ClassLoader),如分配不同的名字空間以防替代本地的同名類(lèi)、字節(jié)代碼檢查,并提供安全管理機(jī)制(類(lèi)SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。

6、Java語(yǔ)言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。

7、Java語(yǔ)言是可移植的。這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類(lèi)型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSIC實(shí)現(xiàn)的。

8、Java語(yǔ)言是解釋型的。如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類(lèi)在聯(lián)接階段被載入到運(yùn)行環(huán)境中。

9、Java是高性能的。與那些解釋型的高級(jí)腳本語(yǔ)言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來(lái)越接近于C++。10、Java語(yǔ)言是多線(xiàn)程的。在Java語(yǔ)言中,線(xiàn)程是一種特殊的對(duì)象,它必須由Thread類(lèi)或其子類(lèi)來(lái)創(chuàng)建。Java語(yǔ)言支持多個(gè)線(xiàn)程的同時(shí)執(zhí)行,并提供多線(xiàn)程之間的同步機(jī)制。

11、Java語(yǔ)言是動(dòng)態(tài)的。Java語(yǔ)言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類(lèi)能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類(lèi)。這也有利于軟件的升級(jí)。另外,Java中的類(lèi)有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類(lèi)型檢查。6.4綜合性的平臺(tái)或開(kāi)發(fā)環(huán)境在大中型項(xiàng)目中,由于項(xiàng)目復(fù)雜,開(kāi)發(fā)周期長(zhǎng),開(kāi)發(fā)交互性高,開(kāi)發(fā)團(tuán)隊(duì)傾向于使用集成開(kāi)發(fā)環(huán)境(IDE),如微軟的VisualStudio,由IBM、Oracle等多家IT巨頭支持的Eclipse。共同點(diǎn):具有編譯、運(yùn)行功能;支持代碼援助、語(yǔ)法高亮、錯(cuò)誤預(yù)防等。VisualStudio的優(yōu)點(diǎn):基于Windows平臺(tái)和微軟的產(chǎn)品,VisualStudio具有優(yōu)勢(shì),其與微軟的產(chǎn)品可實(shí)現(xiàn)無(wú)縫交互;在Windows平臺(tái),VisualStudio可獲得更多操作系統(tǒng)級(jí)別的支持,在運(yùn)行速度、代碼提示顯示速度等方面有優(yōu)勢(shì)。Eclipse的優(yōu)點(diǎn):免費(fèi)的開(kāi)發(fā)工具;安裝簡(jiǎn)單,支持插件眾多;“大平臺(tái),小核心,多插件”的特點(diǎn)使其更具靈活性;在各種操作系統(tǒng)平臺(tái)上表現(xiàn)穩(wěn)定,差異非常小??偨Y(jié):如果項(xiàng)目只與微軟的操作系統(tǒng)和應(yīng)用軟件密切相關(guān),應(yīng)該采用VisualStudio以獲得更高的效率、更好的內(nèi)部正好協(xié)同。如果開(kāi)發(fā)過(guò)成具有不確定性,需求不斷變化,那么更靈活、覆蓋面更強(qiáng)、更穩(wěn)定的Eclipse是更好的選擇。什么是軟件開(kāi)發(fā)工具的智能化?其目的是什么?所謂智能化,具體地說(shuō)就是在軟件開(kāi)發(fā)工具的研究與使用中引入人工智能、神經(jīng)網(wǎng)絡(luò)等技術(shù),使得軟件開(kāi)發(fā)工具對(duì)于不確定型的信息、模糊信息具有更強(qiáng)的處理能力。由于在軟件開(kāi)發(fā)工作中,存在著大量不確定的因素,人們常常需要用知識(shí)與經(jīng)驗(yàn)來(lái)加以補(bǔ)充或加工。在這方面人工智能方面的技術(shù)可以提高信息處理的功能及效率。列舉兩種真正一體化能應(yīng)用于各種平臺(tái)上的軟件開(kāi)發(fā)工具。目前真正一體化的,又能應(yīng)用于各種平臺(tái)上的工具尚不多。比較多的有兩種,一種是用于特定平臺(tái)上的、主要用于設(shè)計(jì)階段的工具。這種軟件多數(shù)依附于軟件平臺(tái)(如某種數(shù)據(jù)庫(kù)管理系統(tǒng)),如ORACLE的CASE,INFOMAX的NewEra,IBM的VisualAge,以及PowerBuilder,PowerHouse等。另一種是側(cè)重于分析方法的、獨(dú)立于平臺(tái)的工具。從方法論的角度來(lái)說(shuō),這種工具更值得注意。在這類(lèi)工具中較有代表性的是Rational公司的產(chǎn)品,如Rose。軟件開(kāi)發(fā)工具一體化的困難何在?今后的發(fā)展前途如何?一體化的趨勢(shì)早在80年代后期已經(jīng)十分明顯。但是,在開(kāi)始時(shí)人們顯然低估了一體化的困難。許多教訓(xùn)告訴我們,困難不在于技術(shù)上的問(wèn)題(如速度、容量等),而在于對(duì)軟件開(kāi)發(fā)過(guò)程與相關(guān)信息的認(rèn)識(shí)深度。只有對(duì)于軟件開(kāi)發(fā)中涉及的各種信息,以及在開(kāi)發(fā)過(guò)程中它們的發(fā)生、變化、關(guān)系、一致性等有了完整與深刻的理解,才能真正實(shí)現(xiàn)軟件開(kāi)發(fā)工具的一體化。近來(lái)關(guān)于信息庫(kù)的內(nèi)容及處理功能的討論,從理論上為實(shí)現(xiàn)一體化提供了基礎(chǔ)。另外,客戶(hù)/服務(wù)器結(jié)構(gòu)的發(fā)展也為實(shí)現(xiàn)軟件開(kāi)發(fā)工具的一體化提供了啟發(fā)與新思路。計(jì)算機(jī)網(wǎng)絡(luò)的普及使用對(duì)軟件開(kāi)發(fā)工具有何影響?網(wǎng)絡(luò)的應(yīng)用是計(jì)算機(jī)應(yīng)用領(lǐng)域中的一個(gè)重要方向。如果說(shuō)單個(gè)工作站或微機(jī)的延伸還只是個(gè)人頭腦的擴(kuò)展的話(huà),那么計(jì)算機(jī)網(wǎng)絡(luò)的普遍使用則是全人類(lèi)的頭腦得到了極大的擴(kuò)充,人類(lèi)收集與積累知識(shí)的能力大大地加強(qiáng)了。軟件開(kāi)發(fā)工具這個(gè)領(lǐng)域當(dāng)然也不例外。通過(guò)網(wǎng)絡(luò),人們可以更方便地互通信息,共享知識(shí),這就給人們所夢(mèng)想的軟件重用、知識(shí)重用提供了新的機(jī)會(huì)。又如在項(xiàng)目管理方面,網(wǎng)絡(luò)的應(yīng)用使人們更便于掌握項(xiàng)目的進(jìn)展?fàn)顩r、質(zhì)量狀況等。正因?yàn)檫@樣,目前利用網(wǎng)絡(luò)提供條件提高工作效率的軟件開(kāi)發(fā)工具,以及在網(wǎng)絡(luò)上開(kāi)發(fā)應(yīng)用軟件的工具,正在成為當(dāng)前發(fā)展的一個(gè)熱點(diǎn)。什么是標(biāo)準(zhǔn)化的軟件部件?

標(biāo)準(zhǔn)化軟件部件指按一定的標(biāo)準(zhǔn)制作的軟件組件,如同硬件芯片那樣為大家共用,因而要對(duì)每一個(gè)輸入與輸出進(jìn)行詳細(xì)的規(guī)定。對(duì)一大批變量與結(jié)構(gòu)進(jìn)行說(shuō)明和定義,而這些至今尚無(wú)統(tǒng)一的標(biāo)準(zhǔn)。特別是對(duì)于各種對(duì)象的定義,很難寫(xiě)出標(biāo)準(zhǔn)。從技術(shù)上看,軟件開(kāi)發(fā)工具將在哪些方面發(fā)展?從技術(shù)上看,今后一段時(shí)間內(nèi),軟件開(kāi)發(fā)工具將在以下幾方面繼續(xù)發(fā)展:通過(guò)引入人工智能、神經(jīng)網(wǎng)絡(luò)等技術(shù)提高信息管理的水平與能力,與網(wǎng)絡(luò)技術(shù)結(jié)合,進(jìn)一步提高信息共享的功能,通過(guò)對(duì)信息庫(kù)的深入研究使工具的一體化(或集成化)得到發(fā)展,經(jīng)過(guò)各個(gè)流程的磨合逐步走向標(biāo)準(zhǔn)化。試述軟件開(kāi)發(fā)工具的發(fā)展趨勢(shì)。由于軟件開(kāi)發(fā)工具的迅速發(fā)展,使我們很難預(yù)言其長(zhǎng)遠(yuǎn)的發(fā)展趨勢(shì)。從目前的發(fā)展勢(shì)頭看,智能化、網(wǎng)絡(luò)化、一體化、標(biāo)準(zhǔn)化是值得重視的幾個(gè)動(dòng)向。智能化就是在軟件開(kāi)發(fā)工具的研究與使用中引用人工智能、神經(jīng)網(wǎng)絡(luò)等技術(shù),使得軟件開(kāi)發(fā)工具對(duì)于不確定型的信息、模糊信息具有更強(qiáng)的處理能力。由于軟件開(kāi)發(fā)工作中存在著大量不確定的因素,人們常常需要用知識(shí)與經(jīng)驗(yàn)來(lái)加以補(bǔ)充或加工。在這方面,人工智能技術(shù)可以提高信息處理的功能及效率如KnowledgeWare公司開(kāi)發(fā)的以知識(shí)處理為基礎(chǔ)的工具,就給人們不少啟發(fā)。網(wǎng)絡(luò)的應(yīng)用是計(jì)算機(jī)應(yīng)用領(lǐng)域中的一個(gè)重要方向。如果說(shuō)單個(gè)工作站或微機(jī)的延伸還只是個(gè)人頭腦的擴(kuò)展的話(huà),那么計(jì)算機(jī)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論