基礎(chǔ)知識(shí)2計(jì)算機(jī)軟件定義課件_第1頁
基礎(chǔ)知識(shí)2計(jì)算機(jī)軟件定義課件_第2頁
基礎(chǔ)知識(shí)2計(jì)算機(jī)軟件定義課件_第3頁
基礎(chǔ)知識(shí)2計(jì)算機(jī)軟件定義課件_第4頁
基礎(chǔ)知識(shí)2計(jì)算機(jī)軟件定義課件_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第1章 基 礎(chǔ) 知 識(shí) 1.1 計(jì)算機(jī)系統(tǒng)組成與應(yīng)用分類 1.1.1 計(jì)算機(jī)的基本組成 1.1.2 計(jì)算機(jī)的應(yīng)用分類1.2 計(jì)算機(jī)軟件 1.2.1 計(jì)算機(jī)語言1.2.2 計(jì)算機(jī)軟件定義1.2.3 系統(tǒng)軟件1.2.4 應(yīng)用軟件1.2.5 軟件開發(fā)環(huán)境1.2.6 面向?qū)ο蟮能浖_發(fā)方法1.3 軟件技術(shù)基礎(chǔ)習(xí)題1.1 計(jì)算機(jī)系統(tǒng)組成與應(yīng)用分類 一個(gè)完整的計(jì)算機(jī)系統(tǒng)由硬件和軟件兩個(gè)部分組成。 計(jì)算機(jī)硬件是組成計(jì)算機(jī)的物理設(shè)備的總稱,它們由各種器件和電子線路組成,是計(jì)算機(jī)系統(tǒng)工作的物質(zhì)基礎(chǔ)。 所謂軟件是一個(gè)程序的集合,這種程序不只是用戶為解決某一個(gè)具體問題而編制的程序,它還具有支持計(jì)算機(jī)工作和擴(kuò)大計(jì)算機(jī)

2、功能的作用。 隨著程序規(guī)模及復(fù)雜程度的增大,軟件的內(nèi)容不僅僅是其程序?qū)嶓w,還包括開發(fā)程序、使用程序、維護(hù)程序所需要的一切文檔。 因此,計(jì)算機(jī)軟件是計(jì)算機(jī)硬件設(shè)備上運(yùn)行的各種程序及其相關(guān)資料的總稱。 軟、硬件關(guān)系可表述為: 沒有軟件的計(jì)算機(jī)系統(tǒng)通常稱為“裸機(jī)”,而“裸機(jī)”是無法工作的,只有硬件和軟件的相互依存才能構(gòu)成一個(gè)可用的計(jì)算機(jī)系統(tǒng)。隨著計(jì)算機(jī)硬件技術(shù)的不斷發(fā)展和廣泛使用,軟件也逐步豐富與完善,而軟件的發(fā)展又大大促進(jìn)了硬件的發(fā)展。 1.1.1 計(jì)算機(jī)的基本組成 迄今為止的計(jì)算機(jī)都是以存儲(chǔ)程序原理為基礎(chǔ)的馮諾依曼型計(jì)算機(jī),是1946年由馮諾依曼領(lǐng)導(dǎo)設(shè)計(jì)的,一般都由5大功能部件組成,它們是:運(yùn)算

3、器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備。 圖1-1給出了計(jì)算機(jī)各功能部件的關(guān)系圖,圖中雙線代表數(shù)據(jù)傳輸線路,單線代表控制信號(hào)傳輸線路。圖1-1 計(jì)算機(jī)硬件系統(tǒng)基本組成框圖 1控制器 控制器是計(jì)算機(jī)的控制部件,它控制計(jì)算機(jī)各部分自動(dòng)協(xié)調(diào)地工作,它完成對(duì)指令的解釋和執(zhí)行??刂破髅看螐拇鎯?chǔ)器讀取一條指令,經(jīng)分析譯碼,產(chǎn)生一串操作命令發(fā)向各個(gè)部件,控制各部件動(dòng)作,實(shí)現(xiàn)該指令的功能;然后再取下一條指令,繼續(xù)分析、執(zhí)行,直至程序結(jié)束,從而使整個(gè)機(jī)器能連續(xù)、有序地工作。應(yīng)當(dāng)說明,控制器本身不進(jìn)行運(yùn)算,運(yùn)算是由運(yùn)算器來完成的。 2運(yùn)算器 運(yùn)算器是用于對(duì)數(shù)據(jù)進(jìn)行加工的部件,它可對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。在需

4、要進(jìn)行某項(xiàng)運(yùn)算時(shí),由控制器發(fā)出命令,將存放在存儲(chǔ)器中的數(shù)據(jù)送到運(yùn)算器。然后由控制器再發(fā)出運(yùn)算的命令(例如使A和B相加),然后將運(yùn)算結(jié)果送回存儲(chǔ)器存起來,以便下次運(yùn)算時(shí)使用或?qū)⑺敵觥?算術(shù)運(yùn)算包括加、減、乘、除及它們的復(fù)合運(yùn)算。邏輯運(yùn)算包括一般的邏輯判斷和邏輯比較,如比較、移位、邏輯加、邏輯乘、邏輯反等操作。 3存儲(chǔ)器 存儲(chǔ)器是計(jì)算機(jī)的記憶裝置,用來存放程序和數(shù)據(jù)。程序是計(jì)算機(jī)操作的依據(jù),數(shù)據(jù)是計(jì)算機(jī)操作的對(duì)象。計(jì)算機(jī)中數(shù)據(jù)的存儲(chǔ)和運(yùn)算是以二進(jìn)制形式進(jìn)行的。 存儲(chǔ)器有一個(gè)特點(diǎn),即從某一存儲(chǔ)單元中“取”一個(gè)數(shù)據(jù)后,該存儲(chǔ)單元中的數(shù)據(jù)并不消失。除非向該單元送入一個(gè)新的數(shù)據(jù)后,該單元的內(nèi)容才改變。因

