第6章 程序設(shè)計(jì)軟工_第1頁(yè)
第6章 程序設(shè)計(jì)軟工_第2頁(yè)
第6章 程序設(shè)計(jì)軟工_第3頁(yè)
第6章 程序設(shè)計(jì)軟工_第4頁(yè)
第6章 程序設(shè)計(jì)軟工_第5頁(yè)
已閱讀5頁(yè),還剩48頁(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)介

我們畢業(yè)啦其實(shí)是答辯的標(biāo)題地方TaiyuanUniversityofTechnology大學(xué)計(jì)算機(jī)基礎(chǔ)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院

計(jì)算機(jī)基礎(chǔ)教學(xué)部3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部26.1程序、程序設(shè)計(jì)及軟件工程6.2程序設(shè)計(jì)語(yǔ)言6.3

程序設(shè)計(jì)6.4軟件工程基礎(chǔ)本章小結(jié)第6章程序設(shè)計(jì)及軟件工程基礎(chǔ)3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部36.1程序、程序設(shè)計(jì)及軟件工程3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部4計(jì)算機(jī)程序:使用計(jì)算機(jī)語(yǔ)言編寫(xiě)的若干條指令的有序集合稱(chēng)為計(jì)算機(jī)程序。程序設(shè)計(jì):指根據(jù)所提出的待解問(wèn)題,使用某種計(jì)算機(jī)語(yǔ)言編制程序代碼,來(lái)驅(qū)動(dòng)計(jì)算機(jī)能夠正確完成該任務(wù)的過(guò)程。軟件:是程序、數(shù)據(jù)以及開(kāi)發(fā)、使用和維護(hù)程序需要的所有文檔的完整結(jié)合。軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的一門(mén)學(xué)科,采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)和維護(hù)大型、復(fù)雜計(jì)算機(jī)軟件系統(tǒng)。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部56.2程序設(shè)計(jì)語(yǔ)言3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部66.2.1程序設(shè)計(jì)語(yǔ)言的發(fā)展及分類(lèi)

程序設(shè)計(jì)語(yǔ)言的發(fā)展是一個(gè)不斷演化的過(guò)程,從發(fā)展歷程來(lái)看,程序設(shè)計(jì)語(yǔ)言可以分為三類(lèi):機(jī)器語(yǔ)言→匯編語(yǔ)言→高級(jí)語(yǔ)言。如圖6.1所示。6.2.1程序設(shè)計(jì)語(yǔ)言的發(fā)展及分類(lèi)1.機(jī)器語(yǔ)言機(jī)器語(yǔ)言也稱(chēng)低級(jí)語(yǔ)言,是用二進(jìn)制代碼0、1表示的,它是最底層的計(jì)算機(jī)語(yǔ)言,用機(jī)器語(yǔ)言編寫(xiě)的程序計(jì)算機(jī)能夠直接識(shí)別和執(zhí)行。2.匯編語(yǔ)言匯編語(yǔ)言克服了機(jī)器語(yǔ)言的缺點(diǎn),采用助記碼和符號(hào)地址來(lái)表示機(jī)器指令,因此也稱(chēng)作符號(hào)語(yǔ)言。3.高級(jí)語(yǔ)言高級(jí)語(yǔ)言是一種接近于自然語(yǔ)言的程序設(shè)計(jì)語(yǔ)言,它按照人們的語(yǔ)言習(xí)慣,使用日常用語(yǔ)、數(shù)學(xué)公式和符號(hào)等表達(dá)方式,按照一定的語(yǔ)法規(guī)則來(lái)編寫(xiě)程序。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部76.2.1程序設(shè)計(jì)語(yǔ)言的發(fā)展及分類(lèi)4.幾種常用的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言幾種常用的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言:C語(yǔ)言、C++、Pascal語(yǔ)言、

VisualBasic、Java、創(chuàng)作工具、C#。5.未來(lái)的計(jì)算機(jī)語(yǔ)言

