電子信息工程概論課件第七章_第1頁
電子信息工程概論課件第七章_第2頁
電子信息工程概論課件第七章_第3頁
電子信息工程概論課件第七章_第4頁
電子信息工程概論課件第七章_第5頁
已閱讀5頁,還剩80頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 目目 錄錄1 計算機科學與技術2 計算機科學簡介3 計算機系統的組成結構4 軟件工程5 計算機應用技術6 本章結束語o計算機抽象出計算機抽象出軟件和硬件軟件和硬件兩個獨立部分兩個獨立部分;o 軟件又被抽象成專門與硬件打交道的操軟件又被抽象成專門與硬件打交道的操作系統和建筑在操作系統之上的應用軟件作系統和建筑在操作系統之上的應用軟件;o 數據處理又是許多應用軟件必須的前提,數據處理又是許多應用軟件必須的前提,從而抽象出數據庫系統。從而抽象出數據庫系統。o到了網絡時代,為了更好地適應網絡軟件到了網絡時代,為了更好地適應網絡軟件的開發,應用軟件中又抽象出應用服務器的開發,應用軟件中又抽象出應用服務

2、器提供各種服務。提供各種服務。1 計算機科學與技術計算機科學與技術計算機科學技術除了具有較強的科學性計算機科學技術除了具有較強的科學性外外,還具有較強的工程性,因此,它是一門還具有較強的工程性,因此,它是一門科學性與工程性并重的學科。表現為理論科學性與工程性并重的學科。表現為理論性和實踐性緊密結合的特征。性和實踐性緊密結合的特征。 計算科學的研究領域有:計算機系統計算科學的研究領域有:計算機系統結構,程序設計科學與方法論,軟件工程結構,程序設計科學與方法論,軟件工程基礎理論,人工智能與知識處理,網絡、基礎理論,人工智能與知識處理,網絡、數據庫及各種計算機輔助技術,理論計算數據庫及各種計算機輔助

3、技術,理論計算機科學,計算機科學史等。機科學,計算機科學史等。o從學科體系和知識結構看,現在的計算從學科體系和知識結構看,現在的計算機科學與技術學科可分為應用層、專業機科學與技術學科可分為應用層、專業基礎層和基礎層三個層面的內容基礎層和基礎層三個層面的內容o應用層主要包括計算機應用的各個應用應用層主要包括計算機應用的各個應用方向,如移動計算與全球定位、計算機方向,如移動計算與全球定位、計算機自動控制、模式識別與圖像處理、軟件自動控制、模式識別與圖像處理、軟件測試技術等測試技術等o專業基礎層為應用層提供技術與環境,專業基礎層為應用層提供技術與環境,如軟件開發方法學、軟件工程技術、如軟件開發方法學

4、、軟件工程技術、軟件開發工具與環境、計算機系統基軟件開發工具與環境、計算機系統基礎、計算機接口與通信、計算機網絡礎、計算機接口與通信、計算機網絡與數據通信技術等與數據通信技術等o基礎層主要包括計算的數學理論、邏基礎層主要包括計算的數學理論、邏輯理論,如控制論基礎、信息論基礎、輯理論,如控制論基礎、信息論基礎、算法理論、可計算性理論、數字系統算法理論、可計算性理論、數字系統設計基礎等。設計基礎等。計算機的種類很多,在規模和性能計算機的種類很多,在規模和性能上存在很大的差別,然而各種計算機上存在很大的差別,然而各種計算機的邏輯結構和工作原理基本相同,計的邏輯結構和工作原理基本相同,計算機系統都是由

5、硬件系統和軟件系統算機系統都是由硬件系統和軟件系統兩大部分組成兩大部分組成( (圖圖7-1),7-1),它的層次結構它的層次結構如圖如圖7-27-2所示。所示。用用 戶戶應用程序應用程序操操 作作 系系 統統機機 器器 語語 言言硬硬 件件 系系 統統圖圖7-2計算機的層次結構計算機的層次結構 計算機硬件(計算機硬件(Hardware)是計算機系統使用)是計算機系統使用的電子線路和電子元件等物理設備的總稱。的電子線路和電子元件等物理設備的總稱。 20世紀世紀40年代中期,美國科學家馮年代中期,美國科學家馮諾依曼大諾依曼大膽的提出了采用二進制作為數字計算機的數制基礎膽的提出了采用二進制作為數字計