5、此把數(shù)據(jù)的“存”和“取”稱為“讀出”和“寫入”更為確切。 4輸入設(shè)備 輸入設(shè)備是外部向計(jì)算機(jī)傳送信息的裝置。其功能是將數(shù)據(jù)、程序及其它信息,從人們熟悉的形式轉(zhuǎn)換成計(jì)算機(jī)能接受的信息形式,輸入到計(jì)算機(jī)內(nèi)部。 常見的輸入設(shè)備有鍵盤、鼠標(biāo)、光筆、紙帶輸入機(jī)、模/數(shù)轉(zhuǎn)換器、聲音識(shí)別輸入等。 5輸出設(shè)備 輸出設(shè)備功能是將計(jì)算機(jī)內(nèi)部二進(jìn)制形式的信息轉(zhuǎn)換成人們所需要的或其它設(shè)備能接受和識(shí)別的信息形式,輸出到輸出設(shè)備上。 常見的輸出設(shè)備有打印機(jī)、顯示器、繪圖儀、數(shù)/模轉(zhuǎn)換器、聲音合成輸出等。 有的設(shè)備兼有輸入、輸出兩種功能,如磁盤機(jī)、磁帶機(jī)等,它們既是輸入設(shè)備,也是輸出設(shè)備。 通常把控制器和運(yùn)算器合起來稱為“

6、中央處理機(jī)”(Central Processor Unit),簡稱CPU,它是計(jì)算機(jī)的核心部分;CPU和內(nèi)存儲(chǔ)器合起來稱為主機(jī);輸入設(shè)備、輸出設(shè)備和外存儲(chǔ)器合稱為外部設(shè)備;外部設(shè)備通過接口線路與主機(jī)相連。 1.1.2 計(jì)算機(jī)的應(yīng)用分類 早期的計(jì)算機(jī)主要是用于數(shù)值計(jì)算,計(jì)算機(jī)輸入和處理的對(duì)象是數(shù)值,處理的算法是數(shù)值計(jì)算方法,輸出的結(jié)果也是數(shù)值。 但是,電子計(jì)算機(jī)誕生沒過多久,就突破了這個(gè)界限。由于它的邏輯功能增強(qiáng)和信息技術(shù)飛速發(fā)展,人們發(fā)現(xiàn)除了處理數(shù)值外還可以處理字母、符號(hào)、表格、圖像乃至文字、語言、聲音等。對(duì)數(shù)值的處理而言,也不僅限于對(duì)數(shù)值的計(jì)算,還可以進(jìn)行數(shù)值的排序、數(shù)值的檢索等,這些都稱為

7、計(jì)算機(jī)的非數(shù)值應(yīng)用。 計(jì)算機(jī)應(yīng)用從數(shù)值到非數(shù)值是計(jì)算機(jī)發(fā)展史上的一次飛躍,其結(jié)果是使計(jì)算機(jī)從科學(xué)家、工程師們手中解放出來進(jìn)入到銀行、商店、工廠、辦公室乃至社會(huì)的各個(gè)領(lǐng)域。 計(jì)算機(jī)應(yīng)用根據(jù)其應(yīng)用性質(zhì)來分可以歸納為5大類: 1數(shù)值計(jì)算(又稱科學(xué)計(jì)算) 數(shù)值計(jì)算是指用計(jì)算機(jī)來處理科學(xué)研究和工程技術(shù)中所提出的數(shù)學(xué)問題。其特點(diǎn)是計(jì)算量大,而邏輯關(guān)系相對(duì)簡單。例如,導(dǎo)彈飛行軌道計(jì)算,宇宙飛船運(yùn)動(dòng)軌跡和氣動(dòng)干擾的計(jì)算,熱核反應(yīng)控制條件及能量計(jì)算,天文測量和天氣預(yù)報(bào)方程計(jì)算等。除了國防和尖端科技外,在其它學(xué)科和工程設(shè)計(jì)方面,如數(shù)學(xué)、力學(xué)、化學(xué)、物理以及石油勘探、橋梁設(shè)計(jì)等領(lǐng)域都存在著復(fù)雜的數(shù)學(xué)問題,需要利用計(jì)

