開發環境

開發環境

軟體開發環境(Software Development Environment,SDE)是指在基本硬體和數字軟體的基礎上,為支持系統軟體和應用軟體的工程化開發和維護而使用的一組軟體,簡稱SDE。它由軟體工具和環境集成機制構成,前者用以支持軟體開發的相關過程、活動和任務,後者為工具集成和軟體的開發、維護及管理提供統一的支持。

軟體開發環境


軟體開發環境在歐洲又叫集成式項目支援環境(Integrated Project Support Environment,IPSE)。軟體開發環境的主要組成成分是軟體工具。人機界面是軟體開發環境與用戶之間的一個統一的互動式對話系統,它是軟體開發環境的重要質量標誌。存儲各種軟體工具加工所產生的軟體產品或半成品(如源代碼、測試數據和各種文檔資料等)的軟體環境資料庫是軟體開發環境的核心。工具間的聯繫和相互理解都是通過存儲在信息庫中的共享數據得以實現的。
軟體開發環境資料庫是面向軟體工作者的知識型信息資料庫,其數據對象是多元化、帶有智能性質的。軟體開發資料庫用來支撐各種軟體工具,尤其是自動設計工具、編譯程序等的主動或被動的工作。
較初級的SDE資料庫一般包含通用子程序庫、可重組的程序加工信息庫、模塊描述與介面信息庫、軟體測試與糾錯依據信息庫等;較完整的SDE資料庫還應包括可行性與需求信息檔案、階段設計詳細檔案、測試驅動資料庫、軟體維護檔案等。更進一步的要求是面向軟體規劃到實現、維護全過程的自動進行,這要求SDE資料庫系統是具有智能的,其中比較基本的智能結果是軟體編碼的自動實現和優化、軟體工程項目的多方面不同角度的自我分析與總結。這種智能結果還應主動地被重新改造、學習,以豐富SDE資料庫的知識、信息和軟體積累。這時候,軟體開發環境在軟體工程人員的恰當的外部控制或幫助下逐步向高度智能與自動化邁進。
軟體實現的根據是計算機語言。時至今日,計算機語言發展為演演算法語言、資料庫語言、智能模擬語言等多種門類,在幾十種重要的演演算法語言中,C&C++語言日益成為廣大計算機軟體工作人員的親密夥伴,這不僅因為它功能強大、構造靈活,更在於它提供了高度結構化的語法、簡單而統一的軟體構造方式,使得以它為主構造的SDE資料庫的基礎成分——子程序庫的設計與建設顯得異常的方便。
事實上,以C&C++為背景建立的SDE子程序庫能為軟體工作者提供比較有效、靈活、方便、友好的自動編碼基礎,尤其是C++的封裝等特性,更適合大項目的開發管理和維護。

包含內容

開發環境
開發環境
1.支持開發完備模型
2.可視化
3.靈活控制

分類

按模型及方法分類
按軟體開發模型及開發方法分類,有支持瀑布模型、演化模型、螺旋模型、噴泉模型以及結構化方法、信息模型方法、面向對象方法等不同模型及方法的軟體開發環境。
按功能及結構特點分類
按功能及結構特點分類,有單體型、協同型、分散型和併發型等多種類型的軟體開發環境。
按應用範圍分類
按應用範圍分類,有通用型和專用型軟體開發環境。其中專用型軟體開發環境與應用領域有關,故又可稱為應用型軟體開發環境。
按開發階段分類
按開發階段分類,有前端開發環境(支持系統規劃、分析、設計等階段的活動)、後端開發環境(支持編程、測試等階段的活動)、軟體維護環境和逆向工程環境等。此類環境往往可通過對功能較全的環境進行剪裁而得到。軟體開發環境由工具集和集成機制兩部分構成,工具集和集成機制間的關係猶如“插件”和“插槽”間的關係。
工具集:軟體開發環境中的工具可包括:支持特定過程模型和開發方法的工具,如支持瀑布模型及數據流方法的分析工具、設計工具、編碼工具、測試工具、維護工具,支持面向對象方法的OOA工具、OOD工具和OOP工具等;獨立於模型和方法的工具,如界面輔助生成工具和文檔出版工具;亦可包括管理類工具和針對特定領域的應用類工具。
集成機制:對工具的集成及用戶軟體的開發、維護及管理提供統一的支持。按功能可劃分為環境信息庫、過程式控制制及消息伺服器、環境用戶界面三個部分。
環境信息庫:是軟體開發環境的核心,用以儲存與系統開發有關的信息並支持信息的交流與共享。庫中儲存兩類信息,一類是開發過程中產生的有關被開發系統的信息,如分析文檔、設計文檔、測試報告等;另一類是環境提供的支持信息,如文檔模板、系統配置、過程模型、可復用構件等。
過程式控制制和消息伺服器:是實現過程集成及控制集成的基礎。過程集成是按照具體軟體開發過程的要求進行工具的選擇與組合,控制集成并行工具之間的通信和協同工作。
環境用戶界面:包括環境總界面和由它實行統一控制的各環境部件及工具的界面。統一的、具有一致視感(Look & Feel)的用戶界面是軟體開發環境的重要特徵,是充分發揮環境的優越性、高效地使用工具並減輕用戶的學習負擔的保證。

集成開發環境