6、算機的數制基礎的理論。同時,他還提出了計算機組成結構、程序的理論。同時,他還提出了計算機組成結構、程序存儲和計算機應該按照程序順序執行的思想。存儲和計算機應該按照程序順序執行的思想。 馮馮諾依曼指出計算機硬件系統應由運算器、諾依曼指出計算機硬件系統應由運算器、控制器、存儲器、輸入設備、輸出設備五大部分構控制器、存儲器、輸入設備、輸出設備五大部分構成成運算器運算器控制器控制器存儲器存儲器輸入設備輸出設備CPU圖3 計算機的基本結構1)最重要的硬件)最重要的硬件-主機主機 (1)中央處理器()中央處理器(CPU),它合成它合成了運算器和控制器的功能,是計算機系了運算器和控制器的功能,是計算機系統的

7、心臟,它負責算術運算、邏輯運算統的心臟,它負責算術運算、邏輯運算及系統控制及系統控制,是計算機硬件的核心部分。是計算機硬件的核心部分。(2)內部存儲器簡稱內存)內部存儲器簡稱內存,它是計算它是計算機系統工作時存儲程序、數據的記憶機系統工作時存儲程序、數據的記憶裝置。內存讀寫數據的速度很快,與裝置。內存讀寫數據的速度很快,與CPU的速度相當,因此,正在運行的的速度相當,因此,正在運行的程序總是放在內存中。程序總是放在內存中。 在在PC中,作為內存的中,作為內存的ROM一般只有一片,一般只有一片,用于存放基本輸入輸出系統用于存放基本輸入輸出系統(Basic Input/Output System)

8、。BIOS含有與主板搭含有與主板搭配的各種設備的驅動程序和初始化程序,配的各種設備的驅動程序和初始化程序,PC啟動時,首先運行的是啟動時,首先運行的是BIOS程序。多片程序。多片RAM芯片被焊在一個長條形的印刷電路板芯片被焊在一個長條形的印刷電路板上構成內存條,一個或多個內存條插入主上構成內存條,一個或多個內存條插入主板的內存插槽中構成內存主體。板的內存插槽中構成內存主體。(3)主板()主板(MainBoard)是一塊有各種)是一塊有各種接口接口,插槽及復雜的控制元器件的電路板插槽及復雜的控制元器件的電路板,主機箱中幾乎所有的部件都與它相接主機箱中幾乎所有的部件都與它相接,運運算器、控制器、算

9、器、控制器、I/O接口和內存儲器以及接口和內存儲器以及相關的導線、電阻、電容、插座等均固相關的導線、電阻、電容、插座等均固定在這塊印刷電路板上。定在這塊印刷電路板上。圖5 CPU、內存條、主板2)外部設備)外部設備 (1)外存儲器簡稱外存或輔存。)外存儲器簡稱外存或輔存。內存雖然速度快,但價格昂貴、容內存雖然速度快,但價格昂貴、容量小,所以,還需要外存來存放數量小,所以,還需要外存來存放數據。據。圖6 軟盤、硬盤、光盤、U盤 (2)輸入設備的功能是將文本、)輸入設備的功能是將文本、圖形、圖像、聲音以及其他形式的圖形、圖像、聲音以及其他形式的信號轉換成計算機能接受的數據形信號轉換成計算機能接受的

10、數據形式并傳送給計算機。式并傳送給計算機。圖7 鍵盤、鼠標、攝像頭、圖像掃描儀、觸摸屏 (3)輸出設備的功能是將計算)輸出設備的功能是將計算機處理的數據轉換為文本、圖形、機處理的數據轉換為文本、圖形、圖像、及聲音等信號形式。圖像、及聲音等信號形式。 圖7-8 顯示器 打印機 軟件系統是計算機正常工作所軟件系統是計算機正常工作所需要的各種程序和數據的總和。根需要的各種程序和數據的總和。根據軟件用途的不同,可將其分為兩據軟件用途的不同,可將其分為兩大類:系統軟件和應用軟件。大類:系統軟件和應用軟件。1)系統軟件)系統軟件 系統軟件主要指面向硬件或者開發者所系統軟件主要指面向硬件或者開發者所設立的軟

11、件,如操作系統,編譯系統,數據設立的軟件,如操作系統,編譯系統,數據庫管理系統,中間件等面向開發者的軟件。庫管理系統,中間件等面向開發者的軟件。 (1)操作系統是人與計算機進行交流的)操作系統是人與計算機進行交流的接口程序,是用來管理計算機的全部硬件、接口程序,是用來管理計算機的全部硬件、軟件資源和數據資源,為用戶提供高效、周軟件資源和數據資源,為用戶提供高效、周到的服務界面。運用較為廣泛的有到的服務界面。運用較為廣泛的有Windows、Linux、Unix等。等。 (2)語言編譯程序是人與計算機交流信息)語言編譯程序是人與計算機交流信息的工具,分為機器語言、匯編語言和高級的工具,分為機器語言