8、算機(jī)進(jìn)行數(shù)值計(jì)算。 2數(shù)據(jù)和數(shù)據(jù)處理 數(shù)據(jù)和數(shù)據(jù)處理是計(jì)算機(jī)的重要應(yīng)用領(lǐng)域。數(shù)據(jù)是指需用計(jì)算機(jī)處理的日常生活工作中碰到的大量數(shù)據(jù),甚至相當(dāng)多是需要重復(fù)處理的數(shù)據(jù)。這一類數(shù)據(jù)的特點(diǎn)是數(shù)據(jù)量多,要反復(fù)處理。當(dāng)前的數(shù)據(jù)也已有更廣泛的含義,如圖、文、聲、像等多媒體數(shù)據(jù),它們都已成為計(jì)算機(jī)的處理對(duì)象。 數(shù)據(jù)處理是指對(duì)數(shù)據(jù)的收集、存儲(chǔ)、加工、分析和傳送的全過程。計(jì)算機(jī)數(shù)據(jù)處理應(yīng)用廣泛,例如財(cái)政、金融系統(tǒng)數(shù)據(jù)的統(tǒng)計(jì)和核算,銀行儲(chǔ)蓄系統(tǒng)的存款、取款和計(jì)息,圖書、情報(bào)系統(tǒng)的書刊、文獻(xiàn)和檔案資料的管理及查詢,商業(yè)系統(tǒng)的計(jì)劃、銷售、市場、采購和庫存管理等,還有鐵路、機(jī)場、港口的管理和調(diào)度。而航空訂票系統(tǒng)、交通管制系

9、統(tǒng)等又都是實(shí)時(shí)數(shù)據(jù)和信息處理系統(tǒng)。 上述數(shù)據(jù)處理應(yīng)用的特點(diǎn)是數(shù)據(jù)量很大,但計(jì)算相對(duì)簡單。 近年來隨著多媒體技術(shù)的發(fā)展,數(shù)據(jù)處理增加了新的內(nèi)容,如指紋的識(shí)別、圖像和聲音信息的處理等,這些處理都會(huì)涉及更廣泛的數(shù)據(jù)形式。這些數(shù)據(jù)處理過程不但數(shù)據(jù)量大,而且還有大量且復(fù)雜的運(yùn)算過程。 據(jù)統(tǒng)計(jì),計(jì)算機(jī)在數(shù)據(jù)處理方面的應(yīng)用占全部計(jì)算機(jī)應(yīng)用的80%。 3過程控制(實(shí)時(shí)控制) 過程控制是生產(chǎn)自動(dòng)化的重要技術(shù)內(nèi)容和手段,它是由計(jì)算機(jī)對(duì)所采集到的數(shù)據(jù)按一定方法進(jìn)行計(jì)算,然后再將計(jì)算結(jié)果輸出到指定執(zhí)行機(jī)構(gòu)去控制生產(chǎn)的過程。計(jì)算機(jī)的控制對(duì)象可以是機(jī)床、生產(chǎn)線和車間,甚至是整個(gè)工廠。例如,在化工廠控制化工生產(chǎn)的某些環(huán)節(jié)或

10、全過程,在煉鐵車間控制高爐生產(chǎn)的全過程等。 用于生產(chǎn)過程控制的系統(tǒng),一般都是實(shí)時(shí)系統(tǒng),它要求有對(duì)輸入數(shù)據(jù)及時(shí)做出反映(響應(yīng))的能力。這一類問題的特點(diǎn)是精度高,要求及時(shí)做出反映。當(dāng)然,由于環(huán)境和控制對(duì)象以及工作任務(wù)的不同,控制系統(tǒng)對(duì)計(jì)算機(jī)系統(tǒng)的要求也會(huì)不同,一般會(huì)對(duì)計(jì)算機(jī)系統(tǒng)的可靠性、封閉性、抗干擾性等指標(biāo)提出要求。 4輔助設(shè)計(jì) 計(jì)算機(jī)輔助設(shè)計(jì)是計(jì)算機(jī)的另一個(gè)重要應(yīng)用領(lǐng)域。它不僅應(yīng)用于產(chǎn)品和工程輔助設(shè)計(jì),而且還包括輔助制造、輔助測試、輔助教學(xué)以及其它多方面的內(nèi)容,這些都統(tǒng)稱為計(jì)算機(jī)輔助系統(tǒng)。 計(jì)算機(jī)輔助設(shè)計(jì)(CAD,Computer Aided Design)是利用計(jì)算機(jī)幫助設(shè)計(jì)人員進(jìn)行產(chǎn)品、工

11、程設(shè)計(jì)的重要技術(shù)手段,它能提高設(shè)計(jì)自動(dòng)化程度,不僅能節(jié)省人力和物力,而且速度快、質(zhì)量高,為縮短產(chǎn)品設(shè)計(jì)周期、保證質(zhì)量提供了條件。這種技術(shù)目前已在飛機(jī)、車船、橋梁、建筑、機(jī)械、服裝等設(shè)計(jì)中得到廣泛的應(yīng)用。計(jì)算機(jī)輔助設(shè)計(jì)為超大規(guī)模集成電路技術(shù)的發(fā)展與應(yīng)用提供了有力的支持。 計(jì)算機(jī)輔助制造(CAM,Computer Aided Manufacturing)是利用計(jì)算機(jī)進(jìn)行生產(chǎn)設(shè)備的控制、操作和管理的系統(tǒng),它能提高產(chǎn)品質(zhì)量,降低生產(chǎn)成本,縮短生產(chǎn)周期,并有利于改善生產(chǎn)人員的工作條件。 計(jì)算機(jī)輔助測試(CAT,Computer Aided Testing)是利用計(jì)算機(jī)來輔助進(jìn)行復(fù)雜而大量的測試工作的系統(tǒng)

