第五章計(jì)算機(jī)科學(xué)_第1頁
已閱讀1頁,還剩74頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、,第五章信息管理的技術(shù)基礎(chǔ):計(jì)算機(jī)科學(xué),本章學(xué)習(xí)目的,了解計(jì)算機(jī)科學(xué)的知識(shí)體系初步了解計(jì)算機(jī)的硬件知識(shí)初步了解計(jì)算機(jī)的軟件知識(shí)了解數(shù)據(jù)組織的基本知識(shí),本章內(nèi)容,計(jì)算機(jī)學(xué)科的簡介 機(jī)器體系結(jié)構(gòu) 軟件數(shù)據(jù)組織,5.1 計(jì)算機(jī)學(xué)科的簡介,學(xué)科的發(fā)展學(xué)科的方法論學(xué)科的知識(shí)體系,,學(xué)科的發(fā)展,計(jì)算學(xué)科的劃分計(jì)算機(jī)學(xué)科稱為計(jì)算學(xué)科(Computing Discipline,CD)或計(jì)算科學(xué)(Computing Science,C

2、C),其包括:計(jì)算機(jī)科學(xué)(Computer Science,CS)、計(jì)算機(jī)工程(Computer Engineering,CE)、軟件工程(Software Engineering,SE)和信息系統(tǒng)(Information Systems,IS)四大分支。發(fā)展的代表階段奠基年代、機(jī)器年代、算法年代、獨(dú)立系統(tǒng)年代、分布式年代、應(yīng)用年代、以人為本年代。知識(shí)體系與發(fā)展 支撐專業(yè)基礎(chǔ) :數(shù)學(xué)、電子學(xué)、高級(jí)語言和程序設(shè)計(jì) 主要專業(yè)基礎(chǔ)

3、:數(shù)據(jù)結(jié)構(gòu)與算法、計(jì)算機(jī)原理、基本邏輯、編譯技術(shù)、操作系統(tǒng)、高級(jí)語言與程序設(shè)計(jì)、數(shù)據(jù)庫原理 最新發(fā)展前沿:并行技術(shù)、分布計(jì)算、網(wǎng)絡(luò)技術(shù)、軟件工程,,,學(xué)科的方法論,理論 主要要素為定義和公理、定理、證明、結(jié)果的解釋。抽象(模型化) 源于實(shí)驗(yàn)科學(xué),主要要素為數(shù)據(jù)采集方法和假設(shè)的形式說明、模型的構(gòu)造與預(yù)測、實(shí)驗(yàn)分析、結(jié)果分析。設(shè)計(jì) 源于工程學(xué),用來開發(fā)求解給定問題的系統(tǒng)和設(shè)備。主要要素為需求說明、規(guī)格說明、設(shè)計(jì)和實(shí)現(xiàn)方法、測試和

4、分析。用來開發(fā)求解給定問題的系統(tǒng)。,,學(xué)科的形態(tài)與科學(xué)實(shí)踐的關(guān)系,,,學(xué)科的認(rèn)識(shí)與實(shí)踐的關(guān)系,,,,學(xué)科的知識(shí)體系-1,知識(shí)體系組成-1離散結(jié)構(gòu)(Discrete Structure,DS)由函數(shù)、關(guān)系和集合、基本邏輯、證明技巧、計(jì)數(shù)基礎(chǔ)、圖與樹構(gòu)成。程序設(shè)計(jì)基礎(chǔ)(Programming Foundation,PF)由程序設(shè)計(jì)基本結(jié)構(gòu)、算法與問題求解、基本數(shù)據(jù)結(jié)構(gòu)、遞歸、事件驅(qū)動(dòng)程序設(shè)計(jì)組成。,,學(xué)科的知識(shí)體系-2,知識(shí)體系組成

5、-2算法與復(fù)雜性(Algorithm and complexity,AL)有算法分析基礎(chǔ)、算法策略、基本算法、分布式算法、可計(jì)算性理論基礎(chǔ)、復(fù)雜性類(P類和NP類)、自動(dòng)機(jī)理論、高級(jí)算法分析、加密算法、幾何算法、并行算法。計(jì)算機(jī)組織與體系結(jié)構(gòu)(computer framework and system ARchitecture,AR)包括數(shù)字邏輯與數(shù)字系統(tǒng)、數(shù)據(jù)的機(jī)器級(jí)表示、匯編級(jí)機(jī)器組織、存儲(chǔ)系統(tǒng)組織和結(jié)構(gòu)、接口和通信、功能組

