(完整word版)軟件工程知識點總結(jié)0001_第1頁
(完整word版)軟件工程知識點總結(jié)0001_第2頁
(完整word版)軟件工程知識點總結(jié)0001_第3頁
(完整word版)軟件工程知識點總結(jié)0001_第4頁
(完整word版)軟件工程知識點總結(jié)0001_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程(簡要知識點) 軟件定義 問題定義(確定題目) 可行性研究 需求分析 軟件生命周 期: 軟件開發(fā) 系統(tǒng)設(shè)計 概要設(shè)計 詳細設(shè)計 編碼和單兀測試 綜合測試 17 I運行維護:主要任務(wù)是使軟件持久地滿足用戶的需要 一、.軟件過程五個模型對比(瀑布模型、快速原型、增量、螺旋、噴泉模型) 二、可行性研究: 1、任務(wù):用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。 2、四個方面:技術(shù)、經(jīng)濟、操作可行性、法律 3、 數(shù)據(jù)流圖四種成分:1、源點/終點2、處理3、數(shù)據(jù)存儲4、數(shù)據(jù)流 三、需求分析: 1、任務(wù):確定系統(tǒng)必須完成哪些工作,對目標系統(tǒng)提出完整、清晰、具體的要 求。 2、結(jié)構(gòu)化方法就是面

2、向數(shù)據(jù)流自頂向下逐步求精進行需求分析的方法。 3、 實體聯(lián)系圖:1、數(shù)據(jù)對象2、屬性3、聯(lián)系(1:1、1: N、M:N) 四、總體設(shè)計: 1. 任務(wù):回答“概括的說,系統(tǒng)應(yīng)該如何實現(xiàn)”,用比較抽象概括的方式確定系 統(tǒng)如何完成預(yù)定的任務(wù),也就是說應(yīng)該確定系統(tǒng)的物理配置方案, 并且進而確定 組成系統(tǒng)的每個程序結(jié)構(gòu)。 2. 系統(tǒng)設(shè)計階段(確定系統(tǒng)具體實施方案)、結(jié)構(gòu)設(shè)計階段(確定軟件結(jié)構(gòu)) 3模塊獨立:內(nèi)聚和耦合 4、耦合表示一個軟件結(jié)構(gòu)內(nèi)各個模塊之間的互連程度,應(yīng)盡量選用松散耦合的 系統(tǒng) 卡高 數(shù)脫令 控制船 公腑 內(nèi)容齢 強一模塊啦性弱 5.內(nèi)聚(Cohesion): 個模塊內(nèi)各元素結(jié)合的緊密程

3、度 高內(nèi)聚性低 功能內(nèi)聚 信息內(nèi)聚 通信內(nèi)聚 過程內(nèi)聚 時間內(nèi)聚 邏輯內(nèi)聚 巧合內(nèi)聚 強模塊獨立性弱 功能單一功能分散 6. 面向數(shù)據(jù)流的設(shè)計方法:變換流和事務(wù)流 五、詳細設(shè)計: 1任務(wù):確定應(yīng)該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就是說經(jīng)過這個階段的設(shè)計 工作應(yīng)該得出對目標系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯 成用某種程序設(shè)計語言書寫的程序。 2. 過程設(shè)計的工具(程序流程圖、盒圖、 PAD圖、判定表、判定樹) 七、測試: 1、單元測試:又稱模塊測試。每個程序模塊完成一個相對獨立的子功能,所以 可以對該模塊進行單獨的測試。由于每個模塊都有清晰定義的功能,所以通常 比較容易設(shè)計相應(yīng)的

4、測試方案,以檢驗每個模塊的正確性。 2、集成測試: 在單元測試完成后,要考慮將模塊集成為系統(tǒng)的過程中可能出現(xiàn)的問題,例如, 模塊之間的通信和協(xié)調(diào)問題,所以在單元測試結(jié)束之后還要進行集成測試。 這個 步驟著重測試模塊間的接口,子功能的組合是否達到了預(yù)期要求的功能, 全程數(shù) 據(jù)結(jié)構(gòu)是否有問題等。 3、白盒測試技術(shù)(邏輯覆蓋、基本路經(jīng)測試) 白盒測試時將程序看作是一個透明的盒子,也就是說測試人員完全了解程 序的內(nèi)部結(jié)構(gòu)和處理過程。所以測試時按照程序內(nèi)部的邏輯測試程序、檢驗程 序中的每條通路是否都能按預(yù)定的要求正確工作。白盒測試又稱為結(jié)構(gòu)測試。 4、語句覆蓋就是設(shè)計足夠的調(diào)試用例,使得程序中的每個語句