12、。 計(jì)算機(jī)輔助教學(xué)(CAI,Computer Aided Instruction)是現(xiàn)代教學(xué)手段的體現(xiàn),它利用計(jì)算機(jī)幫助學(xué)員進(jìn)行學(xué)習(xí),它將教學(xué)內(nèi)容加以科學(xué)的組織,并編制好教學(xué)程序,使學(xué)生能通過人機(jī)交互方式自如地從提供的材料中學(xué)到所需要的知識(shí)并接受考核。 5人工智能 人工智能主要研究用計(jì)算機(jī)來模擬人類的某些智力活動(dòng),如學(xué)習(xí)過程、適應(yīng)能力、推理過程等,它也是計(jì)算機(jī)的一個(gè)重要應(yīng)用領(lǐng)域。如利用計(jì)算機(jī)進(jìn)行數(shù)學(xué)定理的證明、進(jìn)行邏輯推理、理解自然語言、輔助疾病診斷、實(shí)現(xiàn)人機(jī)對(duì)弈、密碼破譯等,這些都是利用人們賦予計(jì)算機(jī)的智能來完成的。 人工智能是利用計(jì)算機(jī)來模擬人的思維的過程,并利用計(jì)算機(jī)程序來實(shí)現(xiàn)這些過程。

13、智能機(jī)器人、專家系統(tǒng)等都是人工智能的應(yīng)用成果,它們?yōu)橛?jì)算機(jī)應(yīng)用開辟了一個(gè)最有吸引力的領(lǐng)域。1.2 計(jì) 算 機(jī) 軟 件 1.2.1 計(jì)算機(jī)語言 1機(jī)器語言 人和計(jì)算機(jī)打交道,必須要解決一個(gè)“語言”的溝通問題。計(jì)算機(jī)并不能理解和執(zhí)行人們使用的自然語言,而只能接受和執(zhí)行二進(jìn)制的指令。計(jì)算機(jī)能夠直接識(shí)別和執(zhí)行的這種指令,稱為機(jī)器指令。每一種類型的計(jì)算機(jī)都規(guī)定了可以執(zhí)行的若干種指令,這種指令的集合就是機(jī)器語言指令系統(tǒng),簡稱為機(jī)器語言。 機(jī)器語言特點(diǎn):用機(jī)器語言編寫程序,程序設(shè)計(jì)人員必須熟悉機(jī)器指令的二進(jìn)制代碼。這些由“0”和“1”組成的指令使人難學(xué)、難記、難懂、難修改,給使用者帶來很大的不便。由于機(jī)器語

14、言直接依賴機(jī)器,所以對(duì)于不同型號(hào)的計(jì)算機(jī),其機(jī)器語言是不同的,即在一種類型計(jì)算機(jī)上編寫的機(jī)器語言程序,不能在另一種類型的機(jī)器上運(yùn)行。要想在另一種機(jī)器上運(yùn)行,必須重新學(xué)習(xí)該機(jī)器的機(jī)器語言,并編寫相關(guān)程序。顯然這是很不方便的,給計(jì)算機(jī)的推廣使用造成很大的障礙。 2匯編語言 匯編語言是從機(jī)器語言發(fā)展演變而來的。它用一些“助記憶符號(hào)”來代替那些難懂難記的二進(jìn)制代碼,也稱為符號(hào)語言。通常用有指令功能的英文詞的縮寫代替操作碼,如“傳送”指令用助記符MOV(move的縮寫)表示,“加法”指令用助記符ADD(Addition的縮寫)表示。這樣,每條指令就有明顯的標(biāo)識(shí),從而易于理解和記憶,因此,匯編語言程序有較

15、直觀易理解等優(yōu)點(diǎn)。圖1-2 匯編過程 計(jì)算機(jī)并不能識(shí)別和直接運(yùn)行匯編語言程序,必須由一種翻譯程序?qū)R編語言程序翻譯成機(jī)器語言程序后才能識(shí)別并運(yùn)行。 這種翻譯程序稱為匯編程序,其關(guān)系如圖1-2所示。用匯編語言(或高級(jí)語言)寫的程序稱為源程序,經(jīng)過轉(zhuǎn)換后得到可以由計(jì)算機(jī)直接執(zhí)行的機(jī)器指令程序稱為目標(biāo)程序。 匯編語言和機(jī)器語言都是針對(duì)特定的計(jì)算機(jī)系統(tǒng),不同類型的計(jì)算機(jī)所用的匯編語言也是不同的。所以我們稱機(jī)器語言和匯編語言為“面向機(jī)器的語言”,它們也被稱為“低級(jí)語言 ” 。如果要用匯編語言編寫程序,首先必須了解計(jì)算機(jī)的內(nèi)部結(jié)構(gòu),在存取數(shù)據(jù)時(shí)要具體寫出存儲(chǔ)單元的地址,這對(duì)程序編寫人員的要求比較高。 3高

16、級(jí)語言 高級(jí)語言是一類人工設(shè)計(jì)的語言,因?yàn)樗鼘?duì)具體的算法進(jìn)行描述,所以又稱為算法語言。高級(jí)語言與具體計(jì)算機(jī)無關(guān),即用它所寫的程序可以在任一種計(jì)算機(jī)上運(yùn)行(必要時(shí)只需做一些很小的修改)。這種語言稱為“面向過程的語言”,只需根據(jù)所求解的問題的算法,寫出處理的過程即可,而不必涉及計(jì)算機(jī)內(nèi)部的結(jié)構(gòu)。比如在存取數(shù)據(jù)時(shí),不必具體指出各存儲(chǔ)單元的具體地址,可以用一個(gè)符號(hào)(即變量名)代表地址。 高級(jí)語言是一類面向問題的程序設(shè)計(jì)語言,且獨(dú)立于計(jì)算機(jī)的硬件,其表達(dá)方式接近于被描述的問題,易于理解和掌握。用高級(jí)語言編寫程序,可簡化程序編制和測試,其通用性和可移植性好。 目前。計(jì)算機(jī)高級(jí)語言雖然很多,據(jù)統(tǒng)計(jì)已經(jīng)有好幾