6、織、多處理和其它系統(tǒng)結(jié)構(gòu)、性能提高技術(shù)、網(wǎng)絡(luò)與分布式系統(tǒng)結(jié)構(gòu)。,,學(xué)科的知識(shí)體系-3,知識(shí)體系組成-3操作系統(tǒng)(Operating System,OS)操作系統(tǒng)概述、操作系統(tǒng)原理、并發(fā)性、調(diào)度與分派、內(nèi)存管理、設(shè)備管理、安全與保護(hù)、文件系統(tǒng)、實(shí)時(shí)和嵌入式系統(tǒng)、容錯(cuò)、系統(tǒng)性能評(píng)價(jià)、腳本。網(wǎng)絡(luò)及其計(jì)算(Network and its Computing,NC)網(wǎng)絡(luò)及其計(jì)算介紹、通信與網(wǎng)絡(luò)、網(wǎng)絡(luò)安全、客戶-服務(wù)器計(jì)算舉例、構(gòu)建Web應(yīng)

7、用、網(wǎng)絡(luò)管理、壓縮與解壓縮、多媒體數(shù)據(jù)技術(shù)、無線和移動(dòng)計(jì)算。,,學(xué)科的知識(shí)體系-4,知識(shí)體系組成-4程序設(shè)計(jì)語言(Programming Language,PL)程序設(shè)計(jì)語言概論、虛擬機(jī)、語言翻譯簡介、聲明和類型、抽象機(jī)制、面向?qū)ο蟪绦蛟O(shè)計(jì)、函數(shù)程序設(shè)計(jì)、語言翻譯系統(tǒng)、類型系統(tǒng)、程序設(shè)計(jì)語言的語義、程序設(shè)計(jì)語言的設(shè)計(jì)。人機(jī)交互(Human-Computer Interaction,HCI)人機(jī)交互基礎(chǔ)、簡單圖形用戶界面的創(chuàng)建、以

8、人為本的軟件評(píng)估、以人為本的軟件開發(fā)、圖形用戶界面的設(shè)計(jì)、圖形用戶界面的編程、多媒體系統(tǒng)的人機(jī)交互、協(xié)作和通信的人機(jī)交互。,,學(xué)科的知識(shí)體系-5,知識(shí)體系組成-5圖形學(xué)和可視化計(jì)算(Graphic and Visual computing,GV)圖形學(xué)的基本技術(shù)、圖形系統(tǒng)、圖形通信、幾何建模、基本圖形繪制方法、高級(jí)圖形繪制方法、先進(jìn)技術(shù)、計(jì)算機(jī)動(dòng)畫、可視化、虛擬現(xiàn)實(shí)、計(jì)算機(jī)視覺。智能系統(tǒng)(Intelligent System,IS

9、)智能系統(tǒng)基本問題、搜索和約束滿足、知識(shí)表示和知識(shí)推理、高級(jí)搜索、高級(jí)知識(shí)表示和知識(shí)推理、主體、自然語言處理技術(shù)、機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)、人工智能規(guī)劃系統(tǒng)、機(jī)器人。信息系統(tǒng)(Information System,IS)信息模型和信息系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)模型化、關(guān)系數(shù)據(jù)庫、數(shù)據(jù)庫查詢語言、關(guān)系數(shù)據(jù)庫設(shè)計(jì)、事務(wù)處理、分布式數(shù)據(jù)庫、物理數(shù)據(jù)庫設(shè)計(jì)、數(shù)據(jù)挖掘、信息存儲(chǔ)和信息檢索、超文本和超媒體、多媒體信息和系統(tǒng)、數(shù)字圖書館。,,學(xué)科的知識(shí)體

10、系-6,知識(shí)體系組成-6軟件工程(Software Engineering,SE)軟件設(shè)計(jì)、使用API、軟件工具和環(huán)境、軟件過程、軟件需求和規(guī)約(也稱規(guī)格說明書)、軟件確認(rèn)、軟件演化、軟件項(xiàng)目管理、基于構(gòu)件的計(jì)算、形式化方法、軟件可靠性、特定系統(tǒng)開發(fā)。數(shù)值計(jì)算科學(xué)(Computing of Numerical value,CN)數(shù)值分析、運(yùn)籌學(xué)、建模與模擬、高性能計(jì)算。社會(huì)與職業(yè)問題(Societal and professi

11、onal Problems,SP)包括:信息技術(shù)史、信息技術(shù)的社會(huì)環(huán)境、分析方法和分析工具、職業(yè)責(zé)任和道德責(zé)任、基于計(jì)算機(jī)的系統(tǒng)的風(fēng)險(xiǎn)和責(zé)任。,,,5.2 機(jī)器體系結(jié)構(gòu),數(shù)據(jù)儲(chǔ)存數(shù)據(jù)處理,,比特與觸發(fā)器,比特(bit)的概念一個(gè)比特(bit),也稱二進(jìn)制數(shù)(binary digit)是兩個(gè)數(shù)字符號(hào)0和1中的任意一個(gè),在這里0和1沒有任何數(shù)字上的意義,而僅僅是兩個(gè)符號(hào)。門電路的概念 門電路是具有實(shí)現(xiàn)邏輯運(yùn)算的器件,其在給定兩個(gè)(

12、或一個(gè))輸入值時(shí),產(chǎn)生一個(gè)邏輯運(yùn)算的輸出。有四種門電路來實(shí)現(xiàn)四種邏輯運(yùn)算或邏輯操作,它們是“與”門、“或”門、“異或”門和“非”門。觸發(fā)器的概念觸發(fā)器是一種特殊的電路,其產(chǎn)生0或1的輸出值,并保持其輸出值不變,一直到另外的電路來的信號(hào)使它從當(dāng)前的輸出值改變到另一個(gè)輸出值。 (例圖),主存儲(chǔ)器中數(shù)據(jù)的存儲(chǔ),主儲(chǔ)存器計(jì)算機(jī)主機(jī)(主板)上的存儲(chǔ)設(shè)備被稱為計(jì)算機(jī)的主儲(chǔ)存器 比特(bit)的存儲(chǔ)在計(jì)算機(jī)內(nèi)往往利用觸發(fā)器的狀態(tài)來表示或

