![第10章 程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)](http://file4.renrendoc.com/view11/M00/1E/0B/wKhkGWXf2HGAfgxbAADyqEEIMCQ149.jpg)
![第10章 程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)](http://file4.renrendoc.com/view11/M00/1E/0B/wKhkGWXf2HGAfgxbAADyqEEIMCQ1492.jpg)
![第10章 程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)](http://file4.renrendoc.com/view11/M00/1E/0B/wKhkGWXf2HGAfgxbAADyqEEIMCQ1493.jpg)
![第10章 程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)](http://file4.renrendoc.com/view11/M00/1E/0B/wKhkGWXf2HGAfgxbAADyqEEIMCQ1494.jpg)
![第10章 程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)](http://file4.renrendoc.com/view11/M00/1E/0B/wKhkGWXf2HGAfgxbAADyqEEIMCQ1495.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章程序設(shè)計(jì)基礎(chǔ)1本章教學(xué)目的: 了解程序設(shè)計(jì)的基本概念、思想和方法,為今后更好地學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言打好基礎(chǔ)。2本章教學(xué)內(nèi)容:程序設(shè)計(jì)語(yǔ)言概述2.程序:程序的類(lèi)型及程序的執(zhí)行方式。3.軟件工程:目前軟件開(kāi)發(fā)和維護(hù)的方法。4.軟件生命周期:軟件開(kāi)發(fā)的具體步驟。310.1程序設(shè)計(jì)語(yǔ)言概述軟件是程序、數(shù)據(jù)及相關(guān)文檔的集合,是用戶與硬件之間的接口。任何以計(jì)算機(jī)為處理工具的任務(wù)都是對(duì)處理對(duì)象和處理規(guī)則的完整描述,稱(chēng)為程序。4機(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í)行命令的最小功能單位,是軟件與硬件的接口。
5一般來(lái)說(shuō),指令由操作碼和操作數(shù)兩部分組成:操作碼用于指明操作,不同指令具有不同的操作碼。操作數(shù)可以是要操作的數(shù)據(jù)(稱(chēng)為立即數(shù)),也可以是存放操作數(shù)的內(nèi)存單元地址或寄存器地址等。操作碼操作數(shù)62.指令系統(tǒng)指令系統(tǒng):一臺(tái)計(jì)算機(jī)中全部指令的集合構(gòu)成指令系統(tǒng)。一臺(tái)計(jì)算機(jī)的指令系統(tǒng)決定了它的基本性能,現(xiàn)代計(jì)算機(jī)一般都有幾十條到上百條指令。7早期計(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)型。8RISC,ReducedInstructionSetComputer,指令系統(tǒng)具有指令少、功能簡(jiǎn)單、指令執(zhí)行時(shí)間短等特點(diǎn),RISC成為計(jì)算機(jī)設(shè)計(jì)的主流。9101110000000100000000000
000001010000011100000000計(jì)算A=8+7機(jī)器語(yǔ)言為:匯編語(yǔ)言為:MOVAX,8ADDAX,7;將8存入累加器A中;7與累加器A中的內(nèi)容相加,;結(jié)果仍存放在A中10.1.2匯編語(yǔ)言10匯編語(yǔ)言:指令由英文單詞或縮寫(xiě)構(gòu)成,用符號(hào)和十進(jìn)制數(shù)代替機(jī)器語(yǔ)言中的二進(jìn)制編碼,便于人們記憶和書(shū)寫(xiě)。11計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言總體上可以分為低級(jí)語(yǔ)言和高級(jí)語(yǔ)言?xún)纱箢?lèi),低級(jí)語(yǔ)言是指機(jī)器語(yǔ)言和匯編語(yǔ)言;低級(jí)語(yǔ)言的低級(jí)并不是說(shuō)語(yǔ)言的功能性差,而是指與計(jì)算機(jī)硬件密切相關(guān),編寫(xiě)程序難度較大。機(jī)器語(yǔ)言和匯編語(yǔ)言都與計(jì)算機(jī)類(lèi)型有關(guān);匯編語(yǔ)言一般用于編制系統(tǒng)軟件和過(guò)程控制軟件1210.1.3結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言20世紀(jì)50年代后期,出現(xiàn)了許多脫離具體計(jì)算機(jī)硬件結(jié)構(gòu)的程序設(shè)計(jì)語(yǔ)言,人們稱(chēng)之為高級(jí)程序設(shè)計(jì)語(yǔ)言或結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。例如Basic、FORTRAN,Pascal等。例如,計(jì)算A=8+7并輸出結(jié)果的BASIC語(yǔ)言程序段如下:
A=8+7 PrintA13結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言:脫離具體計(jì)算機(jī)硬件結(jié)構(gòu)的程序設(shè)計(jì)語(yǔ)言。程序設(shè)計(jì)的核心是數(shù)據(jù)結(jié)構(gòu)和算法;通過(guò)數(shù)據(jù)結(jié)構(gòu)定義數(shù)據(jù)的存儲(chǔ)形式;通過(guò)算法研究如何用快捷、高效的方法來(lái)組織解決問(wèn)題的具體過(guò)程。
14結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言將注意力從機(jī)器轉(zhuǎn)移到問(wèn)題本身,它致力于用計(jì)算機(jī)能理解的邏輯來(lái)描述解決問(wèn)題的具體方法和步驟。151.結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言的基本特征:程序內(nèi)部結(jié)構(gòu)化:程序由順序、選擇(分支)和重復(fù)(循環(huán))3種結(jié)構(gòu)組成。程序模塊化:一個(gè)大程序由若干個(gè)功能獨(dú)立的、相互關(guān)聯(lián)的程序模塊(子程序、函數(shù)等)組成。程序模塊之間通過(guò)調(diào)用關(guān)系完成程序的整體功能??梢浦残院茫杭礊橐活?lèi)計(jì)算機(jī)設(shè)計(jì)的程序,經(jīng)少量改動(dòng)后可以在另一類(lèi)計(jì)算機(jī)上運(yùn)行。與低級(jí)語(yǔ)言相比,結(jié)構(gòu)化程序具有較好的移植性。16具有代表性的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言:FORTRAN語(yǔ)言:是FormulaTranslator的縮寫(xiě),在工程、數(shù)學(xué)和科學(xué)研究上是使用最廣泛的語(yǔ)言,尤其是在科學(xué)計(jì)算中發(fā)揮著極其重要的作用。Pascal語(yǔ)言:作為一門(mén)實(shí)用程序設(shè)計(jì)語(yǔ)言和教學(xué)工具,Pascal語(yǔ)言在高校計(jì)算機(jī)軟件教學(xué)中一直處于主導(dǎo)地位。
C語(yǔ)言:適合于系統(tǒng)描述,可以用于編寫(xiě)系統(tǒng)和應(yīng)用軟件。1710.1.4面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言O(shè)bjectOrientedProgramming,OOP早在20世紀(jì)60年代在實(shí)驗(yàn)室中就提出了面向?qū)ο蠓椒?,最早的面向?qū)ο筌浖?966年開(kāi)發(fā)的SimulaⅠ它首次提出模擬人類(lèi)思維方式,將數(shù)據(jù)和相關(guān)操作集成在一起。使得數(shù)據(jù)和處理數(shù)據(jù)的方法融為一體,更方便處理現(xiàn)實(shí)世界中復(fù)雜的事物。18面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言:對(duì)象:是程序中最基本的運(yùn)行實(shí)體,一個(gè)程序由若干個(gè)對(duì)象組成,各個(gè)對(duì)象既相互獨(dú)立,又通過(guò)消息相互聯(lián)系。類(lèi):是具有相同特征對(duì)象的抽象,是創(chuàng)建對(duì)象的模板
192.可視化程序設(shè)計(jì)在可視化程序設(shè)計(jì)中,
屬性、事件和方法是用于控制和管理對(duì)象的3個(gè)要素。屬性:用于描述對(duì)象的特征。事件:是對(duì)象響應(yīng)某種操作時(shí)的一種反映機(jī)制,是響應(yīng)某種操作的程序代碼入口。方法:一種子程序,調(diào)用時(shí)依附于對(duì)象,運(yùn)行時(shí)執(zhí)行相關(guān)的操作,也稱(chēng)之為對(duì)象函數(shù)。20具有代表性的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言:
C++語(yǔ)言:在C語(yǔ)言基礎(chǔ)上增加了面向?qū)ο蟮闹С?,基本兼容C語(yǔ)言程序。其特點(diǎn)是既支持結(jié)構(gòu)化程序設(shè)計(jì)方法,又支持面向?qū)ο蟪绦蛟O(shè)計(jì)方法,因此,也稱(chēng)之為混合型語(yǔ)言。
Delphi語(yǔ)言:是在Pascal基礎(chǔ)上開(kāi)發(fā)出來(lái)的可視化程序設(shè)計(jì)語(yǔ)言,是真正的面向?qū)ο缶幊陶Z(yǔ)言,執(zhí)行效率高,具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,是開(kāi)發(fā)中小型數(shù)據(jù)庫(kù)軟件的理想編程工具。
Java語(yǔ)言:Java也是一種跨平臺(tái)的程序設(shè)計(jì)語(yǔ)言,適合開(kāi)發(fā)基于網(wǎng)絡(luò)、多媒體、與平臺(tái)無(wú)關(guān)的應(yīng)用程序,應(yīng)用程序可以在網(wǎng)絡(luò)上傳輸,并可以運(yùn)行在任何計(jì)算機(jī)上。21網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言:通過(guò)網(wǎng)絡(luò)瀏覽器瀏覽的網(wǎng)頁(yè)可分為動(dòng)態(tài)網(wǎng)頁(yè)、靜態(tài)網(wǎng)頁(yè)兩種。標(biāo)記語(yǔ)言主要用于設(shè)計(jì)靜態(tài)網(wǎng)頁(yè),利用標(biāo)記標(biāo)注信息的類(lèi)型和位置。HTML腳本語(yǔ)言是介于HTML和編程語(yǔ)言之間的一種語(yǔ)言,主要用于設(shè)計(jì)動(dòng)態(tài)網(wǎng)頁(yè)。VBScriptJava22在計(jì)算機(jī)中,通常將結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言和面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言統(tǒng)稱(chēng)為高級(jí)程序設(shè)計(jì)語(yǔ)言,簡(jiǎn)稱(chēng)高級(jí)語(yǔ)言。2310.2程序任何以計(jì)算機(jī)為處理工具的任務(wù)都是對(duì)處理對(duì)象和規(guī)則的完整描述,這種描述稱(chēng)為程序。程序是用計(jì)算機(jī)語(yǔ)言設(shè)計(jì)的,為完成某一任務(wù)、按一定順序編排的指令序列。
要使程序起作用,必須將其裝入到內(nèi)存中執(zhí)行,程序的實(shí)際工作過(guò)程稱(chēng)為執(zhí)行或運(yùn)行。24
在屏幕上顯示字符串“HelloWorld”DSEG SEGMENTSTRING DB‘HelloWorld’,0DH,OAH,’$’;定義緩沖區(qū)
DSEG ENDSCSEG SEGMENT ASSUMECS:CSEG,DS:DSEGSTART: MOVAX,DSEG MOVDS,AX LEADX,STRING MOVAH,09H INT21H MOVAH,4CH INT21HCSEG ENDS ENDSTART25【例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)控制變量*/
For(i=2;i<=x;i++) /*循環(huán)控制語(yǔ)句,用于實(shí)現(xiàn)語(yǔ)句的多次執(zhí)行*/Result=Result*i; /*循環(huán)體,實(shí)現(xiàn)計(jì)算*/Returnresult; /*返回語(yǔ)句,將計(jì)算結(jié)果提交給調(diào)用者*/}Main() /*C語(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ù)提示*/
Scanf(“%d”,&i); /*輸入數(shù)據(jù)語(yǔ)句,輸入數(shù)據(jù)保存在變量i中*/
If(i==0) /*分支語(yǔ)句,用于輸入數(shù)據(jù)判斷*/Exit(0); /*輸入i值為0,調(diào)用函數(shù)exit結(jié)束程序*/Else /*分支否定條件,當(dāng)輸入i值不為零時(shí)*/If(i<0||i>10) /*判斷輸入數(shù)據(jù)范圍*/{Printf(“Datamustbewteen1and10.\n”); /*數(shù)據(jù)超界,提示合理范圍*/Continue; /*回到循環(huán)開(kāi)始位置,繼續(xù)判斷循環(huán)條件*/}s=fun(i); /*調(diào)用函數(shù)fun計(jì)算i階乘,結(jié)果存于變量s中*/
Printf("%d!=%ld\n",I,s); /*在屏幕上輸出計(jì)算結(jié)果*
}}26DimaAsIntegerDimbAsIntegerPrivateSubCommand1_Click()k=InStr(a,Text2,Text1)Ifk>0ThenCommand1.Caption="查找下一個(gè)"a=k+Len(Text1)Text2.SetFocusText2.SelStart=k-1Text2.SelLength=Len(Text1)b=b+1Else
MsgBox"查找完畢!共找到"&b&"個(gè)"&Text1Command1.Caption="查找“
a=1EndIf'PrintkEndSub27根據(jù)程序所處的開(kāi)發(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)為源程序文件。28可執(zhí)行程序是由源程序翻譯(編譯)生成的、真實(shí)的機(jī)器語(yǔ)言程序。在Windows中,最常用的可執(zhí)行程序文件擴(kuò)展名為EXE和COM。29動(dòng)態(tài)鏈接庫(kù)是由源程序生成的機(jī)器語(yǔ)言程序的另一種形式,主要作為可執(zhí)行程序的輔助文件,不能獨(dú)立運(yùn)行。主要作用:(1)提供應(yīng)用程序接口(API),User32.dll(2)程序動(dòng)態(tài)加載305.源程序的翻譯方式:編譯方式:通過(guò)程序設(shè)計(jì)語(yǔ)言提供的編譯器或生成工具,系統(tǒng)自動(dòng)對(duì)整個(gè)源程序逐句進(jìn)行詞法分析、語(yǔ)法分析并翻譯成機(jī)器語(yǔ)言指令。解釋方式:在程序設(shè)計(jì)語(yǔ)言環(huán)境中直接運(yùn)行源程序,在執(zhí)行每條語(yǔ)句前,系統(tǒng)先分析語(yǔ)句的詞法和語(yǔ)法,若語(yǔ)句正確,則生成并執(zhí)行機(jī)器語(yǔ)言指令,直到程序運(yùn)行結(jié)束。3110.3軟件工程基礎(chǔ)軟件工程是將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件開(kāi)發(fā)和維護(hù)整體過(guò)程的一門(mén)科學(xué),用數(shù)學(xué)、計(jì)算機(jī)科學(xué)和管理科學(xué)的原理,借助傳統(tǒng)工程科學(xué)的原則和方法創(chuàng)建與維護(hù)軟件,從而達(dá)到提高軟件質(zhì)量、降低軟件成本的目的。軟件工程學(xué)出現(xiàn)的目的是為緩解軟件危機(jī)。32軟件工程的誕生背景程序設(shè)計(jì)時(shí)代:用機(jī)器語(yǔ)言和匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)的時(shí)代。軟件開(kāi)發(fā)主要是個(gè)體手工勞動(dòng),完全依賴(lài)程序設(shè)計(jì)者的個(gè)人技能,不重視程序設(shè)計(jì)方法。
程序系統(tǒng)時(shí)代:高級(jí)程序設(shè)計(jì)語(yǔ)言出現(xiàn)后,提出了結(jié)構(gòu)化程序設(shè)計(jì)的方法,并成為軟件開(kāi)發(fā)的主要工具,稱(chēng)此階段為程序系統(tǒng)時(shí)代。
33供需矛盾;開(kāi)發(fā)成本和時(shí)間失控;質(zhì)量難以保障;維護(hù)困難。主要表現(xiàn)
:軟件危機(jī)是泛指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。
軟件發(fā)展速度落后于硬件發(fā)展水平,人們對(duì)軟件的需求得不到滿足。管理人員缺少開(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ù)用性降低。
34軟件工程主要包括軟件開(kāi)發(fā)技術(shù)和軟件工程管理。
軟件工程是一門(mén)交叉科學(xué),包含方法、工具和過(guò)程3個(gè)要素。35軟件工程包括三個(gè)要素:方法、工具和過(guò)程。
1.方法:完成軟件工程項(xiàng)目的技術(shù)手段,如支持項(xiàng)目計(jì)劃和估算、系統(tǒng)和軟件需求分析、軟件設(shè)計(jì)、編碼、測(cè)試和維護(hù)。
2.工具:支持軟件的開(kāi)發(fā)和管理,支持各種軟件文檔的生成。人們將用于軟件開(kāi)發(fā)的軟、硬件工具和軟件工程數(shù)據(jù)庫(kù)集成在一起,建立了集成軟件工程環(huán)境;
3.過(guò)程:支持軟件開(kāi)發(fā)各個(gè)環(huán)節(jié)的控制、管理。36軟件工程的基本目標(biāo)是付出較低的開(kāi)發(fā)成本,達(dá)到要求的軟件功能;按時(shí)完成開(kāi)發(fā)任務(wù),及時(shí)交付使用;開(kāi)發(fā)出來(lái)的軟件具有良好的穩(wěn)定性、可靠性、適應(yīng)性和可操作性,易于移植和維護(hù)。
37在軟件開(kāi)發(fā)過(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)行的干擾,其他模塊只能通過(guò)接口與之建立聯(lián)系。在一個(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)證性。
3810.4軟件生命周期軟件產(chǎn)品從形成概念開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、使用和維護(hù),直到最后退役的全過(guò)程稱(chēng)為軟件的生命周期。39在“計(jì)算機(jī)軟件開(kāi)發(fā)規(guī)范”的國(guó)家標(biāo)準(zhǔn)中,將軟件生存周期劃分為可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、代碼實(shí)現(xiàn)、軟件測(cè)試、使用與維護(hù)7個(gè)階段,在每個(gè)階段中都明確規(guī)定了任務(wù)、實(shí)施方法、步驟和完成標(biāo)志等,并要求產(chǎn)生相關(guān)的文檔。40軟件定義階段:1.可行性研究:也稱(chēng)軟件計(jì)劃或策劃階段
。此階段主要對(duì)待開(kāi)發(fā)系統(tǒng)涉及到的經(jīng)費(fèi)、軟/硬件技術(shù)、效益和法律等方面的問(wèn)題進(jìn)行可行性論證,制定系統(tǒng)開(kāi)發(fā)任務(wù)的實(shí)施計(jì)劃。
2.需求分析:需求是用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能和約束等方面的要求或期望。需求分析是對(duì)應(yīng)用問(wèn)題及其環(huán)境的理解與分析,為應(yīng)用問(wèn)題涉及的事物、功能及系統(tǒng)行為建立模型,將需求精確化和完整化,最終形成需求規(guī)格說(shuō)明書(shū)。
41需求分析的主要工作:獲取資料系統(tǒng)分析員與用戶進(jì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)等。42形成需求規(guī)格說(shuō)明書(shū)
需求分析的成果是需求規(guī)格說(shuō)明書(shū),通常包括數(shù)據(jù)描述、功能描述和性能描述等信息。它是待開(kāi)發(fā)軟件系統(tǒng)的預(yù)期目標(biāo),同時(shí)作為系統(tǒng)功能測(cè)試、評(píng)估和驗(yàn)收的依據(jù)。需求評(píng)審對(duì)需求規(guī)格說(shuō)明書(shū)進(jìn)行審核,驗(yàn)證文檔的一致性、完整性、正確性、可行性和有效性。43軟件開(kāi)發(fā)階段:3.概要設(shè)計(jì):也稱(chēng)結(jié)構(gòu)設(shè)計(jì)或總體設(shè)計(jì),根據(jù)需求確定軟件和數(shù)據(jù)的總體框架。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):也稱(chēng)數(shù)據(jù)對(duì)象設(shè)計(jì),主要任務(wù)是依據(jù)需求分析的數(shù)據(jù)模型,結(jié)合程序中涉及的算法,設(shè)計(jì)數(shù)據(jù)文件的邏輯結(jié)構(gòu)。軟件結(jié)構(gòu)設(shè)計(jì):按自頂向下、逐步求精和模塊化的設(shè)計(jì)原則,將一個(gè)軟件分解和規(guī)劃成若干個(gè)模塊,確定各模塊之間的關(guān)聯(lián)信息。
概要文檔:概要設(shè)計(jì)說(shuō)明書(shū)、數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)和軟件集成調(diào)試計(jì)劃等。
44軟件開(kāi)發(fā)階段3.概要設(shè)計(jì):也稱(chēng)結(jié)構(gòu)設(shè)計(jì)或總體設(shè)計(jì),根據(jù)需求確定軟件和數(shù)據(jù)的總體框架。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):也稱(chēng)數(shù)據(jù)對(duì)象設(shè)計(jì),主要任務(wù)是依據(jù)需求分析的數(shù)據(jù)模型,結(jié)合程序中涉及的算法,設(shè)計(jì)數(shù)據(jù)文件的邏輯結(jié)構(gòu)。軟件結(jié)構(gòu)設(shè)計(jì):按自頂向下、逐步求精和模塊化的設(shè)計(jì)原則,將一個(gè)軟件分解和規(guī)劃成若干個(gè)模塊,確定各模塊之間的關(guān)聯(lián)信息。
概要文檔:概要設(shè)計(jì)說(shuō)明書(shū)、數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)和軟件集成調(diào)試計(jì)劃等。
45軟件開(kāi)發(fā)階段4.詳細(xì)設(shè)計(jì):主要任務(wù)是設(shè)計(jì)軟件功能結(jié)構(gòu)圖中每個(gè)最低層模塊的局部算法(如數(shù)據(jù)排序、查找、統(tǒng)計(jì)等算法)和數(shù)據(jù)結(jié)構(gòu)(如需要的變量、數(shù)組等),確定每個(gè)模塊調(diào)用和數(shù)據(jù)傳輸接口(如參數(shù)、函數(shù)返回值、存儲(chǔ)數(shù)據(jù)的文件或表名等)。描述算法的常用工具有偽代碼(ProcedureDesignLanguage,PDL)、程序流程圖和N–S圖等,設(shè)計(jì)成果是詳細(xì)設(shè)計(jì)說(shuō)明書(shū)。46軟件開(kāi)發(fā)階段5.編碼實(shí)現(xiàn):需要選擇一種程序設(shè)計(jì)語(yǔ)言,進(jìn)入程序設(shè)計(jì)階段。通常利用菜單或窗口結(jié)合工具欄設(shè)計(jì)軟件功能結(jié)構(gòu)圖的總體框架,依據(jù)詳細(xì)設(shè)計(jì)中的算法和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)每個(gè)功能模塊的程序代碼,設(shè)計(jì)成果是源程序。47軟件開(kāi)發(fā)階段6.軟件測(cè)試:是對(duì)需求規(guī)格說(shuō)明書(shū)、概要設(shè)計(jì)說(shuō)明書(shū)及程序代碼等內(nèi)容的最后復(fù)審。軟件質(zhì)量保證貫穿于軟件開(kāi)發(fā)的整個(gè)過(guò)程,其中關(guān)鍵步驟是軟件測(cè)試;軟件測(cè)試目的是在軟件產(chǎn)品交付使用之前盡可能發(fā)現(xiàn)潛在的錯(cuò)誤;軟件測(cè)試主要檢測(cè)和更正語(yǔ)義和功能錯(cuò)誤
。48軟件開(kāi)發(fā)階段軟件測(cè)試的方法:靜態(tài)測(cè)試:不需要運(yùn)行軟件,由人工直接進(jìn)行閱讀和檢查源程序,包括代碼檢查、靜態(tài)結(jié)構(gòu)分析和代碼質(zhì)量度量等。動(dòng)態(tài)測(cè)試:是基于計(jì)算機(jī)的測(cè)試,通過(guò)運(yùn)行軟件發(fā)現(xiàn)錯(cuò)誤。這種方法需要測(cè)試人員根據(jù)軟件開(kāi)發(fā)規(guī)格說(shuō)明和程序內(nèi)部結(jié)構(gòu)精心地設(shè)計(jì)測(cè)試用例,通過(guò)輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果發(fā)現(xiàn)軟件中的錯(cuò)誤
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聯(lián)創(chuàng)聯(lián)建協(xié)議書(shū)
- 供應(yīng)商保密協(xié)議承諾書(shū)
- 馬鈴薯種薯購(gòu)銷(xiāo)合同書(shū)
- 2025年山東貨運(yùn)從業(yè)資格證答題技巧與方法
- 電力項(xiàng)目開(kāi)發(fā)合同(2篇)
- 電力合同結(jié)束協(xié)議(2篇)
- 2024秋六年級(jí)語(yǔ)文上冊(cè) 第一單元 4 花之歌說(shuō)課稿 新人教版
- 六年級(jí)上冊(cè)數(shù)學(xué)計(jì)算題200道(含答案)
- 川教版信息技術(shù)(2019)五年級(jí)上冊(cè)第三單元 圖形化編程之聰明的角色 3 克隆躲避隕石-說(shuō)課稿
- 服務(wù)員月初工作計(jì)劃范本
- 《工程電磁場(chǎng)》配套教學(xué)課件
- 遼寧省錦州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)及行政區(qū)劃代碼
- 改革開(kāi)放的歷程(終稿)課件
- 職位管理手冊(cè)
- IPQC首檢巡檢操作培訓(xùn)
- 餐飲空間設(shè)計(jì)課件ppt
- 肉制品加工技術(shù)完整版ppt課件全套教程(最新)
- (中職)Dreamweaver-CC網(wǎng)頁(yè)設(shè)計(jì)與制作(3版)電子課件(完整版)
- 行政人事助理崗位月度KPI績(jī)效考核表
- 紀(jì)檢監(jiān)察機(jī)關(guān)派駐機(jī)構(gòu)工作規(guī)則全文詳解PPT
- BP-2C 微機(jī)母線保護(hù)裝置技術(shù)說(shuō)明書(shū) (3)
評(píng)論
0/150
提交評(píng)論