未來(lái)語(yǔ)言的發(fā)展將不在是一種單純的語(yǔ)言標(biāo)準(zhǔn),將會(huì)以一種完全面向?qū)ο?,更易表達(dá)現(xiàn)實(shí)世界,更易于人編寫(xiě),其使用將不再只是專(zhuān)業(yè)的編程人員,人們完全可以用訂制真實(shí)生活中一項(xiàng)工作流程的簡(jiǎn)單方式來(lái)完成編程。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部86.2.2語(yǔ)言處理程序

只要不是用機(jī)器語(yǔ)言編寫(xiě)的程序,計(jì)算機(jī)是無(wú)法直接執(zhí)行的。因此用匯編語(yǔ)言和高級(jí)語(yǔ)言編寫(xiě)的程序都需要“翻譯”。

語(yǔ)言處理程序的作用就是將匯編程序和高級(jí)語(yǔ)言程序翻譯成等價(jià)的機(jī)器語(yǔ)言程序。被翻譯的程序稱(chēng)為源程序,翻譯后生成的機(jī)器指令程序稱(chēng)為目標(biāo)程序。下面分別介紹匯編語(yǔ)言程序和高級(jí)語(yǔ)言程序的翻譯方式。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部96.2.2語(yǔ)言處理程序

1.匯編語(yǔ)言程序的翻譯處理

用匯編語(yǔ)言編寫(xiě)好的程序,必須經(jīng)過(guò)“匯編程序”(Assembler,能把用匯編語(yǔ)言書(shū)寫(xiě)的程序翻譯成機(jī)器語(yǔ)言程序的軟件)的翻譯,將其轉(zhuǎn)換成目標(biāo)程序,這一過(guò)程稱(chēng)為“匯編”。目標(biāo)程序一經(jīng)安置在內(nèi)存的預(yù)定位置上,就能被計(jì)算機(jī)的CPU處理和運(yùn)行。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部106.2.2語(yǔ)言處理程序

2.高級(jí)語(yǔ)言程序的翻譯處理對(duì)高級(jí)語(yǔ)言程序的翻譯有兩種方式,即編譯方式和解釋方式。(1)編譯方式編譯方式是指將源程序經(jīng)“編譯程序”翻譯后,形成可執(zhí)行目標(biāo)程序的過(guò)程。通常我們把用高級(jí)語(yǔ)言編寫(xiě)好的程序稱(chēng)為源程序,最終可被計(jì)算機(jī)執(zhí)行的機(jī)器指令程序稱(chēng)為目標(biāo)程序。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部116.2.2語(yǔ)言處理程序