13、儲(chǔ)存一個(gè)比特。 字節(jié)(byte)的概念 計(jì)算機(jī)的主存儲(chǔ)器被分成成一個(gè)個(gè)可以管理的存儲(chǔ)單元,其容量用字節(jié)來代表。1字節(jié)(byte)=8比特(bit)。存儲(chǔ)單元的組織 存儲(chǔ)單元是按照地址來組織(例圖);存儲(chǔ)單元內(nèi)是按位來組織(例圖)。,海量數(shù)據(jù)儲(chǔ)存設(shè)備-1,海量存儲(chǔ)設(shè)備計(jì)算機(jī)的磁盤、磁帶和CD(光盤)被稱為海量儲(chǔ)存系統(tǒng)的儲(chǔ)存設(shè)備,海量儲(chǔ)存系統(tǒng)相對(duì)于主儲(chǔ)存器的優(yōu)點(diǎn)是非易失性、大的儲(chǔ)存容量和可以移動(dòng)。 硬盤(例圖)工作原理:是

14、通過電磁轉(zhuǎn)換原理來存儲(chǔ)比特(數(shù)據(jù))盤片結(jié)構(gòu):是一個(gè)薄的旋轉(zhuǎn)盤片,上面覆蓋一層磁性材料來存儲(chǔ)數(shù)據(jù)。軟盤僅有一張盤片,而硬盤有多張盤片。工作過程:是讀/寫磁頭被放在盤片的上面和/或下面,因此隨著盤片的旋轉(zhuǎn),每個(gè)磁頭在盤片的上或下表面上的圓圈,也叫磁道(track)上來回移動(dòng)。通過讀/寫磁頭的位置,不同的同心磁道被訪問。衡量磁盤系統(tǒng)性能的參數(shù)有:尋道時(shí)間(seek time)、旋轉(zhuǎn)延遲(rotation delay or latency

15、 time)、存取時(shí)間(access time)、傳輸速率(transfer rate)。,海量數(shù)據(jù)儲(chǔ)存設(shè)備-2,光盤(例圖)工作原理:是通過光電轉(zhuǎn)換原理來存儲(chǔ)比特(數(shù)據(jù))盤片結(jié)構(gòu):光盤是一個(gè)直徑為12厘米的盤片,由反射材料和上面的塑料保護(hù)層組成。工作過程:通過在盤的反射層產(chǎn)生變化來存儲(chǔ)信息,這種信息能利用激光束監(jiān)視光盤旋轉(zhuǎn)時(shí)反射表面上的不規(guī)則來進(jìn)行讀取。磁帶(例圖)工作原理:信息被存儲(chǔ)在一條覆蓋有磁性材料的薄塑料上工作過程

16、:磁帶在寫數(shù)據(jù)時(shí)是將數(shù)據(jù)轉(zhuǎn)變成數(shù)字信號(hào)(脈沖電流),通過讀/寫磁頭使磁帶的磁性發(fā)生變化,在讀取數(shù)據(jù)時(shí),通過讀/寫磁頭感應(yīng)磁帶上的磁場變化,并將其轉(zhuǎn)換成數(shù)字信號(hào),從而獲得數(shù)據(jù)。,信息的存儲(chǔ)與表示,文本信息的表示文本信息通常用編碼的形式表示,文本的不同的字符(字母表、標(biāo)點(diǎn)符號(hào)或漢字字符)被賦予唯一的比特(bit)模式。數(shù)值信息的表示用不同的數(shù)制編碼系統(tǒng)表示,如二進(jìn)制系統(tǒng)是用數(shù)字0和1,進(jìn)位規(guī)則是“逢二進(jìn)一”,而不是傳統(tǒng)的十進(jìn)制來表示數(shù)