集成開發環境(IDE,Integrated Development Environment)是用於提供程序開發環境的應用程序,一般包括代碼編輯器、編譯器、調試器和圖形用戶界面工具。集成了代碼編寫功能、分析功能、編譯功能、調試功能等一體化的開發軟體服務套。所有具備這一特性的軟體或者軟體套(組)都可以叫集成開發環境。如微軟的Visual Studio系列,Borland的C++ Builder、Delphi系列等。該程序可以獨立運行,也可以和其它程序並用。IDE多被用於開發HTML應用軟體。例如,許多人在設計網站時使用IDE(如HomeSite、DreamWeaver等),因為很多項任務會自動生成。
發展歷程
從開始在主機或終端機開發程序,IDE才漸漸的成為必要的工具。早期的編程語言在送進編譯器處理之前,必須要先經過流程圖、撰寫表格、打卡,所以當時並不需要IDE。Basic是第一個有IDE的編程語言,同時也是第一個可以直接在主機或終端機前開發程序,他的IDE(Dartmouth Time Sharing System的一部份)是採取命令列的方式,並不像現代的IDE使用選單和圖形化。但是他良好的整合了編輯、檔案、管理、編譯、調試、執行等功能,符合現代化IDE的特性。
今天,IDE這個詞和一些沒有關連性的命令列工具(像vi、emacs、make)是一種對照,雖然你可以把Unix當成是一個IDE,但是多數的程序開發人員會把IDE當成是一個可以完成各種開發工作的一個程序,這個IDE程序提供許多的功能,例如:製作、修改、編譯、發布、調試。IDE的想法是把各種命令列的開發工具結合起來,提供一個抽象化的工具,來減少學習編程語言的時間,增加開發人員的生產力,同時也將各種開發工作做更密切的整合,來提高生產力,例如在寫程序的時候就直接做編譯,一發現有語法上的錯誤就立即回應。雖然現代的IDE多數是圖形化的,但是IDE在視窗系統(windowing system,例如Microsoft Windows 或 X Window System)出現前就已經開始使用,在當時IDE是純文字模式,透過功能鍵和快捷鍵來從事各項工作,例如Turbo Pascal就是一個例子。
近幾年來,最有意思的發展是Eclipse和NetBeans這類開放源代碼IDE的出現和流行,在結合開放源代碼的精神—開放、可擴張之下,激發了人們成立社群以延伸這些IDE的能力,讓這些IDE也能支持其他編程語言和其他的應用。
可視化程序設計也越來越重要,所謂的可視化程序設計和Visual Basic或Visual C++並不同,支持可視化程序設計的IDE可以讓開發人員直接移動程序單元來建立流程圖和結構圖,然後直接做編譯或解釋,這一類的流程圖通常是以UML為基礎。
這樣的界面因為樂高的Mindstorms開始普及,一些公司也開始透過瀏覽器Mozilla和分散式程序設計(LabVIEW)往這方面努力。從1980年代開始,第一個可視化程序設計系統—Max,就是以類比合成器的設計為榜樣,同時被用來開發即時音樂演出軟體。
這種方法也被用在專業軟體,例如Openlab,這類的使用者需要完整程序設計語言的彈性,並不想要傳統的學習曲線。
可視化程序設計語言有另一個半免費和開放源代碼的替代品-Mindscript,具有加密系統和連結資料庫等等。
開發工具
微軟的Visual Basic是早期的典型的可視化開發環境。後來的包括Borland公司的Delphi等。
可視化開發環境的特點是“控制項組裝”。很多控制項都是自己象畫圖一樣組裝起來的,開發環境解決了很多例行的、標準化的代碼,比起非可視化的開發環境來說,更加直觀,開發速度快,效率高。
以Delphi為例:Delphi包含了程序代碼文件(.PAS)和控制項布局文件(.dfm),當你在畫布(FORM)上拖放一個按鈕(BUTTON)時,Delphi開發環境會自動創建一個DFM文件標明BUTTON位置,並且自動在PAS文件中將最基本的完整代碼替你寫出來,你只需要在需要修改的地方修改或者增加就可以完成很多功能。
應用優勢
較早期程序設計的各個階段都要用不同的軟體來進行處理,如先用字處理軟體編輯源程序,然後用鏈接程序進行函數、模塊連接,再用編譯程序進行編譯,開發者必須在幾種軟體間來回切換操作。如今的編程開發軟體將編輯、編譯、調試等功能集成在一個桌面環境中,這樣就大大方便了用戶。
例如,BASIC語言在微軟辦公軟體中可以使用,可以在微軟Word文檔中編寫WordBasic程序。IDE為用戶使用Visual Basic、Java和PowerBuilder等現代編程語言提供了方便。不同的技術體系有不同的IDE。比如visual studio. Net可以稱為C++、VB、C#等語言的集成開發環境,所以visual studio. Net可以叫做IDE。同樣,Borland的JBuilder也是一個IDE,它是Java的IDE。zend studio、editplus、ultraedit這些,每一個都具備基本的編碼、調試功能,所以每一個都可以稱作IDE。
IDE多被用於開發HTML應用軟體。例如,許多人在設計網站時使用IDE(如HomeSite、DreamWeaver、FrontPage,等等),因為很多項任務會自動生成。IDE集成代碼編輯,代碼生成,界面設計,調試,編譯等功能,如今還融合了建模功能。