第1章 計(jì)算機(jī)、Internet和萬維網(wǎng)_第1頁
第1章 計(jì)算機(jī)、Internet和萬維網(wǎng)_第2頁
第1章 計(jì)算機(jī)、Internet和萬維網(wǎng)_第3頁
第1章 計(jì)算機(jī)、Internet和萬維網(wǎng)_第4頁
第1章 計(jì)算機(jī)、Internet和萬維網(wǎng)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章計(jì)算機(jī)、Internet和萬維網(wǎng)

本章主要內(nèi)容

■計(jì)算機(jī)、Internet、萬維網(wǎng)的發(fā)展

-計(jì)算機(jī)程序設(shè)計(jì)語言的發(fā)展

?面向?qū)ο蟮姆椒?/p>

-面向?qū)ο蟮能浖_發(fā)

-程序的開發(fā)過程

-C++開發(fā)軟件

計(jì)算機(jī)、Internet、萬維網(wǎng)的發(fā)展

-計(jì)算機(jī)的主要組成

(輸入,輸出,內(nèi)存,運(yùn)算器,cpu,

輔助存儲(chǔ))

系統(tǒng)罩元

A資料流?控制ifl虢

計(jì)算機(jī)程序設(shè)計(jì)語言的發(fā)展

■語言的用途是做為人與人溝通的橋梁,例如:

和美國人交談就要用英文溝通。同樣地,人若

要和計(jì)算機(jī)溝通的話,就必須使用計(jì)算機(jī)『懂』

的語言,這種語言稱為程序語言Programming

而一般我們用來與人溝通的語言

Language)o

則稱為自然語言(NaturalLanguage)。

-程序語言依據(jù)與自然語言的相似度又可以分為3種:

機(jī)器語言、低級(jí)語言及高級(jí)語言。其中高級(jí)語言與

人類所使用的自然語言最為相近,而機(jī)器語言則和

人類所使用的語言南轅北轍。

[計(jì)算機(jī)程序設(shè)計(jì)語言的發(fā)展

機(jī)器語言

■由計(jì)算機(jī)硬件系統(tǒng)可以識(shí)別的二進(jìn)制指

令組成的語言稱為機(jī)器語言。例如:

010101000011110…機(jī)器碼(電磁信號(hào))

010100101...機(jī)器直接運(yùn)行……

計(jì)算機(jī)發(fā)展的初期,軟件工程師們只能用機(jī)器

語言來編寫程序。這一階段,在人類的自然語言和

計(jì)算機(jī)編程語言之間存在著巨大的鴻溝。

低級(jí)語言

■低卜皆言吾言(Low-levelLanguage)是——木重

接近梭器言吾言的表示方法,不遇郤使用

人^比較容易言削意的軍字形式來舉寸鷹一

速串的0、」幺且合。最典型的低卜皆言吾言就

是^合言吾言(AssemblyLanguage)。

低級(jí)語言

■匯編語言將機(jī)器指令映射為一些可以被人讀懂的助記符,

如ADD、SUB等。例如:

movdx,ax匯編語言(字符)

addx,y由匯編器轉(zhuǎn)換成機(jī)器碼

X86機(jī)器語言X86組合語言意義

0000001111001000ADDCX,AX執(zhí)行加法

10111001001101000001

MOVCX,1234H招CX的指定為1234H

0010

此時(shí)編程語言與人類自然語言間的鴻溝略有縮小,但仍與

人類的思維相差甚遠(yuǎn)。因?yàn)樗某橄髮哟翁停绦騿T

需要考慮大量的機(jī)器細(xì)節(jié)。

fWj級(jí)語R

-匯編語言雖然比機(jī)器語言更接近于自然

語言,但匯編語言的程序設(shè)計(jì)師必須對(duì)

于執(zhí)行程序的處理器有更多的了解,并

且每個(gè)處理器的匯編語言并不相同,因

此,一種比匯編語言更接近自然語言且

不因更換機(jī)器而改變語法的程序語言也

被發(fā)展出來,此種語言就是高級(jí)語言。

高級(jí)語言

高級(jí)語言屏蔽了機(jī)器的細(xì)節(jié),提高了語言的抽象層

次,程序中可以采用具有一定含義的數(shù)據(jù)命名和容易