(2)解釋方式在解釋方式過(guò)程中,首先要有一種稱(chēng)為“解釋程序”的系統(tǒng)軟件。解式方式的翻譯過(guò)程是這樣的:源程序進(jìn)入計(jì)算機(jī),“解釋程序”讀取源程序第一條語(yǔ)句后,翻譯成機(jī)器指令代碼并執(zhí)行之;接著讀取源程序第二條語(yǔ)句,翻譯并執(zhí)行,……,直到源程序的最后一條語(yǔ)句。即解釋方式的流程是:邊掃描邊解釋?zhuān)鹁漭斎耄鹁浞g,逐句執(zhí)行,并不產(chǎn)生目標(biāo)程序。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部126.2.3程序設(shè)計(jì)語(yǔ)言的選擇程序設(shè)計(jì)語(yǔ)言的選擇應(yīng)該考慮以下因素:(1)項(xiàng)目的應(yīng)用領(lǐng)域(2)算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性(3)軟件的執(zhí)行環(huán)境(4)性能因素(5)軟件開(kāi)發(fā)人員的知識(shí)3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部136.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成1.數(shù)據(jù)類(lèi)型數(shù)據(jù)是程序操作的對(duì)象。為了有效地在計(jì)算機(jī)中保存、處理數(shù)據(jù),各種程序設(shè)計(jì)語(yǔ)言都會(huì)提供若干種數(shù)據(jù)類(lèi)型,供用戶(hù)在程序設(shè)計(jì)中使用。數(shù)據(jù)類(lèi)型一般分為基本數(shù)據(jù)類(lèi)型和構(gòu)造數(shù)據(jù)類(lèi)型兩大類(lèi)。(1)基本數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型是指程序語(yǔ)言設(shè)計(jì)系統(tǒng)自身內(nèi)置的類(lèi)型。最主要的特點(diǎn)是,其值不可以再分解為其他類(lèi)型。不同的程序設(shè)計(jì)語(yǔ)言有不同的基本數(shù)據(jù)類(lèi)型,一般有整數(shù)類(lèi)型、實(shí)數(shù)類(lèi)型、字符類(lèi)型、邏輯類(lèi)型等。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部146.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成(2)構(gòu)造數(shù)據(jù)類(lèi)型構(gòu)造數(shù)據(jù)類(lèi)型是指由基本數(shù)據(jù)類(lèi)型按某種方式(可以由語(yǔ)言系統(tǒng)提供,也可以由用戶(hù)自定義)組合而成的類(lèi)型。一般有數(shù)組類(lèi)型、枚舉類(lèi)型、記錄類(lèi)型、集合類(lèi)型等。在程序中,使用數(shù)據(jù)類(lèi)型通常表明了數(shù)據(jù)的兩方面信息:第一,表明該類(lèi)型數(shù)據(jù)的取值形式、范圍和在計(jì)算機(jī)中的存儲(chǔ)與表示方式。第二,表明該類(lèi)型數(shù)據(jù)所能執(zhí)行的運(yùn)算種類(lèi),也就是說(shuō),能夠施加到不同類(lèi)型數(shù)據(jù)上的運(yùn)算是不同的。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部156.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成2.常量與變量(1)常量常量是指在程序執(zhí)行過(guò)程中其值保持不變的數(shù)據(jù)。常量在程序中常常以數(shù)字常量和符號(hào)常量的形式出現(xiàn)。例如計(jì)算圓面積的公式為Area=R×R×3.1415926,其中出現(xiàn)的3.1415926即是數(shù)字常量。有時(shí)候常量也可用符號(hào)來(lái)代替,例如若程序中多次使用到圓周率3.1415926,而這個(gè)數(shù)字書(shū)寫(xiě)起來(lái)又比較長(zhǎng),我們可以定義一個(gè)符號(hào)常量來(lái)代替3.1415926。例如:在C語(yǔ)言中,我們可以如下定義一個(gè)常量:FloatconstPI=3.1415926(3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部166.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成2.常量與變量(2)變量變量的實(shí)質(zhì)是指在程序運(yùn)行過(guò)程中其值可變化的內(nèi)存單元。為了便于識(shí)別或記憶,通常需要為變量指定一個(gè)標(biāo)識(shí)符,即定義變量名。變量名對(duì)應(yīng)于一個(gè)或一組存儲(chǔ)單元。由于變量是用來(lái)存放數(shù)據(jù)的,因此變量在使用前需要說(shuō)明其數(shù)據(jù)類(lèi)型,即變量在使用之前,必須對(duì)其類(lèi)型和名稱(chēng)進(jìn)行定義。這樣在編譯時(shí),編譯程序就可以為內(nèi)存中的變量分配相應(yīng)的存儲(chǔ)空間,以存放該變量的值。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部176.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成3.運(yùn)算符與表達(dá)式(1)運(yùn)算符:在程序中,對(duì)數(shù)據(jù)的處理主要是通過(guò)運(yùn)算實(shí)現(xiàn)的。高級(jí)程序設(shè)計(jì)語(yǔ)言中會(huì)包含多種形式的運(yùn)算,常見(jiàn)的運(yùn)算有:算術(shù)運(yùn)算:加、減、乘、除、取余。關(guān)系運(yùn)算:大于、大于等于、小于、小于等于、等于、不等于。邏輯運(yùn)算:與、或、非。字符運(yùn)算:連接。就可以為內(nèi)存中的變量分配相應(yīng)的存儲(chǔ)空間,以存放該變量的值。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部186.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成不同的高級(jí)程序設(shè)計(jì)語(yǔ)言提供的運(yùn)算符種類(lèi)或運(yùn)算符號(hào)略有不同。例如,常見(jiàn)運(yùn)算在VisualBasic中的表示形式如表6-1所示。(2)表達(dá)式:程序語(yǔ)言中的表達(dá)式是由一系列操作數(shù)和運(yùn)算符組合而成的,表達(dá)式的結(jié)果為一個(gè)具體的值。操作數(shù)可以是常量或變量。例如:表6-1中提供了,用VB語(yǔ)言書(shū)寫(xiě)的表達(dá)式示例。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部196.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成4.語(yǔ)句語(yǔ)句是程序中具有獨(dú)立含義的基本單位,通常分為說(shuō)明性語(yǔ)句和執(zhí)行性語(yǔ)句。說(shuō)明性語(yǔ)句通常用來(lái)說(shuō)明程序中的變量以及變量的數(shù)據(jù)類(lèi)型。執(zhí)行性語(yǔ)句常見(jiàn)的有賦值語(yǔ)句、輸入輸出語(yǔ)句等,如圖6.6所示。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部206.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成5.控制結(jié)構(gòu)控制結(jié)構(gòu)規(guī)定了程序中語(yǔ)句的執(zhí)行順序,高級(jí)程序語(yǔ)言中會(huì)含有多種形式的控制結(jié)構(gòu)語(yǔ)句,其中最基本的是:順序結(jié)構(gòu)控制語(yǔ)句、選擇結(jié)構(gòu)控制語(yǔ)句、循環(huán)結(jié)構(gòu)控制語(yǔ)句。(1)順序結(jié)構(gòu)控制語(yǔ)句3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部216.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成5.控制結(jié)構(gòu)(2)選擇結(jié)構(gòu)控制語(yǔ)句選擇結(jié)構(gòu)(或稱(chēng)分支結(jié)構(gòu))根據(jù)條件判定的結(jié)果,決定程序的執(zhí)行次序。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部226.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成5.控制結(jié)構(gòu)(3)循環(huán)結(jié)構(gòu)控制語(yǔ)句循環(huán)結(jié)構(gòu)又稱(chēng)重復(fù)結(jié)構(gòu)。一般有兩種循環(huán)形式:當(dāng)型循環(huán)結(jié)構(gòu)、直到型循環(huán)結(jié)構(gòu)。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部236.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成6.函數(shù)和過(guò)程為了使程序在結(jié)構(gòu)上更加清晰,避免程序段的重復(fù)書(shū)寫(xiě),可以把具有某些特定功能的或反復(fù)使用的程序段獨(dú)立出來(lái),這樣的程序段被稱(chēng)為過(guò)程(或子程序)或函數(shù)。過(guò)程和函數(shù)都不能獨(dú)立執(zhí)行,只有在某個(gè)程序中調(diào)用了這個(gè)過(guò)程或函數(shù),它才被執(zhí)行。高級(jí)程序設(shè)計(jì)語(yǔ)言提供了大量的已定義好的函數(shù),程序設(shè)計(jì)者可以根據(jù)需要在程序中直接調(diào)用這些函數(shù),大大提高了編程的效率。例如,使用某高級(jí)語(yǔ)言程序設(shè)計(jì)時(shí),要計(jì)算sin(300)的值,只需要在程序中調(diào)用該語(yǔ)言提供的sin()函數(shù)即可。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部246.2.4高級(jí)程序設(shè)計(jì)語(yǔ)言的組成7.注釋

注釋是程序的非有效部分,注釋并不要求計(jì)算機(jī)理解它們,它的作用是方便讀程序的人閱讀理解程序。不同的程序設(shè)計(jì)語(yǔ)言,都有自己的注釋規(guī)則。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部253/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部266.3

程序設(shè)計(jì)6.3.1程序設(shè)計(jì)的步驟

程序設(shè)計(jì)的步驟一般包括:?jiǎn)栴}分析和建立模型、算法設(shè)計(jì)、程序編碼、調(diào)試運(yùn)行和文檔編制,如圖6.11所示。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部276.3.1程序設(shè)計(jì)的步驟1.問(wèn)題分析和建立模型用計(jì)算機(jī)求解問(wèn)題,首先要設(shè)法把實(shí)際問(wèn)題抽象成數(shù)學(xué)問(wèn)題,即對(duì)其建立數(shù)學(xué)模型。明確哪些數(shù)據(jù)是問(wèn)題的輸入,指已知什么條件;明確數(shù)據(jù)具體的處理過(guò)程和要求,指希望計(jì)算機(jī)對(duì)輸入信息做什么樣的加工;哪些是期望的輸出,指希望得到什么結(jié)果,輸出什么類(lèi)型的報(bào)告、圖標(biāo)或信息?!纠?-5】在一個(gè)學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)中,首先需要分析問(wèn)題的輸入條件,比如學(xué)生的學(xué)號(hào)、姓名、各科的學(xué)習(xí)成績(jī)等。系統(tǒng)的輸出結(jié)果之一是要在屏幕上輸出總成績(jī)第一的學(xué)生的姓名和成績(jī)。那么相應(yīng)的處理過(guò)程就要對(duì)各個(gè)學(xué)生的各科成績(jī)求和,并找出合計(jì)值最大的學(xué)生作為第一名。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部286.3.1程序設(shè)計(jì)的步驟2.算法設(shè)計(jì)算法是解決問(wèn)題的步驟及其描述,是根據(jù)問(wèn)題分析中的信息得來(lái)的,是對(duì)問(wèn)題處理過(guò)程的進(jìn)一步細(xì)化。算法是程序編碼前對(duì)處理思想的一種描述,不能被計(jì)算機(jī)直接執(zhí)行?!纠?-6】針對(duì)上面例子設(shè)計(jì)的一種算法是:①輸入全部學(xué)生的姓名、學(xué)號(hào)及本學(xué)期的所有課程的成績(jī)。②對(duì)每個(gè)學(xué)生的各科成績(jī)求和。③按總成績(jī)的降序?qū)W(xué)生進(jìn)行排序。④取該排序列表的第一個(gè)學(xué)生。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部296.3.1程序設(shè)計(jì)的步驟3.程序編碼

