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

下載本文檔

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

文檔簡介

本章概要1.

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

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

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

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

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

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

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

;將8存入累加器AX中000001010000011100000000

;

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

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

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

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

;7與累加器A中的內(nèi)容相加,結(jié)果仍存放在AX中4程序設(shè)計語言概述結(jié)構(gòu)化程序設(shè)計語言:脫離具體計算機硬件結(jié)構(gòu)的程序設(shè)計語言

。

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

特點:5程序設(shè)計語言概述結(jié)構(gòu)化程序設(shè)計語言的基本特征:

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

6程序設(shè)計語言概述具有代表性的結(jié)構(gòu)化程序設(shè)計語言:

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

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

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

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

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

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

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

9程序設(shè)計語言概述具有代表性的面向?qū)ο蟪绦蛟O(shè)計語言:

C++語言:在C語言基礎(chǔ)上增加了面向?qū)ο蟮闹С?,基本兼容C語言程序。其特點是既支持結(jié)構(gòu)化程序設(shè)計方法,又支持面向?qū)ο蟪绦蛟O(shè)計方法,因此,也稱之為混合型語言。

Delphi語言:是在Pascal基礎(chǔ)上開發(fā)出來的可視化程序設(shè)計語言,是真正的面向?qū)ο缶幊陶Z言,執(zhí)行效率高,具有強大的數(shù)據(jù)庫管理功能,是開發(fā)中小型數(shù)據(jù)庫軟件的理想編程工具。

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

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

11程

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

12程

序Windows操作系統(tǒng)中運行應(yīng)用程序的方法:開始按鈕→程序,選擇應(yīng)用程序單擊;雙擊桌面上的應(yīng)用程序圖標(biāo);雙擊打開文件夾中應(yīng)用程序圖標(biāo);雙擊快捷方式圖標(biāo);單擊開始按鈕→運行,輸入應(yīng)用程序的路徑及文件名稱→確定按鈕。13用程序設(shè)計語言(匯編或高級語言)編寫程序時,都是用符號代碼(指令、語句或命令)或?qū)ο螅ㄈ绱翱凇⒉藛危┻M行程序設(shè)計。通常,將設(shè)計的內(nèi)容稱為源程序,將保存這些內(nèi)容的文件稱為源程序文件。

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

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

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

。管理科學(xué)用于進度、資源、質(zhì)量和經(jīng)費管理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

資料分析

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

需求評審

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

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

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

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

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

概要文檔:概要設(shè)計說明書、數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫設(shè)計說明書和軟件集成調(diào)試計劃等。

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論