17、值。圖象信息的表示位圖(bit map)技術(shù) 在位圖技術(shù)中,一幅圖像被看作是點(diǎn)的集合,而將每一個(gè)點(diǎn)叫做像素(pixel);用1或是0,用來表示相應(yīng)的像素是黑還是白,或者用1和0的組合來表示像素的不同顏色。矢量技術(shù) 一幅圖像被表示成直線和曲線的集合;用1和0的組合來表示圖形的位置,幾何圖形的參數(shù)。,二進(jìn)制系統(tǒng),二進(jìn)制加法兩個(gè)二進(jìn)制數(shù)加法同十進(jìn)制加法類似,所不同的是逢二進(jìn)一,而不是逢十進(jìn)一。二進(jìn)制的小數(shù)表示形式同十進(jìn)制一

18、樣,我們小數(shù)點(diǎn)來將二進(jìn)制數(shù)的小數(shù)和整數(shù)分開,在小數(shù)點(diǎn)左邊的是整數(shù),在小數(shù)點(diǎn)右邊的是小數(shù)。整數(shù)的存儲(chǔ) 用比特模式來表示數(shù)值的方法,即數(shù)值表示系統(tǒng)不是唯一的,除了二進(jìn)制系統(tǒng),到目前有許多其它的數(shù)值表示系統(tǒng),其中許多被用于數(shù)字電路的設(shè)計(jì)中。,數(shù)據(jù)壓縮,數(shù)據(jù)壓縮的定義為了數(shù)據(jù)儲(chǔ)存和傳輸?shù)哪康?,減小數(shù)據(jù)的尺寸往往是非常有用的,用于實(shí)現(xiàn)減小數(shù)據(jù)量的技術(shù)被稱為數(shù)據(jù)壓縮(data compression)。數(shù)據(jù)壓縮技術(shù)實(shí)際上是研究數(shù)據(jù)壓縮的算法。

19、 圖形壓縮的格式GIF:CompuServe公司發(fā)明的圖形交換格式(Graphic Interchange Format),其通過將一個(gè)像素所賦予的顏色減少到256來實(shí)現(xiàn)圖像壓縮。 JPEG:由ISO的聯(lián)合圖形專家組(Joint Photographic Experts Group)制訂的,是一種彩色圖像的壓縮系統(tǒng)。MPEG:ISO的運(yùn)動(dòng)圖像專家組(Motion Picture Experts Group)制訂的,用于對(duì)視頻的

20、編碼(壓縮)。,,一種觸發(fā)器的組成,,,存儲(chǔ)單元的組織,,,字節(jié)的組織,,,磁盤儲(chǔ)存系統(tǒng),,磁盤工作過程示意,,,光盤劃分的示意,,,光盤工作過程示意,,磁帶工作過程示意,,現(xiàn)代磁帶系統(tǒng),,,,文字表示-ASCII,,,,二進(jìn)制加法,,,,中央處理單元(CPU),CPU計(jì)算機(jī)內(nèi)執(zhí)行對(duì)數(shù)據(jù)的運(yùn)算(如加法和減法)的電路不是直接連接到機(jī)器的主儲(chǔ)存器的內(nèi)存單元而是一個(gè)獨(dú)立的計(jì)算機(jī)組成部件,稱為中央處理單元(Central Processing

21、 Unit,CPU) 。CPU的組成一部分是算術(shù)/邏輯單元(Arithmetic/Logic Unit,ALU),其由執(zhí)行數(shù)據(jù)處理的電路組成;另一部分是控制單元,其協(xié)調(diào)機(jī)器的活動(dòng)。CPU的工作要素寄存器:為了臨時(shí)存儲(chǔ)信息,CPU包含類似于主儲(chǔ)存器的儲(chǔ)存單元,稱為寄存器??偩€(bus):為了在計(jì)算機(jī)的CPU和主內(nèi)存之間傳遞比特模式,這些單元被一個(gè)稱為總線(bus)的線集合所連接。機(jī)器指令:CPU必須執(zhí)行指令才能工作,CUP能夠

22、直接識(shí)別并執(zhí)行的指令稱為機(jī)器指令。,程序儲(chǔ)存與執(zhí)行-1,儲(chǔ)存程序的概念 程序可以象數(shù)據(jù)一樣,被編碼和存儲(chǔ)在主內(nèi)存中;控制單元設(shè)計(jì)成從內(nèi)存中提取程序,解碼指令,然后執(zhí)行它們;計(jì)算機(jī)的程序能改變僅僅通過改變計(jì)算機(jī)內(nèi)存的內(nèi)容,這使得通用計(jì)算機(jī)成為可能。 機(jī)器語言(Machine-language) 計(jì)算機(jī)被設(shè)計(jì)來識(shí)別確定的比特模式作為確定的指令,這種同編碼系統(tǒng)一起的指令的集合被稱為機(jī)器語言。機(jī)器指令的編碼通常由兩部分組成:操作碼和