12、、匯編語言和高級語言。語言。(3)數據庫管理系統目前主要用于檔案管)數據庫管理系統目前主要用于檔案管理、財務管理、圖書資料管理及倉庫管理理、財務管理、圖書資料管理及倉庫管理等。等。 (4)設備驅動程序用來使一個特定的硬件)設備驅動程序用來使一個特定的硬件或軟件可以與一個特定的操作系統建立聯或軟件可以與一個特定的操作系統建立聯系。系。2)應用軟件)應用軟件 應用軟件是計算機軟件的主要分類之一,應用軟件是計算機軟件的主要分類之一,是指為針對使用者的某種應用目的所撰寫的是指為針對使用者的某種應用目的所撰寫的軟件。軟件。 (1)文字表格處理軟件中,最為廣泛應用)文字表格處理軟件中,最為廣泛應用的就是的

13、就是Windows Office。Office 是一套由微是一套由微軟公司開發的辦公軟件,它為軟公司開發的辦公軟件,它為Microsoft Windows操作系統而開發。與辦公室應用程操作系統而開發。與辦公室應用程序一樣,它包括聯合的服務器和基于互聯網序一樣,它包括聯合的服務器和基于互聯網的服務。的服務。 (2)輔助設計軟件目前在汽車、飛機、船)輔助設計軟件目前在汽車、飛機、船舶、超大集成電路等項目的設計、制造過舶、超大集成電路等項目的設計、制造過程中,占據著重要的地位。程中,占據著重要的地位。(3)網絡軟件相對較為豐富,包括通信支)網絡軟件相對較為豐富,包括通信支撐平臺軟件、網絡服務支撐平臺

14、軟件、網撐平臺軟件、網絡服務支撐平臺軟件、網絡應用支撐平臺軟件、網絡應用系統、網絡應用支撐平臺軟件、網絡應用系統、網絡管理系統以及用于特殊網絡站點的軟件絡管理系統以及用于特殊網絡站點的軟件等等。 (4)用戶為解決實際問題,還編制了許)用戶為解決實際問題,還編制了許多特定作用的應用軟件,如看圖軟件多特定作用的應用軟件,如看圖軟件(ACDSee)、平面設計軟件)、平面設計軟件(Photoshop)、平面動畫制作軟件)、平面動畫制作軟件(Flash)、網頁制作軟件()、網頁制作軟件(Dreamweaver)等。等。 (1)運算速度)運算速度:是指計算機每秒鐘能執行的是指計算機每秒鐘能執行的指令數。單

15、位為每秒百萬條指令,簡稱指令數。單位為每秒百萬條指令,簡稱MIPS(MillionInstructions Per Second)。19801987年年,速度速度12MIPS, 目前幾千目前幾千MIPS。 (2)主頻(時鐘頻率):是指計算機的)主頻(時鐘頻率):是指計算機的CPU在單位時間內輸出的脈沖數。通俗地可在單位時間內輸出的脈沖數。通俗地可理解為每秒鐘運算的次數,它在很大程度上理解為每秒鐘運算的次數,它在很大程度上決定了計算機的運行速度。單位決定了計算機的運行速度。單位MHz。Intel486的主頻為的主頻為33MHz120MHz.等。目前,等。目前,微機的主頻:幾微機的主頻:幾GHz

16、(3)字長:是指計算機能夠同時處理)字長:是指計算機能夠同時處理的二進制數據的位數,它是一個重要的的二進制數據的位數,它是一個重要的技術指標,直接影響到計算機的計算精技術指標,直接影響到計算機的計算精度和速度。計算機的字長越長,表示的度和速度。計算機的字長越長,表示的有效位數就越多,因而精度和速度就越有效位數就越多,因而精度和速度就越高,功能越強,主要由高,功能越強,主要由CPU型號而定。型號而定。有有32位(微機)、位(微機)、64位(工作站)、位(工作站)、128位位(大、中型機)大、中型機) (4)內存容量:是指隨機存儲器)內存容量:是指隨機存儲器RAM存存儲容量的大小,它反映了計算機處

17、理數據儲容量的大小,它反映了計算機處理數據量的能力,內存容量越大,計算機處理時量的能力,內存容量越大,計算機處理時與外存儲器交換數據的次數越少,處理速與外存儲器交換數據的次數越少,處理速度越快度越快. 目前微機:目前微機:64MB、128MB、256MB、512MB,計算機的主頻越高、,計算機的主頻越高、字長越長,計算機的運算速度越快。字長越長,計算機的運算速度越快。 (5)可靠性與可用性:)可靠性與可用性: 系統的可靠性:系統的可靠性:指在給定的時間內,計算機系統能正常運轉的概率,通常用平均無故障工作時間MTBF (Mean Time Between Failures)表示。 MTBF的時間

