




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
公共基礎(chǔ)部分第一頁,共六十五頁,編輯于2023年,星期日第一部分?jǐn)?shù)據(jù)結(jié)構(gòu)與算法一、算法重點(diǎn)考點(diǎn)1、算法的概念(記憶)算法是指解決問題方案的準(zhǔn)確而完整的描述.2、算法的基本特征(記憶)
可行性,確定性,有窮性,擁有足夠的情報(bào)3、算法的控制結(jié)構(gòu)(記憶)順序,選擇(分支),循環(huán)第二頁,共六十五頁,編輯于2023年,星期日4、算法設(shè)計(jì)基本方法(理解+記憶)
列舉法、歸納法、遞推法、遞歸法、減半遞推技術(shù)比較遞推法和遞歸法遞推:從已知條件出發(fā),逐次推出中間結(jié)果和最后結(jié)果.遞歸:將問題逐層分解,解決簡(jiǎn)單問題,再朝逆方向綜合.
遞歸算法要比遞推算法清晰易讀,且易設(shè)計(jì),但執(zhí)行效率低第三頁,共六十五頁,編輯于2023年,星期日5、算法復(fù)雜度時(shí)間復(fù)雜度:是指執(zhí)行算法所需要的計(jì)算工作量.
空間復(fù)雜度:是指執(zhí)行算法所需要的存儲(chǔ)空間.存儲(chǔ)空間包括:算法程序所占空間,輸入原始數(shù)據(jù)所占空間執(zhí)行算法時(shí)需要的額外空間.
如果額外空間是常量,則稱該算法是”原地工作”第四頁,共六十五頁,編輯于2023年,星期日二、數(shù)據(jù)結(jié)構(gòu)的考點(diǎn)1、數(shù)據(jù)結(jié)構(gòu)的概念數(shù)據(jù)的邏輯結(jié)構(gòu):
指反應(yīng)數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu).如:春夏秋冬數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(物理結(jié)構(gòu)):
指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存儲(chǔ)形式.數(shù)據(jù)的邏輯結(jié)構(gòu)可以表示成多種存儲(chǔ)結(jié)構(gòu),不同的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)處理的效率不同.第五頁,共六十五頁,編輯于2023年,星期日2
、數(shù)據(jù)邏輯結(jié)構(gòu)的兩大結(jié)構(gòu)線形結(jié)構(gòu)和非線形結(jié)構(gòu)的基本概念非空的數(shù)據(jù)結(jié)構(gòu),滿足下列條件則為線形結(jié)構(gòu)(又稱線性表)
(1)有且只有一個(gè)根結(jié)點(diǎn)(2)每個(gè)節(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件.第六頁,共六十五頁,編輯于2023年,星期日1)、線形表的順序存儲(chǔ)結(jié)構(gòu)
是計(jì)算機(jī)中存儲(chǔ)線形表的最簡(jiǎn)單的方法.兩個(gè)基本特點(diǎn):(1)線形表中所有元素所占的空間都是連續(xù)的。(2)線形表中各數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放.第七頁,共六十五頁,編輯于2023年,星期日2)、線性鏈表
(1)概念:
線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)稱為線形鏈表.(2)存儲(chǔ)原理:
把存儲(chǔ)結(jié)點(diǎn)分成兩部分,第一部分存儲(chǔ)數(shù)據(jù)元素,第二部分存儲(chǔ)下一元素的序號(hào)(即存儲(chǔ)結(jié)點(diǎn)的地址).(3)特點(diǎn):各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,各結(jié)點(diǎn)在存儲(chǔ)空間中的位置與邏輯關(guān)系也不一致.(4)特別說明棧和隊(duì)列也可以采用鏈?zhǔn)酱鎯?chǔ)。第八頁,共六十五頁,編輯于2023年,星期日3、棧及基本運(yùn)算(1)棧的概念:
棧是限定在一端插入與刪除的線形表.允許插入和刪除端為棧頂,另一端為棧底,即滿足”先進(jìn)后出”的原則.FILO或LIFO“后進(jìn)先出”
(2)棧的基本運(yùn)算入棧:插入元素出棧:刪除元素讀棧:把棧頂元素賦給一個(gè)變量.第九頁,共六十五頁,編輯于2023年,星期日4、隊(duì)列隊(duì)列是允許在一端(隊(duì)尾)進(jìn)行插入,而在另一端(隊(duì)頭)進(jìn)行刪除的線形表.
特點(diǎn):
“先進(jìn)先出”FIFO或”后進(jìn)后出”LILO隊(duì)列運(yùn)算:入隊(duì):從隊(duì)尾插入退隊(duì):從隊(duì)頭刪除第十頁,共六十五頁,編輯于2023年,星期日三、樹與二叉樹1、概念:
樹:是一種簡(jiǎn)單的非線形結(jié)構(gòu),所有元素都有明顯的層次結(jié)構(gòu)。樹根,子結(jié)點(diǎn),樹葉度:一個(gè)結(jié)點(diǎn)所擁有的后件個(gè)數(shù)。
樹的度:所有結(jié)點(diǎn)中最大的度稱為樹的度。
深度:樹的最大層數(shù)稱為樹的深度,根結(jié)點(diǎn)是第一層。
第十一頁,共六十五頁,編輯于2023年,星期日2、二叉樹二叉樹:非空二叉樹只有一個(gè)根結(jié)點(diǎn),每個(gè)結(jié)點(diǎn)最多有兩棵子樹,且分別稱為左子樹,右子樹。特點(diǎn)(1)在第K層上,最多有2k-1(K>=1)個(gè)結(jié)點(diǎn)(2)深度為M的二叉樹,最多有2M-1個(gè)結(jié)點(diǎn)(深度指層數(shù))(3)任何二叉樹中,度為0的結(jié)點(diǎn)(葉子)總比度為2的結(jié)點(diǎn)多一個(gè)(4)具有n個(gè)結(jié)點(diǎn)的二叉樹,深度至少為[lon2n]+1第十二頁,共六十五頁,編輯于2023年,星期日3、完全二叉樹和滿二叉樹完全二叉樹是指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干結(jié)點(diǎn)。
滿二叉樹(最多結(jié)點(diǎn))滿二叉樹是指除最后一層外,每一層上的所有結(jié)點(diǎn)有兩個(gè)子結(jié)點(diǎn),則在第K層上有2k-1個(gè)結(jié)點(diǎn),深度為m的滿二叉樹有2m-1個(gè)結(jié)點(diǎn)。第十三頁,共六十五頁,編輯于2023年,星期日4、二叉樹的遍歷遍歷:是指不重復(fù)訪問二叉樹中的所有結(jié)點(diǎn)。
三種遍歷方式:前續(xù)遍歷(DLR):先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。
中序遍歷(LDR):首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。
后序遍歷(LRD):首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點(diǎn)。第十四頁,共六十五頁,編輯于2023年,星期日1.7查找技術(shù)指在一個(gè)給定的數(shù)據(jù)結(jié)構(gòu)中查找某個(gè)指定的元素。一、順序查找:1、順序查找效率低2、只能用順序查找的兩種情況:無序表;有序表但采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。3、長(zhǎng)度為n的線性表,最壞情況下,順序查找需比較n次,最好一次比較就成功,平均情況下,要比較n/2次。二、二分法查找:1、只適用順序存儲(chǔ)的有序表。2、最壞情況下,長(zhǎng)度為n的線性表需比較log2n次,最好一次比較就成功。第十五頁,共六十五頁,編輯于2023年,星期日1.8排序技術(shù)概念:將一個(gè)無序序列整理成按值非遞減順序排序的有序序列。分類:一、交換類排序冒泡排序法快速排序法二、插入類排序法簡(jiǎn)單插入排序希爾排序三、選擇類排序法簡(jiǎn)單選擇排序堆排序第十六頁,共六十五頁,編輯于2023年,星期日排序方法插入排序選擇排序交換排序歸并排序簡(jiǎn)單插入排序希爾排序簡(jiǎn)單選擇排序堆排序冒泡排序快速排序第十七頁,共六十五頁,編輯于2023年,星期日一、交換類排序冒泡排序法通過相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。分別從線性表的兩端,比較相鄰元素大小,大的下沉,小的上浮,來回比較。假設(shè)線性表的長(zhǎng)度為n,則在最壞的情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。第十八頁,共六十五頁,編輯于2023年,星期日快速排序法分割思想:選取一個(gè)元素,小于它的移到前面,大于它的移到后面,不斷分割。在最壞情況下需比較O(nlog2n)在最好的情況下,需要比較n(n-1)/2第十九頁,共六十五頁,編輯于2023年,星期日二、插入類排序法簡(jiǎn)單插入排序?qū)o序序列中的各元素依次插入到已有序的線性表中。在最壞情況下,簡(jiǎn)單插入排序需要n(n-1)/2次比較。希爾排序基本思想是:將整個(gè)無序序列分割成若干小的子序列分別進(jìn)行插入排序。按一定增量分組,增量逐漸減小。最壞情況下,希爾排序所需要的比較次數(shù)為O(n1.5)第二十頁,共六十五頁,編輯于2023年,星期日三、選擇類排序法簡(jiǎn)單選擇排序從中選出最小的元素,將它交換到表的最前面。簡(jiǎn)單選擇排序在最壞情況下需比較n(n-1)/2次。堆排序在最壞情況下需比較O(nlog2n)第二十一頁,共六十五頁,編輯于2023年,星期日排序總結(jié)好的情況:n(n-1)/2第二十二頁,共六十五頁,編輯于2023年,星期日練習(xí):第二十三頁,共六十五頁,編輯于2023年,星期日在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為
。長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為
。假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為
A)log2n B)n2C)O(n1..5) D)n(n-1)/2第二十四頁,共六十五頁,編輯于2023年,星期日冒泡排序算法在最好的情況下的元素交換次數(shù)為【1】
。
在最壞情況下,堆排序需要比較的次數(shù)為
【2】。最簡(jiǎn)單的交換排序方法是
A)快速排序 B)選擇排序C)堆排序 D)冒泡排序排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【1】
和選擇排序等。第二十五頁,共六十五頁,編輯于2023年,星期日在下列幾種排序方法中,要求內(nèi)存量最大的是
A)插入排序B)選擇排序C)快速排序 D)歸并排序希爾排序?qū)儆?/p>
A)交換排序B)歸并排序C)選擇排序 D)插入排序第二十六頁,共六十五頁,編輯于2023年,星期日第二部分程序設(shè)計(jì)基結(jié)構(gòu)化程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)1、程序設(shè)計(jì)方法和風(fēng)格(清晰第一、效率第二)(一)源程序文檔化(1)符號(hào)名的命名應(yīng)具有一定的實(shí)際含義,便于理解(2)程序應(yīng)加上一定的注釋,序言性注釋和功能性注釋(3)為使程序結(jié)構(gòu)一目了然,可以利用空格、空行、縮進(jìn)等技巧,是程序?qū)哟吻逦?/p>
第二十七頁,共六十五頁,編輯于2023年,星期日(二)數(shù)據(jù)說明的方法(1)數(shù)據(jù)說明的次序規(guī)范化(2)說明語句中變量安排有序化(3)使用注釋來說明復(fù)雜數(shù)據(jù)的結(jié)構(gòu)(三)語句的結(jié)構(gòu)(1)在一行內(nèi)只寫一條語句;盡量使用庫函數(shù)。(2)首先保證程序正確,然后再考慮提高效率。(3)避免使用臨時(shí)變量而使程序的可讀性下降(4)避免不必要的轉(zhuǎn)移,避免采用復(fù)雜的條件語句(5)要模塊化,是模塊功能盡可能單一化。高內(nèi)聚,低耦合(6)利用信息隱蔽,確保每個(gè)模塊的獨(dú)立性(7)不要修補(bǔ)不好的程序,要重新編寫第二十八頁,共六十五頁,編輯于2023年,星期日(四)輸入和輸出(1)對(duì)所有的輸入數(shù)據(jù)都要檢驗(yàn)數(shù)據(jù)的合法性(2)檢查輸入項(xiàng)的各種重要組合的合理性(3)輸入格式要簡(jiǎn)單,以使輸入的步驟和操作簡(jiǎn)單(4)輸入數(shù)據(jù)時(shí),應(yīng)允許使用自由格式(5)應(yīng)允缺省值。(6)輸入一批數(shù)據(jù)時(shí),最好使用輸入結(jié)束標(biāo)志。(7)以交互輸入/輸出方式進(jìn)行輸入時(shí),要采用人---機(jī)會(huì)話給出明確的提示信息和運(yùn)行的狀態(tài)信息(8)設(shè)計(jì)輸出報(bào)表格式第二十九頁,共六十五頁,編輯于2023年,星期日2、結(jié)構(gòu)化程序設(shè)計(jì)
(1)設(shè)計(jì)原則:自頂向下、逐步求精、模塊化、限制使用GOTO語句(2)結(jié)構(gòu)化程序的結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)(分支結(jié)構(gòu))重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu))第三十頁,共六十五頁,編輯于2023年,星期日3、結(jié)構(gòu)化程序設(shè)計(jì)的具體實(shí)施中,注意要素(1)使用順序、選擇和循環(huán)三種基本控制結(jié)構(gòu)表示程序的控制結(jié)構(gòu)。(2)選用的控制結(jié)構(gòu)只許有一個(gè)入口和一個(gè)出口(3)程序模塊化,每個(gè)模塊也只能有一個(gè)入口和一個(gè)出口(4)使用基本控制結(jié)構(gòu)進(jìn)行嵌套與組合來實(shí)現(xiàn)復(fù)雜結(jié)構(gòu)(5)用前后一致的方法來模擬3種基本結(jié)構(gòu)以外的控制結(jié)構(gòu)(6)嚴(yán)格控制GOTO語句的使用第三十一頁,共六十五頁,編輯于2023年,星期日4、面向?qū)ο蟪绦蛟O(shè)計(jì)優(yōu)點(diǎn)
(1)與人類習(xí)慣的思維方法一致,面向?qū)ο蟮暮诵氖菍?duì)象(2)穩(wěn)定性好(3)可重用性好,可繼承父類的所有屬性和方法(4)易于開發(fā)大型軟件產(chǎn)品(5)可維護(hù)性好(原因)穩(wěn)定性好、容易修改、容易理解、易于測(cè)試和調(diào)試第三十二頁,共六十五頁,編輯于2023年,星期日5、面向?qū)ο蠓椒ǖ幕靖拍?/p>
(1)對(duì)象對(duì)象是指一組屬性以及這組屬性上的專用操作的封裝對(duì)象由對(duì)象名、屬性和操作3部分組成。
對(duì)象的基本特點(diǎn):標(biāo)識(shí)惟一性、分類性、多態(tài)性封裝性、模塊獨(dú)立性好(2)封裝封裝是一種信息隱蔽技術(shù),用戶只能看見對(duì)象封裝界面上的信息,對(duì)象的內(nèi)部實(shí)現(xiàn)是隱蔽的。第三十三頁,共六十五頁,編輯于2023年,星期日(3)屬性屬性就是對(duì)象的特征,是對(duì)象外觀及行為的特征。(4)類和實(shí)例類:指具有共同屬性、方法的對(duì)象的集合實(shí)例:類的一個(gè)具體應(yīng)用就是一個(gè)實(shí)例(5)消息實(shí)例之間相互傳遞的信息叫消息第三十四頁,共六十五頁,編輯于2023年,星期日(6)繼承繼承是在已有的類定義的基礎(chǔ)上建立新類的定義技術(shù)。(7)多態(tài)性和動(dòng)態(tài)綁定多態(tài)性:指同一操作作用于不同對(duì)象可以有不同解釋產(chǎn)生不同的執(zhí)行結(jié)果。
動(dòng)態(tài)綁定:在運(yùn)行過程中,當(dāng)一個(gè)對(duì)象發(fā)送消息請(qǐng)求服務(wù)時(shí),根據(jù)接收對(duì)象的具體情況將請(qǐng)求的操作和具體實(shí)現(xiàn)的方法進(jìn)行連接。第三十五頁,共六十五頁,編輯于2023年,星期日例題講解第三十六頁,共六十五頁,編輯于2023年,星期日結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是
A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B)分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C)多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)D)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是
A)不限制goto語句的使用B)減少或取消注解行
C)程序越短越好 D)程序結(jié)構(gòu)應(yīng)有助于讀者理解
對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是
A)程序應(yīng)簡(jiǎn)單、清晰、可讀性好
B)符號(hào)名的命名只要符合語法
C)充分考慮程序的執(zhí)行效率
D)程序的注釋可有可無第三十七頁,共六十五頁,編輯于2023年,星期日結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是
A)程序的規(guī)模 B)程序的效率
C)程序設(shè)計(jì)語言的先進(jìn)性 D)程序易讀性以下不屬于對(duì)象的基本特點(diǎn)的是
A)分類性B)多態(tài)性C)繼承性 D)封裝性
在結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率,現(xiàn)在,與程序的效率相比,人們更重視程序的
A)安全性 B)一致性C)可理解性 D)合理性第三十八頁,共六十五頁,編輯于2023年,星期日下列敘述中,不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則的是
A)自頂向下 B)由底向上
C)模塊化 D)限制使用goto語句對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,是指對(duì)數(shù)據(jù)和數(shù)據(jù)的操作進(jìn)行
A)結(jié)合 B)隱藏
C)封裝D)抽象第三十九頁,共六十五頁,編輯于2023年,星期日在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一個(gè)對(duì)象為其服務(wù)的方式是通過發(fā)送A)調(diào)用語句B)命令C)口令D)消息下列對(duì)象概念描述錯(cuò)誤的是A)任何對(duì)象都必須有繼承性B)對(duì)象是屬性和方法的封裝體C)對(duì)象間的通訊靠消息傳遞D)操作是對(duì)象的動(dòng)態(tài)屬性第四十頁,共六十五頁,編輯于2023年,星期日在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組
【】
在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為
【】。一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的
【】。第四十一頁,共六十五頁,編輯于2023年,星期日一個(gè)對(duì)象是類的一個(gè)
【3】。
在面向?qū)ο蟮脑O(shè)計(jì)中,用來請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求稱為
【4】。
第四十二頁,共六十五頁,編輯于2023年,星期日
【3】是一種信息隱蔽技術(shù),目的在于將對(duì)象的使用者和對(duì)象的設(shè)計(jì)者分開。源程序文檔化要求程序應(yīng)加注釋。注釋一般分為序言性注釋和_____。在面向?qū)ο蠓椒ǚN,信息屏蔽是通過對(duì)象的_______性來實(shí)現(xiàn)的。第四十三頁,共六十五頁,編輯于2023年,星期日結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、______和限制使用goto語句。下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是______。第四十四頁,共六十五頁,編輯于2023年,星期日。面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對(duì)象是系統(tǒng)中用來描述客觀事物的一個(gè)______。下面概念中,不屬于面向?qū)ο蠓椒ǖ氖莀_____第四十五頁,共六十五頁,編輯于2023年,星期日第三部分軟件工程一、基本概念1、軟件定義和軟件特點(diǎn)
定義:軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整指令。與硬件相互依存,構(gòu)成計(jì)算機(jī)系統(tǒng)。特點(diǎn)1)軟件是一種邏輯實(shí)體(2)軟件的生產(chǎn)和硬件不同,沒有明顯的制作過程(3)軟件在運(yùn)行、使用期間不存在磨損、老化問題(4)軟件的開發(fā)和運(yùn)行具有依賴計(jì)算機(jī)系統(tǒng)的特性受計(jì)算機(jī)系統(tǒng)的限制,軟件移植可能會(huì)有問題(5)軟件的復(fù)雜性高,成本昂貴(6)軟件開發(fā)涉及諸多社會(huì)因素第四十六頁,共六十五頁,編輯于2023年,星期日2、軟件危機(jī)與軟件工程軟件危機(jī):指在軟件在開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。包括成本、質(zhì)量、生產(chǎn)率等
軟件工程:是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔實(shí)踐標(biāo)準(zhǔn)和工序核心思想是:把軟件產(chǎn)品作為一個(gè)工程產(chǎn)品處理。
軟件工程三要素:方法、工具和過程第四十七頁,共六十五頁,編輯于2023年,星期日3、軟件工程過程和軟件生命周期軟件工程過程:是指為了獲得軟件產(chǎn)品,由軟件工程師完成的一系列軟件工程活動(dòng)。
軟件工程四種活動(dòng):軟件規(guī)格說明、軟件開發(fā)、軟件確認(rèn)、軟件演進(jìn)
軟件生命周期:(1)可行性研究與計(jì)劃確定(2)需求分析(3)軟件設(shè)計(jì)(結(jié)構(gòu)模塊的劃分)(4)軟件實(shí)現(xiàn)(5)軟件測(cè)試(6)運(yùn)行和維護(hù)第四十八頁,共六十五頁,編輯于2023年,星期日4、軟件工程的目標(biāo)和原則
目標(biāo):付出較低的成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護(hù)費(fèi)用;能按時(shí)完成開發(fā),及時(shí)交付原則:抽象、信息隱蔽、模塊化、局部化、確定性一致性、完備性和可驗(yàn)證性。第四十九頁,共六十五頁,編輯于2023年,星期日二、結(jié)構(gòu)化分析1、需求分析
定義:通過文檔描述用戶解決問題或達(dá)到目標(biāo)所需的條件或權(quán)能,及系統(tǒng)要滿足合同、標(biāo)準(zhǔn)規(guī)范所具有的條件。
需求分析階段的工作:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評(píng)審第五十頁,共六十五頁,編輯于2023年,星期日2、需求分析的方法
(1)結(jié)構(gòu)化分析方法
SA:面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法
JSD:面向數(shù)據(jù)結(jié)構(gòu)Jackson方法
DSSD:面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法
(2)面向?qū)ο蟮姆治龇椒∣OA第五十一頁,共六十五頁,編輯于2023年,星期日3、結(jié)構(gòu)化分析方法定義:就是使用數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、結(jié)構(gòu)化英語、判定表和判定樹等工具,建立一種新的、稱為結(jié)構(gòu)化規(guī)格說明的目標(biāo)文檔。4、軟件需求規(guī)則說明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一
第五十二頁,共六十五頁,編輯于2023年,星期日5、軟件設(shè)計(jì)從技術(shù)觀點(diǎn)來看,軟件設(shè)計(jì)包括如下幾個(gè)過程:(1)軟件結(jié)構(gòu)設(shè)計(jì):定義軟件系統(tǒng)各部件之間的關(guān)系(2)數(shù)據(jù)設(shè)計(jì):將分析時(shí)創(chuàng)建的模型轉(zhuǎn)為數(shù)據(jù)結(jié)構(gòu)的定義(3)接口設(shè)計(jì):描述軟件內(nèi)部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信。(4)過程設(shè)計(jì):把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述從工程管理來看,軟件設(shè)計(jì)分為:(1)概要設(shè)計(jì):確定總體結(jié)構(gòu),模塊的劃分(2)詳細(xì)設(shè)計(jì):確定每一模塊的實(shí)現(xiàn)。第五十三頁,共六十五頁,編輯于2023年,星期日6、軟件模塊的獨(dú)立性
獨(dú)立性:每個(gè)模塊完成系統(tǒng)要求的獨(dú)立的功能,與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。獨(dú)立性的兩個(gè)標(biāo)準(zhǔn):耦合和內(nèi)聚(應(yīng)滿足:低耦合、高內(nèi)聚)耦合:模塊之間聯(lián)系的緊密程度。內(nèi)聚:模塊內(nèi)部各元素之間聯(lián)系的緊密程度第五十四頁,共六十五頁,編輯于2023年,星期日7、概要設(shè)計(jì)的準(zhǔn)則(1)提高模塊獨(dú)立性(2)模塊規(guī)模適度(3)深度、寬度、扇出和扇入適當(dāng)好的軟件結(jié)構(gòu)設(shè)計(jì)應(yīng)該滿足:頂層扇出教高、中間扇出教少、低層模塊高扇入(4)使模塊的作用域在該模塊的控制域內(nèi)(5)應(yīng)減少模塊的接口和界面的復(fù)雜性(6)設(shè)計(jì)成單入口和單出口的模塊第五十五頁,共六十五頁,編輯于2023年,星期日8、數(shù)據(jù)流類型兩種:交換流和事物流第五十六頁,共六十五頁,編輯于2023年,星期日9、軟件測(cè)試的目的和方法目的:盡可能多地發(fā)現(xiàn)軟件產(chǎn)品中的錯(cuò)誤和缺陷。準(zhǔn)則(1)所有測(cè)試應(yīng)追溯到需求(2)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性(3)充分注意測(cè)試中的群集顯現(xiàn)(4)程序應(yīng)避免檢查自己的程序(5)窮舉測(cè)試不能(6)妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。方法:白盒測(cè)試:根據(jù)程序的內(nèi)部邏輯來設(shè)計(jì)測(cè)試
黑盒測(cè)試:根據(jù)程序的功能說明來設(shè)計(jì)測(cè)試第五十七頁,共六十五頁,編輯于2023年,星期日10、軟件測(cè)試的實(shí)施過程單元測(cè)試:對(duì)各模塊進(jìn)行正確性檢驗(yàn)集成測(cè)試:測(cè)試與組裝軟件的測(cè)試,發(fā)現(xiàn)與接口有關(guān)的問題驗(yàn)收測(cè)試:驗(yàn)證軟件的功能、性能系統(tǒng)測(cè)試:將測(cè)試確認(rèn)的軟件加入到計(jì)算機(jī)系統(tǒng)中進(jìn)行測(cè)試第五十八頁,共六十五頁,編輯于2023年,星期日11、程序調(diào)試是指診斷和改正程序中的錯(cuò)誤。其關(guān)鍵是推斷程序內(nèi)部的錯(cuò)誤位置及原因。調(diào)試的步驟:錯(cuò)誤定位修改設(shè)計(jì)和代碼,以排除錯(cuò)誤進(jìn)行回歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。調(diào)試方法:(1)強(qiáng)行排錯(cuò)法(2)回溯法(3)原因排除法第五十九頁,共六十五頁,編輯于2023年,星期日第四部分?jǐn)?shù)據(jù)庫基礎(chǔ)知識(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電影票務(wù)平臺(tái)地區(qū)級(jí)代理合同
- 合同法修訂案:第一章 合同的訂立與生效
- 外資制造業(yè)-員工培訓(xùn)合同范本
- 木材采購與銷售合同模板
- 流動(dòng)人口計(jì)劃生育協(xié)作合同
- 干股收益分配合同(范本)
- 企事業(yè)單位監(jiān)控布防合同模板
- 合同責(zé)任死亡賠償金額解析
- 學(xué)校食堂食材采購合同模板
- Unit5 What day is it today?(教學(xué)設(shè)計(jì))-2023-2024學(xué)年教科版(廣州)英語四年級(jí)下冊(cè)
- 影視制作項(xiàng)目委托制作協(xié)議
- 廣東2024年12月佛山市教育局公開選調(diào)1名公務(wù)員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 植物角創(chuàng)設(shè)培訓(xùn)
- 法院生活費(fèi)申請(qǐng)書
- 2025年益陽醫(yī)學(xué)高等??茖W(xué)校高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫含答案解析
- 2025年湖南工藝美術(shù)職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫含答案解析
- 醫(yī)用氣體施工方案
- 2024 年陜西公務(wù)員考試行測(cè)試題(B 類)
- 人教版小學(xué)數(shù)學(xué)一年級(jí)下冊(cè)教案
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
評(píng)論
0/150
提交評(píng)論