23、操作數(shù)(例圖)。在操作碼中的比特模式表示指令要求的基本操作,在操作數(shù)中的比特模式提供操作碼規(guī)定的操作的更詳細(xì)的細(xì)節(jié)。,程序儲(chǔ)存與執(zhí)行-2,程序執(zhí)行 計(jì)算機(jī)執(zhí)行存儲(chǔ)的程序是通過需要時(shí)將指令從內(nèi)存拷貝到控制單元來實(shí)現(xiàn)的,一旦在控制單元,指令被解碼并執(zhí)行。指令從內(nèi)存中取出的順序是同指令存放在內(nèi)存中的順序是一致的,除非由一個(gè)JUMP指令重新指定??刂茊卧ㄟ^連續(xù)執(zhí)行一個(gè)稱為機(jī)器周期(machine cycle)的算法來完成它的任務(wù)。機(jī)器

24、周期由三個(gè)步驟組成:(例圖),程序儲(chǔ)存與執(zhí)行-2,同其它設(shè)備通訊主內(nèi)存和CUP構(gòu)成了計(jì)算機(jī)的核心,但它們要同外部設(shè)備一起工作才能完成計(jì)算機(jī)的功能。 通過控制器通訊計(jì)算機(jī)同其它設(shè)備之間的通訊是通過一個(gè)中間設(shè)備實(shí)現(xiàn)的,這個(gè)中間設(shè)備被稱為控制器。每種控制器處理一種特殊類型的設(shè)備的通訊,如監(jiān)視器、硬盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器等(例圖)。 通訊形式 并行通訊:若干比特被同時(shí)傳輸,每一個(gè)比特通過并排的分別的線路,這種技術(shù)能迅速地傳送數(shù)據(jù),但需

25、要相對(duì)復(fù)雜的通訊通道。串行通訊:是一次傳送一個(gè)比特。這種技術(shù)傳輸速率慢,但要求簡單的傳輸通道,因?yàn)樗械谋忍囟纪ㄟ^同一根線傳輸。,,機(jī)器指令組成,,,機(jī)器周期,,外設(shè)控制器,,,5.3 軟件,操作系統(tǒng)算法編程語言軟件工程,,操作系統(tǒng)-1,操作系統(tǒng)的定義 操作系統(tǒng)(Operating System,OS)是一組控制和管理計(jì)算機(jī)軟件和硬件資源,為用戶提供便捷使用計(jì)算機(jī)的程序的集合。 操作系統(tǒng)的發(fā)展批處理(batch proce

26、ssing)系統(tǒng):批處理指通過將任務(wù)收集起來形成批量,然后執(zhí)行它們,而不需要用戶的進(jìn)一步交互(例圖) 交互處理(interactive processing):交互處理系統(tǒng)允許程序在執(zhí)行時(shí),用戶通過遠(yuǎn)程終端或工作站,利用對(duì)話程序同計(jì)算機(jī)交換信息(例圖)。軟件的分類 軟件按其功能可以劃分為應(yīng)用軟件和系統(tǒng)軟件。依次系統(tǒng)軟件又可以分成工具軟件和操作系統(tǒng);操作系統(tǒng)又可分為內(nèi)核與外殼(例圖)。,操作系統(tǒng)-2,操作系統(tǒng)的內(nèi)核設(shè)備管理器:其

27、功能是根據(jù)確定的設(shè)備分配原則對(duì)設(shè)備進(jìn)行分配,使設(shè)備與主機(jī)能夠并行地工作,為用戶提供良好的設(shè)備使用界面。存儲(chǔ)器管理器:由于多道程序共享內(nèi)存資源,所以其主要任務(wù)是對(duì)存儲(chǔ)器進(jìn)行分配、保護(hù)和擴(kuò)充。進(jìn)程管理器:其主要任務(wù)是對(duì)CPU的時(shí)間進(jìn)行合理地分配,對(duì)CPU的運(yùn)行實(shí)施有效地管理。文件管理器:有效地管理文件的存儲(chǔ)空間,合理地組織和管理文件系統(tǒng),為文件訪問和文件保護(hù)提供更有效的方法及手段。操作系統(tǒng)的外殼操作系統(tǒng)的外殼是指操作系統(tǒng)同用戶之間

28、的界面。外殼的作用是提供用戶與機(jī)器之間的通訊(例圖)。窗口管理器是外殼的主要部件。,,批處理系統(tǒng),,,交互處理系統(tǒng),,,軟件分類,,,操作系統(tǒng)外殼的作用,,,算法的概念-1,算法的定義 算法是一組有序的、無二義性的、可執(zhí)行的步驟,定義了一個(gè)可以結(jié)束的過程。 算法的特征有序(ordered):算法的有序性表現(xiàn)在算法中的步驟必須有一個(gè)利用次序來精心確定的結(jié)構(gòu),算法的步驟根據(jù)這個(gè)次序執(zhí)行??蓤?zhí)行的(executable):算法中的步驟

