第章程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)
第章程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)
第章程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)
第章程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)
第章程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第10章程序設(shè)計(jì)基礎(chǔ)本章教學(xué)目的: 了解程序設(shè)計(jì)的基本概念、思想和方法,為今后更好地學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言打好基礎(chǔ)。本章教學(xué)內(nèi)容:程序設(shè)計(jì)語(yǔ)言概述2.程序:程序的類(lèi)型及程序的執(zhí)行方式。3.軟件工程:目前軟件開(kāi)發(fā)和維護(hù)的方法。4.軟件生命周期:軟件開(kāi)發(fā)的具體步驟。10.1程序設(shè)計(jì)語(yǔ)言概述任何以計(jì)算機(jī)為處理工具的任務(wù)都是對(duì)處理對(duì)象和處理規(guī)則的完整描述,稱(chēng)為程序。軟件是程序、數(shù)據(jù)及相關(guān)文檔的集合,是用戶(hù)與硬件之間的接口。機(jī)器語(yǔ)言是計(jì)算機(jī)硬件系統(tǒng)能唯一識(shí)別并執(zhí)行的語(yǔ)言,計(jì)算機(jī)指令。計(jì)算機(jī)指令是硬件唯一能識(shí)別的、實(shí)現(xiàn)計(jì)算機(jī)基本功能的二進(jìn)制編碼,是指揮計(jì)算機(jī)工作的基本命令。指令:計(jì)算機(jī)指令是計(jì)算機(jī)執(zhí)行命令的最小功能單位,是指揮計(jì)算機(jī)工作的命令,是軟件與硬件的接口。

