對軟體的認識

2021-07-05 09:31:29 字數 1251 閱讀 9139

1.軟體的定義

我們都知道軟體作為資訊化的核心,在個人學習、生活、娛樂,社會管理,國家經濟軍事的發展中都起到了至關重要的推動作用。他的發展速度及帶來的巨變都令人驚呼。那麼這種高投入、高產出、低能耗、無汙染的「軟體」到底是什麼呢?

在大多數人的普遍認識中軟體或許就是程式設計人員通過**來實現電腦中的乙個可以執行的程式。事實上,程式只是軟體的一部分,軟體中還有大量的資料和作為共同遵循的依據來實現現實中各個方面的需求。

目前對於軟體定義的正確解析是:

(1)      當執行時,能夠提供所要求功能和效能的指令或電腦程式集合;

(2)      該程式能夠具有滿意的處理資訊的資料結構;

(3)      描述程式功能需求以及程式如何操作和使用所要求的文件。

2.軟體的特性

軟體是人類的思維結果,是邏輯部件而不是物理部件,它是通過可執行的程式,可見的文件和邏輯資料組成的。軟體具有以下特性:

(1)      軟體是一種邏輯實體,具有抽象性

人們可以通過程式、文件、資料來表達它,可以將它儲存在記憶體中、磁碟裡、光碟上,但卻不能直接的看到它的本來面目。它不像日常用具一樣可以出觸控到,它是一種抽象的存在。

(2)      軟體沒有明顯的製造過程

軟體不想一般的產品,可以通過機器大規模生產。軟體一旦被開發出來就可以大量拷貝同一內容的副本。同乙個軟體不用多次重複生產。

(3)      軟體在使用過程中沒有磨損、老化的問題,但有退化問題

軟體不像一般的用品,會隨著時間的流逝變舊、磨損。但是為了適應人類不斷發展的需求與硬體、環境的匹配,軟體需要及時的修改、更新。在修改過程中又不可避免的引入其他的錯誤,導致軟體失效率公升高,從而使軟體退化。當修改的成本過大時,人們就會考慮拋棄軟體。

(4)      軟體對硬體和環境有著不同程度的依賴性

軟體對硬體和環境有不同的需求,這導致軟體移植的依賴問題。

(5)      軟體的開發至今尚未完全擺脫手工作坊式的開發方式,生產效率低

許多軟體的開發都是由程式設計師敲出來的,需要大量的人力和腦力。

(6)      軟體是複雜的,而且以後會更加複雜

雖然計算機語言追求簡潔化,但軟體卻由於涉及領域廣而越來越複雜。

(7)      軟體的成本相當昂貴

軟體開發需要投入高強度的腦力活動,成本非常高。

(8)      軟體工作牽涉很多社會因素

軟體的開發會受到例如機構、體制、管理方式和人的觀念和心理的影響。

3.軟體的種類

軟體可以分為系統軟體、應用軟體、工具軟體等。提供給各行各業使用。

對軟體架構的認識

目前,我們已經是大三的學生了,但是我對軟體架構的具體內涵還不是很清楚。對於 什麼是架構?的問題還模稜兩可,所以我今天閱讀了 架構漫談 系列的部落格,讀完以後對於軟體架構有了更深層次的理解。架構 一詞最早是跟隨著建築出現的,而不是由軟體工程專業產生的。為什麼會產生架構呢?在部落格裡作者根據乙個通俗易懂...

對「認識」的認識

很早就想談談關於 認識 的認識。這是乙個巨集大深刻的哲學問題。只是覺得沒有完全思考清楚,還以為觀點有些偏頗,擔心自己沒能力系統論述,就遲遲沒有動筆。但想到談論的問題本身就是乙個偏頗的問題,而且,我始終覺得,問題儘管偏頗,但卻不無道理。所以,提筆寫下這篇文字。正像思想的本質是不安一樣,認識的本質是片面...

簡述對常見日誌分析軟體的認識

對於日誌來說,最常見的需求就是收集 儲存 查詢 展示,開源社群正好有相對應的開源專案 logstash 收集 elasticsearch 儲存 搜尋 kibana 展示 我們將這三個組合起來的技術稱之為elkstack,所以說elkstack指的是elasticsearch logstash kib...