29、必須是可執(zhí)行的。無二義性(unambiguous):無二義性指在一個(gè)算法的執(zhí)行過程中,在過程中的狀態(tài)信息必須足以唯一地、完整地確定每一步驟所執(zhí)行的活動(dòng)。可終止性(terminating):可終止性意味著算法必須定義一個(gè)可終止的過程,隨著算法的執(zhí)行,過程必須導(dǎo)向一個(gè)終點(diǎn)。,算法的概念-2,算法的表示 算法和算法的表示是有區(qū)別的,這如同故事和記載故事的書之間的區(qū)別。一個(gè)算法能用多種方式來表示。原語和偽碼可以建立一個(gè)算法的表示系統(tǒng)。

30、 算法的發(fā)現(xiàn)程序的開發(fā)有兩個(gè)活動(dòng)組成,首先發(fā)現(xiàn)內(nèi)在的算法,然后再將算法表示成程序。實(shí)際上,算法的發(fā)現(xiàn)是軟件開發(fā)過程中更具有挑戰(zhàn)性的工作。發(fā)現(xiàn)算法是找到解決問題的方法,而該問題的解答是算法所要計(jì)算的。,,編程語言-1,編程語言的作用 編程語言允許我們以既方便人類的理解,又便于轉(zhuǎn)換成機(jī)器語言指令的形式來表示算法。編程語言在程序開發(fā)過程中將人們從處理寄存器、內(nèi)存地址和機(jī)器周期等錯(cuò)綜復(fù)雜的細(xì)節(jié)中解脫出來,從而能將注意力集中在要解決的問

31、題的本質(zhì)上。 編程語言的分類從時(shí)間上劃分 第一代:機(jī)器語言第二代:匯編語言第三代:結(jié)構(gòu)化語言第四代:…從思維邏輯劃分(例圖),編程語言-2,傳統(tǒng)編程概念在傳統(tǒng)編程語言中,語句是程序的基本組成。一般,語句劃分為三大類:聲明語句、命令語句和注釋語句。聲明語句聲明語句是定義用戶化的術(shù)語,這些術(shù)語將要在程序中使用,如引用數(shù)據(jù)項(xiàng)的名稱。命令語句命令語句描述算法中的步驟。其包括賦值語句、控制語句和過程調(diào)用語句??刂普Z句一般包

32、括:分支語句,如if-then-else語句,switch-case語句;循環(huán)語句,如for語句、while語句等。注釋語句注釋語句通過用人們熟悉的形式來解釋程序深?yuàn)W的特性來增強(qiáng)程序的可讀性。,編程語言-3,語言執(zhí)行語言執(zhí)行是將用高級(jí)語言所寫的程序轉(zhuǎn)換成機(jī)器可以執(zhí)行的形式。翻譯過程將程序從一種語言轉(zhuǎn)換成另一種語言的過程被稱為翻譯(translation)。程序在其原始的形式就源程序(source program);轉(zhuǎn)換后的版本

33、叫目標(biāo)程序(object program)。翻譯過程由三個(gè)活動(dòng)組成:詞法分析、語法分析和代碼生成,分別由翻譯器中稱為詞法分析程序、語法分析程序和代碼生成器來完成(例圖)。,,程序分類,,,翻譯過程,,,軟件工程-1,軟件工程概念 軟件工程涉及軟件生產(chǎn)的各個(gè)方面,從早期的系統(tǒng)定義到軟件投入使用后的系統(tǒng)維護(hù),之所以稱之為軟件工程,是因?yàn)槲覀儗④浖拈_發(fā)看作一個(gè)工程過程。 工程領(lǐng)域是一個(gè)已經(jīng)非常成熟的領(lǐng)域,軟件工程初衷就是要借鑒工程領(lǐng)域

34、的成熟管理技術(shù)來管理復(fù)雜的大型軟件系統(tǒng)的開發(fā)過程。軟件工程與傳統(tǒng)工程的區(qū)別構(gòu)件的重用性系統(tǒng)的容錯(cuò)性質(zhì)量的可度量性,軟件工程-2,軟件工程的基本思想用科學(xué)的知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件;用工程科學(xué)的觀點(diǎn)進(jìn)行費(fèi)用估算、制定進(jìn)度、制定計(jì)劃和方案;用管理科學(xué)的方法和原理進(jìn)行生產(chǎn)的管理;用數(shù)學(xué)的方法建立軟件開發(fā)過程中的各種模型和算法。軟件工程的目標(biāo)付出較低開發(fā)成本,達(dá)到要求的功能,取得較好的性能;按時(shí)完成開發(fā)任務(wù),及時(shí)交付使