18、越長,系統的可靠性越高。 系統的可維護性:系統的可維護性:計算機的維修概率,通常用平均修復時間(Mean Time To Repair,簡稱MTTR)表示,即從故障發生到故障修復所需的時間。 系統的可用性:系統的可用性:若MTBF很高,且MTTR很低,則稱該計算機具很高的可用性。 (6)性能)性能/價格比:是一項綜合性評價格比:是一項綜合性評價計算機性能的指標價計算機性能的指標.機器允許配置機器允許配置的外部設備的最大數目、計算機系統的外部設備的最大數目、計算機系統的漢字處理能力、數據庫管理系統及的漢字處理能力、數據庫管理系統及網絡功能等。網絡功能等。 軟件軟件(Software)是一系列按照

19、特定順序)是一系列按照特定順序組織的電腦數據和指令的集合。一般來講軟組織的電腦數據和指令的集合。一般來講軟件被劃分為編程語言、系統軟件、應用軟件件被劃分為編程語言、系統軟件、應用軟件和介于這兩者之間的中間件。和介于這兩者之間的中間件。 系統軟件為計算機使用提供最基本的功系統軟件為計算機使用提供最基本的功能,但是并不針對某一特定應用領域。而應能,但是并不針對某一特定應用領域。而應用軟件則恰好相反,不同的應用軟件根據用用軟件則恰好相反,不同的應用軟件根據用戶和所服務的領域提供不同的功能。戶和所服務的領域提供不同的功能。 從從19461946年出現了世界上第一臺計算機之后,就有了年出現了世界上第一臺

20、計算機之后,就有了程序的概念。在幾十年的發展中,計算機經歷了程程序的概念。在幾十年的發展中,計算機經歷了程序設計階段、程序系統階段、軟件工程階段和第四序設計階段、程序系統階段、軟件工程階段和第四階段。階段。階段程序設計階段程序系統階段軟件工程階段第四階段典型技術面向批處理、有限的分布、自定義軟件多用戶、實時、數據庫、軟件產品分布式系統、嵌入“智能”、低成本硬件、消費者的影響強大的桌面系統、面對對象技術、專家系統、人工神經網絡、并行計算、網格計算表7-1計算機發展的幾個階段 在軟件的開發和維護過程中,如何在給定的成本和時間下開發出符合用戶需求的軟件,以及如何維護數量不斷膨脹的已有軟件產品,對于這

21、些問題的出現,均可定義為軟件危機。具體表現如下:具體表現如下:(1)產品不符合用戶要求;)產品不符合用戶要求;(2)對軟件開發成本和進度的估計不準;)對軟件開發成本和進度的估計不準;(3)軟件產品的評價困難;)軟件產品的評價困難;(4)軟件的生產仍然存在著低層次的重復)軟件的生產仍然存在著低層次的重復開發,難以實現可重用;開發,難以實現可重用;(5)軟件的可維護性差;維護代價昂貴;)軟件的可維護性差;維護代價昂貴;(6)軟件生產跟不上硬件發展的步伐,不)軟件生產跟不上硬件發展的步伐,不能充分利用計算機硬件的潛力。能充分利用計算機硬件的潛力。 為應對和解決為應對和解決“軟件危機軟件危機”,在,在

22、1986年秋季,年秋季,NATO(北約)的科技委(北約)的科技委員會第一次提出了軟件工程(員會第一次提出了軟件工程(Software Engineering)。)。 o軟件工程是指導計算機軟件開發和維護的軟件工程是指導計算機軟件開發和維護的一門工程學科。一門工程學科。o采用工程的概念、原理、技術和方法來開采用工程的概念、原理、技術和方法來開發與維護軟件,把經過時間考驗而證明正發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技確的管理技術和當前能夠得到的最好的技術方法結合起來。術方法結合起來。o從管理和技術兩方面研究如何更好地開發從管理和技術兩方面研究如何更好地開發和維護計

23、算機軟件的一門新興學科。和維護計算機軟件的一門新興學科。o它涉及到程序設計語言,數據庫,軟件開它涉及到程序設計語言,數據庫,軟件開發工具,系統平臺,標準,設計模式等方發工具,系統平臺,標準,設計模式等方面。面。 軟件工程包括三個要素:方法、工具和過程。軟件工程包括三個要素:方法、工具和過程。 方法為軟件開發提供了方法為軟件開發提供了“如何做如何做”的技術。的技術。它包括項目計劃與估算、軟件系統需求分析、數它包括項目計劃與估算、軟件系統需求分析、數據結構、系統總體結構的設計、算法的設計、編據結構、系統總體結構的設計、算法的設計、編碼、測試和維護等。碼、測試和維護等。 工具為軟件工程方法提供了工具

