基礎知識2計算機軟件定義課件_第1頁
基礎知識2計算機軟件定義課件_第2頁
基礎知識2計算機軟件定義課件_第3頁
基礎知識2計算機軟件定義課件_第4頁
基礎知識2計算機軟件定義課件_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論