一般來(lái)說(shuō),指令由操作碼和操作數(shù)兩部分組成:操作碼用于指明操作,不同指令具有不同的操作碼。操作數(shù)可以是要操作的數(shù)據(jù)(稱(chēng)為立即數(shù)),也可以是存放操作數(shù)的內(nèi)存單元地址或寄存器地址等。操作碼操作數(shù)2.指令系統(tǒng)指令系統(tǒng):一臺(tái)計(jì)算機(jī)中全部指令的集合構(gòu)成指令系統(tǒng)。一臺(tái)計(jì)算機(jī)的指令系統(tǒng)決定了它的基本性能,現(xiàn)代計(jì)算機(jī)一般都有幾十條到上百條指令。早期計(jì)算機(jī),從簡(jiǎn)化計(jì)算機(jī)硬件結(jié)構(gòu)和降低成本考慮,指令系統(tǒng)都比較簡(jiǎn)單,指令條數(shù)少、功能弱。為增加計(jì)算機(jī)功能及縮小指令系統(tǒng)與高級(jí)程序設(shè)計(jì)語(yǔ)言之間的差異,人們研制了復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC,ComplexInstructionSetComputer)。CISC計(jì)算機(jī)指令條數(shù)多達(dá)二三百條,能直接處理多種數(shù)據(jù)類(lèi)型。RISC,ReducedInstructionSetComputer,指令系統(tǒng)具有指令少、功能簡(jiǎn)單、指令執(zhí)行時(shí)間短等特點(diǎn),RISC成為計(jì)算機(jī)設(shè)計(jì)的主流。10.1.2匯編語(yǔ)言匯編語(yǔ)言:指令由英文單詞或縮寫(xiě)構(gòu)成,用符號(hào)和十進(jìn)制數(shù)代替機(jī)器語(yǔ)言中的二進(jìn)制編碼,便于人們記憶和書(shū)寫(xiě)。101110000000100000000000000001010000011100000000以計(jì)算A=8+7為例::機(jī)器語(yǔ)言為::匯編語(yǔ)言為::MOVAX,8ADDAX,7;將8存入累累加器A中;7與累加器器A中的內(nèi)容容相加,;結(jié)果仍存放放在A中計(jì)算機(jī)程序設(shè)設(shè)計(jì)語(yǔ)言總體體上可以分為為低級(jí)語(yǔ)言和和高級(jí)語(yǔ)言?xún)蓛纱箢?lèi),低級(jí)級(jí)語(yǔ)言是指機(jī)機(jī)器語(yǔ)言和匯匯編語(yǔ)言;低級(jí)語(yǔ)言的低低級(jí)并不是說(shuō)說(shuō)語(yǔ)言的功能能性差,而是是指與計(jì)算機(jī)機(jī)硬件密密切相關(guān),編編寫(xiě)程序難度度較大。機(jī)器語(yǔ)言和匯匯編語(yǔ)言都與與計(jì)算機(jī)類(lèi)型型有關(guān);匯編語(yǔ)言一般般用于編制系系統(tǒng)軟件和過(guò)過(guò)程控制軟件件10.1.3結(jié)構(gòu)化化程序設(shè)計(jì)語(yǔ)語(yǔ)言結(jié)構(gòu)化程序設(shè)設(shè)計(jì)語(yǔ)言:脫脫離具體計(jì)算算機(jī)硬件結(jié)構(gòu)構(gòu)的程序設(shè)計(jì)計(jì)語(yǔ)言。程序設(shè)計(jì)的核核心是數(shù)據(jù)結(jié)結(jié)構(gòu)和算法;;通過(guò)數(shù)據(jù)結(jié)構(gòu)構(gòu)定義數(shù)據(jù)的的存儲(chǔ)形式;;通過(guò)算法研究究如何用快捷捷、高效的方方法來(lái)組織解解決問(wèn)題的具具體過(guò)程。20世紀(jì)50年代后期,,出現(xiàn)了許多多脫離具體計(jì)計(jì)算機(jī)硬件結(jié)結(jié)構(gòu)的程序設(shè)設(shè)計(jì)語(yǔ)言,人人們稱(chēng)之為高高級(jí)程序設(shè)計(jì)計(jì)語(yǔ)言。例如如Basic、FORTRAN、Pascal等。例如,計(jì)算A=8+7并并輸出結(jié)果的的BASIC語(yǔ)言程序段段如下:A=8+7PrintA結(jié)構(gòu)化程序設(shè)設(shè)計(jì)語(yǔ)言將注注意力從機(jī)器器轉(zhuǎn)移到問(wèn)題題本身,它致致力于用計(jì)算算機(jī)能理解的的邏輯來(lái)描述述解決問(wèn)題的的具體方法和和步驟。面向過(guò)程的程程序設(shè)計(jì)的核核心是數(shù)據(jù)結(jié)結(jié)構(gòu)和算法。。通過(guò)數(shù)據(jù)結(jié)結(jié)構(gòu)定義數(shù)據(jù)據(jù)的存儲(chǔ)形式式;通過(guò)算法法研究如何用用快捷、高效效的方法來(lái)組組織解決問(wèn)題題的具體過(guò)程程。1.結(jié)構(gòu)化化程序設(shè)計(jì)語(yǔ)語(yǔ)言的基本特特征:程序內(nèi)部結(jié)構(gòu)構(gòu)化:程序由由順序、選擇擇(分支)和和重復(fù)(循環(huán)環(huán))3種結(jié)構(gòu)構(gòu)組成。程序模塊化::一個(gè)大程序序由若干個(gè)功功能獨(dú)立的、、相互關(guān)聯(lián)的的程序模塊((子程序、函函數(shù)等)組成成。程序模塊塊之間通過(guò)調(diào)調(diào)用關(guān)系完完成程序的整整體功能。可移植性好::即為一類(lèi)計(jì)計(jì)算機(jī)設(shè)計(jì)的的程序,經(jīng)少少量改動(dòng)后可可以在另一類(lèi)類(lèi)計(jì)算機(jī)上運(yùn)運(yùn)行。與低低級(jí)語(yǔ)言相比比,結(jié)構(gòu)化程程序具有較好好的移植性。。具有代表性的的結(jié)構(gòu)化程序序設(shè)計(jì)語(yǔ)言:FORTRAN語(yǔ)言:是是FormulaTranslator的縮縮寫(xiě),在工程程、數(shù)學(xué)和科科學(xué)研究上是是使用最廣泛泛的語(yǔ)言,尤尤其是在科學(xué)學(xué)計(jì)算中發(fā)揮揮著極其重要要的作用。Pascal語(yǔ)言:作為為一門(mén)實(shí)用程程序設(shè)計(jì)語(yǔ)言言和教學(xué)工具具,Pascal語(yǔ)言在在高校計(jì)算機(jī)機(jī)軟件教學(xué)中中一直處于主主導(dǎo)地位。C語(yǔ)言:適合合于系統(tǒng)描述述,可以用于于編寫(xiě)系統(tǒng)和和應(yīng)用軟件。。10.1.4面向?qū)?duì)象的程序設(shè)設(shè)計(jì)語(yǔ)言O(shè)bjectOrientedProgramming,OOP早在20世紀(jì)紀(jì)60年代在在實(shí)驗(yàn)室中就就提出了面向向?qū)ο蠓椒ǎ?,最早的面向向?qū)ο筌浖鞘?966年年開(kāi)發(fā)的SimulaⅠⅠ它首次提出出模擬人類(lèi)思思維方式,將將數(shù)據(jù)和相關(guān)關(guān)操作集成在在一起。使得得數(shù)據(jù)和處理理數(shù)據(jù)的方法法融為一體,,更方便處理理現(xiàn)實(shí)世界中中復(fù)雜的事物物。面向?qū)ο蟮某坛绦蛟O(shè)計(jì)語(yǔ)言言:對(duì)象:是程序序中最基本的的運(yùn)行實(shí)體,,一個(gè)程序由由若干個(gè)對(duì)象象組成,各個(gè)個(gè)對(duì)象既相互互獨(dú)立,又通通過(guò)消息相互互聯(lián)系。類(lèi):是具有相相同特征對(duì)象象的抽象,是是創(chuàng)建對(duì)象的的模板2.可視化化程序設(shè)計(jì)在可視化程序序設(shè)計(jì)中,屬屬性、事件件和方法是用用于控制和管管理對(duì)象的3個(gè)要素。屬性:用于描描述對(duì)象的特特征。事件:是對(duì)象象響應(yīng)某種操操作時(shí)的一種種反映機(jī)制,,是響應(yīng)某種種操作的程序序代碼入口。。方法:一種子子程序,調(diào)用用時(shí)依附于對(duì)對(duì)象,運(yùn)行時(shí)時(shí)執(zhí)行相關(guān)的的操作,也稱(chēng)稱(chēng)之為對(duì)象函函數(shù)。具有代表性的的面向?qū)ο蟪坛绦蛟O(shè)計(jì)語(yǔ)言言:C++語(yǔ)言:在C語(yǔ)言基基礎(chǔ)上增加了了面向?qū)ο蟮牡闹С郑颈炯嫒軨語(yǔ)言言程序。其特特點(diǎn)是既支持持結(jié)構(gòu)化程序序設(shè)計(jì)方法,,又支持面向向?qū)ο蟪绦蛟O(shè)設(shè)計(jì)方法,因因此,也稱(chēng)之之為混合型語(yǔ)語(yǔ)言。Delphi語(yǔ)言:是在Pascal基礎(chǔ)礎(chǔ)上開(kāi)發(fā)出來(lái)來(lái)的可視化程程序設(shè)計(jì)語(yǔ)言言,是真正的的面向?qū)ο缶幘幊陶Z(yǔ)言,執(zhí)執(zhí)行效率高,,具有強(qiáng)大的的數(shù)據(jù)庫(kù)管理理功能,是開(kāi)開(kāi)發(fā)中小型數(shù)數(shù)據(jù)庫(kù)軟件的的理想編程工工具。Java語(yǔ)言言:Java也也是一種跨平平臺(tái)的程序設(shè)設(shè)計(jì)語(yǔ)言,適適合開(kāi)發(fā)基于于網(wǎng)絡(luò)、多媒媒體、與平臺(tái)臺(tái)無(wú)關(guān)的應(yīng)用用程序,應(yīng)用用程序可以在在網(wǎng)絡(luò)上傳輸輸,并可以運(yùn)運(yùn)行在任何計(jì)計(jì)算機(jī)上。網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言言:通過(guò)網(wǎng)絡(luò)瀏覽覽器瀏覽的網(wǎng)網(wǎng)頁(yè)可分為動(dòng)動(dòng)態(tài)網(wǎng)頁(yè)、、靜態(tài)網(wǎng)頁(yè)頁(yè)兩種。標(biāo)記語(yǔ)言主要要用于設(shè)計(jì)靜靜態(tài)網(wǎng)頁(yè),利利用標(biāo)記標(biāo)注注信息的類(lèi)型型和位置。腳本語(yǔ)言是介介于HTML和編程語(yǔ)言言之間的一種種語(yǔ)言,主要要用于設(shè)計(jì)動(dòng)動(dòng)態(tài)網(wǎng)頁(yè)。在計(jì)算機(jī)中,,通常將結(jié)結(jié)構(gòu)化程序設(shè)設(shè)計(jì)語(yǔ)言和面面向?qū)ο蟪绦蛐蛟O(shè)計(jì)語(yǔ)言統(tǒng)統(tǒng)稱(chēng)為高級(jí)程程序設(shè)計(jì)語(yǔ)言言,簡(jiǎn)稱(chēng)高級(jí)級(jí)語(yǔ)言。10.2程程序任何以計(jì)算機(jī)機(jī)為處理工具具的任務(wù)都是是對(duì)處理對(duì)象象和規(guī)則的完完整描述,這這種描述稱(chēng)為為程序。程序是用計(jì)算算機(jī)語(yǔ)言設(shè)計(jì)計(jì)的,為完成成某一任務(wù)、、按一定順序序編排的指令令序列。要使程序起作作用,必須將將其裝入到內(nèi)內(nèi)存中執(zhí)行,,程序的實(shí)際際工作過(guò)程稱(chēng)稱(chēng)為執(zhí)行或運(yùn)運(yùn)行。在屏幕上顯示示字符串“HelloWorld”DSEGSEGMENTSTRING DB‘HelloWorld’,0DH,OAH,’$’;定義緩沖沖區(qū)DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART: MOVAX,DSEGMOVDS,AXLEADX,STRINGMOVAH,09HINT21HMOVAH,4CHINT21HCSEGENDSENDSTART【例8.1】計(jì)算階階乘的C語(yǔ)言言程序JSJC.C。Longfun(Intx)/*函函數(shù)fun,用來(lái)計(jì)算x的階乘*/{LongResult=1;/*result是變量,用用來(lái)保存計(jì)算算結(jié)果*/IntI;;/*i為循環(huán)環(huán)控制變量*/For(i=2;i<=x;i++)/*循環(huán)環(huán)控制語(yǔ)句,,用于實(shí)現(xiàn)語(yǔ)語(yǔ)句的多次執(zhí)執(zhí)行*/Result=Result*i;;/*循環(huán)體,,實(shí)現(xiàn)計(jì)算*/Returnresult;/*返回語(yǔ)語(yǔ)句,將計(jì)算算結(jié)果提交給給調(diào)用者*/}Main()/*C語(yǔ)語(yǔ)言主程序*/{Inti=1;/*i為循循環(huán)控制變量量*/Longs;/*s是變量量,保存計(jì)算算結(jié)果*/While(i!=0)/*循循環(huán)語(yǔ)句,,用于實(shí)現(xiàn)多多次計(jì)算*/{Printf("PleaseInputI(I=0Over):");/*輸入數(shù)據(jù)據(jù)提示*/Scanf(“%d”,,&i);/*輸輸入數(shù)據(jù)語(yǔ)句句,輸入數(shù)據(jù)據(jù)保存在變量量i中*/If(i==0)/*分支語(yǔ)句,,用于輸入數(shù)數(shù)據(jù)判斷*/Exit(0);/*輸入i值值為0,調(diào)用用函數(shù)exit結(jié)束程序序*/Else/*分支否否定條件,當(dāng)當(dāng)輸入i值不不為零時(shí)*/If(i<0||i>10)/*判斷輸輸入數(shù)據(jù)范圍圍*/{Printf(“Datamustbewteen1and10.\n”);/*數(shù)據(jù)據(jù)超界,提示示合理范圍*/Continue;/*回到循環(huán)開(kāi)開(kāi)始位置,繼繼續(xù)判斷循環(huán)環(huán)條件*/}s=fun(i);/*調(diào)用函函數(shù)fun計(jì)計(jì)算i階乘,,結(jié)果存于變變量s中*/Printf("%d!=%ld\n",I,,s);/*在屏幕幕上輸出計(jì)算算結(jié)果*/圖圖8.1.1程序JSJC運(yùn)行過(guò)過(guò)程}}DimaAsIntegerDimbAsIntegerPrivateSubCommand1_Click()k=InStr(a,Text2,Text1)Ifk>0ThenCommand1.Caption="查查找下一個(gè)"a=k+Len(Text1)Text2.SetFocusText2.SelStart=k-1Text2.SelLength=Len(Text1)b=b+1ElseMsgBox"查找完完畢!共找到到"&b&"個(gè)"&Text1Command1.Caption="查查找“a=1EndIf'PrintkEndSub根據(jù)程序所處處軟件的開(kāi)發(fā)發(fā)階段或運(yùn)行行方式的不同同,程序主要要有源程序、、可執(zhí)行程序序和動(dòng)態(tài)鏈接接庫(kù)3種類(lèi)型型。人們將利用程程序設(shè)計(jì)語(yǔ)言言設(shè)計(jì)的內(nèi)容容稱(chēng)為源程序序。將保存存這些內(nèi)容的的文件稱(chēng)為源源程序文件。。可執(zhí)行程序是是由源程序翻翻譯(編譯))生成的、真真實(shí)的機(jī)器語(yǔ)語(yǔ)言程序。在Windows中,最最常用的可執(zhí)執(zhí)行程序文件件擴(kuò)展名為EXE和COM。動(dòng)態(tài)鏈接庫(kù)是由源程序生生成的機(jī)器語(yǔ)語(yǔ)言程序的另另一種形式,,主要作為可可執(zhí)行程序的的輔助文件,,不能獨(dú)立運(yùn)運(yùn)行。主要作用:(1)提供應(yīng)應(yīng)用程序接口口(API)),User32.dll(2)程序動(dòng)動(dòng)態(tài)加載源程序的翻譯譯方式:編譯方式:通過(guò)程序設(shè)計(jì)計(jì)語(yǔ)言提供的的編譯或生成成工具,系統(tǒng)統(tǒng)自動(dòng)對(duì)整個(gè)個(gè)源程序逐句句進(jìn)行詞法分分析、語(yǔ)法分分析和機(jī)器語(yǔ)語(yǔ)言指令翻譯譯。解釋方式:在程序設(shè)計(jì)語(yǔ)語(yǔ)言環(huán)境中直直接運(yùn)行源程程序,在執(zhí)行行每條語(yǔ)句前前,系統(tǒng)先分分析語(yǔ)句的詞詞法和語(yǔ)法,,若語(yǔ)句正確確,則生成并并執(zhí)行機(jī)器語(yǔ)語(yǔ)言指令,直直到程序運(yùn)行行結(jié)束。10.3軟軟件工程基基礎(chǔ)軟件工程是將將系統(tǒng)的、規(guī)規(guī)范的、可度度量的方法應(yīng)應(yīng)用于軟件開(kāi)開(kāi)發(fā)和維護(hù)整整體過(guò)程的一一門(mén)科學(xué),用用數(shù)學(xué)、計(jì)算算機(jī)科學(xué)和管管理科學(xué)的原原理,借助傳傳統(tǒng)工程科學(xué)學(xué)的原則和方方法創(chuàng)建與維維護(hù)軟件,從從而達(dá)到提高高軟件質(zhì)量、、降低軟件成成本的目的。。軟件工程學(xué)出出現(xiàn)的目的是是為緩解軟件件危機(jī)。軟件工程的誕生背景程序設(shè)計(jì)時(shí)代代:程序設(shè)計(jì)語(yǔ)言言是機(jī)器語(yǔ)言言和匯編語(yǔ)言言,這個(gè)階段段被稱(chēng)為程序序設(shè)計(jì)時(shí)代。。軟件開(kāi)發(fā)主主要是個(gè)體手手工勞動(dòng),完完全依賴(lài)程序序設(shè)計(jì)者的個(gè)個(gè)人技能,不不重視程序設(shè)設(shè)計(jì)方法。程序系統(tǒng)時(shí)代代:高級(jí)程序設(shè)計(jì)計(jì)語(yǔ)言出現(xiàn)后后,提出了結(jié)結(jié)構(gòu)化程序設(shè)設(shè)計(jì)的方法,,并成為軟件件開(kāi)發(fā)的主要要工具,稱(chēng)此此階段為程序序系統(tǒng)時(shí)代。。供需矛盾;開(kāi)發(fā)成本和時(shí)時(shí)間失控;質(zhì)量難以保障障;維護(hù)困難。主要表現(xiàn):軟件危機(jī)是泛指在計(jì)算算機(jī)軟件的開(kāi)開(kāi)發(fā)和維護(hù)過(guò)過(guò)程中所遇到到的一系列嚴(yán)嚴(yán)重問(wèn)題。軟件發(fā)展速度落后于硬件發(fā)展水平,人們對(duì)軟件的需求得不到滿(mǎn)足。管理人員缺少開(kāi)發(fā)軟件的經(jīng)驗(yàn),需求描述不準(zhǔn)確,而開(kāi)發(fā)人員又缺少管理經(jīng)驗(yàn),二者之間缺乏交流工具,過(guò)分依賴(lài)開(kāi)發(fā)人員在軟件開(kāi)發(fā)過(guò)程中的技巧和創(chuàng)造力,因此,很難開(kāi)發(fā)出高質(zhì)量的實(shí)用軟件。由于缺乏軟件開(kāi)發(fā)規(guī)范和技術(shù)文檔,人們很難閱讀和修改其他人開(kāi)發(fā)的軟件,使軟件維護(hù)、移植和升級(jí)困難,導(dǎo)致軟件重復(fù)開(kāi)發(fā)問(wèn)題嚴(yán)重,軟件復(fù)用性降低。

