必威电竞|足球世界杯竞猜平台

開(kāi)發(fā)環(huán)境
來(lái)源:互聯(lián)網(wǎng)

軟件開(kāi)發(fā)環(huán)境(軟件 Development Environment,SDE)是指在基本硬件和數(shù)字軟件的基礎(chǔ)上,為支持系統(tǒng)軟件和應(yīng)用軟件的工程化開(kāi)發(fā)和維護(hù)而使用的一組軟件,簡(jiǎn)稱SDE。它由軟件工具和環(huán)境集成機(jī)制構(gòu)成,前者用以支持軟件開(kāi)發(fā)的相關(guān)過(guò)程、活動(dòng)和任務(wù),后者為工具集成和軟件的開(kāi)發(fā)、維護(hù)及管理提供統(tǒng)一的支持。

軟件開(kāi)發(fā)環(huán)境

軟件開(kāi)發(fā)環(huán)境在歐洲又叫集成式項(xiàng)目支援環(huán)境(Integrated Project Support Environment,IPSE)。軟件開(kāi)發(fā)環(huán)境的主要組成成分是軟件工具。人機(jī)交互是軟件開(kāi)發(fā)環(huán)境與用戶之間的一個(gè)統(tǒng)一的交互式對(duì)話系統(tǒng),它是軟件開(kāi)發(fā)環(huán)境的重要質(zhì)量標(biāo)志。存儲(chǔ)各種軟件工具加工所產(chǎn)生的軟件產(chǎn)品或半成品(如源代碼、測(cè)試數(shù)據(jù)和各種文檔資料等)的軟件環(huán)境數(shù)據(jù)庫(kù)是軟件開(kāi)發(fā)環(huán)境的核心。工具間的聯(lián)系和相互理解都是通過(guò)存儲(chǔ)在信息庫(kù)中的共享數(shù)據(jù)得以實(shí)現(xiàn)的。

軟件開(kāi)發(fā)環(huán)境數(shù)據(jù)庫(kù)是面向軟件工作者的知識(shí)型信息數(shù)據(jù)庫(kù),其數(shù)據(jù)對(duì)象是多元化、帶有智能性質(zhì)的。軟件開(kāi)發(fā)數(shù)據(jù)庫(kù)用來(lái)支撐各種軟件工具,尤其是自動(dòng)設(shè)計(jì)工具、編譯程序等的主動(dòng)或被動(dòng)的工作。

較初級(jí)的SDE數(shù)據(jù)庫(kù)一般包含通用子程序庫(kù)、可重組的程序加工信息庫(kù)、模塊描述與接口信息庫(kù)、軟件測(cè)試與糾錯(cuò)依據(jù)信息庫(kù)等;較完整的SDE數(shù)據(jù)庫(kù)還應(yīng)包括可行性與需求信息檔案、階段設(shè)計(jì)詳細(xì)檔案、測(cè)試驅(qū)動(dòng)數(shù)據(jù)庫(kù)、軟件維護(hù)檔案等。更進(jìn)一步的要求是面向軟件規(guī)劃到實(shí)現(xiàn)、維護(hù)全過(guò)程的自動(dòng)進(jìn)行,這要求SDE數(shù)據(jù)庫(kù)系統(tǒng)是具有智能的,其中比較基本的智能結(jié)果是軟件編碼的自動(dòng)實(shí)現(xiàn)和優(yōu)化、軟件工程項(xiàng)目的多方面不同角度的自我分析與總結(jié)。這種智能結(jié)果還應(yīng)主動(dòng)地被重新改造、學(xué)習(xí),以豐富SDE數(shù)據(jù)庫(kù)的知識(shí)、信息和軟件積累。這時(shí)候,軟件開(kāi)發(fā)環(huán)境在軟件工程人員的恰當(dāng)?shù)耐獠靠刂苹驇椭轮鸩较蚋叨戎悄芘c自動(dòng)化邁進(jìn)。

軟件實(shí)現(xiàn)的根據(jù)是計(jì)算機(jī)語(yǔ)言。時(shí)至今日,計(jì)算機(jī)語(yǔ)言發(fā)展為算法語(yǔ)言、數(shù)據(jù)庫(kù)語(yǔ)言、智能模擬語(yǔ)言等多種門類,在幾十種重要的算法語(yǔ)言中,C&C++語(yǔ)言日益成為廣大計(jì)算機(jī)軟件工作人員的親密伙伴,這不僅因?yàn)樗δ軓?qiáng)大、構(gòu)造靈活,更在于它提供了高度結(jié)構(gòu)化的語(yǔ)法、簡(jiǎn)單而統(tǒng)一的軟件構(gòu)造方式,使得以它為主構(gòu)造的SDE數(shù)據(jù)庫(kù)的基礎(chǔ)成分——子程序庫(kù)的設(shè)計(jì)與建設(shè)顯得異常的方便。