5、至少執(zhí)行一次。 5、 判定覆蓋就是設(shè)計足夠的測試用例,使得程序中每個判定的取真”分支和取 假”分支至少都執(zhí)行一次,判定覆蓋又稱分支覆蓋 6條件覆蓋就是設(shè)計足夠的測試用例,使得程序判定中的每個條件能獲得各種 可能的結(jié)果。 7、判定/條件覆蓋就是設(shè)計足夠的測試用例,使得判定中的每個條件都取到各 種可能的值,而且每個判定表達式也都取到各種可能的結(jié)果。 8、條件組合覆蓋就是設(shè)計足夠的測試用例,使得每個判定中的條件的各種可能 組合都至少出現(xiàn)一次。 9、黑盒測試技術(shù)(等價劃分) 黑盒測試時完全不考慮程序內(nèi)部的結(jié)構(gòu)和處理過程,只按照規(guī)格說明書的 規(guī)定來檢查程序是否符合它的功能要求。黑盒測試是在程序接口進行的

6、測試, 又稱為功能測試。 1)、黑盒測試檢查的主要方面有: 程序的功能是否正確或完善; 數(shù)據(jù)的輸入能否正確接收,輸出是否正確; 是否能保證外部信息(如數(shù)據(jù)文件)的完整性等。 用黑盒法設(shè)計測試用例時,必須用所有可能的輸入數(shù)據(jù)來檢查程序是否都能產(chǎn) 生正確的輸出 2)、等價類劃分 等價類的劃分在很大程度上依靠的是測試人員的經(jīng)驗,下面給出幾條基 本原則: (1)如果輸入條件規(guī)定了取值范圍,則可劃分出一個有效的等價類(輸入值在 此范圍內(nèi))和兩個無效的等價類(輸入值小于最小值、輸入值大于最大值)。 (2)如果輸入條件規(guī)定了輸入數(shù)據(jù)的個數(shù),則可相應(yīng)地劃分出一個有效的等價 類(輸入數(shù)據(jù)的個數(shù)等于給定的個數(shù)要求

7、)和兩個無效的等價類(輸入數(shù)據(jù)的個 數(shù)少于給定的個數(shù)要求、輸入數(shù)據(jù)的個數(shù)多于給定的個數(shù)要求)。 (3)如果輸入條件規(guī)定了輸入數(shù)據(jù)的一組可能的值,而且程序?qū)@組可能的值 做相同的處理,則可將這組可能的值劃分為一個有效的等價類,而這些值以外 的值劃分成無效的等價類。 (4)如果輸入條件規(guī)定了輸入數(shù)據(jù)的一組可能的值,但是程序?qū)Σ煌妮斎胫?做不同的處理,則每個輸入值是一個有效的等價類,此外還有一個無效的等價 類(所有不允許值的集合)。 (5)如果輸入條件規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可以劃分一個有效的等 價類(符合規(guī)則)和若干個無效的等價類(從各種角度違反規(guī)則)。 八、維護(改正性維護、適應(yīng)性維護

8、、完善性維護、預(yù)防性維護) 九、決定軟件可維護性因素(可理解性、可測試性、可修改性、可移植性、可重 用性) 十、對象模型1、關(guān)聯(lián)2、聚集3、泛化4、依賴和細化 軟件工程(詳細復(fù)習(xí)內(nèi)容) 第一章緒論 1.1軟件危機 1、軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。 (熟記) 2、了解軟件危機主要的一些典型表現(xiàn)。 3、出現(xiàn)軟件危機的原因: 4、消除軟件危機的途徑:首先,我們要對計算機軟件有一個正確的認識;更重 要的是,必須充分認識到軟件開發(fā)不是某種個體勞動的神秘技巧,而應(yīng)該是一 種組織良好、管理嚴格、各類人員協(xié)同配合、共同完成的工程項目;最后,應(yīng) 該開發(fā)和使用更好的軟件工具。