軟件工程主要包括軟件件開(kāi)發(fā)技術(shù)和和軟件工程管管理。軟件工程是一門(mén)交叉科科學(xué),包含方方法、工具和和過(guò)程3個(gè)要要素。軟件工程包括括三個(gè)要素::方法、工具具和過(guò)程。1.方法:完成軟軟件工程項(xiàng)目目的技術(shù)手段段,它支持項(xiàng)項(xiàng)目計(jì)劃和估估算、系統(tǒng)和和軟件需求分分析、軟件設(shè)設(shè)計(jì)、編碼、、測(cè)試和維護(hù)護(hù)。

2.工工具:支持軟軟件的開(kāi)發(fā)和和管理,支持持各種軟件文文檔的生成。。人們將用于于軟件開(kāi)發(fā)的的軟、硬件工工具和軟件工工程數(shù)據(jù)庫(kù)集集成在一起,,建立了集成成軟件工程環(huán)環(huán)境;

3.過(guò)程:支持持軟件開(kāi)發(fā)各各個(gè)環(huán)節(jié)的控控制、管理。軟件工程的基基本目標(biāo)是付付出較低的開(kāi)開(kāi)發(fā)成本,達(dá)達(dá)到要求的軟軟件功能;按時(shí)完成開(kāi)發(fā)發(fā)任務(wù),及時(shí)時(shí)交付使用;;開(kāi)發(fā)出來(lái)的軟軟件具有良好好的穩(wěn)定性、、可靠性、適適應(yīng)性和可操操作性,易于于移植和維護(hù)護(hù)。在軟件開(kāi)發(fā)過(guò)過(guò)程中,必須須遵循抽象性、信息隱藏性、模塊化、局部化、一致性、完整性和可驗(yàn)證性等原則。抽取事物最基本的特性和行為,忽略某些無(wú)關(guān)緊要的細(xì)節(jié)。

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

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

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