事實(shí)上,以C&C++為背景建立的SDE子程序庫(kù)能為軟件工作者提供比較有效、靈活、方便、友好的自動(dòng)編碼基礎(chǔ),尤其是C++的封裝等特性,更適合大項(xiàng)目的開(kāi)發(fā)管理和維護(hù)。

包含內(nèi)容

1.支持開(kāi)發(fā)完備模型

2.可視化

3.靈活控制

分類

按模型及方法分類

按軟件開(kāi)發(fā)模型及開(kāi)發(fā)方法分類,有支持瀑布模型、演化模型、螺旋模型、噴泉模型以及結(jié)構(gòu)化方法、信息模型方法、面向?qū)ο蠓椒ǖ炔煌P图胺椒ǖ能浖_(kāi)發(fā)環(huán)境。

按功能及結(jié)構(gòu)特點(diǎn)分類

按功能及結(jié)構(gòu)特點(diǎn)分類,有單體型、協(xié)同型、分散型和并發(fā)型等多種類型的軟件開(kāi)發(fā)環(huán)境。

按應(yīng)用范圍分類

按應(yīng)用范圍分類,有通用型和專用型軟件開(kāi)發(fā)環(huán)境。其中專用型軟件開(kāi)發(fā)環(huán)境與應(yīng)用領(lǐng)域有關(guān),故又可稱為應(yīng)用型軟件開(kāi)發(fā)環(huán)境。

按開(kāi)發(fā)階段分類

按開(kāi)發(fā)階段分類,有前端開(kāi)發(fā)環(huán)境(支持系統(tǒng)規(guī)劃、分析、設(shè)計(jì)等階段的活動(dòng))、后端開(kāi)發(fā)環(huán)境(支持編程、測(cè)試等階段的活動(dòng))、軟件維護(hù)環(huán)境和逆向工程環(huán)境等。此類環(huán)境往往可通過(guò)對(duì)功能較全的環(huán)境進(jìn)行剪裁而得到。軟件開(kāi)發(fā)環(huán)境由工具集和集成機(jī)制兩部分構(gòu)成,工具集和集成機(jī)制間的關(guān)系猶如“插件”和“插槽”間的關(guān)系。

工具集:軟件開(kāi)發(fā)環(huán)境中的工具可包括:支持特定過(guò)程模型和開(kāi)發(fā)方法的工具,如支持瀑布模型及數(shù)據(jù)流方法的分析工具、設(shè)計(jì)工具、編碼工具、測(cè)試工具、維護(hù)工具,支持面向?qū)ο蠓椒ǖ腛OA工具、OOD工具和OOP工具等;獨(dú)立于模型和方法的工具,如界面輔助生成工具和文檔出版工具;亦可包括管理類工具和針對(duì)特定領(lǐng)域的應(yīng)用類工具。

集成機(jī)制:對(duì)工具的集成及用戶軟件的開(kāi)發(fā)、維護(hù)及管理提供統(tǒng)一的支持。按功能可劃分為環(huán)境信息庫(kù)、過(guò)程控制及消息服務(wù)器、環(huán)境用戶界面三個(gè)部分。

環(huán)境信息庫(kù):是軟件開(kāi)發(fā)環(huán)境的核心,用以儲(chǔ)存與系統(tǒng)開(kāi)發(fā)有關(guān)的信息并支持信息的交流與共享。庫(kù)中儲(chǔ)存兩類信息,一類是開(kāi)發(fā)過(guò)程中產(chǎn)生的有關(guān)被開(kāi)發(fā)系統(tǒng)的信息,如分析文檔、設(shè)計(jì)文檔、測(cè)試報(bào)告等;另一類是環(huán)境提供的支持信息,如文檔模板、系統(tǒng)配置、過(guò)程模型、可復(fù)用構(gòu)件等。

過(guò)程控制和消息服務(wù)器:是實(shí)現(xiàn)過(guò)程集成及控制集成的基礎(chǔ)。過(guò)程集成是按照具體軟件開(kāi)發(fā)過(guò)程的要求進(jìn)行工具的選擇與組合,控制集成并行工具之間的通信和協(xié)同工作。