35、用;軟件易于移植,可靠性高,維修費(fèi)用低。,軟件工程-3,軟件工程的研究內(nèi)容研究內(nèi)容包括開發(fā)技術(shù)和管理技術(shù)兩個(gè)方面。開發(fā)技術(shù)主要研究軟件開發(fā)方法、開發(fā)過程、開發(fā)工具和開發(fā)環(huán)境。開發(fā)管理主要研究軟件管理、軟件經(jīng)濟(jì)和軟件心理。軟件工程所解決的問題包括軟件的費(fèi)用、可靠性、可維護(hù)性、軟件生產(chǎn)效率和軟件的重用問題。軟件工程的實(shí)施內(nèi)容軟件工程規(guī)定了獲取、供應(yīng)、開發(fā)、操作和維護(hù)軟件時(shí),要實(shí)施的過程、活動(dòng)和任務(wù)。,軟件工程-4,軟件生命周期軟

36、件生命周期(例圖)表示了這樣一個(gè)事實(shí),即一旦軟件被開發(fā),它就進(jìn)入使用和修改的循環(huán),在軟件生命的剩余部分一直繼續(xù)。 軟件開發(fā)工作內(nèi)容(例圖)分析:軟件生命周期的開發(fā)階段是從分析開始。分析的主要目的是確定計(jì)劃的系統(tǒng)的用戶的需求。設(shè)計(jì):分析關(guān)注的是系統(tǒng)應(yīng)該做什么,設(shè)計(jì)關(guān)注的是系統(tǒng)將如何完成這些目標(biāo)。在設(shè)計(jì)中,軟件系統(tǒng)的結(jié)構(gòu)被確定。實(shí)施:實(shí)施包括實(shí)際地編寫程序,建立數(shù)據(jù)文件和開發(fā)數(shù)據(jù)庫。測試:測試是同實(shí)施緊密相連的,其目的是盡量減少軟件

37、中存在的錯(cuò)誤,使軟件能正常、高效地工作。,,軟件生命周期,,,軟件開發(fā)階段的工作內(nèi)容,,,,5.4 數(shù)據(jù)組織,數(shù)據(jù)結(jié)構(gòu)文件結(jié)構(gòu)數(shù)據(jù)庫結(jié)構(gòu),,數(shù)據(jù)結(jié)構(gòu)-1,數(shù)據(jù)結(jié)構(gòu)的概念數(shù)據(jù)結(jié)構(gòu)研究在計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)組織數(shù)據(jù)結(jié)構(gòu)分為靜態(tài)的數(shù)據(jù)結(jié)構(gòu)和動(dòng)態(tài)的數(shù)據(jù)結(jié)構(gòu),前者的尺寸和形態(tài)是固定的,而后者的尺寸和形態(tài)是不固定的。靜態(tài)數(shù)據(jù)結(jié)構(gòu)-數(shù)組數(shù)組是在內(nèi)存中將數(shù)據(jù)以稱作同類數(shù)組的矩形排列來存儲(chǔ)的,其占據(jù)了內(nèi)存中連續(xù)的、大小不變的內(nèi)存單元。 一維數(shù)

38、組是將數(shù)組中的每個(gè)元素利用它在數(shù)組中的位置來引用比較方便,這個(gè)位置被稱為叫索引。(例圖)兩維以上數(shù)組是被轉(zhuǎn)換成,按一維數(shù)組的形式來存儲(chǔ)的。根據(jù)轉(zhuǎn)換的方式不同,分為以行為主序或以列為主序。(例圖),數(shù)據(jù)結(jié)構(gòu)-2,動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)-表連續(xù)表:將整個(gè)表存儲(chǔ)在一個(gè)連續(xù)地址的單個(gè)內(nèi)存區(qū)域(圖例),連續(xù)表因?yàn)楹唵味奖?,但有若干缺點(diǎn),如插入和刪除都不方便。鏈接表:將數(shù)據(jù)存儲(chǔ)在散布的、用指針聯(lián)起來的若干個(gè)小的內(nèi)存單元區(qū)域(例圖)。動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)-堆

39、棧堆棧是一個(gè)特殊的表,其所有數(shù)據(jù)的插入和刪除都是在結(jié)構(gòu)的尾部。這種限制的結(jié)構(gòu)是最后進(jìn)入的元素總是最先移出的元素,這導(dǎo)致了堆棧被稱為后進(jìn)先出(Last-In,F(xiàn)irst-Out,LIFO)結(jié)構(gòu)。動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)-隊(duì)列隊(duì)列是一種特殊的表,在其中所有的數(shù)據(jù)插入在一端,而所有的數(shù)據(jù)刪除在另一端。隊(duì)列概念的實(shí)質(zhì)是這樣一個(gè)系統(tǒng),對(duì)象被處理按照它們到達(dá)的次序,即先進(jìn)先出(First-In,F(xiàn)irst-Out)。,,一維數(shù)組的存儲(chǔ),,,兩維數(shù)組的存儲(chǔ)