編碼就是用計(jì)算機(jī)能夠識(shí)別的語(yǔ)言編寫(xiě)源程序的過(guò)程。首先應(yīng)當(dāng)選擇編程語(yǔ)言,然后用該語(yǔ)言來(lái)描述前面設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)和算法。4.調(diào)試運(yùn)行

調(diào)試運(yùn)行是解決程序錯(cuò)誤的主要手段,是程序設(shè)計(jì)過(guò)程中必不可少的階段。調(diào)試程序是一個(gè)不斷重復(fù)進(jìn)行的過(guò)程,需要有耐心和毅力,還需要有調(diào)試程序經(jīng)驗(yàn)的積累。

為了便于找出并解決程序的錯(cuò)誤,通常把程序錯(cuò)誤分為三類(lèi):語(yǔ)法錯(cuò)誤(編譯錯(cuò)誤)、邏輯錯(cuò)誤和運(yùn)行錯(cuò)誤。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部306.3.1程序設(shè)計(jì)的步驟5.文檔編制

文檔由程序說(shuō)明文件和用戶(hù)操作手冊(cè)組成。程序說(shuō)明文件記錄程序設(shè)計(jì)的算法,程序的實(shí)現(xiàn)以及修改的過(guò)程,以保證程序的可讀性和可維護(hù)性。用戶(hù)操作手冊(cè)讓用戶(hù)了解程序的使用方式以及正確的輸入數(shù)據(jù)。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部316.3.2程序設(shè)計(jì)的方法

