跳至內容

軟體

輕之舟百科,讓知識輕裝啟航
軟體
中文名軟體
外文名Software
定義計算機系統中與硬體相對應的邏輯部件,由程序、數據及相關文檔構成
主要分類系統軟體、應用軟體、中間件
開發流程需求分析、設計、編碼、測試、維護
相關概念硬體、固件、程式語言

軟體(英語:Software)是一系列按照特定順序組織的計算機數據和指令的集合[1]。廣義上,軟體是計算機系統中與硬體相對應的組成部分,由程序代碼、運行規則及配套文檔構成,用於執行特定任務或實現功能需求。軟體並不限於計算機上運行的程序,與之相關的文檔通常也被視為軟體的一部分。「軟體」一詞是為了與計算機的物理部件——「硬體」相區分而創造的。

根據電氣與電子工程師協會(IEEE)在1983年的定義,軟體是程序、數據及相關文檔的完整集合,是計算機系統中的邏輯部件而非物理部件[1]。中國國家標準中對軟體的定義為:與計算機系統操作有關的電腦程式、規程、規則,以及可能有的文件、文檔及數據[2]。從運行層面來看,軟體是運行時能夠提供所要求功能和性能的指令或電腦程式集合[1]。簡而言之,軟體是程序加文檔的集合體。

軟體的常見分類方式是根據其功能進行劃分。

系統軟體

[編輯 | 編輯原始碼]

系統軟體負責控制和管理計算機硬體資源,並為應用軟體提供運行平台。其核心是作業系統(Operating System),此外還包括設備驅動程序、實用程序等。

應用軟體

[編輯 | 編輯原始碼]

應用軟體是為解決特定應用問題而設計的程序,直接面向終端用戶。它根據用戶的指令處理數據,常見的例子包括文字處理器、電子表格、資料庫管理系統、工業軟體等。

中間件

[編輯 | 編輯原始碼]

中間件是介於系統軟體與應用軟體之間的軟體,旨在為應用軟體提供跨平台的數據交互和支持服務。

此外,根據用途和性質的不同,軟體還可被劃分為編程語言、網絡軟體、惡意軟體等類別。

軟體的歷史與計算機的發展緊密相連。一般認為,軟體伴隨著第一台電子計算機的問世而誕生。

早期(1940s-1950s)
最早的軟體通常是專門為特定硬體編寫的。世界上第一個程式設計師被認為是阿達·洛夫萊斯(Ada Lovelace),與查爾斯·巴貝奇(Charles Babbage)合作,為分析機設計了算法[3]。第一批獨立的專業軟體公司出現在1949年至1959年間,主要為客戶定製軟體和解決方案[4]。
程序系統時代(1960s-1970s)
隨著軟體複雜性的增加,「軟體危機」概念被提出,指許多大型軟體項目在預算和工期上出現嚴重問題[5]。1968年,在北大西洋公約組織(NATO)的計算機科學家會議上,「軟體工程」一詞被首次提出,旨在借鑑工程學的方法來系統化地開發和維護軟體[5]。
個人計算機時代(1980s-1990s)
IBM個人計算機(PC)的問世極大地推動了軟體產業的發展。微軟(Microsoft)在此時期崛起,其MS-DOS和Windows作業系統成為個人計算機的主流[4]。
網際網路與移動時代(1990s至今)
網際網路的普及催生了全新的軟體應用和服務模式,如雲計算、移動應用和軟體即服務(SaaS)。軟體技術進入了以網絡化、服務化和智能化為特徵的新發展時期。

開發過程

[編輯 | 編輯原始碼]

軟體開發是根據用戶需求構建軟體系統或其中部分的過程。一個典型的軟體生命周期通常包括以下階段:

軟體計劃
確定軟體開發的目標和範圍。
需求分析
捕捉和分析用戶的具體需求。
設計
包括軟體的總體結構設計和模塊的詳細設計。
編碼
使用特定的程序設計語言實現軟體的設計。
測試
對軟體進行測試以發現並修復缺陷。
部署與維護
將軟體交付用戶使用,並在後續進行維護、升級和更新。

許可模式

[編輯 | 編輯原始碼]

軟體的使用和分發通常受軟體許可證的約束,這是一種規定用戶在何種條件下可以使用、修改或分發軟體的法律協議[6]。常見的許可模式包括:

專有軟體
用戶獲得使用權,但原始碼通常不公開,修改和再分發受到嚴格限制。
開源軟體
原始碼對公眾開放,允許用戶自由使用、修改和分發,但必須遵守相應的開源許可證(如GPL、MIT License等)[6]。
免費軟體
用戶可以免費使用,但原始碼不一定開放,且使用可能受到其他限制。

參考文獻

[編輯 | 編輯原始碼]