40、(行為主序),,,連續(xù)表數(shù)據(jù)結(jié)構(gòu),,,鏈接表數(shù)據(jù)結(jié)構(gòu),,,文件結(jié)構(gòu)-1,文件的概念信息以大的單元存儲(chǔ)在海量儲(chǔ)存系統(tǒng)被稱為文件(files)。 海量儲(chǔ)存設(shè)備的物理特性決定了這些文件的存儲(chǔ)和提取是以多個(gè)字節(jié)單位進(jìn)行的。 物理記錄(physical record)遵守一個(gè)儲(chǔ)存設(shè)備的物理特性的數(shù)據(jù)塊叫做物理記錄,儲(chǔ)存在海量儲(chǔ)存中的文件典型的是由許多物理記錄組成。邏輯記錄(logical record)自然產(chǎn)生的數(shù)據(jù)塊叫做邏輯記錄邏

41、輯記錄的尺寸通常不匹配海量儲(chǔ)存設(shè)備決定的物理記錄,結(jié)果是若干個(gè)邏輯記錄放置在單個(gè)物理記錄中,或者一個(gè)邏輯記錄被分割到兩個(gè)或多個(gè)物理記錄之間(例圖)。緩沖區(qū)(buffer) 緩沖區(qū)是主內(nèi)存中開辟一個(gè)專門的區(qū)域,其大得足以容納若干個(gè)物理記錄,用來作為物理記錄與邏輯記錄重新編組的地方。,文件結(jié)構(gòu)-2,順序文件(Sequential Files)順序文件是這樣的一種文件,對(duì)其的訪問是從頭到尾,仿佛文件中的信息被排列成一行。順序文件的例

42、子有音頻文件、視頻文件、包含程序的文件、以及包含文本的文件。 文本文件(text files)文本文件,它是一個(gè)順序文件,它的每一個(gè)記錄由單個(gè)的“可打印的”字符組成?!翱纱蛴〉摹北硎疚覀儾粌H包括文字、字母、數(shù)字和標(biāo)點(diǎn)符號(hào),而且包括諸如回車、進(jìn)行等控制代碼。索引文件(indexed file) 由一個(gè)條目表組成,表中的每個(gè)條目包含一個(gè)記錄的確定特性(也許是一個(gè)關(guān)鍵域值)和該記錄的位置。這個(gè)索引文件通常存儲(chǔ)在同文件相同的海量儲(chǔ)存

43、設(shè)備上。為了從文件中讀取一條記錄,索引被首先傳遞到主內(nèi)存,用于搜索適當(dāng)?shù)臈l目。,,物理記錄與邏輯記錄,,,,數(shù)據(jù)庫結(jié)構(gòu)-1,數(shù)據(jù)庫的概念數(shù)據(jù)庫主題是數(shù)據(jù)結(jié)構(gòu)和文件結(jié)構(gòu)的綜合?,F(xiàn)代數(shù)據(jù)庫應(yīng)用兩個(gè)方面的技術(shù)來獲得一個(gè)單獨(dú)的、海量的數(shù)據(jù)系統(tǒng),其能表現(xiàn)出服務(wù)許多應(yīng)用的多種數(shù)據(jù)組織。 數(shù)據(jù)庫結(jié)構(gòu)與文件結(jié)構(gòu)的比較文件結(jié)構(gòu)是一維儲(chǔ)存系統(tǒng),在系統(tǒng)中,信息是從一個(gè)單獨(dú)的視角來表示的。 數(shù)據(jù)庫術(shù)語描述多維數(shù)據(jù)的集合,在這個(gè)集合中,數(shù)據(jù)之間存在著聯(lián)系

44、,因此信息能從不同的視角來訪問。 數(shù)據(jù)庫的優(yōu)點(diǎn)數(shù)據(jù)集成、共享、統(tǒng)一管理(例圖)提高數(shù)據(jù)的一致性、減少數(shù)據(jù)的冗余。數(shù)據(jù)庫的缺點(diǎn) 對(duì)敏感數(shù)據(jù)的訪問控制問題如數(shù)據(jù)的收集權(quán)限問題、數(shù)據(jù)濫用問題等等,數(shù)據(jù)庫結(jié)構(gòu)-2,數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)的分層方法為了隱藏?cái)?shù)據(jù)庫實(shí)現(xiàn)的復(fù)雜性,數(shù)據(jù)庫系統(tǒng)是根據(jù)抽象的層次來構(gòu)建的(例圖)。應(yīng)用軟件對(duì)數(shù)據(jù)庫使用者的數(shù)據(jù)映像是由應(yīng)用軟件產(chǎn)生的,應(yīng)用軟件利用交互的方式和應(yīng)用領(lǐng)域中的術(shù)語同用戶通訊。數(shù)據(jù)庫管理系統(tǒng)

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論