17、百種,但廣泛應(yīng)用的卻僅有十幾種,它們有各自的特點(diǎn)和使用范圍。如BASIC語言是一類普及性的會(huì)話語言;FORTRAN語言多用于科學(xué)及工程計(jì)算;COBOL語言多用于商業(yè)事務(wù)處理和金融業(yè);PASCAL語言有利于結(jié)構(gòu)化程序設(shè)計(jì);C語言常用于軟件的開發(fā);PROLOG語言多用于人工智能;當(dāng)前流行的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言C+和面向?qū)ο蟮挠糜诰W(wǎng)絡(luò)環(huán)境的程序設(shè)計(jì)語言Java等。圖1-3 編譯過程 顯然,計(jì)算機(jī)不能直接執(zhí)行高級(jí)語言程序,而必須先翻譯轉(zhuǎn)換成“目標(biāo)程序”(即機(jī)器語言程序)才能執(zhí)行。這種翻譯轉(zhuǎn)換工作由被稱為“編譯程序”的專門軟件來完成,其過程如圖1-3所示。每一種高級(jí)語言都有自己的編譯程序,在一個(gè)計(jì)算機(jī)

18、上運(yùn)行某一種高級(jí)語言源程序的前提是:該計(jì)算機(jī)系統(tǒng)配置了該語言的編譯程序。 高級(jí)語言的出現(xiàn),使成千上萬非計(jì)算機(jī)專業(yè)的工作者能十分方便地使用計(jì)算機(jī)。學(xué)習(xí)使用高級(jí)語言要比學(xué)習(xí)使用機(jī)器語言和匯編語言容易得多,它為計(jì)算機(jī)的推廣普及掃除了一個(gè)大障礙,即使對(duì)計(jì)算機(jī)內(nèi)部結(jié)構(gòu)毫無所知的人,也能學(xué)會(huì)使用高級(jí)語言編寫程序去解決他們需要計(jì)算機(jī)處理的問題。 4非過程化語言 面向過程的高級(jí)語言稱為過程化語言,用它編程序必須寫出每一步如何進(jìn)行的全過程。程序設(shè)計(jì)者必須具體指出執(zhí)行的每一個(gè)細(xì)節(jié)(例如,輸入一個(gè)數(shù)給某一變量、進(jìn)行某一公式的運(yùn)算、進(jìn)行什么條件判斷、執(zhí)行多少次循環(huán)等)。這要求程序設(shè)計(jì)人員考慮得十分周到,稍有不慎(例如

19、寫錯(cuò)一個(gè)字母),就會(huì)導(dǎo)致程序運(yùn)行失敗。 人們希望能做到:只要指出“做什么”,而不必具體指出“如何做”,由計(jì)算機(jī)自己去解決“如何做”的問題,這就是“非過程化語言”(即不需指出解決問題的過程)。 20世紀(jì)70年代后期,計(jì)算機(jī)專家研制出了非過程化語言,即關(guān)系數(shù)據(jù)庫語言。關(guān)系數(shù)據(jù)庫語言是一種高度的非過程化語言,例如指出“將全廠職工中工資高于1500元以上的職工姓名、職務(wù)、部門打印出來”,計(jì)算機(jī)便會(huì)自動(dòng)執(zhí)行,打印出所需結(jié)果。顯然,這又是一個(gè)飛躍,為更多的人更方便地使用計(jì)算機(jī)創(chuàng)造了極為有利的條件。 非過程化語言是比高級(jí)語言功能更強(qiáng)的高級(jí)語言。 歸納起來,計(jì)算機(jī)語言的發(fā)展經(jīng)歷了以下幾個(gè)階段: 第一代計(jì)算機(jī)語

20、言機(jī)器語言。 第二代計(jì)算機(jī)語言匯編語言(符號(hào)語言)。 第三代計(jì)算機(jī)語言高級(jí)語言(算法語言)。 第四代計(jì)算機(jī)語言非過程化語言。 1.2.2 計(jì)算機(jī)軟件定義 在飛速發(fā)展的計(jì)算機(jī)產(chǎn)業(yè)中,計(jì)算機(jī)軟件所承擔(dān)的角色越來越重要,“軟件”這一詞匯在不同的場合其含義可能不盡相同。習(xí)慣上,人們認(rèn)為軟件就是程序或程序就是軟件。隨著計(jì)算機(jī)的發(fā)展及軟件規(guī)模愈來愈大,人們發(fā)現(xiàn)程序和軟件是兩個(gè)不同的概念,于是有人提出這樣一種觀點(diǎn):軟件是由程序和程序開發(fā)、使用、維護(hù)所需要的一切文檔組成的。這一觀點(diǎn)強(qiáng)調(diào)了文檔在軟件研制中的重要性。1983年,IEEE組織明確地給軟件作了定義:軟件是計(jì)算機(jī)程序、方法和規(guī)則相關(guān)的文檔以及在計(jì)算機(jī)上