環(huán)境用戶界面:包括環(huán)境總界面和由它實(shí)行統(tǒng)一控制的各環(huán)境部件及工具的界面。統(tǒng)一的、具有一致視感(Look & Feel)的用戶界面是軟件開(kāi)發(fā)環(huán)境的重要特征,是充分發(fā)揮環(huán)境的優(yōu)越性、高效地使用工具并減輕用戶的學(xué)習(xí)負(fù)擔(dān)的保證。

集成開(kāi)發(fā)環(huán)境

集成開(kāi)發(fā)環(huán)境(IDE,Integrated Development Environment)是用于提供程序開(kāi)發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具。集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等一體化的開(kāi)發(fā)Microsoft Azure套。所有具備這一特性的軟件或者軟件套(組)都可以叫集成開(kāi)發(fā)環(huán)境。如微軟的Visual Studio系列,Borland的C++ Builder、Delphi系列等。該程序可以獨(dú)立運(yùn)行,也可以和其它程序并用。集成開(kāi)發(fā)環(huán)境多被用于開(kāi)發(fā)HTML應(yīng)用軟件。例如,許多人在設(shè)計(jì)網(wǎng)站時(shí)使用IDE(如HomeSite、DreamWeaver等),因?yàn)楹芏囗?xiàng)任務(wù)會(huì)自動(dòng)生成。

發(fā)展歷程

從開(kāi)始在主機(jī)或終端機(jī)開(kāi)發(fā)程序,IDE才漸漸的成為必要的工具。早期的編程語(yǔ)言在送進(jìn)編譯器處理之前,必須要先經(jīng)過(guò)流程圖、撰寫表格、打卡,所以當(dāng)時(shí)并不需要IDE。Basic是第一個(gè)有IDE的編程語(yǔ)言,同時(shí)也是第一個(gè)可以直接在主機(jī)或終端機(jī)前開(kāi)發(fā)程序,他的IDE(Dartmouth 時(shí)間 Sharing System的一部份)是采取命令列的方式,并不像現(xiàn)代的IDE使用選單和圖形化。但是他良好的整合了編輯、檔案、管理、編譯、調(diào)試、執(zhí)行等功能,符合現(xiàn)代化集成開(kāi)發(fā)環(huán)境的特性。

今天,IDE這個(gè)詞和一些沒(méi)有關(guān)連性的命令列工具(像vi、emacs、make)是一種對(duì)照,雖然你可以把Unix當(dāng)成是一個(gè)IDE,但是多數(shù)的程序開(kāi)發(fā)人員會(huì)把IDE當(dāng)成是一個(gè)可以完成各種開(kāi)發(fā)工作的一個(gè)程序,這個(gè)IDE程序提供許多的功能,例如:制作、修改、編譯、發(fā)布、調(diào)試。集成開(kāi)發(fā)環(huán)境的想法是把各種命令列的開(kāi)發(fā)工具結(jié)合起來(lái),提供一個(gè)抽象化的工具,來(lái)減少學(xué)習(xí)編程語(yǔ)言的時(shí)間,增加開(kāi)發(fā)人員的生產(chǎn)力,同時(shí)也將各種開(kāi)發(fā)工作做更密切的整合,來(lái)提高生產(chǎn)力,例如在寫程序的時(shí)候就直接做編譯,一發(fā)現(xiàn)有語(yǔ)法上的錯(cuò)誤就立即回應(yīng)。雖然現(xiàn)代的集成開(kāi)發(fā)環(huán)境多數(shù)是圖形化的,但是IDE在視窗系統(tǒng)(windowing system,例如Microsoft Windows 或 X Window System)出現(xiàn)前就已經(jīng)開(kāi)始使用,在當(dāng)時(shí)IDE是純文字模式,透過(guò)功能鍵和快捷鍵來(lái)從事各項(xiàng)工作,例如Turbo Pascal就是一個(gè)例子。

近幾年來(lái),最有意思的發(fā)展是Eclipsenetbeans這類開(kāi)放源代碼IDE的出現(xiàn)和流行,在結(jié)合開(kāi)放源代碼的精神—開(kāi)放、可擴(kuò)張之下,激發(fā)了人們成立社群以延伸這些IDE的能力,讓這些IDE也能支持其他編程語(yǔ)言和其他的應(yīng)用。

程序設(shè)計(jì)