24、為軟件工程方法提供了“如何更有效地如何更有效地做做”的項目支撐。由軟件工具集成起來形成的軟的項目支撐。由軟件工具集成起來形成的軟件開發支撐系統,即計算機輔助軟件工程。件開發支撐系統,即計算機輔助軟件工程。 主要包括以下基本活動:主要包括以下基本活動:(1)軟件定義軟件定義 進行軟件規格和使用限制的定義。進行軟件規格和使用限制的定義。(2)軟件開發軟件開發 根據軟件規格定義制作出軟件產品。根據軟件規格定義制作出軟件產品。(3)軟件驗證軟件驗證 確認軟件能夠滿足用戶提出的要求。確認軟件能夠滿足用戶提出的要求。(4)軟件維護軟件維護 修正軟件缺陷,并能根據用戶需求變修正軟件缺陷,并能根據用戶需求變化

25、改進軟件化改進軟件。 如同任何事都有一個發生、發展、成熟直如同任何事都有一個發生、發展、成熟直到衰亡的全過程,軟件系統或軟件產品也有到衰亡的全過程,軟件系統或軟件產品也有一個目標的提出、定義、開發、運行和維護一個目標的提出、定義、開發、運行和維護直到被廢棄不用的全過程。整個軟件的生命直到被廢棄不用的全過程。整個軟件的生命周期可分為軟件定義、軟件開發、軟件運行周期可分為軟件定義、軟件開發、軟件運行維護維護3個階段。在這個階段。在這3個階段之中,可細分為個階段之中,可細分為多個步驟。多個步驟。圖10 軟件生命周期 (1)定義時期)定義時期 其主要任務是收集和分析用其主要任務是收集和分析用戶的要求,

26、確定軟件開發的總目標,給出系統戶的要求,確定軟件開發的總目標,給出系統功能、性能結構、可靠性以及接口等方面的要功能、性能結構、可靠性以及接口等方面的要求。通過與用戶充分的交流,研究該軟件的可求。通過與用戶充分的交流,研究該軟件的可行性,制訂軟件項目的開發計劃,最后提交項行性,制訂軟件項目的開發計劃,最后提交項目報告。目報告。 (2)開發時期)開發時期 在定義完成之后,要對軟件在定義完成之后,要對軟件進行設計和生產,設計包括功能需求分析、概進行設計和生產,設計包括功能需求分析、概要設計和詳細設計。生產則包括編碼的實現和要設計和詳細設計。生產則包括編碼的實現和軟件測試驗證。軟件測試驗證。 (3)運

27、行時期)運行時期 將軟件交付給用戶后將軟件交付給用戶后就進入運行時期。軟件產品不同于硬就進入運行時期。軟件產品不同于硬件產品,沒有機械磨損和化學性質的件產品,沒有機械磨損和化學性質的改變,但是在運行時期會出現開發時改變,但是在運行時期會出現開發時期未考慮到的問題,所以需要對軟件期未考慮到的問題,所以需要對軟件進行維護和更新進行維護和更新 軟件開發模型又稱為軟件生存期模型,軟件開發模型又稱為軟件生存期模型,是軟件開發實際過程的抽象與概括,是是軟件開發實際過程的抽象與概括,是對開發過程中各階段之間關系的描述和對開發過程中各階段之間關系的描述和表示。表示。圖11 瀑布模型和原型進化模型2)軟件定義)

28、軟件定義如圖如圖1212所示,在定義時期,根據定義的不同階段,所示,在定義時期,根據定義的不同階段,需要完成不同的工作。需要完成不同的工作。定義時期可行性研究軟件項目的問題定義制定軟件開發計劃圖12 定義時期的分段 首先說明軟件項目的最基本情況并形成項目報告,通過與用戶的交流,了解到待開發軟件項目的類型(應用軟件、系統軟件、通用軟件、專用軟件)、性質(新軟件、軟件升級)、目標(使用功能)、大致規模等問題。 在問題定義階段,不必討論軟件項目細節。而可行性研究階段是在明確了上述問題之后,對軟件項目從技術、經濟等各方面進行研究與分析??尚行匝芯康幕A和出發點是問題定義階段的結果,通常經歷四個階段:確

29、認、分析、結論、書寫文檔。如圖13所示。1.確認4.書寫文檔3.結論2.分析對問題定義的結果進一步完善、認定對問題定義初步確定的軟件系統正確性進行確認技術可行性經濟可行性操作可行性法律可行性是否繼續該工程文檔作為項目審查和決策的依據圖13 可行性研究流程可行性研究之后,進入制訂軟件開發計劃階段。這是一個綜合的計劃,作用于開發的全部過程,是開展項目活動的基礎,是軟件項目跟蹤與監控的基礎,更是開發者對用戶需求理解的體現。制定計劃一般分為六個步驟,如圖14所示。1.確認項目交付的時間4.項目資源計劃3.任務的分解2.確定軟件目標和范圍由用戶提出,難以變更,須在規定時間內完成由開發者根據實際情況提出大