理解的執(zhí)行語句。這使得在書寫程序時(shí)可以聯(lián)系到程

序所描述的具體事物。

Fortran語言第一個(gè)計(jì)算機(jī)高級(jí)語言

由編譯器編譯成機(jī)器碼

■■■■

C語言(半)高級(jí)語言,語法簡

潔、運(yùn)行效率

面向?qū)ο蟮恼Z言

Simula第一個(gè)面向?qū)ο蟪绦蛟O(shè)計(jì)

語言

C++有C語言血源的、支持面向

對(duì)象程序設(shè)計(jì)語言

■出發(fā)點(diǎn):

.更直接地描述客觀世界中存在的事物

(對(duì)象)以及它們之間的關(guān)系。

面向?qū)ο蟮恼Z言

■特點(diǎn):

■是高級(jí)語等。

■將客觀.而看作具有屬性和行為的對(duì)象。

■通過抽象找出同一類對(duì)象的共同屬性和行為,

形成類。

■通過類的繼承與多態(tài)實(shí)現(xiàn)代碼重用

>I面向?qū)ο蟮恼Z言

■優(yōu)點(diǎn):

使程序能夠比較直接地反映問題域的

本來面目,軟件開發(fā)人員能夠利用人類認(rèn)

識(shí)事物所采用的一般思維方法來進(jìn)行軟件

開發(fā)。

程序設(shè)計(jì)方法的發(fā)展歷程

計(jì)算機(jī)程序

-計(jì)算機(jī)的工作是用程序來控制的

-程序是指令的集合。

■指令是計(jì)算機(jī)可以識(shí)別的命令。

程鳴需獻(xiàn)蠢鬻嫌

-最早的程序

?目的:用于數(shù)學(xué)計(jì)算

?主要工作:設(shè)計(jì)求解問題的過程

?缺點(diǎn):對(duì)于龐大、復(fù)雜的程序難以開發(fā)和

維護(hù)

學(xué)即嬴僦Mi去

設(shè)計(jì)思路

■自頂向下、逐步求精。采用模塊分解與

功能抽象,自頂向下、分而治之。

■程序結(jié)構(gòu):

■按功能劃分為若干個(gè)基本模塊,形成一

個(gè)樹狀結(jié)構(gòu)。

■各模塊間的關(guān)系盡可能簡單,功能上相

對(duì)獨(dú)立;每一模塊內(nèi)部均是由順序、選

擇和循環(huán)三種基本結(jié)構(gòu)組成。

■其模塊化實(shí)現(xiàn)的具體方法是使用子程序。

如骷需翱播盥睛法

■優(yōu)點(diǎn):

有效地將一個(gè)較復(fù)雜的程序系統(tǒng)設(shè)計(jì)任務(wù)

分解成許多易于控制和處理的子任務(wù),便于開

發(fā)和維護(hù)。

雪常溫皤ill法

■缺點(diǎn):可重用性差、數(shù)據(jù)安全性差、難以

開發(fā)大型軟件和圖形界面的應(yīng)用軟件

-把數(shù)據(jù)和處理數(shù)據(jù)的過程分離為相互獨(dú)立的實(shí)

體。

-當(dāng)數(shù)據(jù)結(jié)構(gòu)改變時(shí),所有相關(guān)的處理過程都要

進(jìn)行相應(yīng)的修改。

-每一種相對(duì)于老問題的新方法都要帶來額外的

開銷。

-圖形用戶界面的應(yīng)用程序,很難用過程來描述

和實(shí)現(xiàn),開發(fā)和維護(hù)也都很困難。

■將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作方法封裝在一起,

作為一個(gè)相互依存、不可分離的整體一

—對(duì)象。

-對(duì)同類型對(duì)象抽象出其共性,形成類。

■類通過一個(gè)簡單的外部接口,與外界發(fā)

生關(guān)系O

■對(duì)象與對(duì)象之間通過消息進(jìn)行通信。

程序■陶烈密劈歷程

■優(yōu)點(diǎn):

?程序模塊間的關(guān)系更為簡單,程序模塊的獨(dú)

立性、數(shù)據(jù)的安全性就有了良好的保障。

.通過繼承與多態(tài)性,可以大大提高程序的可

重用性,使得軟件的開發(fā)和維護(hù)都更為方便。