1.結(jié)構(gòu)化程序設(shè)計(jì)方法(1)結(jié)構(gòu)化程序設(shè)計(jì)的基本思想

結(jié)構(gòu)化程序設(shè)計(jì)的基本思想是:采用“自頂向下、逐步求精”的模塊化程序設(shè)計(jì)原則,采用“單入口單出口”的控制結(jié)構(gòu),少用或最好不用GOTO語(yǔ)句。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部326.3.2程序設(shè)計(jì)的方法

自頂向下、逐步求精模塊化單入口單出口3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部336.3.2程序設(shè)計(jì)的方法

(2)結(jié)構(gòu)化程序設(shè)計(jì)的步驟

結(jié)構(gòu)化程序設(shè)計(jì)方法著眼于系統(tǒng)要實(shí)現(xiàn)的功能,從系統(tǒng)的輸入和輸出出發(fā),分析系統(tǒng)要做什么,以及如何做,自頂向下地對(duì)系統(tǒng)的功能進(jìn)行分解,建立系統(tǒng)的功能結(jié)構(gòu)和相應(yīng)的程序模塊結(jié)構(gòu),有效地將一個(gè)較復(fù)雜的程序設(shè)計(jì)任務(wù)分解成許多易于控制和處理的子任務(wù)。(3)結(jié)構(gòu)化程序設(shè)計(jì)實(shí)例【例6-8】使用結(jié)構(gòu)化的設(shè)計(jì)方法處理一個(gè)任務(wù):籌劃一個(gè)大型聚會(huì)。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部346.3.2程序設(shè)計(jì)的方法