30、致時間項目規模、類型、主要功能、性能限制、相關數據、系統借口、特殊要求、開發概述。按階段進行任務分解(軟件生命周期)結構化任務分解(體系結構、功能劃分或軟件模塊)任務分解矩陣(用矩陣表格表現任務的分工)人力資源(參與項目開發的所有人員)軟件資源(各種支撐軟件、工具軟件、可重用軟件)6.計劃書5.項目進度安排內容(時間分配、人員分配、定義責任、定義結果、定義里程碑)方法(時間季度表、關鍵路線網絡計劃、計劃評審技術)通過技術復查和管理復查,完善計劃書圖14軟件開發計劃流程3)需求分析 需求分析需求分析的任務是借助當前系統的邏輯模型導出新系統的邏輯模型,決定新系統做什么的問題。這相當于“分析、理解和

31、表達”的過程。具體任務在于(1)確定對系統的綜合需求(功能需求、性能需求、數據需求、運行環境需求)(2)提出新系統的邏輯模型(3)修正系統開發計劃(4)開發原型系統根據需求分析的任務,需求分析的過程如圖15所示。圖15 需求分析流程 需求分析中的各個環節,均可分為五個步驟來實現:獲取用戶需求、分析用戶需求、編寫需求文檔、評審需求文檔、管理需求。4)軟件設計 在需求分析之后,知道了系統“做什么”,但還不知道系統“怎么做”,軟件設計的任務就是實現需求的過程。而實現過程中,包含著“概況地描述”的概要設計和“具體地描述”的詳細設計。在詳細設計給出目標系統的精確描述后,在編碼階段就可以完成計算機程序。

32、概要設計概要設計主要是將需求分析的內容轉換為具體的軟件結構。為了完成此目的,設計人員通常要進行四個設計過程和步驟:數據設計、軟件結構設計、接口設計和過程設計。(1)數據設計是從分析階段得到的邏輯模型出發,設計出相應的數據結構。(2)軟件結構設計定義了系統的主要結構元素之間的關系,得到軟件層次化的結構圖。(3)接口設計是要描述系統內部、系統與系統之間以及系統與用戶之間的通信。(4)過程設計是從分析階段得到的軟件過程說明,對系統各個功能進行過程化的描述。 詳細設計詳細設計的目標是在概要設計的基礎上具體地設計目標系統的實現過程,得到新系統的詳細規劃。其中包括下列任務。(1)算法過程的設計,描述出每個

33、處理過程的詳細算法。(2)數據結構的設計,對于處理過程中涉及的概念性的數據類型進行定義。(3)數據庫的設計,確定那些依賴于數據庫系統的數據的存儲格式、存儲方法等。(4)信息編碼設計,將某些數據項的值用代號來表示,以提高數據處理的效率。(5)測試用例的設計,測試用例需要提供測試數據和測試結果,檢測系統是否完善,一般由進行了軟件詳細設計的人員提供測試用例。(6)其他設計,包括人機對話設計、系統配置設計和網絡系統設計等。(7)編寫“詳細設計說明書”,這是詳細設計階段最重要的任務,編寫之后必須進行評審,直到滿足要求為止。5)編碼與測試(1)編碼編碼又稱程序設計,使用選定的程序設計語言,將詳細設計中得到

34、的內容轉換成能在計算機系統上運行的源代碼。目前,各類程序設計語言有許多種,不同的語言有不同的特點及其適用范圍,為了提高代碼的可讀性、可測試性、可維護性和可靠性,應該選擇恰當的程序設計語言進行編碼。(2)測試測試是通過執行軟件來發現軟件中可能出現的錯誤和缺陷,從而改善軟件的可用性與可靠性。測試的過程可分為4個步驟,單元測試、集成測試、確認測試和系統測試。如圖16所示。5)編碼與測試(1)編碼編碼又稱程序設計,使用選定的程序設計語言,將詳細設計中得到的內容轉換成能在計算機系統上運行的源代碼。目前,各類程序設計語言有許多種,不同的語言有不同的特點及其適用范圍,為了提高代碼的可讀性、可測試性、可維護性

