大學計算機基礎-第10章_第1頁
大學計算機基礎-第10章_第2頁
大學計算機基礎-第10章_第3頁
大學計算機基礎-第10章_第4頁
大學計算機基礎-第10章_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本章概要1.

程序設計語言概述:程序設計語言的分類及常見語言2.

程序:程序的類型及程序的執(zhí)行方式。3.

軟件工程:目前軟件開發(fā)和維護的方法。4.

軟件生命周期:軟件開發(fā)的具體步驟。1程序設計語言概述機器語言是計算機硬件系統(tǒng)能唯一識別并執(zhí)行的語言,基本要素是計算機指令。計算機指令是硬件唯一能識別的、實現計算機基本功能的二進制編碼,是指揮計算機工作的基本命令。

2程序設計語言概述計算機指令的格式操作碼用于指明操作(功能),不同指令具有不同的操作碼。

操作碼操作數操作數可能是數據(稱為立即數)、存放操作數的內存單元地址或寄存器地址,也可能有多個操作數。

例計算8+7的機器語言程序示例:101110000000100000000000

;將8存入累加器AX中000001010000011100000000

;

7與累加器AX中的內容相加,結果仍存放在AX中指令系統(tǒng):一臺計算機中全部指令的集合。從計算機組成來看,指令系統(tǒng)與計算機系統(tǒng)的性能和硬件結構的復雜程度密切相關,因此,同類型計算機具有相同的指令系統(tǒng)。

3程序設計語言概述匯編語言:指令由英文單詞或縮寫構成,用符號和十進制數代替機器語言中的二進制編碼,便于人們記憶和書寫。

特點:機器語言和匯編語言都與計算機類型有關;匯編語言與機器語言比較,在助記方面有了較大的改善;匯編語言一般用于編制系統(tǒng)軟件和過程控制軟件。例計算8+7的匯編語言程序示例:MovAX,8

;將8存入累加器AX中AddAX,7

;7與累加器A中的內容相加,結果仍存放在AX中4程序設計語言概述結構化程序設計語言:脫離具體計算機硬件結構的程序設計語言

。

程序設計的核心是數據結構和算法;通過數據結構定義數據的存儲形式;通過算法研究如何用快捷、高效的方法來組織解決問題的具體過程。

特點:5程序設計語言概述結構化程序設計語言的基本特征:

程序內部結構化:程序由順序、選擇(分支)和重復(循環(huán))3種結構組成。程序模塊化:一個大程序由若干個功能獨立的、相互關聯(lián)的程序模塊(子程序、函數等)組成??梢浦残院茫杭礊橐活愑嬎銠C設計的程序,經少量改動后可以在另一類計算機上運行。

6程序設計語言概述具有代表性的結構化程序設計語言:

FORTRAN語言:是FormulaTranslator的縮寫,在工程、數學和科學研究上是使用最廣泛的語言,尤其是在科學計算中發(fā)揮著極其重要的作用。

Pascal語言:作為一門實用程序設計語言和教學工具,Pascal語言在高校計算機軟件教學中一直處于主導地位。

C語言:適合于系統(tǒng)描述,可以用于編寫系統(tǒng)和應用軟件。7程序設計語言概述面向對象的程序設計語言:類:是具有相同特征對象的抽象,是創(chuàng)建對象的模板。

對象:是程序中最基本的運行實體,一個程序由若干個對象組成,各個對象既相互獨立,又通過消息相互聯(lián)系。

8程序設計語言概述可視化程序設計事件:是對象響應某種操作時的一種反映機制,是響應某種操作的程序代碼入口。

屬性:用于描述對象的特征。

方法:對象的方法實質是一種子程序,調用時依附于對象,運行時執(zhí)行相關的操作,也稱之為對象函數。

9程序設計語言概述具有代表性的面向對象程序設計語言:

C++語言:在C語言基礎上增加了面向對象的支持,基本兼容C語言程序。其特點是既支持結構化程序設計方法,又支持面向對象程序設計方法,因此,也稱之為混合型語言。