2.面向?qū)ο蟪绦蛟O(shè)計(jì)方法(1)面向?qū)ο蟮幕靖拍顚?duì)象(Object)我們通常用對(duì)象描述客觀世界中的某個(gè)具體實(shí)體,對(duì)象可以是事、物或抽象概念。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象是指包含現(xiàn)實(shí)世界事務(wù)特征的抽象實(shí)體,它是將一組數(shù)據(jù)(屬性)和使用該數(shù)據(jù)的一組基本操作(方法)封裝在一起的實(shí)體。屬性用于描述對(duì)象的狀態(tài)特征,用屬性值來(lái)表示。方法用于描述對(duì)象的行為,是對(duì)對(duì)象的屬性的各種操作,用代碼來(lái)實(shí)現(xiàn)。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部356.3.2程序設(shè)計(jì)的方法

類(lèi)(Class)

類(lèi)這個(gè)詞指的是把對(duì)象歸入相關(guān)的組,描述它們共性的思想。類(lèi)是指具有相同屬性和方法的、并遵守相同規(guī)則的一組對(duì)象的集合。消息(Message)

消息是對(duì)象之間進(jìn)行通信的方式。一條消息內(nèi)容包含信息的接受者和對(duì)其執(zhí)行操作的請(qǐng)求。發(fā)送者發(fā)送消息,接受者通過(guò)調(diào)用相應(yīng)的方法響應(yīng)消息,這種通信機(jī)制稱(chēng)為消息傳遞。

消息傳遞是對(duì)象之間相互聯(lián)系的唯一途徑。消息傳遞的過(guò)程被不斷重復(fù)。從而驅(qū)動(dòng)整個(gè)程序的運(yùn)轉(zhuǎn)。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部366.3.2程序設(shè)計(jì)的方法

3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部376.3.2程序設(shè)計(jì)的方法

抽象性(Abstract)將客觀事物抽象成對(duì)象及類(lèi)是面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想,這種抽象包括兩個(gè)方面,一是數(shù)據(jù)抽象,二是代碼抽象。數(shù)據(jù)抽象定義了對(duì)象的屬性和狀態(tài);代碼抽象定義某類(lèi)對(duì)象的共同行為特征或具有的共同功能,即對(duì)象的方法。封裝性(Encapsulation)封裝就是把對(duì)象的屬性和行為結(jié)合成一個(gè)獨(dú)立的單位,并盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié)。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,只能通過(guò)受限的接口來(lái)讀取和修改對(duì)象的屬性值,不允許外界直接訪問(wèn)對(duì)象內(nèi)部,這樣的設(shè)計(jì)實(shí)現(xiàn)了數(shù)據(jù)隱藏的效果,保證了數(shù)據(jù)的安全,防止外部程序破壞對(duì)象的內(nèi)部數(shù)據(jù),使得程序的維護(hù)、修改和移植較為容易。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部386.3.2程序設(shè)計(jì)的方法