35、和可靠性,應該選擇恰當的程序設計語言進行編碼。(2)測試測試是通過執行軟件來發現軟件中可能出現的錯誤和缺陷,從而改善軟件的可用性與可靠性。測試的過程可分為4個步驟,單元測試、集成測試、確認測試和系統測試。如圖16所示。 圖7-16 軟件測試流程6)運行維護 軟件的維護就是軟件在交付之后對軟件產品進行修改。根據軟件維護的原因,維護活動可分為4種類型:(1)改正性維護。開發時測試的不徹底、不完全,導致軟件在使用期間可能會發現程序的錯誤,也可能是性能上的錯誤。對這些錯誤進行識別、修正的過程,稱為改正性維護。(2)適應性維護。由于計算機科學技術領域的飛速進步,外部環境或數據環境可能發生變化,為使軟件適

36、應這些變化而做的修改的過程稱為適應性維護。(3)完善性維護。在使用過程中,用戶會提出新的要求來改變軟件某些功能或者增強某些功能。為了滿足用戶的要求進行的維護活動稱為完善性維護。(4)預防性維護。為了提高未來的可維護性和可靠性,或給未來的改進工作奠定基礎而進行的維護活動,稱為預防性維護。統計數字表明:在整個軟件維護階段花費的全部工作量中,預防性維護只占4%左右;完善性維護占51%左右:改正性維護占20%左右;適應性維護占25%左右。 進入進入21世紀以來,計算機的發展非常迅速,世紀以來,計算機的發展非常迅速,在科學技術、國防事業、經濟、工農業生產在科學技術、國防事業、經濟、工農業生產以及人類社會

37、的各個方面所起的作用越來越以及人類社會的各個方面所起的作用越來越大,它替代了人們許多煩瑣的工作,提高了大,它替代了人們許多煩瑣的工作,提高了我們的工作效率。我們的工作效率。 它在通訊技術上的應用,給人們的生活它在通訊技術上的應用,給人們的生活帶來了極大的方便;在工業自動化應用上,帶來了極大的方便;在工業自動化應用上,使產品的質量和數量都大幅度得到提高,特使產品的質量和數量都大幅度得到提高,特別是在現代尖端科學技術方面,更離不開計別是在現代尖端科學技術方面,更離不開計算機。算機。 計算機革命幾乎沖擊了所有的領計算機革命幾乎沖擊了所有的領域,計算機作為域,計算機作為20世紀科學技術的世紀科學技術的

38、卓越成就之一,它正在改變并將繼續卓越成就之一,它正在改變并將繼續影響和改變人類的學習、工作和生活影響和改變人類的學習、工作和生活方式,計算機誕生以后,信息的交流方式,計算機誕生以后,信息的交流和傳播起了質的變化,計算機科學這和傳播起了質的變化,計算機科學這門年輕的學科,正愈來愈被人們所重門年輕的學科,正愈來愈被人們所重視。視。 機器指令:機器指令:是要計算機執行某種操作的命是要計算機執行某種操作的命令。令。 指令系統:指令系統:所有指令的集合稱為計算機的所有指令的集合稱為計算機的指令系統。指令系統是軟件和硬件的界面,指令系統。指令系統是軟件和硬件的界面,指令是對計算機進行程序控制的最小單位。指

39、令是對計算機進行程序控制的最小單位。 機器語言程序:機器語言程序:用機器指令編寫的程序,用機器指令編寫的程序,也是目標程序。也是目標程序。取指令取指令:按照程序計數器的地址,從內存中取出指令,并送往指令寄存器。分析指令分析指令:對指令寄存器存放的指令進行分析,由譯碼器對操作碼進行譯碼,將指令的操作碼轉換成相應的控制信號;由地址碼確定操作數的地址。 執行指令:執行指令:指令的操作碼指明了該指令要完成的操作類型或性質,所以由操作控制線路發出完成該操作所須的一系列控制信息,去完成該指令所要求的操作。圖18 指令執行過程 計算機語言(計算機語言(Computer Language)指用于人與計算機之間

40、通訊的語言。計指用于人與計算機之間通訊的語言。計算機語言是人與計算機之間傳遞信息的算機語言是人與計算機之間傳遞信息的媒介。計算機程序設計語言的發展,經媒介。計算機程序設計語言的發展,經歷了從機器語言、匯編語言到高級語言歷了從機器語言、匯編語言到高級語言的歷程。的歷程。(1)機器語言是指一臺計算機全部的)機器語言是指一臺計算機全部的指令集合,是第一代計算機語言。指令集合,是第一代計算機語言。(2)為了減輕使用機器語言編程的痛苦,)為了減輕使用機器語言編程的痛苦,人們進行了一種有益的改進:用一些簡人們進行了一種有益的改進:用一些簡潔的英文字母、符號串來替代一個特定潔的英文字母、符號串來替代一個特定

