版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章軟件開發(fā)工具的現(xiàn)狀與發(fā)展本章內(nèi)容6.1軟件開發(fā)工具的發(fā)展現(xiàn)狀6.2軟件開發(fā)工具的發(fā)展方向與趨勢6.3從計(jì)算機(jī)語言發(fā)展而來的工具6.4綜合性的平臺或開發(fā)環(huán)境6.1
軟件開發(fā)工具的現(xiàn)狀20世紀(jì)80年代中期,軟件開發(fā)工具開始興起。與一切新技術(shù)一樣經(jīng)歷了反復(fù)和曲折的發(fā)展過程。從開始的期望過高,到受了挫折之后的思考;從模糊的設(shè)想,到具體地分析與實(shí)現(xiàn)。一、國外發(fā)展?fàn)顩r80年代中期,專項(xiàng)的、支持某一工作環(huán)節(jié)的專用工具大量涌現(xiàn)管理數(shù)據(jù)字典的工具CDD,Dictionary/3000畫數(shù)據(jù)流圖的工具Flow代碼生成器4GL支持單一環(huán)節(jié)、分散應(yīng)用工具的弱點(diǎn)對軟件開發(fā)缺乏全面統(tǒng)一的支撐環(huán)境,容易造成沖突和矛盾。把許多困難、瑣碎的信息轉(zhuǎn)換工作留給了軟件開發(fā)人員。AD/Cycle中的主要工具:(1)用于項(xiàng)目管理與質(zhì)量管理的ADPS(自動數(shù)據(jù)處理系統(tǒng))(2)用于AS/400的一體化工具ADT(ApplicationDataTable) AS/400商用服務(wù)器,作為IBM的中小型商用計(jì)算機(jī)系統(tǒng),以其卓越性能,在全世界贏得廣泛客戶。自問世以來,AS/400在全球的安裝量已經(jīng)超過60萬套,行銷150個國家,廣泛應(yīng)用于流通、金融證券、制造、運(yùn)輸行業(yè)?!敦?cái)富》雜志排名中,前100家大企業(yè)中有93家使用AS/400,前1000名企業(yè)中有850家選擇AS/400。(3)用于分析、建模及DB2數(shù)據(jù)庫設(shè)計(jì)的BachmanReengineeringProductSet(Bachman公司,巴赫曼再造產(chǎn)品集)。DB2就是IBM開發(fā)的一種大型關(guān)系型數(shù)據(jù)庫平臺。它支持多用戶或應(yīng)用程序在同一條SQL語句中查詢不同database甚至不同DBMS中的數(shù)據(jù)。目前,DB2有如下一些版本:(比如DB2forUnix,DB2forWindows,DB2forAS/400,DB2forOS/390等)。BachmanReengineeringProductSet:程序的維護(hù)、當(dāng)前提升和遷移當(dāng)前的應(yīng)用、開發(fā)新的應(yīng)用。(4)用于在SAA平臺上生成代碼的SCP/AD; IBM的SAA是一套應(yīng)用程序、通信和用戶接口規(guī)范,它專門服務(wù)于IBM大型計(jì)算機(jī)操作系統(tǒng)如VM、MVS,中型機(jī)操作系統(tǒng)如OS/400(為IBMAS/400系列機(jī))和臺式機(jī)系統(tǒng)的OS/2操作系統(tǒng)。SAA定義了公共應(yīng)用程序(CommonApplications),這些應(yīng)用程序可在任何一個SAA平臺上運(yùn)行。(5)用于DFD、ER及數(shù)據(jù)庫設(shè)計(jì)的DevelopMale;(6)用于文檔工作站環(huán)境下的一體化開發(fā)工具PCPrism和Excelerator(Intersolv公司);(7)強(qiáng)調(diào)以知識庫為支持的一體化開發(fā)工具IEW(用于PCDOS)和ADW(用于OS2,KnowledgeWare公司);(8)用于信息庫管理的RepositoryManager/MVS; .(9)用于軟件測試的SATT和WITT。1994年AD/Cycle事實(shí)上被終止新型的Client/Server結(jié)構(gòu)迅速興起;開放式體系結(jié)構(gòu)的廣泛應(yīng)用;基于傳統(tǒng)的主機(jī)中心結(jié)構(gòu)、局限于IBM平臺的缺點(diǎn)使AD/Cycle失去了活力。目前真正一體化、能適應(yīng)各種平臺的工具尚不多。較多的是兩類工具:一類是用于特定平臺上的、主要用于設(shè)計(jì)階段的工具。這類工具多依賴于軟件平臺(如某種DBMS),包括:ORACLE的CASE,INFOMAX的NewEra,IBM的VisualAge,PowerBuilder,PowerHouse。一類是側(cè)重于分析方法的、獨(dú)立于平臺的工具。從方法論的角度,這類工具更值得關(guān)注。如Rational公司的Rose,MARKV等。近年來,基于互聯(lián)網(wǎng)和開源軟件的工具出現(xiàn)。除了普通工具的功能外,還能夠:搜索和檢查開源軟件;自動生成和檢查XML;基于SOAP;面向UDDL的搜索。二、國內(nèi)發(fā)展?fàn)顩r上世紀(jì)80年代初期,徐家福、楊芙清開始研究軟件工作環(huán)境;單項(xiàng)工具:清華大學(xué)的Auto-DBase3,報(bào)表生成器,自動屏幕設(shè)計(jì)工具、自動菜單設(shè)計(jì)工具等;一體化的集成環(huán)境:北京大學(xué)的青鳥項(xiàng)目,QuickMIS等產(chǎn)品;研究水平并不落后,主要的落后點(diǎn)在于應(yīng)用,即沒有大規(guī)模地應(yīng)用軟件開發(fā)工具;我國軟件產(chǎn)業(yè),當(dāng)務(wù)之急應(yīng)是大力普及軟件工程及方法學(xué)的知識,提高軟件開發(fā)工作的水平,這才能使軟件開發(fā)工具的應(yīng)用具有實(shí)踐的基礎(chǔ)。6.2
軟件開發(fā)工具的發(fā)展趨勢(四化) (一)智能化、網(wǎng)絡(luò)化、一體化、標(biāo)準(zhǔn)化是軟件開發(fā)工具發(fā)展的重要方向:智能化:在軟件開發(fā)工具的研究與使用中引人人工智能、神經(jīng)網(wǎng)絡(luò)等技術(shù),使得軟件開發(fā)工具對于不確定型的信息、模糊信息具有更強(qiáng)的處理能力。由于在軟件開發(fā)工作中,存在著大量不確定的因素,人們常常需要用知識與經(jīng)驗(yàn)來加以補(bǔ)充或加工。在這方面人工智能方面的技術(shù)可以提高信息處理的功能及效率。網(wǎng)絡(luò)化:如果說單個工作站或微機(jī)的延伸還只是個人頭腦的擴(kuò)展的話,那么計(jì)算機(jī)網(wǎng)絡(luò)的普遍使用則是全人類的頭腦得到了極大的擴(kuò)充,人類收集與積累知識的能力大大地加強(qiáng)了。通過網(wǎng)絡(luò),人們可以更方便地互通信息,共享知識,這就給人們所夢想的軟件重用、知識重用提供了新的機(jī)會。在項(xiàng)目管理方面,網(wǎng)絡(luò)的應(yīng)用使人們更便于掌握項(xiàng)目的進(jìn)展?fàn)顩r、質(zhì)量狀況等。目前利用網(wǎng)絡(luò)提供條件提高工作效率的軟件開發(fā)工具,以及在網(wǎng)絡(luò)上開發(fā)應(yīng)用軟件的工具,正在成為當(dāng)前發(fā)展的一個熱點(diǎn)。一體化:這一趨勢早在80年代后期已經(jīng)十分明顯。但是,在開始時人們顯然低估了一體化的困難。許多教訓(xùn)告訴我們,困難不在于技術(shù)上的問題(如速度、容量等),而在于對軟件開發(fā)過程與相關(guān)信息的認(rèn)識深度。只有對于軟件開發(fā)中涉及的各種信息,以及在開發(fā)過程中它們的發(fā)生、變化、關(guān)系、一致性等有了完整與深刻的理解,才能真正實(shí)現(xiàn)軟件開發(fā)工具的一體化。近來關(guān)于信息庫的內(nèi)容及處理功能的討論,從理論上為實(shí)現(xiàn)一體化提供了基礎(chǔ)??蛻?服務(wù)器結(jié)構(gòu)的發(fā)展也為實(shí)現(xiàn)軟件開發(fā)工具的一體化提供了啟發(fā)與新思路。標(biāo)準(zhǔn)化:為了解決大型軟件開發(fā)的困難,需要把軟件開發(fā)工作分成兩個部分:軟件構(gòu)件(就像硬件的芯片)的開發(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等等。可以預(yù)計(jì),今后幾年內(nèi)在這方面還會有新的進(jìn)展。CORBA(CommonObjectRequestBrokerArchitecture,公共對象請求代理體系結(jié)構(gòu),通用對象請求代理體系結(jié)構(gòu))是由OMG組織制訂的一種標(biāo)準(zhǔn)的面向?qū)ο髴?yīng)用程序體系規(guī)范?;蛘哒fCORBA體系結(jié)構(gòu)是對象管理組織(OMG)為解決分布式處理環(huán)境(DCE)中,硬件和軟件系統(tǒng)的互連而提出的一種解決方案;OMG組織是一個國際性的非盈利組織,其職責(zé)是為應(yīng)用開發(fā)提供一個公共框架,制訂工業(yè)指南和對象管理規(guī)范,加快對象技術(shù)的發(fā)展。COM(ComponentObjectModel)是微軟自1993年便提出的元件式軟件平臺,用來做行程間通訊(Inter-processcommunication,IPC)以及當(dāng)作元件式軟件開發(fā)的平臺。COM提供跟編程語言無關(guān)的方法實(shí)作一個軟件物件,因此可以在其他環(huán)境中執(zhí)行。COM要求軟件元件必須遵照一個共同的接口,該接口與實(shí)現(xiàn)無關(guān),因此可以隱藏實(shí)現(xiàn)屬性,并且被其他物件在不知道其內(nèi)部實(shí)現(xiàn)的情形下正確的使用。COM并被實(shí)作于多個平臺之上,并不限于Windows操作系統(tǒng)之上。但還是只有Windows最常使用COM,且某些功能已被目前的.NET平臺取代。(二)軟件工具的發(fā)展軌跡軟件開發(fā)工具的目標(biāo)和作用是什么?我們需要軟件開發(fā)工具,就是要更好更快地開發(fā)軟件,就是為了提高軟件開發(fā)的效率和質(zhì)量。軟件開發(fā)工具是一個相當(dāng)寬泛、又比較模糊的概念,很難給出確切的、沒有爭議的定義。軟件開發(fā)工具包含了從非常具體的計(jì)算機(jī)語言到內(nèi)容豐富、功能齊全的開發(fā)環(huán)境的一個相當(dāng)廣泛的譜系。譜系的一端是從某些計(jì)算機(jī)語言,通過增加各種輔助工具發(fā)展而來的工具;另一端是從較為復(fù)雜的概念模式或過程模式出發(fā)設(shè)計(jì)的開發(fā)平臺或開發(fā)環(huán)境。軟件開發(fā)工具發(fā)展過程中,多樣性和趨同性并存。用一種語言、一個環(huán)境包羅萬象的思想是無法實(shí)現(xiàn)的。宇宙和社會的極端復(fù)雜性,應(yīng)用領(lǐng)域的變幻莫測,必然導(dǎo)致語言和工具的多樣性,這是一個客觀規(guī)律。在功能、系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、使用方式甚至界面設(shè)計(jì)等許多方面,工具呈現(xiàn)出明顯的趨同性。這表明在信息處理、知識表達(dá)、事務(wù)處理等問題上,確實(shí)存在著普遍規(guī)律的,只是我們今天還沒有透徹地理解和掌握。6.3從計(jì)算機(jī)語言發(fā)展出來的工具VB:VisualBasic是一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動編程語言。從任何標(biāo)準(zhǔn)來說,VB都是世界上使用人數(shù)最多的語言,不僅是盛贊VB的開發(fā)者還是抱怨VB的開發(fā)者的數(shù)量。它源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個應(yīng)用程序。ADO---ActiveDataObjects,活動數(shù)據(jù)對象
DAO---DataAccessObjects,數(shù)據(jù)訪問對象
RDO---RemoteDataObjects,遠(yuǎn)程數(shù)據(jù)對象
語言特性VB的中心思想就是要便于程序員使用,無論是新手或者專家。VB使用了可以簡單建立應(yīng)用程序的GUI系統(tǒng),但是又可以開發(fā)復(fù)雜的程序。窗體控件的增加和改變可以用拖放技術(shù)實(shí)現(xiàn)。一個排列滿控件的工具箱用來顯示可用控件(比如文本框或者按鈕)。VB的程序可以包含一個或多個窗體,或者是一個主窗體和多個子窗體,類似于操作系統(tǒng)的樣子。VB的組件既可以擁有用戶界面,也可以沒有。這樣一來服務(wù)器端程序就可以處理增加的模塊。VB使得大量的外界控件有了自己的生存空間。大量的第三方控件針對VB提供。VB也提供了建立、使用和重用這些控件的方法,但是由于語言問題,從一個應(yīng)用程序創(chuàng)建另外一個并不簡單。VisualBasic的局限性不支持繼承
VB和VB.net都是基于對象的編程語言,但是不包含繼承特性。VB中提供了特殊的類的功能,但是還是不能滿足程序員的需求。VB.net包含了所有面向?qū)ο蟮奶匦?。多線程無原生支持
VisualBasic對于多線程無原生支持,只能通過WindowsAPI的調(diào)用實(shí)現(xiàn)。VB.Net2002以及之后的版本,都支持多線程技術(shù)。異常處理不完善
VisualBaisc中內(nèi)置異常處理,即使未寫異常處理代碼,一旦用戶出錯也會彈出一個明確寫出出錯原因?qū)υ捒?,接著程序終止。VC:MicrosoftVisualC++是Microsoft公司推出的開發(fā)Win32環(huán)境程序、面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設(shè)計(jì)集成交互操作、可開發(fā)多種程序等優(yōu)點(diǎn),而且通過簡單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫接口、OLE,WinSock網(wǎng)絡(luò)、3D控制界面。OLE(ObjectLinkingandEmbedding,對象連接與嵌入)。OLE不僅是桌面應(yīng)用程序集成,而且還定義和實(shí)現(xiàn)了一種允許應(yīng)用程序作為軟件“對象”(數(shù)據(jù)集合和操作數(shù)據(jù)的函數(shù))彼此進(jìn)行“連接”的機(jī)制,這種連接機(jī)制和協(xié)議稱為部件對象模型(ComponentObjectModel),簡稱COM。OLE可以用來創(chuàng)建復(fù)合文檔,復(fù)合文檔包含了創(chuàng)建于不同源應(yīng)用程序,有著不同類型的數(shù)據(jù),因此它可以把文字、聲音、圖像、表格、應(yīng)用程序等組合在一起。VC以擁有“語法高亮”,IntelliSense(自動編譯功能)以及高級除錯功能而著稱。比如,它允許用戶進(jìn)行遠(yuǎn)程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動正在調(diào)試的程序。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱。這些特征明顯縮短程式編輯、編譯及連結(jié)的時間花費(fèi),在大型軟件計(jì)劃上尤其顯著PB:生產(chǎn)廠商PowerSoft公司推出的產(chǎn)品(PowerSoft現(xiàn)已被數(shù)據(jù)庫廠商Sybase所收購),它完全按照客戶機(jī)/服務(wù)器體系結(jié)構(gòu)研制設(shè)計(jì),在客戶機(jī)/服務(wù)器結(jié)構(gòu)中,它使用在客戶機(jī)中,作為數(shù)據(jù)庫應(yīng)用程序的開發(fā)工具而存在。由于PowerBuilder采用了面向?qū)ο蠛涂梢暬夹g(shù),提供可視化的應(yīng)用開發(fā)環(huán)境,使得我們利用PowerBuilder,可以方便快捷地開發(fā)出利用后臺服務(wù)器中的數(shù)據(jù)和數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫應(yīng)用程序。在當(dāng)前,網(wǎng)絡(luò)技術(shù)迅速發(fā)展,隨之發(fā)展的還有OLE,跨平臺等技術(shù),而在PowerBuilder的最新版中提供了對這些技術(shù)的全面支持。在數(shù)據(jù)庫開發(fā)工具領(lǐng)域,PowerBuilder是其中非常優(yōu)秀的一個,利用它我們可以開發(fā)出功能強(qiáng)大的數(shù)據(jù)庫應(yīng)用程序。PB的主要特性:PowerBuilder提供了對目前流行的大多數(shù)關(guān)系數(shù)據(jù)庫管理系統(tǒng)的支持。其應(yīng)用程序中對數(shù)據(jù)庫訪問采用國際化標(biāo)準(zhǔn)數(shù)據(jù)庫查詢語言SQL,使得用PowerBuilder開發(fā)的應(yīng)用程序可以不做修改或者只做少量的修改就可以在不同的后臺數(shù)據(jù)庫管理系統(tǒng)上使用。PowerBuilder是一種面向?qū)ο蟮拈_發(fā)工具,各種WINDOWS應(yīng)用程序中常見的窗口、菜單、控件等在PowerBuilder中都是一個個的對象。PowerBuilder就提供了良好的跨平臺性,比如在PowerBuilder中,利用WINDOWS平臺開發(fā)的各種對象可以方便地應(yīng)用到UNIX平臺中。C++Builder是由Borland公司推出的一款可視化集成開發(fā)工具。C++Builder具有快速的可視化開發(fā)環(huán)境:只要簡單地把控件(Component)拖到窗體(Form)上,定義一下它的屬性,設(shè)置一下它的外觀,就可以快速地建立應(yīng)用程序界面;C++Builder內(nèi)置了100多個完全封裝了Windows公用特性且具有完全可擴(kuò)展性(包括全面支持ActiveX控件)的可重用控件;C++Builder具有一個專業(yè)C++開發(fā)環(huán)境所能提供的全部功能:快速、高效、靈活的編譯器優(yōu)化,逐步連接,CPU透視,命令行工具等。它實(shí)現(xiàn)了可視化的編程環(huán)境和功能強(qiáng)大的編程語言(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語言特征。C++Builder的集成開發(fā)環(huán)境(IDE)提供了可視化窗體設(shè)計(jì)器、對象觀察器、控件板、工程管理器、集成編輯器和調(diào)試器等一系列可視化快速應(yīng)用程序開發(fā)(RAD)工具,讓程序員可以很輕松地建立和管理自己的程序和資源。Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是由SunMicrosystems公司于1995年5月推出的Java程序設(shè)計(jì)語言和Java平臺(即JavaSE,JavaEE,JavaME)的總稱。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計(jì)算機(jī)、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計(jì)算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。Java的特性:
1、Java語言是簡單的。Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。
2、Java語言是一個面向?qū)ο蟮摹ava語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語言全面支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定??傊琂ava語言是一個純的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。
3、Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(javanet),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。
4、Java語言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。5、Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機(jī)制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。
6、Java語言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實(shí)現(xiàn)這個Java平臺的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。
7、Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSIC實(shí)現(xiàn)的。
8、Java語言是解釋型的。如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個Java平臺的任何系統(tǒng)中運(yùn)行。在運(yùn)行時,Java平臺中的Java解釋器對這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。
9、Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C++。10、Java語言是多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子類來創(chuàng)建。Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機(jī)制。
11、Java語言是動態(tài)的。Java語言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動態(tài)變化的環(huán)境。Java程序需要的類能夠動態(tài)地被載入到運(yùn)行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級。另外,Java中的類有一個運(yùn)行時刻的表示,能進(jìn)行運(yùn)行時刻的類型檢查。6.4綜合性的平臺或開發(fā)環(huán)境在大中型項(xiàng)目中,由于項(xiàng)目復(fù)雜,開發(fā)周期長,開發(fā)交互性高,開發(fā)團(tuán)隊(duì)傾向于使用集成開發(fā)環(huán)境(IDE),如微軟的VisualStudio,由IBM、Oracle等多家IT巨頭支持的Eclipse。共同點(diǎn):具有編譯、運(yùn)行功能;支持代碼援助、語法高亮、錯誤預(yù)防等。VisualStudio的優(yōu)點(diǎn):基于Windows平臺和微軟的產(chǎn)品,VisualStudio具有優(yōu)勢,其與微軟的產(chǎn)品可實(shí)現(xiàn)無縫交互;在Windows平臺,VisualStudio可獲得更多操作系統(tǒng)級別的支持,在運(yùn)行速度、代碼提示顯示速度等方面有優(yōu)勢。Eclipse的優(yōu)點(diǎn):免費(fèi)的開發(fā)工具;安裝簡單,支持插件眾多;“大平臺,小核心,多插件”的特點(diǎn)使其更具靈活性;在各種操作系統(tǒng)平臺上表現(xiàn)穩(wěn)定,差異非常小??偨Y(jié):如果項(xiàng)目只與微軟的操作系統(tǒng)和應(yīng)用軟件密切相關(guān),應(yīng)該采用VisualStudio以獲得更高的效率、更好的內(nèi)部正好協(xié)同。如果開發(fā)過成具有不確定性,需求不斷變化,那么更靈活、覆蓋面更強(qiáng)、更穩(wěn)定的Eclipse是更好的選擇。什么是軟件開發(fā)工具的智能化?其目的是什么?所謂智能化,具體地說就是在軟件開發(fā)工具的研究與使用中引入人工智能、神經(jīng)網(wǎng)絡(luò)等技術(shù),使得軟件開發(fā)工具對于不確定型的信息、模糊信息具有更強(qiáng)的處理能力。由于在軟件開發(fā)工作中,存在著大量不確定的因素,人們常常需要用知識與經(jīng)驗(yàn)來加以補(bǔ)充或加工。在這方面人工智能方面的技術(shù)可以提高信息處理的功能及效率。列舉兩種真正一體化能應(yīng)用于各種平臺上的軟件開發(fā)工具。目前真正一體化的,又能應(yīng)用于各種平臺上的工具尚不多。比較多的有兩種,一種是用于特定平臺上的、主要用于設(shè)計(jì)階段的工具。這種軟件多數(shù)依附于軟件平臺(如某種數(shù)據(jù)庫管理系統(tǒng)),如ORACLE的CASE,INFOMAX的NewEra,IBM的VisualAge,以及PowerBuilder,PowerHouse等。另一種是側(cè)重于分析方法的、獨(dú)立于平臺的工具。從方法論的角度來說,這種工具更值得注意。在這類工具中較有代表性的是Rational公司的產(chǎn)品,如Rose。軟件開發(fā)工具一體化的困難何在?今后的發(fā)展前途如何?一體化的趨勢早在80年代后期已經(jīng)十分明顯。但是,在開始時人們顯然低估了一體化的困難。許多教訓(xùn)告訴我們,困難不在于技術(shù)上的問題(如速度、容量等),而在于對軟件開發(fā)過程與相關(guān)信息的認(rèn)識深度。只有對于軟件開發(fā)中涉及的各種信息,以及在開發(fā)過程中它們的發(fā)生、變化、關(guān)系、一致性等有了完整與深刻的理解,才能真正實(shí)現(xiàn)軟件開發(fā)工具的一體化。近來關(guān)于信息庫的內(nèi)容及處理功能的討論,從理論上為實(shí)現(xiàn)一體化提供了基礎(chǔ)。另外,客戶/服務(wù)器結(jié)構(gòu)的發(fā)展也為實(shí)現(xiàn)軟件開發(fā)工具的一體化提供了啟發(fā)與新思路。計(jì)算機(jī)網(wǎng)絡(luò)的普及使用對軟件開發(fā)工具有何影響?網(wǎng)絡(luò)的應(yīng)用是計(jì)算機(jī)應(yīng)用領(lǐng)域中的一個重要方向。如果說單個工作站或微機(jī)的延伸還只是個人頭腦的擴(kuò)展的話,那么計(jì)算機(jī)網(wǎng)絡(luò)的普遍使用則是全人類的頭腦得到了極大的擴(kuò)充,人類收集與積累知識的能力大大地加強(qiáng)了。軟件開發(fā)工具這個領(lǐng)域當(dāng)然也不例外。通過網(wǎng)絡(luò),人們可以更方便地互通信息,共享知識,這就給人們所夢想的軟件重用、知識重用提供了新的機(jī)會。又如在項(xiàng)目管理方面,網(wǎng)絡(luò)的應(yīng)用使人們更便于掌握項(xiàng)目的進(jìn)展?fàn)顩r、質(zhì)量狀況等。正因?yàn)檫@樣,目前利用網(wǎng)絡(luò)提供條件提高工作效率的軟件開發(fā)工具,以及在網(wǎng)絡(luò)上開發(fā)應(yīng)用軟件的工具,正在成為當(dāng)前發(fā)展的一個熱點(diǎn)。什么是標(biāo)準(zhǔn)化的軟件部件?
標(biāo)準(zhǔn)化軟件部件指按一定的標(biāo)準(zhǔn)制作的軟件組件,如同硬件芯片那樣為大家共用,因而要對每一個輸入與輸出進(jìn)行詳細(xì)的規(guī)定。對一大批變量與結(jié)構(gòu)進(jìn)行說明和定義,而這些至今尚無統(tǒng)一的標(biāo)準(zhǔn)。特別是對于各種對象的定義,很難寫出標(biāo)準(zhǔn)。從技術(shù)上看,軟件開發(fā)工具將在哪些方面發(fā)展?從技術(shù)上看,今后一段時間內(nèi),軟件開發(fā)工具將在以下幾方面繼續(xù)發(fā)展:通過引入人工智能、神經(jīng)網(wǎng)絡(luò)等技術(shù)提高信息管理的水平與能力,與網(wǎng)絡(luò)技術(shù)結(jié)合,進(jìn)一步提高信息共享的功能,通過對信息庫的深入研究使工具的一體化(或集成化)得到發(fā)展,經(jīng)過各個流程的磨合逐步走向標(biāo)準(zhǔn)化。試述軟件開發(fā)工具的發(fā)展趨勢。由于軟件開發(fā)工具的迅速發(fā)展,使我們很難預(yù)言其長遠(yuǎn)的發(fā)展趨勢。從目前的發(fā)展勢頭看,智能化、網(wǎng)絡(luò)化、一體化、標(biāo)準(zhǔn)化是值得重視的幾個動向。智能化就是在軟件開發(fā)工具的研究與使用中引用人工智能、神經(jīng)網(wǎng)絡(luò)等技術(shù),使得軟件開發(fā)工具對于不確定型的信息、模糊信息具有更強(qiáng)的處理能力。由于軟件開發(fā)工作中存在著大量不確定的因素,人們常常需要用知識與經(jīng)驗(yàn)來加以補(bǔ)充或加工。在這方面,人工智能技術(shù)可以提高信息處理的功能及效率如KnowledgeWare公司開發(fā)的以知識處理為基礎(chǔ)的工具,就給人們不少啟發(fā)。網(wǎng)絡(luò)的應(yīng)用是計(jì)算機(jī)應(yīng)用領(lǐng)域中的一個重要方向。如果說單個工作站或微機(jī)的延伸還只是個人頭腦的擴(kuò)展的話,那么計(jì)算機(jī)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車護(hù)套采購合同范例
- 簡易貿(mào)易合同范例
- 汕尾職業(yè)技術(shù)學(xué)院《數(shù)字雕刻》2023-2024學(xué)年第一學(xué)期期末試卷
- 商丘師范學(xué)院《環(huán)境生態(tài)工程與設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 汕頭職業(yè)技術(shù)學(xué)院《計(jì)算傳播學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西中醫(yī)藥大學(xué)《非織造材料性能與測試》2023-2024學(xué)年第一學(xué)期期末試卷
- 娃娃機(jī)合同范例
- 鋁錠買賣合同范例
- 2024至2030年大型球磨機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 2024年全國甲卷高考數(shù)學(xué)(理數(shù))真題試題(原卷版+含解析)
- 電大建筑材料(A)歷年試題和答案(精)請勿轉(zhuǎn)載
- 貴州省遵義市播州區(qū)2023-2024學(xué)年八年級上學(xué)期期末學(xué)業(yè)水平監(jiān)測數(shù)學(xué)試卷(含解析)
- 湖南省長沙市雨花區(qū)2023-2024學(xué)年五年級下學(xué)期期末考試英語試題
- 數(shù)字化成熟度評估模型詳解
- YC/T 310-2024煙草漂浮育苗基質(zhì)
- 2024年全國國家版圖知識競賽題庫及答案(中小學(xué)組)
- (正式版)JTT 1218.5-2024 城市軌道交通運(yùn)營設(shè)備維修與更新技術(shù)規(guī)范 第5部分:通信
- 元宇宙技術(shù)與應(yīng)用智慧樹知到期末考試答案章節(jié)答案2024年中國科學(xué)技術(shù)大學(xué)
- XX鄉(xiāng)村建設(shè)投資集團(tuán)有限公司組建方案
- 客運(yùn)車輛冬季安全培訓(xùn)
評論
0/150
提交評論