釋義
軟體的概念
軟體是用戶與硬體之間的接口界面。用戶主要是通過軟體與計算機進行交流。軟體是計算機系統設計的重要依據。為了方便用戶,為了使計算機系統具有較高的總體效用,在設計計算機系統時,必須通盤考慮軟體與硬體的結合,以及用戶的要求和軟體的要求。
軟體的含義
(1)運行時,能夠提供所要求功能和性能的指令或電腦程式集合。
(2)程式能夠滿意地處理信息的數據結構。
(3)描述程式功能需求以及程式如何操作和使用所要求的文檔。
軟體的特點
(1)計算機軟體與一般作品的目的不同。計算機軟體多用於某種特定目的,如控制一定生產過程,使計算機完成某些工作;而文學作品則是為了閱讀欣賞,滿足人們精神文化生活需要。
(2)要求法律保護的側重點不同。著作權法一般只保護作品的形式,不保護作品的內容。而計算機軟體則要求保護其內容。
(3)計算機軟體語言與作品語言不同。計算機軟體語言是一種符號化、形式化的語言,其表現力十分有限;文字作品則是人類的自然語言,其表現力十分豐富。
(4)計算機軟體可援引多種法律保護,文字作品則只能援引著作權法。
不同點
表現形式不同
硬體有形,有色,有味,看得見,摸得著,聞得到。而軟體無形,無色,無味,看不見,摸不著,聞不到。軟體大多存在人們的腦袋裡或紙面上,它的正確與否,是好是壞,一直要到程式在機器上運行才能知道。這就給設計、生產和管理帶來許多困難。
生產方式不同
軟體是開發,它是人的智力的高度發揮,不是傳統意義上的硬體製造。儘管軟體開發與硬體製造之間有許多共同點,但這兩種活動是根本不同的。
要求不同
硬體產品允許有誤差,而軟體產品卻不允許有誤差。
維護不同
硬體是要用舊用壞的,在理論上,軟體是不會用舊用壞的,但在實際上,軟體也會變舊變壞。因為在軟體的整個生存期中,一直處於改變(維護)狀態。
計算機軟體分類
總述
計算機軟體總體分為系統軟體和套用軟體兩大類:
系統軟體是各類作業系統,如windows、Linux、UNIX等,還包括作業系統的補丁程式及硬體驅動程式,都是系統軟體類。
套用軟體可以細分的種類就更多了,如工具軟體、遊戲軟體、管理軟體等都屬於套用軟體類。
系統軟體
系統軟體是負責管理計算機系統中各種獨立的硬體,使得它們可以協調工作。系統軟體使得計算機使用者和其他軟體將計算機當作一個整體而不需要顧及到底層每個硬體是如何工作的。
一般來講,系統軟體包括作業系統和一系列基本的工具(比如編譯器,資料庫管理,存儲器格式化,檔案系統管理,用戶身份驗證,驅動管理,網路連線等方面的工具)。
具體包括以下四類:
各種服務性程式,如診斷程式、排錯程式、練習程式等;
語言程式,如彙編程式、編譯程式、解釋程式;
作業系統;
資料庫管理系統。
1.各種服務性程式,如診斷程式、排錯程式、練習程式等;
2.語言程式,如彙編程式、編譯程式、解釋程式;
3.作業系統;
4.資料庫管理系統。
套用軟體
套用軟體是為了某種特定的用途而被開發的軟體。它可以是一個特定的程式,比如一個圖像瀏覽器。也可以是一組功能聯繫緊密,可以互相協作的程式的集合,比如微軟的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章 軟體工程
參考文獻