41、的指令的二進制串,的指令的二進制串, 匯編語言同樣十分依賴于機器硬件,匯編語言同樣十分依賴于機器硬件,移植性不好,但效率仍十分高,針對計移植性不好,但效率仍十分高,針對計算機特定硬件而編制的匯編語言程序,算機特定硬件而編制的匯編語言程序,能準確發揮計算機硬件的功能和特長,能準確發揮計算機硬件的功能和特長,程序精煉而質量高,所以至今仍是一種程序精煉而質量高,所以至今仍是一種常用而強有力的軟件開發工具。常用而強有力的軟件開發工具。(3)從最初與計算機交流的痛苦經歷中,)從最初與計算機交流的痛苦經歷中,人們意識到,應該設計一種這樣的語言,人們意識到,應該設計一種這樣的語言,這種語言接近于數學語言或人

42、的自然語這種語言接近于數學語言或人的自然語言,同時又不依賴于計算機硬件,編出言,同時又不依賴于計算機硬件,編出的程序能在所有機器上通用。的程序能在所有機器上通用。#includevoid main()printf(hello); 以上程序是C語言里面最簡單的一“HelloWorld”程序。其功能是在顯示屏上打印出“HelloWorld”字樣。1)操作系統的功能)操作系統的功能 操作系統能對計算機系統中的軟件操作系統能對計算機系統中的軟件和硬件資源進行有效地管理和控制,合和硬件資源進行有效地管理和控制,合理地組織計算機的工作流程,為用戶提理地組織計算機的工作流程,為用戶提供一個使用計算機的工作環

43、境,起到用供一個使用計算機的工作環境,起到用戶和計算機之間的接口作用。戶和計算機之間的接口作用。而其具體又可分為如下五類管理工作。而其具體又可分為如下五類管理工作。(1)處理器管理:用于分配和控制處理器。)處理器管理:用于分配和控制處理器。(2)存儲器管理:主要負責內存的分配與回收。)存儲器管理:主要負責內存的分配與回收。(3)設備管理:負責設備的分配與操縱。)設備管理:負責設備的分配與操縱。(4)文件管理:負責文件的存取、共享和保護。)文件管理:負責文件的存取、共享和保護。(5)接口管理:提供兩種方式的接口為用戶服務)接口管理:提供兩種方式的接口為用戶服務。 2)操作系統的分類)操作系統的分

44、類(1)按照與用戶對話的界面分類可分為:)按照與用戶對話的界面分類可分為:命令行界面操作系統和圖形用戶界面系統。命令行界面操作系統和圖形用戶界面系統。(2)按照支持的用戶數分類可分為:單用)按照支持的用戶數分類可分為:單用戶操作系統和多用戶操作系統。戶操作系統和多用戶操作系統。(3)按照運行任務的多少分類可分為:單)按照運行任務的多少分類可分為:單任務操作系統和多任務操作系統。任務操作系統和多任務操作系統。(4)按照系統的作用分類可分為:批處理)按照系統的作用分類可分為:批處理系統、分時操作系統、實時操作系統和網絡系統、分時操作系統、實時操作系統和網絡操作系統。操作系統。 1)科學計算科學計算

45、(或數值計算或數值計算) 科學計算是指利用計算機來完成科學研究科學計算是指利用計算機來完成科學研究和工程技術中提出的數學問題的計算。在現和工程技術中提出的數學問題的計算。在現代科學技術工作中,科學計算問題是大量的代科學技術工作中,科學計算問題是大量的和復雜的。利用計算機的高速計算、大存儲和復雜的。利用計算機的高速計算、大存儲容量和連續運算的能力,可以實現人工無法容量和連續運算的能力,可以實現人工無法解決的各種科學計算問題。解決的各種科學計算問題。2)數據處理數據處理(或信息處理或信息處理) 數據處理是指對各種數據進行收集、存儲、數據處理是指對各種數據進行收集、存儲、整理、分類、統計、加工、利用

46、、傳播等一整理、分類、統計、加工、利用、傳播等一系列活動的統稱。據統計,系列活動的統稱。據統計,80以上的計算以上的計算機主要用于數據處理,這類工作量大面寬,機主要用于數據處理,這類工作量大面寬,決定了計算機應用的主導方向。決定了計算機應用的主導方向。 3)輔助技術輔助技術(或計算機輔助設計與制造或計算機輔助設計與制造) 計算機輔助技術包括計算機輔助技術包括CAD、CAM和和CAI等。等。計算機輔助制造計算機輔助制造 計算機輔助制造是利用計算機系統進行計算機輔助制造是利用計算機系統進行生產設備的管理、控制和操作的過程。例如,生產設備的管理、控制和操作的過程。例如,在產品的制造過程中,用計算機控制機器的在產品的制造過程中,用計算機控制機器的

溫馨提示

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

評論

0/150

提交評論