第1章 計算機、Internet和萬維網_第1頁
第1章 計算機、Internet和萬維網_第2頁
第1章 計算機、Internet和萬維網_第3頁
第1章 計算機、Internet和萬維網_第4頁
第1章 計算機、Internet和萬維網_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章計算機、Internet和萬維網

本章主要內容

■計算機、Internet、萬維網的發(fā)展

-計算機程序設計語言的發(fā)展

?面向對象的方法

-面向對象的軟件開發(fā)

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

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

計算機、Internet、萬維網的發(fā)展

-計算機的主要組成

(輸入,輸出,內存,運算器,cpu,

輔助存儲)

系統(tǒng)罩元

A資料流?控制ifl虢

計算機程序設計語言的發(fā)展

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

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

要和計算機溝通的話,就必須使用計算機『懂』

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

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

Language)o

則稱為自然語言(NaturalLanguage)。

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

機器語言、低級語言及高級語言。其中高級語言與

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

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

[計算機程序設計語言的發(fā)展

機器語言

■由計算機硬件系統(tǒng)可以識別的二進制指

令組成的語言稱為機器語言。例如:

010101000011110…機器碼(電磁信號)

010100101...機器直接運行……

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

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

計算機編程語言之間存在著巨大的鴻溝。

低級語言

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

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

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

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

是^合言吾言(AssemblyLanguage)。

低級語言

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

如ADD、SUB等。例如:

movdx,ax匯編語言(字符)

addx,y由匯編器轉換成機器碼

X86機器語言X86組合語言意義

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

10111001001101000001

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

0010

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

人類的思維相差甚遠。因為它的抽象層次太低,程序員

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

fWj級語R

-匯編語言雖然比機器語言更接近于自然

語言,但匯編語言的程序設計師必須對

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

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

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

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

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

高級語言

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

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

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

序所描述的具體事物。

Fortran語言第一個計算機高級語言

由編譯器編譯成機器碼

■■■■

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

潔、運行效率

面向對象的語言

Simula第一個面向對象程序設計

語言

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

對象程序設計語言

■出發(fā)點:

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

(對象)以及它們之間的關系。

面向對象的語言

■特點:

■是高級語等。

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

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

形成類。

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

>I面向對象的語言

■優(yōu)點:

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

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

識事物所采用的一般思維方法來進行軟件

開發(fā)。

程序設計方法的發(fā)展歷程

計算機程序

-計算機的工作是用程序來控制的

-程序是指令的集合。

■指令是計算機可以識別的命令。

程鳴需獻蠢鬻嫌

-最早的程序

?目的:用于數(shù)學計算

?主要工作:設計求解問題的過程

?缺點:對于龐大、復雜的程序難以開發(fā)和

維護

學即嬴僦Mi去

設計思路

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

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

■程序結構:

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

個樹狀結構。

■各模塊間的關系盡可能簡單,功能上相

對獨立;每一模塊內部均是由順序、選

擇和循環(huán)三種基本結構組成。

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

如骷需翱播盥睛法

■優(yōu)點:

有效地將一個較復雜的程序系統(tǒng)設計任務

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

發(fā)和維護。

雪常溫皤ill法

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

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

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

體。

-當數(shù)據(jù)結構改變時,所有相關的處理過程都要

進行相應的修改。

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

開銷。

-圖形用戶界面的應用程序,很難用過程來描述

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

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

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

—對象。

-對同類型對象抽象出其共性,形成類。

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

生關系O

■對象與對象之間通過消息進行通信。

程序■陶烈密劈歷程

■優(yōu)點:

?程序模塊間的關系更為簡單,程序模塊的獨

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

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

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

面向對象的基本概念

---對象

-一般意義上的對象:

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

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

無形的(比如一項計劃)。

?是構成世界的一個獨立單位,具有

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

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

面向對馴1本概念

■面向對象方法中的對象:

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

它是用來構成系統(tǒng)的一個基本單位。對象

由一組屬性和一組行為構成。

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

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

面向對象的基本概念

____米

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

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

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

當前目標有關的本質特征,從而找出事

物的共性,把具有共同性質的事物劃分

為一類,得出一個抽象的概念。

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

人們在長期的生產和生活實踐中抽象出

的概念。

面向對象的基本概念

____米

-面向對象方法中的“類”

■具有相同屬性和服務的一組對象的集合

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

包括屬性和行為兩個主要部分。

■類與對象的關系:

猶如模具與鑄件之間的關系,一個屬于某

類的對象稱為該類的一個實例。

面向對象的基本概念

——封裝

-把對象的屬性和服務結合成一個獨立的

系統(tǒng)單元。

■盡可能隱蔽對象的內部細節(jié)。對外形成

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

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

面向對象的基本概念

----繼承

■繼承對于軟件復用有著重要意義,是面

向對象技術能夠提高軟件開發(fā)效率的重

要原因之一。

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

部屬性與服務,稱作特殊類對一般類的

繼承。

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

是一個特殊類。

面向對理的概念

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

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

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

一個屬性或行為在一般類及其各個特殊

類中具有不同的語義。

■例如:

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

->復數(shù)的加法

面向對象的軟件工程

-面向對象的軟件工程是面向對象方法在

軟件工程領域的全面應用。它包括:

■面向對象的分析(00A)

■面向對象的設計(00D)

■面向對象的編程(OOP)

-面向對象的測試(00T)

■面向對象的軟件維護(OOSM)

系統(tǒng)分析

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

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

實現(xiàn)。

■面向對象的系統(tǒng)分析,直接用問題域

中客觀存在的事物建立模型中的對象,

對單個事物及事物之間的關系,都保

留他們的原貌,不做轉換,也不打破

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

地映射客觀事物。

設計

-針對系統(tǒng)的一個具體實現(xiàn)運用面向對象

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

■把面向對象的分析模型直接搬到面向對象的

設計,作為面向對象的設計的一部分

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

務管理等因素補充一些與實現(xiàn)有關的部分。

編程

面向對象的編程工作就是用一種面向

對象的編程語言把面向對象的設計模型中

的每個成分書寫出來,是面向對象的軟件

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

測試

■測試的任務是發(fā)現(xiàn)軟件中的錯誤。

-在面向對象的軟件測試中繼續(xù)運用面向

對象的概念與原則來組織測試,以對象

的類作為基本測試單位,可以更準確地

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

維護

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

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

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

使用面向對象的方法開發(fā)的軟件,其

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

段運用面向對象的方法可以大大提高軟件

維護的效率。

程序的開發(fā)過程

----基本術語

-源程序:

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

■目標程序:

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

加工以后所生成的程序。

-翻譯程序:

?是指一個把源程序翻譯成等價的目標程序的

程序。

基本術語

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

-匯編程序:

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

成機器語言形式的目標程序。

■編譯程序:

若源程序是用高級程序設計語言所寫,經翻

譯程序加工生成目標程序,那么,該翻譯程

序就稱為〃編譯程序〃。

基本術語

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

■解釋程序:

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

程序翻譯成機器指令。它與編譯程序不同點

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

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

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

程序的開發(fā)過程

■編輯

■將源程序輸入到計算機中,生成后綴

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

■預處理和編譯

■將程序的源代碼轉換為機器語言代碼。

■連接

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

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

的可執(zhí)行文件。

■載入、運行調試

源程序

f.cpp

目標程序

'fobj7

,庫文小

和其他目

'標程序7

C與C++的關系

■c語言與C++語言有著奧妙的關系

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

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

.這兩種說法都算正確,因為C++是使用基

溫馨提示

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

評論

0/150

提交評論