面向?qū)ο蟮幕靖拍?/p>

---對(duì)象

-一般意義上的對(duì)象:

?是現(xiàn)實(shí)世界中一個(gè)實(shí)際存在的事物。

■可以是有形的(比如一輛汽車),也可以是

無形的(比如一項(xiàng)計(jì)劃)。

?是構(gòu)成世界的一個(gè)獨(dú)立單位,具有

■靜態(tài)特征:可以用某種數(shù)據(jù)來描述

-動(dòng)態(tài)特征:對(duì)象所表現(xiàn)的行為或具有的功能

面向?qū)︸Z1本概念

■面向?qū)ο蠓椒ㄖ械膶?duì)象:

-是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,

它是用來構(gòu)成系統(tǒng)的一個(gè)基本單位。對(duì)象

由一組屬性和一組行為構(gòu)成。

■屬性:用來描述對(duì)象靜態(tài)特征的數(shù)據(jù)項(xiàng)。

■行為:用來描述對(duì)象動(dòng)態(tài)特征的操作序列。

面向?qū)ο蟮幕靖拍?/p>

____米

■分類——人類通常的思維方法

-分類所依據(jù)的原則——抽象

■忽略事物的非本質(zhì)特征,只注意那些與

當(dāng)前目標(biāo)有關(guān)的本質(zhì)特征,從而找出事

物的共性,把具有共同性質(zhì)的事物劃分

為一類,得出一個(gè)抽象的概念。

■例如,石頭、樹木、汽車、房屋等都是

人們?cè)陂L期的生產(chǎn)和生活實(shí)踐中抽象出

的概念。

面向?qū)ο蟮幕靖拍?/p>

____米

-面向?qū)ο蠓椒ㄖ械摹邦悺?/p>

■具有相同屬性和服務(wù)的一組對(duì)象的集合

?為屬于該類的全部對(duì)象提供了抽象的描述,

包括屬性和行為兩個(gè)主要部分。

■類與對(duì)象的關(guān)系:

猶如模具與鑄件之間的關(guān)系,一個(gè)屬于某

類的對(duì)象稱為該類的一個(gè)實(shí)例。

面向?qū)ο蟮幕靖拍?/p>

——封裝

-把對(duì)象的屬性和服務(wù)結(jié)合成一個(gè)獨(dú)立的

系統(tǒng)單元。

■盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié)。對(duì)外形成

一個(gè)邊界(或者說一道屏障),只保留

有限的對(duì)外接口使之與外部發(fā)生聯(lián)系。

面向?qū)ο蟮幕靖拍?/p>

----繼承

■繼承對(duì)于軟件復(fù)用有著重要意義,是面

向?qū)ο蠹夹g(shù)能夠提高軟件開發(fā)效率的重

要原因之一。

-定義:特殊類的對(duì)象擁有其一般類的全

部屬性與服務(wù),稱作特殊類對(duì)一般類的

繼承。

■例如:將輪船作為一個(gè)一般類,客輪便

是一個(gè)特殊類。

面向?qū)淼母拍?/p>

■多態(tài)是指在一般類中定義的屬性或行為,

被特殊類繼承之后,可以具有不同的數(shù)

據(jù)類型或表現(xiàn)出不同的行為。這使得同

一個(gè)屬性或行為在一般類及其各個(gè)特殊

類中具有不同的語義。

■例如:

數(shù)的加法->實(shí)數(shù)的加法

->復(fù)數(shù)的加法

面向?qū)ο蟮能浖こ?/p>

-面向?qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒ㄔ?/p>

軟件工程領(lǐng)域的全面應(yīng)用。它包括:

■面向?qū)ο蟮姆治觯?0A)

■面向?qū)ο蟮脑O(shè)計(jì)(00D)

■面向?qū)ο蟮木幊蹋∣OP)

-面向?qū)ο蟮臏y(cè)試(00T)

■面向?qū)ο蟮能浖S護(hù)(OOSM)

系統(tǒng)分析

■系統(tǒng)分析階段應(yīng)該扼要精確地抽象出

系統(tǒng)必須做什么,但是不關(guān)心如何去

實(shí)現(xiàn)。

■面向?qū)ο蟮南到y(tǒng)分析,直接用問題域