Delphi語言:是在Pascal基礎上開發(fā)出來的可視化程序設計語言,是真正的面向對象編程語言,執(zhí)行效率高,具有強大的數據庫管理功能,是開發(fā)中小型數據庫軟件的理想編程工具。

Java語言:Java也是一種跨平臺的程序設計語言,適合開發(fā)基于網絡、多媒體、與平臺無關的應用程序,應用程序可以在網絡上傳輸,并可以運行在任何計算機上。10程序設計語言概述網頁設計語言:標記語言主要用于設計靜態(tài)網頁,利用標記標注信息的類型和位置。

腳本語言是介于HTML和編程語言之間的一種語言,主要用于設計動態(tài)網頁。

11程

序任何以計算機為處理工具的任務都是對處理對象和規(guī)則的完整描述,這種描述稱為程序。要使程序起作用,必須將其裝入到內存中執(zhí)行,程序的實際工作過程稱為執(zhí)行或運行。

12程

序Windows操作系統(tǒng)中運行應用程序的方法:開始按鈕→程序,選擇應用程序單擊;雙擊桌面上的應用程序圖標;雙擊打開文件夾中應用程序圖標;雙擊快捷方式圖標;單擊開始按鈕→運行,輸入應用程序的路徑及文件名稱→確定按鈕。13用程序設計語言(匯編或高級語言)編寫程序時,都是用符號代碼(指令、語句或命令)或對象(如窗口、菜單)進行程序設計。通常,將設計的內容稱為源程序,將保存這些內容的文件稱為源程序文件。

程序及其類型根據程序所處軟件的開發(fā)階段或運行方式的不同,程序主要有源程序、可執(zhí)行程序和動態(tài)鏈接庫3種類型??蓤?zhí)行程序是由源程序翻譯(編譯)生成的、真實的機器語言程序。在Windows中,最常用的可執(zhí)行程序文件擴展名為EXE和COM。

動態(tài)鏈接庫是由源程序生成的機器語言程序的另一種形式,主要作為可執(zhí)行程序的輔助文件,不能獨立運行。14程序及其類型源程序的翻譯方式:編譯方式:通過程序設計語言提供的編譯或生成工具,系統(tǒng)自動對整個源程序逐句進行詞法分析、語法分析和機器語言指令翻譯。

解釋方式:在程序設計語言環(huán)境中直接運行源程序,在執(zhí)行每條語句前,系統(tǒng)先分析語句的詞法和語法,若語句正確,則生成并執(zhí)行機器語言指令,直到程序運行結束。15軟件工程概述軟件工程是將系統(tǒng)的、規(guī)范的、可度量的方法應用于軟件開發(fā)和維護整體過程的一門科學,用數學、計算機科學和管理科學的原理,借助傳統(tǒng)工程科學的原則和方法創(chuàng)建與維護軟件,從而達到提高軟件質量、降低軟件成本的目的。數學用于構造數學模型和算法。計算機科學負責軟件實現和運行

。管理科學用于進度、資源、質量和經費管理

。工程科學用于制定規(guī)范、確定樣例和評估成本

。16軟件工程概述軟件工程的誕生背景程序設計時代:軟件開發(fā)主要是個體手工勞動,程序設計語言是機器語言和匯編語言,這個階段被稱為程序設計時代。軟件開發(fā)完全依賴程序設計者的個人技能,不重視程序設計方法。

程序系統(tǒng)時代:高級程序設計語言出現后,提出了結構化程序設計的方法,并成為軟件開發(fā)的主要工具,稱此階段為程序系統(tǒng)時代。

17供需矛盾;開發(fā)成本和時間失控;質量難以保障;維護困難。主要表現

:軟件工程概述軟件危機是泛指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。

軟件發(fā)展速度落后于硬件發(fā)展水平,人們對軟件的需求得不到滿足。管理人員缺少開發(fā)軟件的經驗,需求描述不準確,而開發(fā)人員又缺少管理經驗,二者之間缺乏交流工具,過分依賴開發(fā)人員在軟件開發(fā)過程中的技巧和創(chuàng)造力,因此,很難開發(fā)出高質量的實用軟件。由于缺乏軟件開發(fā)規(guī)范和技術文檔,人們很難閱讀和修改其他人開發(fā)的軟件,使軟件維護、移植和升級困難,導致軟件重復開發(fā)問題嚴重,軟件復用性降低。

