共找到2條詞條名為計算機軟體的結果 展開
- 計算機軟體
- 按照特定順序組織的計算機數據和指令的集合
計算機軟體
計算機軟體
計算機軟體( Software,也稱軟體)是指計算機系統中的程序及其文檔,程序是計算任務的處理對象和處理規則的描述;文檔是為了便於了解程序所需的闡明性資料。程序必須裝入機器內部才能工作,文檔一般是給人看的,不一定裝入機器。軟體是用戶與硬體之間的介面界面。用戶主要是通過軟體與計算機進行交流。軟體是計算機系統設計的重要依據。為了方便用戶,為了使計算機系統具有較高的總體效用,在設計計算機系統時,必須通盤考慮軟體與硬體的結合,以及用戶的要求和軟體的要求。
計算機軟體(Computer Software)是指計算機系統中的程序及其文檔。是計算機程序和對該程序的功能、結構、設計思想以及使用方法等整套文字資料的說明。程序是計算任務的處理對象和處理規則的描述;文檔是為了便於了解程序所需的闡明性資料。程序必須裝入機器內部才能工作,文檔一般是給人看的,不一定裝入機器。
軟體是用戶與硬體之間的介面界面。用戶主要是通過軟體與計算機進行交流。軟體是計算機系統設計的重要依據。為了方便用戶,為了使計算機系統具有較高的總體效用,在設計計算機系統時,必須通盤考慮軟體與硬體的結合,以及用戶的要求和軟體的要求。
軟體(中國大陸及香港用語,台灣作軟體)是一系列按照特定順序組織的計算機數據和指令的集合。一般來講軟體被劃分為系統軟體、應用軟體和介於這兩者之間的中間件。其中系統軟體為計算機使用提供最基本的功能,但是並不針對某一特定應用領域。而應用軟體則恰好相反,不同的應用軟體根據用戶和所服務的領域提供不同的功能。
軟體並不只是包括可以在計算機上運行的程序,與這些程序相關的文件一般也被認為是軟體的一部分。簡單的說軟體就是程序加文檔的集合體。
軟體被應用於世界的各個領域,對人們的生活和工作都產生了深遠的影響。
軟體的正確含義應該是:
(1)運行時,能夠提供所要求功能和性能的指令或計算機程序集合。
(2)程序能夠滿意地處理信息的數據結構。
3)描述程序功能需求以及程序如何操作和使用所要求的文檔。
軟體具有與硬體不同的特點:
(1)表現形式不同
硬體有形,有色,有味,看得見,摸得著,聞得到。而軟體無形,無色,無味,看不見,摸不著,聞不到。軟體大多存在人們的腦袋裡或紙面上,它的正確與否,是好是壞,一直要到程序在機器上運行才能知道。這就給設計、生產和管理帶來許多困難。
(2)生產方式不同
軟體是開發,是人的智力的高度發揮,不是傳統意義上的硬體製造。儘管軟體開發與硬體製造之間有許多共同點,但這兩種活動是根本不同的。
(3)要求不同
硬體產品允許有誤差,而軟體產品卻不允許有誤差。
(4)維護不同
硬體是要用舊用壞的,在理論上,軟體是不會用舊用壞的,但在實際上,軟體也會變舊變壞。因為在軟體的整個生存期中,一直處於改變(維護)狀態。
系統軟體是負責管理計算機系統中各種獨立的硬體,使得它們可以協調工作。系統軟體使得計算機使用者和其他軟體將計算機當作一個整體而不需要顧及到底層每個硬體是如何工作的。
一般來講,系統軟體包括操作系統和一系列基本的工具(比如編譯器,資料庫管理,存儲器格式化,文件系統管理,用戶身份驗證,驅動管理,網路連接等方面的工具)。
應用軟體是為了某種特定的用途而被開發的軟體。它可以是一個特定的程序,比如一個圖像瀏覽器。也可以是一組功能聯繫緊密,可以互相協作的程序的集合,比如微軟的Office軟體。也可以是一個由眾多獨立程序組成的龐大的軟體系統,比如資料庫管理系統。
較常見的有:
文字處理軟體 如WPS、Word等
信息管理軟體
輔助設計軟體 如AutoCAD
實時控制軟體
教育與娛樂軟體
軟體開發是根據用戶要求建造出軟體系統或者系統中的軟體部分的過程。軟體開發是一項包括需求捕捉,需求分析,設計,實現和測試的系統工程。
軟體一般是用某種程序設計語言來實現的。通常採用軟體開發工具可以進行開發。
不同的軟體一般都有對應的軟體許可,軟體的使用者必須在同意所使用軟體的許可證的情況下采能夠合法的使用軟體。從另一方面來講,某種特定軟體的許可條款也不能夠與法律相抵觸。
未經軟體版權所有者許可的軟體拷貝將會引發法律問題,一般來講,購買和使用這些盜版軟體也是違法的。
計算機軟體系統通常分為系統軟體和應用軟體兩大類。
(1)操作系統(Operating System,OS)
操作系統是管理和指揮計算機運行的一種大型軟體系統,是包在硬體外面的最內層軟體,是其它軟體運行的基礎。
目前我們常用的操作系統主要有:
①單用戶操作系統。同一時間只能處理一個用戶作業,這種操作系統多用於微型計算機上,如:DOS操作系統,Windows操作系統。
②網路操作系統。管理連接在計算機網路上的多台計算機的操作系統。如:Windows操作系統,UNIX操作系統。
(2)語言處理程序
程序設計語言是指用於編寫計算機程序的計算機語言。計算機語言按其發展可分為機器語言、彙編語言和高級語言三種。
機器語言(Machine Language)是用二進位代碼指令(由0和1組成的計算機可識別的代碼)來表示各種操作的計算機語言。用機器語言編寫的程序稱為機器語言程序。機器語言的優點是它不需要翻譯,可以為計算機直接理解並執行,執行速度快,效率高;其缺點是這種語言不直觀,難於記憶,編寫程序繁瑣而且機器語言隨機器而異,通用性差。
彙編語言是一種用符號指令來表示各種操作的計算機語言。彙編語言指令比機器語言指令簡短,意義明確,容易讀寫和記憶,方便了人們的使用。彙編語言編寫的源程序,不能為計算機直接識別執行,必須翻譯為機器語言程序(目標程序)才能為計算機執行。把彙編語言源程序翻譯為機器語言目標程序的過程,稱為彙編,彙編是由專門的彙編程序完成的。
機器語言和彙編語言均是面向機器(依賴於具體的機器)的語言,統稱為低級語言。
高級語言是一種接近於自然語言和數學語言的程序設計語言,它是一種獨立於具體的計算機而面向過程的計算機語言,如BASIC、FORTRAN、C等。用高級語言編寫的程序可以移植到各種類型的計算機上運行(有時要作少量修改)。高級語言的優點是其命令接近人的習慣,它比彙編語言程序更直觀,更容易編寫、修改、閱讀,使用更方便。用高級語言編寫的程序也不能直接在計算機上運行,必須將其翻譯成機器語言程序才能為計算機所理解並執行,其翻譯過程有編譯和解釋兩種方式。解釋是對用高級語言編寫的源程序逐句進行分析,邊解釋、邊執行並立即得到運行結果。解釋過程由計算機執行解釋程序自動完成,但不產生目標程序。編譯是將高級語言源程序通過編譯程序整個翻譯成目標程序,然後通過連接程序,把目標程序與庫文件連接形成可執行文件,運行時只要輸入可執行文件名即可。
執行翻譯任務的彙編程序、解釋程序和編譯程序都屬於系統軟體。
(3)資料庫管理系統(DataBase Management System,DBMS)。
資料庫是指保存在計算機的存儲設備上、並按照某種模型組織起來的、可以被各種用戶或應用共享的數據的集合。資料庫管理系統是指提供各種數據管理服務的計算機軟體系統,這種服務包括數據對象定義、數據存儲與備份、數據訪問與更新、數據統計與分析、數據安全保護、資料庫運行管理以及資料庫建立和維護等。隨著計算機應用普及的不斷擴大以及信息化社會的到來,資料庫管理系統的應用重要性越來越突出。
(4)支撐軟體。支撐軟體是用於支持軟體開發、調試和維護的軟體,可幫助程序員快速、準確、有效地進行軟體研發、管理和評測,如編輯程序、連接程序和調試程序等。編輯程序為程序員提供了一個書寫環境,用來建立、編輯修改源程序文件。連接程序用來將若干個目標程序模塊和相應高級語言的庫文件連接在一起,產生可執行程序文件。調試程序可以跟蹤程序的執行,幫助用戶發現程序中的錯誤,以便於修改。
應用軟體是為滿足用戶不同領域、不同問題的應用要求而開發的軟體。應用軟體可以拓寬計算機系統的應用領域,擴大硬體的功能,又可以根據應用的不同領域和不同功能劃分為若干子類。例如,壓縮軟體、財務軟體、辦公軟體、計算機輔助教學軟體(CAI)等。
計算機軟體總體分為系統軟體和應用軟體兩大類:
系統軟體是各類操作系統,如windows、Linux、UNIX等,還包括操作系統的補丁程序及硬體驅動程序,都是系統軟體類。
應用軟體可以細分的種類就更多了,如工具軟體、遊戲軟體、管理軟體等都屬於應用軟體類。
系統軟體是負責管理計算機系統中各種獨立的硬體,使得它們可以協調工作。系統軟體使得計算機使用者和其他軟體將計算機當作一個整體而不需要顧及到底層每個硬體是如何工作的。
一般來講,系統軟體包括操作系統和一系列基本的工具(比如編譯器,資料庫管理,存儲器格式化,文件系統管理,用戶身份驗證,驅動管理,網路連接等方面的工具)。
具體包括以下四類:
● ● 各種服務性程序,如診斷程序、排錯程序、練習程序等;
● ● 語言程序,如彙編程序、編譯程序、解釋程序;
● ● 操作系統;
● ● 資料庫管理系統。
應用軟體是為了某種特定的用途而被開發的軟體。它可以是一個特定的程序,比如一個圖像瀏覽器。也可以是一組功能聯繫緊密,可以互相協作的程序的集合,比如微軟的Office軟體。也可以是一個由眾多獨立程序組成的龐大的軟體系統,比如資料庫管理系統。
較常見的有:
文字處理軟體如WPS、Word等
信息管理軟體
輔助設計軟體如AutoCAD
實時控制軟體如極域電子教室等
教育與娛樂軟體
軟體開發是根據用戶要求建造出軟體系統或者系統中的軟體部分的過程。軟體開發是一項包括需求捕捉,需求分析,設計,實現和測試的系統工程。
軟體一般是用某種程序設計語言來實現的。通常採用軟體開發工具可以進行開發。
不同的軟體一般都有對應的軟體許可,軟體的使用者必須在同意所使用軟體的許可證的情況下才能夠合法的使用軟體。從另一方面來講,某種特定軟體的許可條款也不能夠與法律相抵觸。
《計算機軟體基礎》本書較全面地介紹了計算機軟體領域中最基本的原理和設計方法,包括:數據結構、操作系統、資料庫和軟體工程。數據結構中介紹了常用的數據結構及部分典型演演算法,其演演算法採用C語言描述;操作系統結合現代操作系統的原理進行介紹;資料庫中除介紹關係資料庫系統的基本概念和基本理論外,還講解了關係資料庫標準語言SQL;軟體工程主要介紹軟體開發的方法和步驟。全書內容緊湊,深入淺出,通俗易懂,注重實用。本書可作為高等院校非計算機專業計算機軟體基礎課程的教材,以及全國計算機等級考試資料庫技術(三級)的教材,也可供工程技術人員作為提高軟體水平的參考書,亦可用作成人教育和職業培訓教材。
第1章 基礎知識
1.1 計算機系統組成與應用分類
1.1.1 計算機的基本組成
1.1.2 計算機的應用分類
1.2 計算機軟體
1.2.1 計算機語言
1.2.2 計算機軟體定義
1.2.3 系統軟體
1.2.4 應用軟體
1.2.5 軟體開發環境
1.2.6 面向對象的軟體開發方法
習題
第2章 線性數據結構
2.1 基本概念
2.1.1 數據和數據結構
2.1.2 演演算法的描述和評價
2.2 線性表
2.2.1 線性表的定義及操作
2.2.2 線性表的順序存儲結構
2.2.3 線性表的鏈式存儲結構
2.2.4 循環鏈表和雙向鏈表
2.3 棧和隊列
2.3.1 棧
2.3.2 隊列
2.4 串和數組
2.4.1 串
2.4.2 數組
習題
第3章 非線性數據結構
3.1 樹及其基本概念
3.2 二叉樹
3.2.1 二叉樹的定義及其性質
3.2.2 二叉樹的存儲結構
3.3 二叉樹的遍歷
3.4 樹的存儲結構和遍歷
3.5 樹、森林與二叉樹的轉換
3.6 霍夫曼樹及其應用
3.7 圖及其基本概念
3.8 圖的存儲結構
3.8.1 鄰接矩陣
3.8.2 鄰接表
3.9 圖的遍歷
3.10 圖的連通性及最小生成樹
習題
第4章 查找和排序
4.1 線性表查找
4.1.1 順序查找
4.1.2 折半查找
4.1.3 分塊查找
4.2 二叉排序樹的查找
4.3 哈希查找
4.3.1 哈希表的建立
4.3.2 處理衝突的方法
4.3.3 哈希查找
4.4 排序
4.4.1 直接插入排序
4.4.2 簡單選擇排序
4.4.3 冒泡排序
4.4.4 快速排序
4.4.5 歸併排序
習題
第5章 操作系統
第6章資料庫技術基礎
第7章關係資料庫系統
第8章 關係規範化理論與資料庫設計
第9章 資料庫管理系統簡介
第10章 軟體工程
參考文獻