21、運(yùn)行它時(shí)所必需的數(shù)據(jù)。 計(jì)算機(jī)軟件發(fā)展非常迅速,其內(nèi)容又十分豐富,對(duì)它進(jìn)行分類也比較困難,僅從用途來劃分,大致分為服務(wù)類、維護(hù)類和操作管理類。 1) 服務(wù)類軟件 這類軟件是面向用戶的,為用戶提供各種服務(wù),包括各種語言的集成化軟件如Turbo C軟件、Windows下的Borland C+軟件;各種軟件開發(fā)工具及常用的庫函數(shù)等。 2) 維護(hù)類軟件 此類軟件是面向計(jì)算機(jī)維護(hù)的,包括錯(cuò)誤診斷和檢測軟件、測試軟件、各種調(diào)試用軟件如Debug等。 3) 操作管理類軟件 此類軟件是面向計(jì)算機(jī)操作和管理的,包括各種操作系統(tǒng)、網(wǎng)絡(luò)通信系統(tǒng)、計(jì)算機(jī)管理軟件等。 若從計(jì)算機(jī)系統(tǒng)角度看,軟件又分為系統(tǒng)軟件和應(yīng)用軟件

22、。 系統(tǒng)軟件是指為管理、控制和維護(hù)計(jì)算機(jī)及外設(shè),以及提供計(jì)算機(jī)與用戶界面等的軟件。如操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、各種語言編譯系統(tǒng)及編輯軟件等。 系統(tǒng)軟件以外的其它軟件稱為應(yīng)用軟件。目前應(yīng)用軟件的種類很多,按其主要用途分為科學(xué)計(jì)算類、數(shù)據(jù)處理類、過程控制類、輔助設(shè)計(jì)類和人工智能軟件類。應(yīng)用軟件的組合可稱為軟件包或軟件庫。數(shù)據(jù)庫及數(shù)據(jù)庫管理系統(tǒng)過去一般認(rèn)為是應(yīng)用軟件,隨著計(jì)算機(jī)的發(fā)展,現(xiàn)在已被認(rèn)為是系統(tǒng)軟件。隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,應(yīng)用領(lǐng)域不斷拓寬,應(yīng)用軟件種類將日益增多,其在軟件中所占比重越來越大。 1.2.3 系統(tǒng)軟件 系統(tǒng)軟件是隨計(jì)算機(jī)出廠并具有通用功能的軟件,由計(jì)算機(jī)廠家或第三方廠家提供,

23、一般包括:操作系統(tǒng)、語言處理系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)以及服務(wù)程序等。 1操作系統(tǒng)(OS,Operating System) 操作系統(tǒng)是系統(tǒng)軟件的核心,它是管理計(jì)算機(jī)軟、硬件資源,調(diào)度用戶作業(yè)程序和處理各種中斷,從而保證計(jì)算機(jī)各部分協(xié)調(diào)有效工作的軟件。操作系統(tǒng)也是最貼近硬件的系統(tǒng)軟件,它也是用戶與計(jì)算機(jī)的接口,用戶通過操作系統(tǒng)來操作計(jì)算機(jī)并能使計(jì)算機(jī)充分實(shí)現(xiàn)其功能。操作系統(tǒng)的功能和規(guī)模隨不同的應(yīng)用要求而異,故操作系統(tǒng)又可分為批處理操作系統(tǒng)、分時(shí)操作系統(tǒng)及實(shí)時(shí)操作系統(tǒng)等。 2語言處理系統(tǒng) 任何語言編制的程序,最后一定都需要轉(zhuǎn)換成機(jī)器語言程序,才能被計(jì)算機(jī)執(zhí)行。語言處理程序的任務(wù),就是將各種高級(jí)語言編寫

24、的源程序翻譯成機(jī)器語言表示的目標(biāo)程序。不同語言編寫的源程序,有不同的語言處理程序。語言處理程序按其處理的方式不同,可分為解釋型程序與編譯型程序兩大類。前者對(duì)源程序的處理采用邊解釋邊執(zhí)行的方法,并不形成目標(biāo)程序,稱為對(duì)源程序的解釋執(zhí)行;后者必須先將源程序翻譯成目標(biāo)程序才能執(zhí)行,稱做編譯執(zhí)行。 3數(shù)據(jù)庫管理系統(tǒng) (DBMS,DataBase Management System) 數(shù)據(jù)庫管理系統(tǒng)是對(duì)計(jì)算機(jī)中所存放的大量數(shù)據(jù)進(jìn)行組織、管理、查詢并提供一定處理功能的大型系統(tǒng)軟件。隨著社會(huì)信息化進(jìn)程的加快,信息量的劇增,當(dāng)前數(shù)據(jù)庫已成為計(jì)算機(jī)信息系統(tǒng)和應(yīng)用系統(tǒng)的基礎(chǔ)。數(shù)據(jù)庫管理系統(tǒng)能夠?qū)Υ罅繑?shù)據(jù)合理組織,