10.4軟軟件生命周周期軟件產(chǎn)品從形形成概念開(kāi)始始,經(jīng)過(guò)開(kāi)發(fā)發(fā)、使用和維維護(hù),直到最最后退役的全全過(guò)程稱(chēng)為軟軟件的生命周周期。在“計(jì)算機(jī)軟軟件開(kāi)發(fā)規(guī)范范”的國(guó)家標(biāo)標(biāo)準(zhǔn)中,將軟軟件生存周期期劃分為可行行性研究、需需求分析、概概要設(shè)計(jì)、詳詳細(xì)設(shè)計(jì)、代代碼實(shí)現(xiàn)、軟軟件測(cè)試、使使用與維護(hù)7個(gè)階段,在在每個(gè)階段中中都明確規(guī)定定了任務(wù)、實(shí)實(shí)施方法、步步驟和完成標(biāo)標(biāo)志等,并要要求產(chǎn)生相關(guān)關(guān)的文檔。軟件定義階段段:1.可行性性研究:也稱(chēng)稱(chēng)軟件計(jì)劃或或策劃階段。此階段主要對(duì)對(duì)待開(kāi)發(fā)系統(tǒng)統(tǒng)涉及到的經(jīng)經(jīng)費(fèi)、軟/硬硬件技術(shù)、效效益和法律等等方面的問(wèn)題題進(jìn)行可行性性論證,制定定系統(tǒng)開(kāi)發(fā)任任務(wù)的實(shí)施計(jì)計(jì)劃。2.需求分分析:需求是用戶(hù)對(duì)對(duì)目標(biāo)軟件系系統(tǒng)在功能、、行為、性能能和約束等方方面的要求或或期望。需求求分析是對(duì)應(yīng)應(yīng)用問(wèn)題及其其環(huán)境的理解解與分析,為為應(yīng)用問(wèn)題涉涉及的事物、、功能及系統(tǒng)統(tǒng)行為建立模模型,將需求求精確化和完完整化,最終終形成需求規(guī)規(guī)格說(shuō)明書(shū)。。需求分析的主主要工作:獲取資料資料分析形成需求規(guī)格格說(shuō)明書(shū)需求評(píng)審系統(tǒng)分析員與用戶(hù)進(jìn)行業(yè)務(wù)交流和探討,不斷收集、積累相關(guān)的業(yè)務(wù)資料(文件或表格等),加深理解需求,澄清模糊的概念,對(duì)有爭(zhēng)議的業(yè)務(wù)環(huán)節(jié)達(dá)成共識(shí)等。

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

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