繼承性(Inheritance)繼承性是指特殊類(lèi)的對(duì)象擁有其一般類(lèi)的屬性和行為的方式。即子類(lèi)可以從父類(lèi)那里獲得所有的屬性和方法,并且通過(guò)繼承和改造擁有屬于自己的一套屬性與方法;同時(shí),子類(lèi)又可以派生出下一代子類(lèi)。例如,把“學(xué)生”類(lèi)看作父類(lèi),“大學(xué)生”類(lèi)和“中學(xué)生”類(lèi)可以看作“學(xué)生”類(lèi)的子類(lèi),它們和“學(xué)生”類(lèi)是繼承關(guān)系,繼承了“學(xué)生”類(lèi)(父類(lèi))的操作和屬性。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,繼承有效地支持了軟件代碼的復(fù)用,縮短了開(kāi)發(fā)周期,提高了軟件開(kāi)發(fā)的效率,同時(shí)也使軟件易于維護(hù)和修改。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部396.3.2程序設(shè)計(jì)的方法

多態(tài)性(Polymorphism)多態(tài)性是指當(dāng)同樣的消息被不同的對(duì)象接收時(shí),卻導(dǎo)致完全不同的行為。即通過(guò)繼承實(shí)現(xiàn)的不同對(duì)象調(diào)用相同的方法,表現(xiàn)出不同的行為,稱(chēng)之為多態(tài)。例如,有一個(gè)“幾何體”類(lèi),為其定義了一個(gè)名為area的操作,用于計(jì)算面積。如果“矩形”和“圓形”類(lèi)分別繼承了“幾何體”類(lèi),那么“矩形”和“圓形”類(lèi)分別繼承了“幾何體”類(lèi)的area操作。因?yàn)榫匦魏蛨A面積的計(jì)算公式不同,所以這兩個(gè)操作雖然具有相同的名字卻做不同的運(yùn)算。這樣就可以實(shí)現(xiàn)“一個(gè)接口,多種方法”。在面向?qū)ο蟪绦蛟O(shè)計(jì)中使用多態(tài)的概念,增強(qiáng)了程序?qū)陀^世界的模擬性,使得程序具有更好的可讀性,易于理解,從而顯著提高了軟件的可復(fù)用性和可擴(kuò)充性。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部40(2)面向?qū)ο蟪绦蛟O(shè)計(jì)的方法

在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,首先把問(wèn)題背景中的實(shí)體描述為對(duì)象,設(shè)計(jì)的思路不是將問(wèn)題分解為過(guò)程,而是將問(wèn)題分解為對(duì)象。用符合人類(lèi)認(rèn)識(shí)世界的思維方式來(lái)分析、解決問(wèn)題,使問(wèn)題空間與解空間具有一致性,降低了從問(wèn)題域到解空間映射的復(fù)雜性3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部413/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部426.4軟件工程基礎(chǔ)

6.4.1軟件工程的誕生及發(fā)展

軟件工程的誕生和發(fā)展是與軟件的發(fā)展過(guò)程緊密相關(guān)的。自從第一臺(tái)電子計(jì)算機(jī)誕生以來(lái),就開(kāi)始了軟件的生產(chǎn),“軟件工程”提出至今,在實(shí)踐中逐步成熟,在軟件的開(kāi)發(fā)與維護(hù)和軟件產(chǎn)業(yè)的發(fā)展中發(fā)揮了巨大的作用,它的發(fā)展大致可分為四個(gè)重要階段:第一階段(傳統(tǒng)的軟件工程)第二階段(對(duì)象工程)第三階段(軟件過(guò)程工程)第四階段(構(gòu)件工程)3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部43