中客觀存在的事物建立模型中的對(duì)象,

對(duì)單個(gè)事物及事物之間的關(guān)系,都保

留他們的原貌,不做轉(zhuǎn)換,也不打破

原有界限而重新組合,因此能夠很好

地映射客觀事物。

設(shè)計(jì)

-針對(duì)系統(tǒng)的一個(gè)具體實(shí)現(xiàn)運(yùn)用面向?qū)ο?/p>

的方法。其中包括兩方面的工作:

■把面向?qū)ο蟮姆治瞿P椭苯影岬矫嫦驅(qū)ο蟮?/p>

設(shè)計(jì),作為面向?qū)ο蟮脑O(shè)計(jì)的一部分

?針對(duì)具體實(shí)現(xiàn)中的人機(jī)界面、數(shù)據(jù)存儲(chǔ)、任

務(wù)管理等因素補(bǔ)充一些與實(shí)現(xiàn)有關(guān)的部分。

編程

面向?qū)ο蟮木幊坦ぷ骶褪怯靡环N面向

對(duì)象的編程語言把面向?qū)ο蟮脑O(shè)計(jì)模型中

的每個(gè)成分書寫出來,是面向?qū)ο蟮能浖?/p>

開發(fā)最終落實(shí)的重要階段。

測(cè)試

■測(cè)試的任務(wù)是發(fā)現(xiàn)軟件中的錯(cuò)誤。

-在面向?qū)ο蟮能浖y(cè)試中繼續(xù)運(yùn)用面向

對(duì)象的概念與原則來組織測(cè)試,以對(duì)象

的類作為基本測(cè)試單位,可以更準(zhǔn)確地

發(fā)現(xiàn)程序錯(cuò)誤并提高測(cè)試效率。

維護(hù)

將軟件交付使用后,工作并沒有完結(jié),

還要根據(jù)軟件的運(yùn)行情況和用戶的需求,

不斷改進(jìn)系統(tǒng)。

使用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件,其

程序與問題域是一致的,因此,在維護(hù)階

段運(yùn)用面向?qū)ο蟮姆椒梢源蟠筇岣哕浖?/p>

維護(hù)的效率。

程序的開發(fā)過程

----基本術(shù)語

-源程序:

-用源語言寫的,有待翻譯的程序

■目標(biāo)程序:

?也稱為〃結(jié)果程序〃,是源程序通過翻譯程序

加工以后所生成的程序。

-翻譯程序:

?是指一個(gè)把源程序翻譯成等價(jià)的目標(biāo)程序的

程序。

基本術(shù)語

——三種不同類型的翻譯程序

-匯編程序:

其任務(wù)是把用匯編語言寫成的源程序,翻譯

成機(jī)器語言形式的目標(biāo)程序。

■編譯程序:

若源程序是用高級(jí)程序設(shè)計(jì)語言所寫,經(jīng)翻

譯程序加工生成目標(biāo)程序,那么,該翻譯程

序就稱為〃編譯程序〃。

基本術(shù)語

——三種不同類型的翻譯程序

■解釋程序:

這也是一種翻譯程序,同樣是將高級(jí)語言源

程序翻譯成機(jī)器指令。它與編譯程序不同點(diǎn)

就在于:它是邊翻譯邊執(zhí)行的,即輸入一句、

翻譯一句、執(zhí)行一句,直至將整個(gè)源程序

翻譯并執(zhí)行完畢。

程序的開發(fā)過程

■編輯

■將源程序輸入到計(jì)算機(jī)中,生成后綴

為.cpp、CXX>CC或者C的磁盤文件。

■預(yù)處理和編譯

■將程序的源代碼轉(zhuǎn)換為機(jī)器語言代碼。

■連接

■將一個(gè)或多個(gè)源程序文件以及庫中的某

些文件連在一起,生成一個(gè)后綴為.exe

的可執(zhí)行文件。

■載入、運(yùn)行調(diào)試

源程序

f.cpp

目標(biāo)程序

'fobj7

,庫文小

和其他目

'標(biāo)程序7

C與C++的關(guān)系

■c語言與C++語言有著奧妙的關(guān)系

-有人說,C++是C語言的延伸

-也有人說,C++是一種全新的語言。

.這兩種說法都算正確,因?yà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)論