18軟件工程主要包括軟件開發(fā)技術和軟件工程管理。

軟件工程的內容軟件開發(fā)技術根據軟件的類型,制定軟件的開發(fā)策略、原則、步驟和相關文檔資料,將軟件開發(fā)納入規(guī)范化和工程化管理。軟件工程是一門交叉科學,包含方法、工具和過程3個要素。方法是完成軟件項目的技術手段,它支持項目的計劃和估算、系統(tǒng)環(huán)境和軟件需求分析、軟件設計、編碼、測試和維護。

除了程序設計語言(如C、VB等)和數據庫管理系統(tǒng)(Access、VFP和SQLServer等)外,還應該包括軟件輔助設計工具,協(xié)助管理項目和生成相關的文檔。

過程用于控制和管理軟件開發(fā)和維護的各個重要環(huán)節(jié)。

軟件工程管理按工程化思想管理軟件生產過程的各個重要環(huán)節(jié),按計劃、進度和預算實施軟件開發(fā)和維護,以達到預期的目標。

19軟件工程的基本目標軟件工程的基本目標是付出較低的開發(fā)成本,達到要求的軟件功能;按時完成開發(fā)任務,及時交付使用;開發(fā)出來的軟件具有良好的穩(wěn)定性、可靠性、適應性和可操作性,易于移植和維護。

20軟件工程的原則在軟件開發(fā)過程中,必須遵循抽象性、信息隱藏性、模塊化、局部化、一致性、完整性和可驗證性等原則。抽取事物最基本的特性和行為,忽略某些無關緊要的細節(jié)。

模塊化是程序中邏輯上相對獨立的成分,是功能相對獨立的程序單位(VB語言中的子程序、窗體等),具有良好的接口定義(如子程序的形式參數、對象的事件等)。隱藏信息模塊的實現細節(jié)(如子程序實現代碼、對象的構造代碼等),通過模塊接口實現操作,將注意力集中在更高層次的對象上。一個模塊的功能盡量獨立和完整,不受其他模塊運行(如改變同名變量的值)的干擾,在模塊內部有較強的內聚力,其他模塊只能通過接口與之建立聯(lián)系,以便降低求解問題的復雜性。在一個軟件系統(tǒng)的各個模塊中,使用規(guī)范、統(tǒng)一的符號和術語;軟件與硬件接口一致;模塊內外接口一致;系統(tǒng)規(guī)格說明書與軟件系統(tǒng)的行為一致等。

軟件系統(tǒng)不丟失任何重要成分,完全實現系統(tǒng)所需要的功能。

開發(fā)大型軟件系統(tǒng)需要逐步分解,系統(tǒng)分解應遵循系統(tǒng)容易檢查、測試和評審的原則,以保證系統(tǒng)的可驗證性。

21軟件生命周期軟件產品從形成概念開始,經過開發(fā)、使用和維護,直到最后退役的全過程稱為軟件的生命周期。

在“計算機軟件開發(fā)規(guī)范”的國家標準中,將軟件生存周期劃分為可行性研究(計劃)、需求分析、概要設計、詳細設計、代碼實現、軟件測試、使用與維護7個階段,在每個階段中都明確規(guī)定了任務、實施方法、步驟和完成標志等,并要求產生相關的文檔。22軟件定義階段1.可行性研究:也稱軟件計劃或策劃階段

。此階段主要對待開發(fā)系統(tǒng)涉及到的經費、軟/硬件技術、效益和法律等方面的問題進行可行性論證,制定系統(tǒng)開發(fā)任務的實施計劃。

2.需求分析:需求是用戶對目標軟件系統(tǒng)在功能、行為、性能和約束等方面的要求或期望。需求分析是對應用問題及其環(huán)境的理解與分析,為應用問題涉及的事物、功能及系統(tǒng)行為建立模型,將需求精確化和完整化,最終形成需求規(guī)格說明書。

23軟件定義階段需求分析的主要工作:獲取資料