6.4.2軟件工程的概念

1.軟件工程的定義

軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,借鑒傳統(tǒng)工程的原則、方法來(lái)創(chuàng)建軟件,從而達(dá)到提高質(zhì)量、降低成本的目的。2.軟件工程的基本目標(biāo)與原則目標(biāo):在低開(kāi)發(fā)成本、按時(shí)交付的前提下,開(kāi)發(fā)出滿(mǎn)足用戶(hù)需求的高

質(zhì)量軟件產(chǎn)品。原則:(1)選取適宜開(kāi)發(fā)范型。

(2)采用合適的設(shè)計(jì)方法。

(3)提供高質(zhì)量的工程支持。

(4)重視開(kāi)發(fā)過(guò)程的管理。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部44

6.4.2軟件工程的概念

3.軟件的生命周期

軟件生命周期是一個(gè)軟件從生到滅所歷經(jīng)的整個(gè)過(guò)程,具體來(lái)說(shuō)是從提出用戶(hù)需求開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、交付使用,在使用中不斷地增補(bǔ)修訂,直至軟件報(bào)廢的全過(guò)程。

通常把軟件的生命周期劃分為計(jì)劃、開(kāi)發(fā)和運(yùn)行三個(gè)時(shí)期,每一個(gè)時(shí)期又可以進(jìn)一步細(xì)劃為若干階段。軟件計(jì)劃時(shí)期一般有問(wèn)題定義和可行性研究2個(gè)階段;開(kāi)發(fā)時(shí)期有需求分析、軟件設(shè)計(jì)、編碼和測(cè)試4個(gè)階段;運(yùn)行時(shí)期主要是維護(hù)階段。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部456.4.2軟件工程的概念

4.軟件工程的研究?jī)?nèi)容和基本原理(1)軟件工程研究的內(nèi)容軟件工程的研究?jī)?nèi)容主要包括標(biāo)準(zhǔn)與規(guī)范、過(guò)程與模型、方法與技術(shù)、工具和環(huán)境四個(gè)方面。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部466.4.2軟件工程的概念

4.軟件工程的研究?jī)?nèi)容和基本原理(2)軟件工的基本原理①用分階段的生命周期計(jì)劃嚴(yán)格管理。②堅(jiān)持進(jìn)行階段評(píng)審。③實(shí)行嚴(yán)格的產(chǎn)品控制。④采納現(xiàn)代程序設(shè)計(jì)技術(shù)。⑤結(jié)果應(yīng)能清楚地審查。⑥開(kāi)發(fā)小組的人員應(yīng)少而精。⑦承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。3/3/2024太原理工大學(xué).計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院.計(jì)算機(jī)基礎(chǔ)教學(xué)部476.4.3軟件開(kāi)發(fā)模型

在軟件系統(tǒng)的開(kāi)發(fā)過(guò)程中,為了從宏觀上管理軟件的計(jì)劃、開(kāi)發(fā)和維護(hù),就必須對(duì)軟件的開(kāi)發(fā)過(guò)程有總體的認(rèn)識(shí)和描述,即要建立軟件開(kāi)發(fā)模型。軟件開(kāi)發(fā)模型提供了軟件生命周期中全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。目前已經(jīng)提出了多種具體的軟件開(kāi)發(fā)模型,如瀑布模型、原型模型、增量模型、螺旋模型、統(tǒng)一過(guò)程(RUP)模型、敏捷過(guò)程模型等。1.瀑布模型

瀑布模型也稱(chēng)生命周期模型或線性順序模型。它將軟件開(kāi)發(fā)過(guò)程劃分成若干個(gè)互相區(qū)別而又彼此聯(lián)系的階段,每個(gè)階段中的工作都以上一個(gè)階段工作的結(jié)果為依據(jù),同時(shí)為下一個(gè)階段的工作提供前提。最終得到軟件系統(tǒng)或軟件產(chǎn)品。

溫馨提示

  • 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)論