它或許只是簡(jiǎn)單的為某個(gè)程序設(shè)計(jì)語(yǔ)言提供應(yīng)用程序接口的一些文件,但也可能包括能與某種嵌入式系統(tǒng)通訊的復(fù)雜的硬件。一般的工具包括用于調(diào)試和其他用途的實(shí)用工具。SDK 還經(jīng)常包括示例代碼、支持性的技術(shù)注解或者其他的為基本參考資料澄清疑點(diǎn)的支持文檔。
軟件工程師通常從目標(biāo)系統(tǒng)開(kāi)發(fā)者那里獲得軟件開(kāi)發(fā)包。為了鼓勵(lì)開(kāi)發(fā)者使用其系統(tǒng)或者語(yǔ)言,許多 SDK 是免費(fèi)提供的。SDK 經(jīng)??梢灾苯訌幕ヂ?lián)網(wǎng)下載。有時(shí)也被作為營(yíng)銷手段。例如,甲產(chǎn)品或許會(huì)免費(fèi)提供構(gòu)件SDK 以鼓勵(lì)人們使用它,從而會(huì)吸引更多人由于能免費(fèi)為其編程而購(gòu)買其構(gòu)件。
SDK 可能附帶了使其不能在不兼容的許可證下開(kāi)發(fā)軟件的許可證。例如一個(gè)專有的 SDK 可能與自由軟件開(kāi)發(fā)抵觸。而GPL能使 SDK 與專有軟件開(kāi)發(fā)近乎不兼容。LGPL下的SDK則沒(méi)有這個(gè)問(wèn)題。
軟件開(kāi)發(fā)工具
指的是很方便地把一種編程語(yǔ)言代碼化并編譯執(zhí)行的工具。其中主要的語(yǔ)言開(kāi)發(fā)工具有幾大類:java開(kāi)發(fā)工具、net開(kāi)發(fā)工具、delphi開(kāi)發(fā)工具等。
java開(kāi)發(fā)工具
1、MyEclipse(MyEclipse Enterprise Workbench)
MyEclipse應(yīng)用開(kāi)發(fā)平臺(tái)是J2EE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持JAVA,HTML, Struts,Spring, JSP, CSS, Javascript, SQL, Hibernate。MyEclipse應(yīng)用開(kāi)發(fā)平臺(tái)結(jié)構(gòu)上實(shí)現(xiàn)Eclipse單個(gè)功能部件的模塊化,并可以有選擇性的對(duì)單獨(dú)的模塊進(jìn)行擴(kuò)展和升級(jí)。
2、Eclipse
Eclipse 是目前功能比較強(qiáng)大的JAVA IDE(JAVA編程軟件) ,是一個(gè)集成工具的開(kāi)放平臺(tái),而這些工具主要是一些開(kāi)源工具軟件。在一個(gè)開(kāi)源模式下運(yùn)作,并遵照共同的公共條款,Eclipse 平臺(tái)為工具軟件開(kāi)發(fā)者提供工具開(kāi)發(fā)的靈活性和控制自己軟件的技術(shù)。
3、NetBeans
NetBeans是開(kāi)放源碼的Java集成開(kāi)發(fā)環(huán)境(IDE),適用于各種客戶機(jī)和Web應(yīng)用。Sun Java Studio是Sun公司最新發(fā)布的商用全功能Java IDE,支持Solaris、Linux和Windows平臺(tái),適于創(chuàng)建和部署2層Java Web應(yīng)用和n層J2EE應(yīng)用的企業(yè)開(kāi)發(fā)人員使用。
.Net軟件開(kāi)發(fā)工具
1、Microsoft Visual Studio
Visual Studio 是一套完整的開(kāi)發(fā)工具,用于生成 ASP NET Web 應(yīng)用程序、XML Web services、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。Visual Basic、Visual C# 和 Visual C++ 都使用相同的集成開(kāi)發(fā)環(huán)境 (IDE),這樣就能夠進(jìn)行工具共享,并能夠輕松地創(chuàng)建混合語(yǔ)言解決方案。關(guān)于常用的軟件開(kāi)發(fā)工具[4] 使用詳細(xì),可以參考引用文章。
開(kāi)發(fā)工具分類
(1)基于工作階段的工具
基于各個(gè)階段對(duì)信息的需求不同,軟件開(kāi)發(fā)工具可分為三類:設(shè)計(jì)工具、分析工具、計(jì)劃工具。
①設(shè)計(jì)工具是最具體的,它是指在實(shí)現(xiàn)階段對(duì)人們提供幫助的工具。例如各種代碼生成器、一般所說(shuō)的第四代語(yǔ)言和幫助人們進(jìn)行測(cè)試的工具(包括提供測(cè)試環(huán)境或測(cè)試數(shù)據(jù))等,都屬于設(shè)計(jì)工具之列。它是最直接的幫助人們編寫與調(diào)試軟件的工具。
②分析工具主要是指用于支持需求分析的工具,例如,幫助人們編寫數(shù)據(jù)字典的、專用的數(shù)據(jù)字典管理系統(tǒng)幫助人們繪制數(shù)據(jù)流程圖的專用工具,幫助人們畫系統(tǒng)結(jié)構(gòu)圖或ER圖的工具等。他們不是直接幫助開(kāi)發(fā)人員編寫程序,而是幫助人們認(rèn)識(shí)與表述信息需求與信息流程,從邏輯上明確軟件的功能與要求。
③計(jì)劃工具則是從更宏觀的角度去看待軟件開(kāi)發(fā)。它不僅從項(xiàng)目管理的角度幫助人們組織與實(shí)施項(xiàng)目,把有關(guān)進(jìn)度、資源、質(zhì)量、驗(yàn)收情況等信息有條不紊地管理起來(lái),而且考慮到了項(xiàng)目的反復(fù)循環(huán)、版本更新、實(shí)現(xiàn)了跨生命周期的信息管理與共享,為信息以及軟件的復(fù)用創(chuàng)造了條件。
(2)基于集成程度劃分的工具
集成化程度是用戶接口一致性和信息共享的程度,是一個(gè)新的發(fā)展階段。集成化的軟件開(kāi)發(fā)工具要求人們對(duì)于軟件開(kāi)發(fā)過(guò)程有更深入的認(rèn)識(shí)和了解。開(kāi)發(fā)與應(yīng)用集成化的軟件開(kāi)發(fā)工具是應(yīng)當(dāng)努力研究與探索的課題,集成化的軟件開(kāi)發(fā)工具也常稱為軟件工作環(huán)境。
(3)基于硬件、軟件的關(guān)系劃分的工具
基于與硬件和軟件的關(guān)系,軟件開(kāi)發(fā)工具可以分為兩類:依賴于特定計(jì)算機(jī)或特定軟件(如某種數(shù)據(jù)庫(kù)管理系統(tǒng))和獨(dú)立于硬件與其它軟件的軟件開(kāi)發(fā)工具。一般來(lái)說(shuō),設(shè)計(jì)工具多是依賴于特定軟件的,因?yàn)樗傻拇a或測(cè)試數(shù)據(jù)不是抽象的,而是具體的某一種語(yǔ)言的代碼或該語(yǔ)言所要求的格式的數(shù)據(jù)。而分析工具與計(jì)劃工具則往往是獨(dú)立于機(jī)器與軟件的,集成化的軟件開(kāi)發(fā)工具常常是依賴于機(jī)器與軟件的。
(4)基于應(yīng)用領(lǐng)域劃分的工具
根據(jù)應(yīng)用領(lǐng)域的不同,應(yīng)用軟件可以分為事務(wù)處理、實(shí)時(shí)應(yīng)用、嵌入式應(yīng)用等。隨著個(gè)人計(jì)算機(jī)與人工智能的發(fā)展,與這兩個(gè)方面相聯(lián)系的應(yīng)用軟件,也取得較大的進(jìn)展。