對(duì)需求規(guī)格說(shuō)明書(shū)進(jìn)行審核,驗(yàn)證文檔的一致性、完整性、正確性、可行性和有效性。

軟件開(kāi)發(fā)階段段:3.概要設(shè)設(shè)計(jì):也稱(chēng)結(jié)結(jié)構(gòu)設(shè)計(jì)或總總體設(shè)計(jì),根根據(jù)需求確定定軟件和數(shù)據(jù)據(jù)的總體框架架。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)計(jì):也稱(chēng)數(shù)據(jù)據(jù)對(duì)象設(shè)計(jì),,主要任務(wù)是是依據(jù)需求分分析的數(shù)據(jù)模模型,結(jié)合程程序中涉及的的算法,設(shè)計(jì)計(jì)數(shù)據(jù)文件的的邏輯結(jié)構(gòu)。軟件結(jié)構(gòu)設(shè)計(jì)計(jì):按自頂向向下、逐步求求精和模塊化化的設(shè)計(jì)原則則,將一個(gè)軟軟件分解和規(guī)規(guī)劃成若干個(gè)個(gè)模塊,確定定各模塊之間間的關(guān)聯(lián)信息息。概要文檔:概概要設(shè)計(jì)說(shuō)明明書(shū)、數(shù)據(jù)結(jié)結(jié)構(gòu)或數(shù)據(jù)庫(kù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)書(shū)和軟件集成成調(diào)試計(jì)劃等等。4.詳細(xì)設(shè)設(shè)計(jì):主要任任務(wù)是設(shè)計(jì)軟軟件功能結(jié)構(gòu)構(gòu)圖中每個(gè)最最低層模塊的的局部算法和和數(shù)據(jù)結(jié)構(gòu),確定每個(gè)模模塊調(diào)用和數(shù)數(shù)據(jù)傳輸接口口。描述算法的常常用工具有偽偽代碼(ProcedureDesignLanguage,PDL)、程程序流程圖和和N–S圖等等,設(shè)計(jì)成果果是詳細(xì)設(shè)計(jì)計(jì)說(shuō)明書(shū)。5.編碼實(shí)實(shí)現(xiàn):需要選選擇一種程序序設(shè)計(jì)語(yǔ)言,,進(jìn)入程序設(shè)設(shè)計(jì)階段。通通常利用菜單單或窗口結(jié)合合工具欄設(shè)計(jì)計(jì)軟件功能結(jié)結(jié)構(gòu)圖的總體體框架,依據(jù)據(jù)詳細(xì)設(shè)計(jì)中中的算法和數(shù)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)計(jì)每個(gè)功能模模塊的程序代代碼,設(shè)計(jì)成成果是源程序序。6.軟軟件件測(cè)試試:是是對(duì)需需求規(guī)規(guī)格說(shuō)說(shuō)明書(shū)書(shū)、概概要設(shè)設(shè)計(jì)說(shuō)說(shuō)明書(shū)書(shū)及程程序代代碼等等內(nèi)容容的最最后復(fù)復(fù)審。。軟件質(zhì)質(zhì)量保保證貫貫穿于于軟件件開(kāi)發(fā)發(fā)的整整個(gè)過(guò)過(guò)程,,其中中關(guān)鍵鍵步驟驟是軟軟件測(cè)測(cè)試;軟件測(cè)測(cè)試目目的是是在軟軟件產(chǎn)產(chǎn)品交交付使使用之之前盡盡可能能發(fā)現(xiàn)現(xiàn)潛在在的錯(cuò)錯(cuò)誤;軟件測(cè)測(cè)試主主要檢檢測(cè)和和更正正語(yǔ)義義和功功能錯(cuò)錯(cuò)誤。軟件測(cè)測(cè)試的的方法法:靜態(tài)測(cè)測(cè)試:不需要要運(yùn)行行軟件件,由由人工工直接接進(jìn)行行閱讀讀和檢檢查源源程序序,包包括代代碼檢檢查、、靜態(tài)態(tài)結(jié)構(gòu)構(gòu)分析析和代代碼質(zhì)質(zhì)量度度量等等。動(dòng)態(tài)測(cè)測(cè)試::是基于于計(jì)算算機(jī)的的測(cè)試試,通通過(guò)運(yùn)運(yùn)行軟軟件發(fā)發(fā)現(xiàn)錯(cuò)錯(cuò)誤。。這種種方法法需要要測(cè)試試人員員根據(jù)據(jù)軟件件開(kāi)發(fā)發(fā)規(guī)格格說(shuō)明明和程程序內(nèi)內(nèi)部結(jié)結(jié)構(gòu)精精心地地設(shè)計(jì)計(jì)測(cè)試用用例,通過(guò)過(guò)輸入入數(shù)據(jù)據(jù)和預(yù)預(yù)期的的輸出出結(jié)果果發(fā)現(xiàn)現(xiàn)軟件件中的的錯(cuò)誤誤。為測(cè)試軟件而設(shè)計(jì)的數(shù)據(jù)稱(chēng)為測(cè)試用例。設(shè)計(jì)測(cè)試用例時(shí),要根據(jù)程序的具體功能或運(yùn)算,綜合考慮各種可能情況,構(gòu)造具有代表性的數(shù)據(jù)。

動(dòng)態(tài)測(cè)測(cè)試的的方法法:白盒測(cè)測(cè)試::也稱(chēng)稱(chēng)結(jié)構(gòu)構(gòu)測(cè)試試或邏邏輯驅(qū)驅(qū)動(dòng)測(cè)測(cè)試。。需要要測(cè)試試人員員先閱閱讀和和分析析源程程序的的內(nèi)部部結(jié)構(gòu)構(gòu),根根據(jù)程程

溫馨提示

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

評(píng)論

0/150

提交評(píng)論