9、 總之,為了解決軟件危機,既要有技術(shù)措施 (方法和工具),又要有必要的組織 管理措施。 1.2軟件工程 1、軟件工程:采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護軟件,把經(jīng)過 時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來, 以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它。(熟記) 2、了解軟件工程的本質(zhì)特征: 1)、軟件工程關(guān)注于大型程序的構(gòu)造 2)、軟件工程的中心課題是控制復(fù)雜性 3)、軟件經(jīng)常變化 4)、開發(fā)軟件的效率非常重要 5)、和諧的合作是開發(fā)軟件的關(guān)鍵 6)、軟件必須有效地支持它的用戶 7)、在軟件工程的領(lǐng)域中通常由具有一種文化背景的人替具有另一種文化背 景的人創(chuàng)造

10、產(chǎn)品 3、缺乏應(yīng)用領(lǐng)域地相關(guān)知識,是軟件開發(fā)項目出現(xiàn)問題的常見原因。 4、軟件工程的基本原理: 1)、用分階段的生命周期計劃嚴格管理 2)、堅持進行階段審評 3)、實行嚴格的產(chǎn)品控制 4)、采用現(xiàn)代程序設(shè)計技術(shù) 5)、結(jié)果應(yīng)能清楚地審查 6)、開發(fā)小組的人員應(yīng)該少而精 7)、承認不斷改進軟件工程實踐的必要性 5、方法學(xué)(范型):在軟件生命周期全過程中使用的一整套技術(shù)方法的集合。 I=n:Cn” 2)UNTIL循環(huán)結(jié)構(gòu):相當于“ Repeat A until exp” 6.3過程設(shè)計的工具 6.3.1程序流程圖 程序流程圖:是一種描述程序的控制結(jié)構(gòu)流程和指令執(zhí)行情況的有向圖 程序流程圖的主要缺點

11、: 1)程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過早地考慮程序 的控制流程,而不去考慮程序的全局結(jié)構(gòu)。 2)程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完全不 顧結(jié)構(gòu)程序設(shè)計的精神,隨意轉(zhuǎn)移控制。 3)程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。 632盒圖 盒圖特點: 1)功能域明確,可以從盒圖上一眼就看出來。 2)不可能任意轉(zhuǎn)移控制。 3)很容易確定局部和全程數(shù)據(jù)的作用域。 4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。 PAD圖是一種問題分析圖。PAD圖優(yōu)點: 1)使用表示結(jié)構(gòu)化控制結(jié)構(gòu)的PAD符號所設(shè)計出來的程序必然是結(jié)構(gòu)化程序 2)PAD圖所描繪的程序結(jié)構(gòu)十分清晰。圖中最

12、左面的豎線是程序的主線,即第 一層結(jié)構(gòu)。隨著德程序?qū)哟蔚脑黾樱琍AD圖逐漸向右延伸,每次增加一個層 次,圖形向右擴展豎線。PAD圖中豎線的總條數(shù)就是程序的層次數(shù)。 3)用PAD圖表現(xiàn)程序邏輯,易懂、易讀、易記。 PAD圖是二維樹形結(jié)構(gòu)的圖 形,程序從圖中最左豎線上端的結(jié)點開始執(zhí)行,自上而下,從左向右順序 執(zhí)行,遍歷所有結(jié)點。 4)容易將PAD圖轉(zhuǎn)換成高級語言源程序,這種轉(zhuǎn)換可用軟件工具自動完成, 從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產(chǎn)率。 5)即可用于表示程序邏輯,也可用于描繪數(shù)據(jù)結(jié)構(gòu)。 6)PAD圖的符號支持自頂向下、逐步求精方法的使用。開始時設(shè)計者可以定義 一個抽象的程序

13、,隨著設(shè)計工作的深入而使用 def符號逐步增加細節(jié),直至 完成詳細設(shè)計。 判定表 判定表由四部分組成:左上部列出所有 條件;左下部是所有可能做的 動作; 右上部是表示各種條件組合的一個矩陣;右下部是和每種條件組合相對應(yīng)的動作 635判定樹 判定樹是判定表的變種。 過程設(shè)計語言 過程設(shè)計語言(PDL也稱為偽碼。 PDL的優(yōu)點: 1)可以作為注釋的直接插在源程序中間 2)可以使用普通的正文編輯程序或文字處理系統(tǒng),很方便地完成PDI的書寫和 編輯工作 3)已經(jīng)有自動處理PDL的程序存在,而且可以自動由 PDL生成程序代碼。 PDL缺點:不如圖形工具形象直觀。 第7章測試 概念:編碼和測試統(tǒng)稱為實現(xiàn)。