資料分析

形成需求規(guī)格說明書

需求評審

系統(tǒng)分析員與用戶進行業(yè)務交流和探討,不斷收集、積累相關的業(yè)務資料(文件或表格等),加深理解需求,澄清模糊的概念,對有爭議的業(yè)務環(huán)節(jié)達成共識等。

系統(tǒng)分析員對收集的資料進行綜合分析和總結,確認業(yè)務范圍和處理細節(jié),規(guī)劃業(yè)務流程,排除不合理的需求,確定應用問題的解決方案、目標系統(tǒng)的功能模塊以及數據模型(如E–R圖形),建立各功能模塊之間的關聯(lián)等。

需求分析的成果是需求規(guī)格說明書,通常包括數據描述、功能描述和性能描述等信息。它是用戶、系統(tǒng)分析員和軟件開發(fā)人員進行交流的共識資料,是待開發(fā)軟件系統(tǒng)的預期目標,同時作為控制軟件的開發(fā)過程,系統(tǒng)功能測試、評估和驗收的依據。

對需求規(guī)格說明書進行審核,驗證文檔的一致性、完整性、正確性、可行性和有效性。

24軟件開發(fā)階段3.概要設計:也稱結構設計或總體設計,根據需求確定軟件和數據的總體框架。數據結構設計:也稱數據對象設計,主要任務是依據需求分析的數據模型,結合程序中涉及的算法,設計數據文件的邏輯結構。軟件結構設計:按自頂向下、逐步求精和模塊化的設計原則,將一個軟件分解和規(guī)劃成若干個模塊,確定各模塊之間的關聯(lián)信息。

概要文檔:概要設計說明書、數據結構或數據庫設計說明書和軟件集成調試計劃等。

25軟件開發(fā)階段4.詳細設計:主要任務是設計軟件功能結構圖中每個最低層模塊的局部算法(如數據排序、查找、統(tǒng)計等算法)和數據結構(如需要的變量、數組等),確定每個模塊調用和數據傳輸接口(如參數、函數返回值、存儲數據的文件或表名等)。描述算法的常用工具有偽代碼(ProcedureDesignLanguage,PDL)、程序流程圖和N–S圖等,設計成果是詳細設計說明書。26軟件開發(fā)階段5.編碼實現:需要選擇一種程序設計語言,進入程序設計階段。通常利用菜單或窗口結合工具欄設計軟件功能結構圖的總體框架,依據詳細設計中的算法和數據結構設計每個功能模塊的程序代碼,設計成果是源程序。27軟件開發(fā)階段6.軟件測試:是對需求規(guī)格說明書、概要設計說明書及程序代碼等內容的最后復審。軟件質量保證貫穿于軟件開發(fā)的整個過程,其中關鍵步驟是軟件測試;軟件測試目的是在軟件產品交付使用之前盡可能發(fā)現潛在的錯誤;軟件測試主要檢測和更正語義和功能錯誤

。28軟件開發(fā)階段軟件測試的方法:靜態(tài)測試:不需要運行軟件,由人工直接進行閱讀和檢查源程序,包括代碼檢查、靜態(tài)結構分析和代碼質量度量等。動態(tài)測試:是基于計算機的測試,通過運行軟件發(fā)現錯誤。這種方法需要測試人員根據軟件開發(fā)規(guī)格說明和程序內部結構精心地設計測試用例,通過輸入數據和預期的輸出結果發(fā)現軟件中的錯誤。為測試軟件而設計的數據稱為測試用例。設計測試用例時,要根據程序的具體功能或運算,綜合考慮各種可能情況,構造具有代表性的數據。

29軟件開發(fā)階段動態(tài)測試的方法:白盒測試:也稱結構測試或邏輯驅動測試。需要測試人員先閱讀和分析源程序的內部結構,根據程序可能執(zhí)行的路徑(分支或循環(huán))設計測試用例,確保每個分支、每個循環(huán)體和循環(huán)邊界條件至少執(zhí)行一次,然后,通過測試用例運行軟件,驗證軟件結構的正

溫馨提示

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

評論

0/150

提交評論