可視化程序設(shè)計(jì)也越來(lái)越重要,所謂的可視化程序設(shè)計(jì)和Visual Basic或Visual C++并不同,支持可視化程序設(shè)計(jì)的IDE可以讓開(kāi)發(fā)人員直接移動(dòng)程序單元來(lái)建立流程圖和結(jié)構(gòu)圖,然后直接做編譯或解釋,這一類的流程圖通常是以統(tǒng)一建模語(yǔ)言為基礎(chǔ)。

這樣的界面因?yàn)?a href="/hebeideji/674942304242294078.html">樂(lè)高的Mindstorms開(kāi)始普及,一些公司也開(kāi)始透過(guò)瀏覽器Mozilla和分散式程序設(shè)計(jì)(LabVIEW)往這方面努力。從1980年代開(kāi)始,第一個(gè)可視化程序設(shè)計(jì)系統(tǒng)—Max,就是以類比合成器的設(shè)計(jì)為榜樣,同時(shí)被用來(lái)開(kāi)發(fā)即時(shí)音樂(lè)演出軟件。

這種方法也被用在專業(yè)軟件,例如Openlab,這類的使用者需要完整程序設(shè)計(jì)語(yǔ)言的彈性,并不想要傳統(tǒng)的學(xué)習(xí)曲線

可視化程序設(shè)計(jì)語(yǔ)言有另一個(gè)半免費(fèi)和開(kāi)放源代碼替代品Mindscript,具有加密系統(tǒng)和連結(jié)數(shù)據(jù)庫(kù)等等。

開(kāi)發(fā)工具

微軟的Visual Basic是早期的典型的可視化開(kāi)發(fā)環(huán)境。后來(lái)的包括Borland公司的Delphi等。

可視化開(kāi)發(fā)環(huán)境的特點(diǎn)是“控件組裝”。很多控件都是自己象畫圖一樣組裝起來(lái)的,開(kāi)發(fā)環(huán)境解決了很多例行的、標(biāo)準(zhǔn)化的代碼,比起非可視化的開(kāi)發(fā)環(huán)境來(lái)說(shuō),更加直觀,開(kāi)發(fā)速度快,效率高。

以Delphi為例:Delphi包含了程序代碼文件(.PAS)和控件布局文件(.dfm),當(dāng)你在畫布(FORM)上拖放一個(gè)按鈕(BUTTON)時(shí),Delphi開(kāi)發(fā)環(huán)境會(huì)自動(dòng)創(chuàng)建一個(gè)DFM文件標(biāo)明BUTTON位置,并且自動(dòng)在PAS文件中將最基本的完整代碼替你寫出來(lái),你只需要在需要修改的地方修改或者增加就可以完成很多功能。

應(yīng)用優(yōu)勢(shì)

較早期程序設(shè)計(jì)的各個(gè)階段都要用不同的軟件來(lái)進(jìn)行處理,如先用字處理軟件編輯源程序,然后用鏈接程序進(jìn)行函數(shù)、模塊連接,再用編譯程序進(jìn)行編譯,開(kāi)發(fā)者必須在幾種軟件間來(lái)回切換操作。如今的編程開(kāi)發(fā)軟件將編輯、編譯、調(diào)試等功能集成在一個(gè)桌面環(huán)境中,這樣就大大方便了用戶。

例如,BASIC語(yǔ)言在微軟辦公軟件中可以使用,可以在微軟Word文檔中編寫WordBasic程序。集成開(kāi)發(fā)環(huán)境為用戶使用Visual Basic、Java和powerbuilder等現(xiàn)代編程語(yǔ)言提供了方便。不同的技術(shù)體系有不同的IDE。比如visual studio. Net可以稱為C++、VB、C#等語(yǔ)言的集成開(kāi)發(fā)環(huán)境,所以visual studio. Net可以叫做IDE。同樣,BorlandJBuilder也是一個(gè)IDE,它是Java的IDE。zend studio、editplus、ultraedit這些,每一個(gè)都具備基本的編碼、調(diào)試功能,所以每一個(gè)都可以稱作IDE。

集成開(kāi)發(fā)環(huán)境多被用于開(kāi)發(fā)HTML應(yīng)用軟件。例如,許多人在設(shè)計(jì)網(wǎng)站時(shí)使用IDE(如HomeSite、DreamWeaver、FrontPage,等等),因?yàn)楹芏囗?xiàng)任務(wù)會(huì)自動(dòng)生成。IDE集成代碼編輯,代碼生成,界面設(shè)計(jì),調(diào)試,編譯等功能,如今還融合了建模功能。

參考資料 >

生活家百科家居網(wǎng)