14、 編碼:把軟件設(shè)計結(jié)果翻譯成程序。 測試:檢測程序并改正錯誤的過程。 7.2軟件測試基礎(chǔ) 1有關(guān)測試的一些規(guī)則: 1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程 2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試 3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試 2. 測試方法 1)黑盒測試 2)白盒測試 3. 測試步驟 單元測試、集成測試、確認測試、系統(tǒng)測試 4. 單元測試重點: 模塊接口、局部數(shù)據(jù)結(jié)構(gòu)、重要的執(zhí)行通路、出錯處理通路、邊界條件 5、集成測試 自頂向下集成 自頂向下集成是一種遞增的裝配軟件結(jié)構(gòu)的方法,這種應(yīng)用方法非常廣泛。它 需要存根程序,不需要驅(qū)動程序。 自底向上集成

15、 自底向上集成是從軟件結(jié)構(gòu)最底層模塊開始進行組裝和測試,它與自頂向下結(jié) 合方法相反,需要驅(qū)動程序,但是不需要存根程序。 6確認測試 確認測試的兩種可能的結(jié)果: 功能和性能與用戶要求一致,軟件是可以接受的 功能和性能與用戶要求有差距 7、Alpha 和 Beta 測試 Alpha測試由用戶在開發(fā)者的場所進行,并且在開發(fā)者對用戶的“指導(dǎo)”下進行 測試。 Beta測試由軟件的最終用戶在一個或多個客戶場所進行 8、白盒測試 邏輯覆蓋、語句覆蓋、判定覆蓋、條件覆蓋、判定 /條件覆蓋、條件組合覆蓋 點覆蓋、邊覆蓋、路徑覆蓋 9、黑盒測試技術(shù) 等價劃分、邊界值分析、錯誤推斷 10、調(diào)試 調(diào)試過程 調(diào)試途徑:

16、 蠻干法、回溯法、原因排除法 第8章 維護 8.1軟件維護定義 1. 軟件維護就是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而 修改軟件的過程。 2. 維護的種類: 改正性維護、適應(yīng)性維護、完善性維護、預(yù)防性維護 8.2軟件的可維護性 決定軟件可維護性的因素 可理解性、可測試性、可修改性、可移植性、可重用性 文檔是影響軟件可維護性的決定因素。 包括:1)用戶文檔 2)系統(tǒng)文檔 第9章面向?qū)ο蠓椒▽W(xué)引論 9.1面向?qū)ο蠓椒▽W(xué)概述 9.1.1面向?qū)ο蠓椒▽W(xué)的要點 1. 認為客觀世界是由各種對象組成的,任何事物都是對象,復(fù)雜的對象可以 有比較簡單的對象以某種方式組合而成 2. 把所有對象都劃

17、分成各種對象類,每個類定義了一組數(shù)據(jù)和一組方法 3. 按照子類與父類的關(guān)系,把若干個對象類組成一個層次結(jié)構(gòu)的系統(tǒng)。 4. 對象彼此之間僅能通過傳遞消息互相聯(lián)系。 5. 面向?qū)ο蠓椒▽W(xué)的優(yōu)點 與人類習(xí)慣的思維方法一致、穩(wěn)定性好、可重用性好、 輕易開發(fā)大型軟件產(chǎn)品 可維護性好 9.2面向?qū)ο蟮母拍?1. 對象是封裝了數(shù)據(jù)結(jié)構(gòu)及可以施加在這些數(shù)據(jù)上的操作的封裝體,這個封裝 體有可以唯一的表示它的名字,而且向外界提供一組服務(wù)。 2. 類:是具有相同屬性和行為的一個或多個對象的描述 3. 封裝 4. 繼承 9.4 對象模型 9.4.1 類圖的基本符號 1定義類 2. 定義屬性 3. 定義服務(wù) 9.4.2 表示關(guān)系的符號 1. 關(guān)聯(lián) 普通關(guān)聯(lián)、關(guān)聯(lián)角色、限定關(guān)聯(lián)、關(guān)聯(lián)類

溫馨提示

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

評論

0/150

提交評論