版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
會(huì)計(jì)學(xué)1大學(xué)計(jì)算機(jī)基礎(chǔ)宋長(zhǎng)龍吉林大學(xué)現(xiàn)用2/88本章教學(xué)目的:
了解程序設(shè)計(jì)的基本概念、思想和方法,為今后學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言打好基礎(chǔ)。第1頁(yè)/共89頁(yè)3/88本章教學(xué)內(nèi)容:程序設(shè)計(jì)基本概念指令、指令系統(tǒng)、程序、軟件面向機(jī)器的語(yǔ)言面向過(guò)程的語(yǔ)言面向?qū)ο蟮恼Z(yǔ)言數(shù)據(jù)類型、常量、變量、表達(dá)式、控制結(jié)構(gòu)、輸入輸出、過(guò)程結(jié)構(gòu)化程序設(shè)計(jì)的原則
程序設(shè)計(jì)語(yǔ)言概述
程序基本構(gòu)成
結(jié)構(gòu)化程序設(shè)計(jì)第2頁(yè)/共89頁(yè)4/88本章教學(xué)內(nèi)容:面向?qū)ο蟪绦蛟O(shè)計(jì)中的基本概念簡(jiǎn)介VB程序設(shè)計(jì)語(yǔ)言用工程的思想開(kāi)發(fā)軟件介紹幾種常用程序設(shè)計(jì)語(yǔ)言
面向?qū)ο蟪绦蛟O(shè)計(jì)VB程序設(shè)計(jì)基礎(chǔ)
軟件工程基礎(chǔ)
典型程序設(shè)計(jì)語(yǔ)言概述第3頁(yè)/共89頁(yè)5/88程序的概念程序是為實(shí)現(xiàn)預(yù)期目的而進(jìn)行操作的一系列語(yǔ)句和指令。一般分為系統(tǒng)程序和應(yīng)用程序兩大類。計(jì)算機(jī)中的程序在港澳臺(tái)地區(qū)稱為程式。程序就是為使電子計(jì)算機(jī)執(zhí)行一個(gè)或多個(gè)操作,或執(zhí)行某一任務(wù),按序設(shè)計(jì)的計(jì)算機(jī)指令的集合。程序(program)是為實(shí)現(xiàn)特定目標(biāo)或解決特定問(wèn)題而用計(jì)算機(jī)語(yǔ)言編寫(xiě)的命令序列的集合。是用匯編語(yǔ)言、高級(jí)語(yǔ)言等開(kāi)發(fā)編制出來(lái)的可以運(yùn)行的文件,在計(jì)算機(jī)中稱可執(zhí)行文件(后綴名一般為.exe)。第4頁(yè)/共89頁(yè)6/88程序設(shè)計(jì)中的基本概念(1)指令:指揮計(jì)算機(jī)工作的命令,是計(jì)算機(jī)執(zhí)行的最小功能單位。指令的格式:指令通常由操作碼和操作數(shù)兩部分組成。操作碼操作數(shù)
指令是計(jì)算機(jī)能夠直接識(shí)別和執(zhí)行的二進(jìn)制命令,指令的數(shù)量和功能是由計(jì)算機(jī)設(shè)計(jì)者確定的。第5頁(yè)/共89頁(yè)7/88操作碼操作數(shù)指出指令的種類和性質(zhì)指出指令操作的數(shù)據(jù)(或存放位置)第6頁(yè)/共89頁(yè)8/88程序設(shè)計(jì)中的基本概念(2)指令系統(tǒng):一臺(tái)計(jì)算機(jī)中全部指令的集合,由計(jì)算機(jī)設(shè)計(jì)者確定。
從微處理器的指令系統(tǒng)來(lái)看,有CISC(復(fù)雜指令集)和RISC(簡(jiǎn)單指令集)兩個(gè)分支走向,CISC主要基于PC平臺(tái)應(yīng)用,而RISC則在嵌入式市場(chǎng)大行其道。
如果所有指令的長(zhǎng)度都相同,則稱為定長(zhǎng)指令系統(tǒng),否則稱為非定長(zhǎng)指令系統(tǒng)。CISC指令集強(qiáng)調(diào)指令的數(shù)量和功能,通常具有多條指令(200~300條),為編寫(xiě)程序提供了方便,但整體效率低。RISC指令集強(qiáng)調(diào)指令功能和效率,通常具有較少的指令(100條以內(nèi)),但每條指令的執(zhí)行效率都較高。第7頁(yè)/共89頁(yè)9/88程序設(shè)計(jì)中的基本概念(3)程序:源程序:機(jī)器語(yǔ)言程序:從實(shí)現(xiàn)層次上理解,程序是為完成某一特定任務(wù)、按一定順序組織的計(jì)算機(jī)指令序列。利用匯編語(yǔ)言或高級(jí)語(yǔ)言設(shè)計(jì)的程序稱為源程序。使用計(jì)算機(jī)指令編寫(xiě)的程序,是計(jì)算機(jī)能夠惟一識(shí)別的程序。第8頁(yè)/共89頁(yè)10/88
源程序需要轉(zhuǎn)換為機(jī)器語(yǔ)言程序才能被計(jì)算機(jī)識(shí)別和執(zhí)行,這個(gè)過(guò)程稱為編譯。源程序目標(biāo)程序機(jī)器語(yǔ)言程序編譯鏈接第9頁(yè)/共89頁(yè)11/88C語(yǔ)言的簡(jiǎn)單程序,其作用是在屏幕上顯示信息“Hello,world”第10頁(yè)/共89頁(yè)12/88編譯源程序連接編譯后的目標(biāo)程序第11頁(yè)/共89頁(yè)13/88解釋方式:所謂解釋程序是高級(jí)語(yǔ)言翻譯程序的一種,它將源語(yǔ)言(如BASIC)書(shū)寫(xiě)的源程序作為輸入,解釋一句后就提交計(jì)算機(jī)執(zhí)行一句,并不形成目標(biāo)程序。就像外語(yǔ)翻譯中的“口譯”一樣,說(shuō)一句翻一句,不產(chǎn)生全文的翻譯文本。由于它的方便性和交互性較好,早期一些高級(jí)語(yǔ)言采用這種方式,如BASIC、dBASE。但它的弱點(diǎn)是運(yùn)行效率低,程序的運(yùn)行依賴于開(kāi)發(fā)環(huán)境,不能直接在操作系統(tǒng)下運(yùn)行。第12頁(yè)/共89頁(yè)14/88程序設(shè)計(jì)中的基本概念(4)軟件(Software):注意:是用戶與硬件之間的接口界面,它是程序、數(shù)據(jù)及相關(guān)文檔的集合。程序是軟件,但軟件不僅僅是程序,它還包括功能說(shuō)明、性能說(shuō)明等信息,如使用說(shuō)明、維護(hù)說(shuō)明、操作指南和培訓(xùn)教材等內(nèi)容。第13頁(yè)/共89頁(yè)15/889.2程序設(shè)計(jì)語(yǔ)言概述
程序設(shè)計(jì)語(yǔ)言種類豐富,每種程序設(shè)計(jì)語(yǔ)言都有其適用范圍,如匯編語(yǔ)言用于控制過(guò)程、C語(yǔ)言用于開(kāi)發(fā)系統(tǒng)軟件,而JAVA則適合網(wǎng)頁(yè)設(shè)計(jì)。第14頁(yè)/共89頁(yè)16/889.2.1面向機(jī)器語(yǔ)言機(jī)器語(yǔ)言程序:使用計(jì)算機(jī)指令直接書(shū)寫(xiě)的程序,能夠被計(jì)算機(jī)直接識(shí)別和執(zhí)行。
編程者需要了解計(jì)算機(jī)的指令系統(tǒng)及計(jì)算機(jī)的硬件結(jié)構(gòu);指令的二進(jìn)制格式使得程序的編寫(xiě)和維護(hù)不方便。缺點(diǎn):第15頁(yè)/共89頁(yè)17/88101110000000100000000000000001010000011100000000以簡(jiǎn)單計(jì)算8+7為例:在微機(jī)中對(duì)應(yīng)的機(jī)器語(yǔ)言為:注意:可執(zhí)行程序是有格式文件,即這類文件有特定的結(jié)構(gòu),不能簡(jiǎn)單地只編輯文件內(nèi)容部分。第16頁(yè)/共89頁(yè)18/88常用面向機(jī)器語(yǔ)言為匯編語(yǔ)言。匯編語(yǔ)言以助記詞來(lái)代表命令及操作單元,為編寫(xiě)程序提供了方便。例如,加法使用add表示減法使用sub表示寄存器使用AX等表示第17頁(yè)/共89頁(yè)19/88使用匯編語(yǔ)言編寫(xiě)的源程序同樣需要編譯成機(jī)器語(yǔ)言程序才能被計(jì)算機(jī)識(shí)別和執(zhí)行。注意:在微機(jī)中對(duì)應(yīng)的匯編語(yǔ)言為:movAX,8addAX,7以簡(jiǎn)單計(jì)算8+7為例:第18頁(yè)/共89頁(yè)20/88由于不同種類計(jì)算機(jī)的性能、體系結(jié)構(gòu)的差別,機(jī)器語(yǔ)言程序具有機(jī)器相關(guān)性,即為一類計(jì)算機(jī)編寫(xiě)的程序一般不能應(yīng)用在另一類計(jì)算機(jī)系統(tǒng)中。注意:第19頁(yè)/共89頁(yè)21/889.2.2面向過(guò)程高級(jí)程序設(shè)計(jì)語(yǔ)言脫離具體計(jì)算機(jī)指令,使用人們熟悉的表達(dá)方式書(shū)寫(xiě)程序。如BASIC、FORTRAN、Pascal、C等。
面向過(guò)程程序設(shè)計(jì)的核心是數(shù)據(jù)結(jié)構(gòu)及其算法,即著名的沃思公式:
程序=數(shù)據(jù)結(jié)構(gòu)+算法。
對(duì)數(shù)據(jù)的描述,包括數(shù)據(jù)類型及其組織形式。
對(duì)操作的描述,即操作步驟(先后次序)。第20頁(yè)/共89頁(yè)22/88常用面向過(guò)程的語(yǔ)言:
Basic、FORTRAN、Pascal和C等。例如,如下C語(yǔ)言程序?qū)崿F(xiàn)兩個(gè)數(shù)的簡(jiǎn)單計(jì)算。main(){inta,b;a=10;b=20;printf(“a+b=%d\n”,a+b);}定義數(shù)據(jù)定義數(shù)據(jù)操作數(shù)據(jù)(算法)面向過(guò)程程序設(shè)計(jì)語(yǔ)言主要考慮控制流程問(wèn)題.第21頁(yè)/共89頁(yè)23/889.2.3面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言面向過(guò)程的語(yǔ)言將數(shù)據(jù)和處理數(shù)據(jù)的方法分割開(kāi)來(lái),對(duì)問(wèn)題的描述帶來(lái)困難。面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言引入類、對(duì)象等概念,使得數(shù)據(jù)和處理數(shù)據(jù)的方法融為一體,更方便處理現(xiàn)實(shí)世界中復(fù)雜的事物。如C++、Delphi、VisualStudio系列、java等。第22頁(yè)/共89頁(yè)24/88類是對(duì)對(duì)象的抽象,
將一個(gè)對(duì)象的相關(guān)數(shù)據(jù)和代碼封裝在一起,成為一個(gè)單元。對(duì)象是類的實(shí)例化,是程序可以操作的基本單元。身份證號(hào)姓名性別駕駛證號(hào)身份證號(hào)姓名性別駕駛證號(hào)踩剎車(chē)踩油門(mén)轉(zhuǎn)方向盤(pán)第23頁(yè)/共89頁(yè)25/88如何定義對(duì)象(程序環(huán)境提供操作)定義哪些對(duì)象(即程序界面如何布局)設(shè)置每個(gè)對(duì)象的屬性值(對(duì)象的外觀)為對(duì)象編寫(xiě)事件的響應(yīng)代碼(確定方法)對(duì)象之間通過(guò)消息傳遞形成一個(gè)完整的應(yīng)用系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計(jì)主要考慮的是:第24頁(yè)/共89頁(yè)26/889.3程序基本構(gòu)成數(shù)據(jù)運(yùn)算控制傳輸
描述程序中涉及的數(shù)據(jù),能夠處理的數(shù)據(jù)類型越豐富,則語(yǔ)言應(yīng)用范圍越廣。
能夠?qū)?shù)據(jù)進(jìn)行的加工處理操作。例如,數(shù)值能夠進(jìn)行乘除運(yùn)算,而文本則不能進(jìn)行乘除運(yùn)算。
對(duì)數(shù)據(jù)進(jìn)行加工處理的先后順序。
獲得加工數(shù)據(jù)、將數(shù)據(jù)送入加工處理單元、將加工的結(jié)果通過(guò)各種形式進(jìn)行利用。第25頁(yè)/共89頁(yè)27/889.3.1數(shù)據(jù)類型(1)基本數(shù)據(jù)類型:
包括整型、字符型、實(shí)型等。整型:用來(lái)描述整型數(shù)值,又可以分為短整型(short)、整型(integer)和長(zhǎng)整型(long)等。實(shí)型:用來(lái)描述實(shí)數(shù),又可以分為單精度(single)和雙精度(double)兩種類型。字符型:用來(lái)描述單個(gè)字符(char)信息,如‘a(chǎn)’
。第26頁(yè)/共89頁(yè)28/889.3.1數(shù)據(jù)類型(2)數(shù)組:使用一個(gè)標(biāo)識(shí)符定義多個(gè)變量。程序中用到的變量名、函數(shù)名等。
數(shù)組描述的是同類型的若干個(gè)量。例如,處理500名學(xué)生的成績(jī)信息,不可能定義500個(gè)簡(jiǎn)單整型量。
C語(yǔ)言中的定義:intscore[500];
VB中的定義:dimscore(100)asintegerVFP中的定義:dimesionscore(100)標(biāo)識(shí)符,數(shù)組變量名
數(shù)組的定義:第27頁(yè)/共89頁(yè)29/889.3.1數(shù)據(jù)類型(3)記錄:
用于描述復(fù)雜數(shù)據(jù)信息,例如描述學(xué)生檔案信息。
在數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)表存儲(chǔ)的就是記錄信息,其他程序設(shè)計(jì)語(yǔ)言通常要定義記錄類型。第28頁(yè)/共89頁(yè)30/88VB中記錄的定義:TyperkjszljsbhasintegerxmasstringxbasbytezzdhasstringyddhasstringEndtype記錄類型名記錄類型的教師編號(hào)屬性記錄類型的教師姓名屬性記錄類型的性別屬性記錄類型的住宅電話屬性記錄類型的移動(dòng)電話屬性結(jié)束記錄類型rkjszl的定義第29頁(yè)/共89頁(yè)31/88記錄類型相當(dāng)于數(shù)據(jù)庫(kù)表的結(jié)構(gòu)部分;對(duì)應(yīng)數(shù)據(jù)庫(kù)表的內(nèi)容(表體),可以定義數(shù)組實(shí)現(xiàn)。例如,
dimjs(50)asrkjszl記錄類型記錄類型數(shù)組{第30頁(yè)/共89頁(yè)32/889.3.2常量、變量和運(yùn)算符
常量:程序運(yùn)行過(guò)程中其內(nèi)容保持不變的量,例如:固定的數(shù)值和字符串等。常量分類:普通常量,如100,10.5,“中國(guó)”等。
符號(hào)常量,用標(biāo)識(shí)符代表某個(gè)常量。符號(hào)常量的定義:
C語(yǔ)言#definePI3.1415926VBconstPI=3.1415926VFP數(shù)據(jù)庫(kù)#definePI3.1415926第31頁(yè)/共89頁(yè)33/889.3.2常量、變量和運(yùn)算符
變量:程序運(yùn)行過(guò)程中其內(nèi)容可以變化的量,用來(lái)保存程序中用到的臨時(shí)數(shù)據(jù)。程序中用到的變量具有名稱和類型,先定義后使用,例如,在C語(yǔ)言中,
intk=10;即定義了一個(gè)整型變量,其名字為k,當(dāng)前存儲(chǔ)的值為10,在程序中可以為其重新賦值,從而改變其存儲(chǔ)值,例如語(yǔ)句k=20;則變量k存儲(chǔ)的內(nèi)容變?yōu)?0。第32頁(yè)/共89頁(yè)34/889.3.2常量、變量和運(yùn)算符算術(shù)運(yùn)算:+-*/^等字符運(yùn)算:&等關(guān)系運(yùn)算:>>=<<===!=等邏輯運(yùn)算:
andornot等運(yùn)算符第33頁(yè)/共89頁(yè)35/889.3.2常量、變量和運(yùn)算符表達(dá)式:由常量、變量及函數(shù)等通過(guò)運(yùn)算符連接而成的式子。具有某種功能的完整程序段,可以分為系統(tǒng)函數(shù)和自定義函數(shù)。例如sin函數(shù)、cos函數(shù)等都是系統(tǒng)函數(shù)。例如,在C語(yǔ)言中給定半徑計(jì)算圓的面積:
intr=10,s;s=3.1415926*pow(r,2);定義變量r,存儲(chǔ)半徑的值定義變量s,用來(lái)存儲(chǔ)計(jì)算的面積表達(dá)式3.1415926*pow(r,2)給變量s賦值,表達(dá)式中用到了常量3.1415926,變量r和冪函數(shù)pow第34頁(yè)/共89頁(yè)36/889.3.3控制結(jié)構(gòu)程序中語(yǔ)句的執(zhí)行順序構(gòu)成了程序的控制結(jié)構(gòu),通??刂平Y(jié)構(gòu)分為順序、分支和循環(huán)三種。使用三種結(jié)構(gòu)可以描述任何復(fù)雜的控制過(guò)程。第35頁(yè)/共89頁(yè)37/88控制結(jié)構(gòu)——順序結(jié)構(gòu)按語(yǔ)句書(shū)寫(xiě)的先后順序執(zhí)行。例如,有如下程序代碼:
a=10b=a+18c=a+b則執(zhí)行上述程序后,三個(gè)變量的值分別為:
a=10,b=28,c=38第36頁(yè)/共89頁(yè)38/88控制結(jié)構(gòu)——分支分支也稱為選擇,是按條件決定是否執(zhí)行某段代碼。條件代碼A代碼B成立不成立例如,求X=|Y|Y(Y≥0)-Y(Y<0){[C實(shí)現(xiàn)]if(y>=0)x=y;elsex=-y;第37頁(yè)/共89頁(yè)39/88分支語(yǔ)句舉例:判斷一個(gè)一元二次方程實(shí)根是否存在[C實(shí)現(xiàn)]
main(){inta,b,c;printf(“請(qǐng)輸入方程系數(shù)的值:”);scanf(“%d,%d,%d”,&a,&b,&c);if(b*b-4*a*c>=0)printf(“方程有兩個(gè)實(shí)根”);
elseprintf(“方程沒(méi)有實(shí)根”);
}第38頁(yè)/共89頁(yè)40/88控制結(jié)構(gòu)——循環(huán)循環(huán)也稱為重復(fù),是根據(jù)條件決定是否要反復(fù)執(zhí)行某段程序代碼。循環(huán)結(jié)構(gòu)在程序中較為常見(jiàn),例如,計(jì)算1+2+3+……+1000,是一種有規(guī)律的計(jì)算;工資管理系統(tǒng)中打印職工工資條,是一種重復(fù)操作。第39頁(yè)/共89頁(yè)41/88需要反復(fù)執(zhí)行的程序代碼稱為循環(huán)體。循環(huán)有控制條件,可以根據(jù)控制條件確定循環(huán)是否還需要執(zhí)行。例如1+2+3+……+1000運(yùn)算中,加上值1000后就不再計(jì)算;而打印職工工資條程序在打印出滿足條件的最后一名員工信息后將停止打印。循環(huán)可以分為當(dāng)型循環(huán)和直到型循環(huán)兩種。循環(huán)控制條件始終為真的循環(huán)稱為恒真循環(huán)。第40頁(yè)/共89頁(yè)42/88當(dāng)型循環(huán):當(dāng)條件成立時(shí)執(zhí)行循環(huán)體。不成立成立循環(huán)條件循環(huán)體語(yǔ)句第41頁(yè)/共89頁(yè)43/88直到型循環(huán):一直執(zhí)行循環(huán)體,直到條件成立。成立循環(huán)體語(yǔ)句不成立循環(huán)條件第42頁(yè)/共89頁(yè)44/88循環(huán)舉例:計(jì)算1+2+3+……+100的和。用C語(yǔ)言實(shí)現(xiàn):
inti=1,sum=0;while(i<=100){sum=sum+i;i=i+1;}順序執(zhí)行循環(huán)語(yǔ)句(當(dāng)型循環(huán))循環(huán)執(zhí)行過(guò)程:首先判斷條件,成立執(zhí)行語(yǔ)句sum=sum+ii=i+1此時(shí)sum=1,i=2轉(zhuǎn)去判斷條件i<=100,即2<=100,成立,執(zhí)行語(yǔ)句sum=sum+i,i=i+1,此時(shí)sum=3,i=3再去判斷條件,如此反復(fù),直到i=101,判斷條件不成立,結(jié)束循環(huán)。第43頁(yè)/共89頁(yè)45/889.3.4輸入輸出輸入輸出是計(jì)算機(jī)系統(tǒng)與用戶之間信息交流的一種主要手段。標(biāo)準(zhǔn)輸入設(shè)備:鍵盤(pán)、鼠標(biāo)標(biāo)準(zhǔn)輸出設(shè)備:顯示器、打印機(jī)其他設(shè)備:如磁盤(pán)、掃描儀、數(shù)碼相機(jī)、U盤(pán)等。存儲(chǔ)文件:如數(shù)據(jù)庫(kù)等。第44頁(yè)/共89頁(yè)46/889.3.5過(guò)程過(guò)程也稱為函數(shù),是功能獨(dú)立的一段程序。例如:給出半徑,計(jì)算對(duì)應(yīng)圓面積的過(guò)程。
floatarea(floatr){return3.14*r*r;}
使用過(guò)程可以使程序設(shè)計(jì)層次清晰、結(jié)構(gòu)易讀第45頁(yè)/共89頁(yè)47/889.4結(jié)構(gòu)化程序設(shè)計(jì)為規(guī)范程序設(shè)計(jì)而提出的一種程序設(shè)計(jì)方法。軟件生產(chǎn)的發(fā)展程序設(shè)計(jì)時(shí)代:個(gè)體手工勞動(dòng)程序系統(tǒng)時(shí)代:作坊式小集團(tuán)生產(chǎn),提出了結(jié)構(gòu)化方法軟件工程時(shí)代:工程化生產(chǎn),生產(chǎn)效率極大提高,但未能完全擺脫軟件危機(jī)第46頁(yè)/共89頁(yè)48/88結(jié)構(gòu)化程序設(shè)計(jì)原則:自頂向下:先考慮整體結(jié)構(gòu)逐步求精:再考慮局部細(xì)節(jié)模塊化:用功能模塊表現(xiàn)各部分性能限制使用GOTO語(yǔ)句:避免程序中出現(xiàn)隨意轉(zhuǎn)移問(wèn)題,使程序結(jié)構(gòu)清晰、易懂第47頁(yè)/共89頁(yè)49/88結(jié)構(gòu)化程序設(shè)計(jì)說(shuō)明:設(shè)計(jì)一個(gè)學(xué)生綜合信息管理系統(tǒng)學(xué)生綜合信息管理代碼維護(hù)學(xué)生信息各科成績(jī)統(tǒng)計(jì)報(bào)表①首先考慮整體功能第48頁(yè)/共89頁(yè)50/88結(jié)構(gòu)化程序設(shè)計(jì)說(shuō)明:設(shè)計(jì)一個(gè)學(xué)生綜合信息管理系統(tǒng)②隨后考慮每部分的實(shí)現(xiàn)細(xì)節(jié)例如,成績(jī)信息,在總體設(shè)計(jì)中已經(jīng)確定劃分為錄入成績(jī)、查詢成績(jī)和修改成績(jī)?nèi)齻€(gè)功能模塊,逐步求精即確認(rèn)每個(gè)功能模塊的是實(shí)現(xiàn)細(xì)節(jié),例如修改成績(jī),要有修改者的身份確認(rèn)方式、可以修改的內(nèi)容等細(xì)節(jié)因素。修改成績(jī)成績(jī)信息錄入成績(jī)查詢成績(jī)第49頁(yè)/共89頁(yè)51/88結(jié)構(gòu)化程序設(shè)計(jì)說(shuō)明:設(shè)計(jì)一個(gè)學(xué)生綜合信息管理系統(tǒng)③將每個(gè)功能模塊通過(guò)定義函數(shù)、過(guò)程等形式加以實(shí)現(xiàn),整體程序通過(guò)函數(shù)之間的調(diào)用形成一個(gè)整體。例如修改成績(jī)模塊,可以定義函數(shù)xgcj()實(shí)現(xiàn),查詢成績(jī)模塊可以定義函數(shù)cxcj()函數(shù)實(shí)現(xiàn)。修改成績(jī)成績(jī)信息錄入成績(jī)查詢成績(jī)第50頁(yè)/共89頁(yè)52/889.5面向?qū)ο蟪绦蛟O(shè)計(jì)對(duì)象是對(duì)客觀事物的描述,這里的客觀事物即可以是客觀實(shí)體,也可以是事件、過(guò)程或概念等。面向?qū)ο蟪绦蛟O(shè)計(jì)中的基本概念:類:對(duì)象:類是對(duì)象的抽象,是具有相同特征對(duì)象的集合。
客觀世界中任何事物都可以視為對(duì)象,是描述內(nèi)容的客觀表示。第51頁(yè)/共89頁(yè)53/88類的定義:classstudent_info{public:
voidsetinfo(intxh,charxm[]);voidprintinfo();private:intnum;charname[8];
floatscore[20];};方法setinfo,用于設(shè)置學(xué)生信息方法printinfo,用于顯示學(xué)生信息屬性num,存儲(chǔ)學(xué)號(hào)屬性name,保存姓名屬性score,存儲(chǔ)各科成績(jī)第52頁(yè)/共89頁(yè)54/88對(duì)象的定義:student_info
st_1,
st_2;類名對(duì)象名對(duì)象名第53頁(yè)/共89頁(yè)55/88類的特性:類的繼承性繼承是在已有類的基礎(chǔ)上生成新類。已有類稱為父類,新生成的類稱之為派生類或子類。通過(guò)繼承可以獲得已有類的數(shù)據(jù)和方法,而不必再次重復(fù)定義它們,而且在子類中還可以增加新屬性和新方法。
第54頁(yè)/共89頁(yè)56/88類的封裝性類的特性:所謂封裝,指的就是類中定義的數(shù)據(jù)只能被類中定義的方法所訪問(wèn),除此之外別無(wú)它法。
封裝性體現(xiàn)出來(lái)的是對(duì)類中數(shù)據(jù)成員的有效保護(hù),可以避免與此類無(wú)關(guān)的其他過(guò)程和方法訪問(wèn)類中數(shù)據(jù)。
第55頁(yè)/共89頁(yè)57/88類的多態(tài)性類的特性:多態(tài)性是指同一事件被不同對(duì)象接收可以引起不同反應(yīng)。
多態(tài)性通常體現(xiàn)在繼承上:在父類中定義的屬性和方法,被子類繼承后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。
第56頁(yè)/共89頁(yè)58/889.6VB程序設(shè)計(jì)基礎(chǔ)VB的特點(diǎn):可視化的設(shè)計(jì)界面
面向?qū)ο蟪绦蛟O(shè)計(jì)方法
事件驅(qū)動(dòng)編程機(jī)制
開(kāi)放的數(shù)據(jù)庫(kù)功能與網(wǎng)絡(luò)支持
充分利用Windows資源
VB即VisualBasic,是微軟公司推出的一種面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。第57頁(yè)/共89頁(yè)59/88VB中的基本概念VB中控件窗體對(duì)象對(duì)象
控件是在VB中事先定義好的、在程序中可以直接使用的對(duì)象,每個(gè)控件都有多個(gè)屬性、事件和方法
窗體(Form)也就是所謂的窗口,它是Windows環(huán)境下應(yīng)用程序的主要界面形式。
VB程序中窗體、窗體中的各種控件都是對(duì)象第58頁(yè)/共89頁(yè)60/88VB中的基本概念對(duì)象的事件對(duì)象的屬性對(duì)象的方法
屬性是描述對(duì)象特征的一組數(shù)據(jù),不同對(duì)象具有并不相同的屬性,如命令按鈕具有大小、位置、提示信息等屬性。
在VB中,事件是預(yù)先定義好的、能夠被對(duì)象識(shí)別的動(dòng)作,如命令按鈕可以單擊、雙擊等。
一般來(lái)說(shuō),方法就是要執(zhí)行的動(dòng)作,如刷新等。第59頁(yè)/共89頁(yè)61/88創(chuàng)建VB應(yīng)用程序的步驟:1、新建一個(gè)工程文件2、創(chuàng)建用戶界面4、編寫(xiě)事件響應(yīng)代碼3、設(shè)置界面對(duì)象屬性5、測(cè)試和調(diào)試應(yīng)用程序7、發(fā)布應(yīng)用程序6、創(chuàng)建可執(zhí)行文件在VB環(huán)境中開(kāi)發(fā)的每一個(gè)應(yīng)用程序都被稱為工程。新建了一個(gè)工程后,系統(tǒng)自動(dòng)給出工程中的一個(gè)空白窗體,可以在該窗體中根據(jù)需要進(jìn)行設(shè)計(jì)操作。在窗體中添加了控件對(duì)象后,應(yīng)該為對(duì)象進(jìn)行屬性設(shè)置。
事件響應(yīng)代碼是應(yīng)用程序所要完成的主要操作,窗體中的每一個(gè)對(duì)象都可以添加多種事件代碼。
通過(guò)“運(yùn)行”菜單→“啟動(dòng)”來(lái)運(yùn)行窗體進(jìn)行功能測(cè)試“文件”菜單→“生成<工程名>.exe”菜單項(xiàng)來(lái)生成可執(zhí)行文件工程名.exe。
使用VB系統(tǒng)提供的Package&Deployment向?qū)?chuàng)建安裝程序,可以確保將要發(fā)布的應(yīng)用程序具有運(yùn)行時(shí)所需的全部系統(tǒng)文件。第60頁(yè)/共89頁(yè)62/889.7軟件工程基礎(chǔ)軟件工程是將工程的思想應(yīng)用到軟件開(kāi)發(fā)設(shè)計(jì)過(guò)程中,是軟件設(shè)計(jì)方法學(xué)和工程管理學(xué)的結(jié)合體。軟件工程學(xué)出現(xiàn)的目的是為緩解軟件危機(jī)。第61頁(yè)/共89頁(yè)63/88軟件危機(jī)軟件危機(jī)是泛指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。軟件需求的增長(zhǎng)得不到滿足
軟件開(kāi)發(fā)成本和進(jìn)度無(wú)法控制
軟件質(zhì)量差,維護(hù)困難
軟件的可移植性差
第62頁(yè)/共89頁(yè)64/88軟件危機(jī)的原因:對(duì)軟件需求的描述不正確
軟件開(kāi)發(fā)人員對(duì)需求的理解和用戶的初衷不一致過(guò)分依賴程序設(shè)計(jì)人員在軟件開(kāi)發(fā)過(guò)程中的技巧和創(chuàng)造性,加劇了軟件產(chǎn)品的個(gè)性化大型項(xiàng)目管理人員缺少開(kāi)發(fā)經(jīng)驗(yàn),而開(kāi)發(fā)人員又缺少管理經(jīng)驗(yàn)第63頁(yè)/共89頁(yè)65/88軟件工程目標(biāo):
低成本、高性能。開(kāi)發(fā)的軟件易于移植、易于維護(hù)。能按時(shí)完成開(kāi)發(fā),及時(shí)交付使用。第64頁(yè)/共89頁(yè)66/88軟件生命周期將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱為軟件生命周期。軟件生命周期可以分為軟件定義(可行性研究與計(jì)劃制定;需求分析)、軟件開(kāi)發(fā)(概要設(shè)計(jì);詳細(xì)設(shè)計(jì);實(shí)現(xiàn);測(cè)試)及軟件運(yùn)行維護(hù)(使用;維護(hù);退役)三個(gè)階段。第65頁(yè)/共89頁(yè)67/88軟件生命周期模型:瀑布模型:可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)測(cè)試使用維護(hù)退役第66頁(yè)/共89頁(yè)68/88用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。其包括:
1、經(jīng)濟(jì)可行性研究
2、技術(shù)可行性研究
3、法律可行性研究
4、開(kāi)發(fā)方案的選擇性研究軟件開(kāi)發(fā)步驟1:可行性研究第67頁(yè)/共89頁(yè)69/88軟件開(kāi)發(fā)步驟2:需求分析軟件需求分析是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過(guò)程。需求分析階段的工作:需求獲?。恍枨蠓治?;編寫(xiě)需求規(guī)格說(shuō)明書(shū);需求評(píng)審。第68頁(yè)/共89頁(yè)70/88軟件需求規(guī)格說(shuō)明書(shū)包括的內(nèi)容
一、概述二、數(shù)據(jù)描述(數(shù)據(jù)流圖、數(shù)據(jù)字典、系統(tǒng)接口說(shuō)明、內(nèi)部接口)三、功能描述(功能、處理說(shuō)明、設(shè)計(jì)的限制)四、性能描述(性能參數(shù)、測(cè)試種類、預(yù)期的軟件響應(yīng)、應(yīng)考慮的特殊問(wèn)題)五、參考文獻(xiàn)目錄六、附錄第69頁(yè)/共89頁(yè)71/88軟件開(kāi)發(fā)步驟3:概要設(shè)計(jì)(總體設(shè)計(jì))概要設(shè)計(jì)的基本任務(wù):1、設(shè)計(jì)軟件的系統(tǒng)結(jié)構(gòu):整體特性2、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)設(shè)計(jì):抽象數(shù)據(jù)類型3、編寫(xiě)概要設(shè)計(jì)文檔:概要設(shè)計(jì)說(shuō)明書(shū),用戶手冊(cè),測(cè)試計(jì)劃等。4、概要設(shè)計(jì)文檔評(píng)審:方案的可行性、正確性、有效性和一致性。第70頁(yè)/共89頁(yè)72/88學(xué)生綜合信息管理系統(tǒng)結(jié)構(gòu)圖學(xué)生綜合信息管理代碼維護(hù)學(xué)生信息各科成績(jī)統(tǒng)計(jì)報(bào)表第71頁(yè)/共89頁(yè)73/88軟件開(kāi)發(fā)步驟4:詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)的任務(wù)是為軟件結(jié)構(gòu)圖中的每一個(gè)模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。
常見(jiàn)的過(guò)程設(shè)計(jì)工具有:
1、圖形工具:程序流程圖,N-S,PAD(ProblemAnalysisDiagram,問(wèn)題分析圖)
2、表格工具:判定表
3、語(yǔ)言工具:PDL(pseudocode,偽碼)⊙第72頁(yè)/共89頁(yè)74/88軟件開(kāi)發(fā)步驟5:編碼實(shí)現(xiàn)
編碼實(shí)現(xiàn)是程序員使用合適的程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)系統(tǒng)分析人員在詳細(xì)設(shè)計(jì)階段規(guī)定的具體任務(wù),是真正意義上的編寫(xiě)程序,也是程序員發(fā)揮創(chuàng)造性的階段。編碼實(shí)現(xiàn)的依據(jù)是詳細(xì)設(shè)計(jì)說(shuō)明書(shū)。
第73頁(yè)/共89頁(yè)75/88軟件開(kāi)發(fā)步驟6:軟件測(cè)試軟件測(cè)試是保證軟件質(zhì)量的重要手段,其主要過(guò)程涵蓋了整個(gè)軟件生命周期的過(guò)程,包括需求定義階段的需求測(cè)試、編碼階段的單元測(cè)試、集成測(cè)試以及后期的確認(rèn)測(cè)試、系統(tǒng)測(cè)試。第74頁(yè)/共89頁(yè)76/88軟件測(cè)試的目的查找軟件中的可能存在的錯(cuò)誤。測(cè)試是為查找軟件中的錯(cuò)誤,不是演示軟件功能。第75頁(yè)/共89頁(yè)77/88軟件測(cè)試的準(zhǔn)則所有測(cè)試都應(yīng)追溯到需求嚴(yán)格執(zhí)行測(cè)試計(jì)劃充分注意測(cè)試中的群集現(xiàn)象程序員應(yīng)避免檢查自己的程序窮舉測(cè)試不可能保存測(cè)試各結(jié)果,為維護(hù)提供方便第76頁(yè)/共89頁(yè)78/88軟件測(cè)試方法從是否需要執(zhí)行被測(cè)試軟件的角度,可以將測(cè)試分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。按照功能劃分可以將測(cè)試分為白盒測(cè)試和黑盒測(cè)試。第77頁(yè)/共8
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024離婚雙方的共同債權(quán)債務(wù)處理合同
- 2024苗木種植與園林苗木種植基地規(guī)劃與建設(shè)勞務(wù)分包協(xié)議3篇
- 2024版活動(dòng)場(chǎng)地使用合同范本
- 2025年度生態(tài)農(nóng)業(yè)園承包合同格式規(guī)范4篇
- 2024鎳礦國(guó)際貿(mào)易法律事務(wù)咨詢服務(wù)合同3篇
- 2025年度新能源車(chē)輛代理記賬與補(bǔ)貼申請(qǐng)合同4篇
- 2025年度文化產(chǎn)業(yè)發(fā)展總經(jīng)理聘用協(xié)議3篇
- 《蒸汽鍋爐維護(hù)與管理》課件
- 2025年度個(gè)人二手房交易反擔(dān)保合同規(guī)范4篇
- 2025年度博物館展覽館日常保潔與文物保護(hù)合同4篇
- GB/T 31888-2015中小學(xué)生校服
- 質(zhì)量檢查考核辦法
- 不動(dòng)產(chǎn)登記實(shí)務(wù)培訓(xùn)教程課件
- 不銹鋼制作合同范本(3篇)
- 云南省普通初中學(xué)生成長(zhǎng)記錄-基本素質(zhì)發(fā)展初一-初三
- 2023年系統(tǒng)性硬化病診斷及診療指南
- 外科醫(yī)師手術(shù)技能評(píng)分標(biāo)準(zhǔn)
- 《英語(yǔ)教師職業(yè)技能訓(xùn)練簡(jiǎn)明教程》全冊(cè)配套優(yōu)質(zhì)教學(xué)課件
- 采購(gòu)控制程序
- 六年級(jí)上冊(cè)數(shù)學(xué)簡(jiǎn)便計(jì)算題200題專項(xiàng)練習(xí)
- 冀教版八年級(jí)上冊(cè)Unit 1 單詞短語(yǔ)句型復(fù)習(xí)預(yù)習(xí)單
評(píng)論
0/150
提交評(píng)論