基于硬件、軟件的關(guān)系劃分的工具
按與硬件和軟件的關(guān)系,軟件開發(fā)工具可以分為兩類:依賴于特定計算機或特定軟件(如某種數(shù)據(jù)庫管理系統(tǒng))和獨立于硬件與其它軟件的軟件開發(fā)工具。一般來說,設計工具多是依賴于特定軟件的,因為它生成的代碼或測試數(shù)據(jù)不是抽象的,而是具體的某一種語言的代碼或該語言所要求的格式的數(shù)據(jù)。而分析工具與計劃工具則往往是獨立于機器與軟件的,集成化的軟件開發(fā)工具常常是依賴于機器與軟件的。
基于工作階段的工具
基于各個階段對信息的需求不同,軟件開發(fā)工具可分為三類:設計工具、分析工具、計劃工具。
基于應用領(lǐng)域劃分的工具
按照應用領(lǐng)域的不同,應用軟件可以分為事務處理、實時應用、嵌入式應用等。隨著個人計算機與人工智能的發(fā)展,與這兩個方面相聯(lián)系的應用軟件,也取得較大的進展。
基于集成程度劃分的工具
集成化程度是用戶接口一致性和信息共享的程度,是一個新的發(fā)展階段。集成化的軟件開發(fā)工具要求人們對于軟件開發(fā)過程有更深入的認識和了解。開發(fā)與應用集成化的軟件開發(fā)工具是應當努力研究與探索的課題,集成化的軟件開發(fā)工具也常稱為軟件工作環(huán)境。
軟件開發(fā)工具的選擇主要決定于兩個因素:所開發(fā)系統(tǒng)的最終用戶和開發(fā)人員。最終用戶需求是一切軟件的來源和歸宿,也是影響開發(fā)工具的決定性因素;開發(fā)人員的愛好、習慣、 經(jīng)驗也影響著開發(fā)工具的選擇。嚴格的軟件工程管理和開發(fā)人員的技術(shù)水平是軟件開發(fā)成功的關(guān)鍵。