軟件定義與軟件特點
軟件指的是計算機系統(tǒng)中與硬件相互依存的另一部分,包括程序、數(shù)據(jù)和相關(guān)文檔的完整集合。程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計語言描述的、適合計算機執(zhí)行的指令序列。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序的開發(fā)、維護和使用有關(guān)的圖文資料。可見,軟件由兩部分組成:
(1)機器可執(zhí)行的程序和數(shù)據(jù);
(2)機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關(guān)的文檔。
軟件的特點:
(1)軟件是邏輯實體,而不是物理實體,具有抽象性;
(2)沒有明顯的制作過程,可進行大量的復(fù)制;
(3)使用期間不存在磨損、老化問題;
(4)軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性;
(5)軟件復(fù)雜性高,成本昂貴;
(6)軟件開發(fā)涉及諸多社會因素。
根據(jù)應(yīng)用目標(biāo)的不同,軟件可分應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。
小提示:應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件;系統(tǒng)軟件是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務(wù)的軟件;支撐軟件是介于兩者之間,協(xié)助用戶開發(fā)軟件的工具性軟件。
軟件工程過程與軟件生命周期
軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。一般包括可行性分析研究與需求分析、設(shè)計、實現(xiàn)、測試、交付使用以及維護等活動,如圖3-1所示。
圖3-1軟件生命周期

還可以將軟件生命周期分為如上圖所示的軟件定義、軟件開發(fā)和軟件運行維護3個階段。
生命周期的主要活動階段是:可行性研究與計劃制定、需求分析、軟件設(shè)計、軟件實施、軟件測試及運行與維護。