25、減少冗余;支持多個(gè)用戶對(duì)數(shù)據(jù)庫中數(shù)據(jù)的共享;還能保證數(shù)據(jù)庫中數(shù)據(jù)的安全和對(duì)用戶進(jìn)行數(shù)據(jù)存取的合法性驗(yàn)證。 當(dāng)前數(shù)據(jù)庫管理系統(tǒng)可以劃分為兩類,一類是基于微型計(jì)算機(jī)的小型數(shù)據(jù)庫管理系統(tǒng),它具有數(shù)據(jù)庫管理的基本功能,易于開發(fā)和使用, 可以解決對(duì)數(shù)據(jù)量不大且功能要求較簡單的數(shù)據(jù)庫應(yīng)用,常見的FoxBASE和FoxPro數(shù)據(jù)庫管理系統(tǒng)即是這種系統(tǒng); 另一類是大型的數(shù)據(jù)庫管理系統(tǒng),其功能齊全,安全性好,能支持對(duì)大數(shù)據(jù)量的管理,還提供了相應(yīng)的開發(fā)工具。 目前在國際上流行的大型數(shù)據(jù)庫管理系統(tǒng)主要有Oracle、SYBASE、DB2、Informix等。國產(chǎn)化的數(shù)據(jù)庫管理系統(tǒng)已初露頭角,并走向市場,如Cobas

26、e、DM2、Openbase等。 數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)技術(shù)中發(fā)展快、用途廣泛的一個(gè)分支??梢哉f,在今后的任何計(jì)算機(jī)應(yīng)用開發(fā)中都離不開對(duì)數(shù)據(jù)庫技術(shù)的應(yīng)用。 先掌握微型計(jì)算機(jī)數(shù)據(jù)庫的應(yīng)用,再了解大型數(shù)據(jù)庫的技術(shù)和應(yīng)用是一條較好的掌握數(shù)據(jù)庫技術(shù)的途徑。 4服務(wù)程序 服務(wù)程序是一類輔助性的程序,它提供程序運(yùn)行所需的各種服務(wù)。例如,用于程序的裝入、連接、編輯及調(diào)試用的裝入程序、連接程序、編輯程序和調(diào)試程序以及故障診斷程序、糾錯(cuò)程序等。 1.2.4 應(yīng)用軟件 應(yīng)用軟件是為解決實(shí)際應(yīng)用問題所編寫的軟件的總稱,它涉及到計(jì)算機(jī)應(yīng)用的所有領(lǐng)域,各種科學(xué)和工程計(jì)算的軟件和軟件包、管理軟件、輔助設(shè)計(jì)軟件和過程控制軟件都

27、屬于應(yīng)用軟件范疇。 由于計(jì)算機(jī)應(yīng)用的日益普及,應(yīng)用軟件的種類及數(shù)量還將會(huì)不斷增加。應(yīng)用軟件的開發(fā)是使計(jì)算機(jī)充分發(fā)揮作用的十分重要的工作,它是吸引軟件技術(shù)人員最多的技術(shù)領(lǐng)域。 計(jì)算機(jī)硬件、軟件及計(jì)算機(jī)系統(tǒng)組成情況如圖1-4所示。圖1-4 計(jì)算機(jī)系統(tǒng)組成1.2.4A 應(yīng)用系統(tǒng)軟件的開發(fā) 軟件產(chǎn)品從定義、開發(fā)、使用和維護(hù),直到最終被廢棄所經(jīng)歷的周期,稱為軟件生存周期。在生存周期的各個(gè)階段有其具體的任務(wù)。為完成各個(gè)階段的任務(wù),又有各自不同的技術(shù)方法和操作步驟。只有科學(xué)地按生存周期各個(gè)階段的任務(wù)、技術(shù)方法和操作步驟去實(shí)施,才能保證軟件產(chǎn)品的質(zhì)量。而急于求成,不按科學(xué)方法實(shí)施,不愿學(xué)習(xí)和采用新的開發(fā)技術(shù)和

28、開發(fā)工具,則勢必事倍功半,甚至斷送它。 初學(xué)者在軟件開發(fā)中,往往存在一些問題,例如,在還沒有準(zhǔn)確、完整地了解用戶的實(shí)際需求后就急于編程。重編程,輕需求分析;重開發(fā),輕維護(hù);重程序,輕文檔。這樣做的后果就是在軟件系統(tǒng)中埋藏了許多故障隱患,直接危害著系統(tǒng)的可靠性和穩(wěn)定性。而在軟件開發(fā)過程中,問題發(fā)現(xiàn)得越早,解決它所花費(fèi)的代價(jià)就越??;而問題發(fā)現(xiàn)得越晚,解決它所花費(fèi)的代價(jià)就越高。對(duì)于這部分內(nèi)容,我們在軟件工程一章中還要做詳細(xì)討論。 在進(jìn)行軟件設(shè)計(jì)時(shí)應(yīng)當(dāng)注意以下幾點(diǎn): (1)注重分析解決問題。軟件開發(fā)過程實(shí)際上就是用程序語言來描述解決問題的方法和步驟。所以軟件開發(fā)的基本過程是分析用戶的需求,找出需要解決

29、的問題,發(fā)現(xiàn)解決問題的方法。 (2)掌握應(yīng)用系統(tǒng)設(shè)計(jì)方法。分析和綜合是處理復(fù)雜系統(tǒng)的基本方法,面對(duì)一個(gè)大的系統(tǒng),應(yīng)該學(xué)會(huì)使用分解與綜合的應(yīng)用系統(tǒng)設(shè)計(jì)方法,把復(fù)雜問題分解為若干子問題,分散難點(diǎn),各個(gè)擊破,再把設(shè)計(jì)出的各個(gè)子模塊綜合為一大系統(tǒng)。 (3)廣泛了解當(dāng)前的最新計(jì)算機(jī)應(yīng)用技術(shù)。由于計(jì)算機(jī)技術(shù)發(fā)展飛速,每年都有新的技術(shù)或者已有技術(shù)的升級(jí)版本出現(xiàn),選準(zhǔn)適合的新技術(shù)來實(shí)現(xiàn)設(shè)計(jì)目標(biāo),具有事半功倍的效果。實(shí)現(xiàn)一個(gè)系統(tǒng),往往會(huì)使用幾種程序設(shè)計(jì)語言或者工具軟件。 (4)學(xué)會(huì)建立抽象模型。軟件設(shè)計(jì)需要根據(jù)物理模型抽象出其邏輯模型,通過建立的模型描述抽象事物間的關(guān)系。例如,建立系統(tǒng)需要分析模型、解題需要算法

30、模型,在算法中采用符號(hào)語言代替計(jì)算機(jī)動(dòng)作;在程序文檔中采用規(guī)格說明抽象軟件行為。 (5)力求系統(tǒng)結(jié)構(gòu)清晰?,F(xiàn)在的軟件越來越復(fù)雜,需要重視程序結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、結(jié)構(gòu)化數(shù)據(jù)、程序的體系結(jié)構(gòu)等軟件設(shè)計(jì)的關(guān)鍵技術(shù),在編寫程序代碼前,要對(duì)系統(tǒng)結(jié)構(gòu)有一個(gè)清晰明了概念,設(shè)計(jì)出一個(gè)好的結(jié)構(gòu)可以使解決問題的步驟變得清晰、簡潔、高效。 (6)注意形式化、一致性和規(guī)范化。程序語言、數(shù)學(xué)公式都是形式系統(tǒng),只有按照約定的形式符號(hào)才能讓計(jì)算機(jī)理解編程意圖。隨著軟件系統(tǒng)的越來越復(fù)雜,開發(fā)人員越來越多,需要符號(hào)定義、表示風(fēng)格、文檔格式盡可能規(guī)范和一致。以利于模塊的綜合、開發(fā)和調(diào)試。 (7)重視書寫程序文檔。以便幫助閱讀和發(fā)現(xiàn)程

31、序中的錯(cuò)誤。 1.2.5 軟件開發(fā)環(huán)境 學(xué)習(xí)軟件基礎(chǔ)知識(shí),主要目的是為了進(jìn)行軟件的開發(fā)。搞好軟件開發(fā),除了要掌握先進(jìn)的開發(fā)技術(shù)外,還要求有良好的軟件開發(fā)環(huán)境。 在軟件開發(fā)環(huán)境中,用戶界面占有重要的地位。近十幾年來開發(fā)的應(yīng)用軟件,多數(shù)開發(fā)者都十分注意用戶界面的設(shè)計(jì)。其中“多窗口”、“菜單”與“聯(lián)機(jī)幫助”被稱為用戶界面的三大友好技術(shù)。 隨著計(jì)算機(jī)的普及與性能的提高,人們越來越重視用戶界面的改善。在20世紀(jì)80年代,圖形用戶界面(GUI,Graphical User Interface)取得了重要的進(jìn)展。美國Microsoft公司的Windows,麻省理工學(xué)院DEC公司開發(fā)的X-Windows,精彩

32、紛呈。非鍵盤輸入工具鼠標(biāo)器也隨之得到廣泛的使用。與此同時(shí),包括文字、圖形、聲音、圖像等多媒體用戶界面也應(yīng)運(yùn)而生,受到人們的廣泛的注意。 操作系統(tǒng)是開發(fā)環(huán)境的重要基礎(chǔ)。它不僅通過對(duì)其它系統(tǒng)軟件和一切服務(wù)軟件的支持給開發(fā)環(huán)境提供各種有用的開發(fā)工具,還以數(shù)以百計(jì)的鍵盤命令和系統(tǒng)調(diào)用,向用戶直接提供功能強(qiáng)大的服務(wù)。比較著名的操作系統(tǒng)如UNIX、Windows及LINUX已經(jīng)向我們展示了現(xiàn)代操作系統(tǒng)豐富多采的用戶界面。 在軟件開發(fā)中,無論技術(shù)活動(dòng)還是管理活動(dòng),都離不開環(huán)境的支持。近十幾年來,各技術(shù)先進(jìn)國家大力開展軟件環(huán)境的研究,一批實(shí)用的環(huán)境應(yīng)運(yùn)而生。CASE(Computer Aided Software Engineering)環(huán)境和工具,已經(jīng)成為一切現(xiàn)代化軟件開發(fā)環(huán)境的總稱。 1.2.6 面向?qū)ο蟮能浖_發(fā)方法 面向?qū)ο?OO,Object-Oriented)方法是當(dāng)代計(jì)算機(jī)科學(xué)領(lǐng)域,特別是軟件領(lǐng)域的發(fā)展主流。面向?qū)ο蠓椒ㄆ鹪从?0世紀(jì)70年代,在20世紀(jì)80年代出現(xiàn)了一大批面向?qū)ο蟮木幊陶Z言,標(biāo)志著OO方法在編程領(lǐng)域走向成熟和實(shí)用。但是OO方法的作用和意義決不只局限于編程技術(shù)。OO方法是一種新的程序設(shè)計(jì)范型,是一種具有深刻哲學(xué)內(nèi)涵的認(rèn)識(shí)方法學(xué)和系統(tǒng)構(gòu)造理論。面向?qū)ο蠓椒ǖ闹饕攸c(diǎn)和優(yōu)勢表現(xiàn)在以下幾

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論