軟件工程概論知識點(diǎn)_第1頁
軟件工程概論知識點(diǎn)_第2頁
軟件工程概論知識點(diǎn)_第3頁
軟件工程概論知識點(diǎn)_第4頁
軟件工程概論知識點(diǎn)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程概論知識點(diǎn)總結(jié)第一章軟件定義:是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,包括程序、數(shù)據(jù)和相關(guān)文檔的完整集合。軟件特性:形態(tài)特性、智能特性、開發(fā)特性、質(zhì)量特性、生產(chǎn)特性、管理特性、環(huán)境特性、維護(hù)特性、廢 棄特性、應(yīng)用特性。軟件分類。 (1) 系統(tǒng)軟件 (2) 應(yīng)用軟件 (3) 支撐軟件 (4) 可復(fù)用軟件2)軟件危機(jī)的原因: 1)缺乏軟件開發(fā)的經(jīng)驗和有關(guān)軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計劃很難制定。 軟件人員與用戶的交流存在障礙,除了知識背景的差異,缺少合適的交流方法和需求描述工具也是重要的 一個原因。 3)軟件開發(fā)過程不規(guī)范,缺少方法論和規(guī)范的指導(dǎo),軟件難以維護(hù)。4)隨著軟件規(guī)模的增大

2、,其復(fù)雜性往往會呈指數(shù)級升高。5)缺少有效的軟件評測手段,提交用戶的軟件質(zhì)量差 軟件工程的定義: 1指導(dǎo)軟件開發(fā)和維護(hù)的工程性學(xué)科,它以計算機(jī)科學(xué)理論和其他相關(guān)學(xué)科的理論為指導(dǎo),采用工程化 的概念、原理技術(shù)和方法進(jìn)行軟件的開發(fā)和維護(hù),把經(jīng)過時間考慮而證明是正確的管理技術(shù)和當(dāng)前能夠得 到的最好的技術(shù)方法結(jié)合起來,以較少的代價獲得高質(zhì)量的軟件并維護(hù)2. 軟件工程的目標(biāo):運(yùn)用先進(jìn)的軟件開發(fā)技術(shù)和管理方法來提高軟件的質(zhì)量和生產(chǎn)率,也就是要以較短周期、較低的成本生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,并最終實現(xiàn)軟件的工業(yè)化生產(chǎn)。3. 軟件的生存周期:軟件孕育、誕生、成長、成熟、衰亡的生存過程。由軟件定義、軟件開發(fā)和運(yùn)行

3、維護(hù) 三個時期組成。軟件定義:解決“做什么”的問題;軟件開發(fā):解決“如何做”的問題,分為概要設(shè)計、 詳細(xì)設(shè)計、編碼和測試四個階段;維護(hù):使軟件持久的滿足用戶的需求。4. 開發(fā)過程中的典型文檔 a.軟件需求規(guī)格說明書:描述將要開發(fā)的軟件做什么。b.項目計劃:描述將要完成的任務(wù)及其順序,并估計所需要的時間及工作量。C.軟件測試計劃:描述如何測試軟件,確保軟件應(yīng)實現(xiàn)規(guī)定的功能,并達(dá)到預(yù)期的性能。d. 軟件設(shè)計說明書:描述軟件的結(jié)構(gòu),包括概要設(shè)計及詳細(xì)設(shè)計。e. 用戶手冊:描述如何使用軟件 各階段基本任務(wù):問題定義與可行性研究、需求分析、軟件設(shè)計、程序編碼和單元測試、集成測試和系統(tǒng)測試。5. 軟件生存

4、期模型: 瀑布模型。優(yōu)點(diǎn):強(qiáng)迫開發(fā)人員規(guī)范化方法、嚴(yán)格規(guī)定每個階段必須提交的文檔、要求每個階段交出的所 有產(chǎn)品必須經(jīng)過驗證。缺點(diǎn):完全依賴書面規(guī)格說明,可能會導(dǎo)致產(chǎn)品與用戶需求有差異、只適用于項目 開始時需求已確定的情況。需求分析、規(guī)格說明、設(shè)計、編碼、綜合測試、維護(hù) 快速原型模型。優(yōu)點(diǎn):易于滿足用戶真實需求、已通過與用戶的交互驗證,能正確描述用戶需求、產(chǎn)品開發(fā)基本上按線性順序、規(guī)格文檔說明正確描述了用戶需求,后期錯誤率和返工率很低、開發(fā)人員建立原型系統(tǒng)時學(xué)到的東西有助于減少后期的錯誤率、快速開發(fā)有助于節(jié)約成本,原型的用途是獲取用戶的正真需 求。增量模型。優(yōu)點(diǎn):較短時間內(nèi)能提交有用產(chǎn)品、逐步增

5、加產(chǎn)品有助于用戶適應(yīng)學(xué)習(xí)、項目失敗風(fēng)險較低、 優(yōu)先級最高的服務(wù)首先交付,則系統(tǒng)核心服務(wù)接受最多測試,一般不會失敗。注意:新的構(gòu)件加入系統(tǒng)時 必須不破壞已開發(fā)出的產(chǎn)品、體系結(jié)構(gòu)必須開放,易于向其中加入新構(gòu)件。螺旋模型。四個象限:目標(biāo)設(shè)定、風(fēng)險估計與弱化、開發(fā)與驗證、計劃。優(yōu)點(diǎn)有利于已有軟件的重用,也 有助于把軟件質(zhì)量作為開發(fā)的一個重要目標(biāo)、減少了過多測試或測試不足帶來的風(fēng)險、維護(hù)和開發(fā)之間沒 有本質(zhì)區(qū)別。缺點(diǎn):此模型為風(fēng)險驅(qū)動,要求開發(fā)人員必須具有豐富的風(fēng)險評估經(jīng)驗,否則會意識不到風(fēng) 險的出現(xiàn)導(dǎo)致失敗。6. 統(tǒng)一過程的 6 個核心工作流:業(yè)務(wù)建模、需求、分析與設(shè)計、實現(xiàn)、測試、部署. a. 主要

6、關(guān)注項目計劃和風(fēng)險評估,細(xì)化初始需求,細(xì)c.構(gòu)造階段是建立系d.移交階段包含3測試7. 統(tǒng)一過程的 4 個階段:初始階段、細(xì)化階段、構(gòu)造階段、移交階段其目的是確定是否值得開發(fā)目標(biāo)系統(tǒng)。b.細(xì)化階段關(guān)心定義系統(tǒng)的總體框架,目標(biāo)是:化體系結(jié)構(gòu),監(jiān)控風(fēng)險并細(xì)化他們的優(yōu)先級,細(xì)化業(yè)務(wù)案例以及制定項目管理計劃。統(tǒng),構(gòu)造系統(tǒng)的第一個具有操作性的版本,以能夠交付給客戶進(jìn)行3測試版本結(jié)束。時期,以發(fā)布完完整的系統(tǒng)而終止,其目標(biāo)是確保系統(tǒng)真正滿足客戶的需求。第二章1.軟件工程方法學(xué):軟件生命周期全過程中使用的一整套技術(shù)的集合成為方法學(xué),也稱為范型。三要素: 方法、工具、過程2. 傳統(tǒng)方法的特點(diǎn):傳統(tǒng)方法學(xué)把軟件

7、生命周期的全過程依次劃分為若干個階段,然后順序地逐步完成每 個階段的任務(wù)。每一個階段的開始和結(jié)束都有嚴(yán)格的標(biāo)準(zhǔn),對于任何兩個相鄰的階段而言,前一個階段的結(jié)束標(biāo)準(zhǔn)就是后一階段的開始標(biāo)準(zhǔn)。(2)面向?qū)ο蠓椒ǖ奶攸c(diǎn):面向?qū)ο蠓椒ㄊ菍?shù)據(jù)和對數(shù)據(jù)的操作 緊密地結(jié)合起來的方法,其出發(fā)點(diǎn)和基本原則是盡量模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法和過程 盡可能接近人類認(rèn)識問題和解決問題的方法與過程,適用于大型、復(fù)雜及交互性比較強(qiáng)的系統(tǒng)3. 形式化方法學(xué):是一種基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程 序。特點(diǎn):軟件需求規(guī)格說明書被細(xì)化為用數(shù)學(xué)記號表達(dá)的詳細(xì)形式化規(guī)格說明;設(shè)計、實

8、現(xiàn)和單元測試 等開發(fā)過程由一個變換開發(fā)過程代替,通過一系列變換將形式化的規(guī)格說明細(xì)化成為程序。面向?qū)ο?=對象+ 類+繼承+消息通信,面向?qū)ο蟪绦虻幕窘M成單位是類,核心是對象。面向?qū)ο蟮拈_發(fā)方法:Booch方法,Rumbaugh方法,Coad和Yourdon方法,Jacobson (OSSE)方法,Wirfs-Brock 方法4. 類.現(xiàn)實生活中的對象經(jīng)過抽象,映射為程序中的對象。對象在程序中是通過一種抽象數(shù)據(jù)類型來描述 的,這種抽象數(shù)據(jù)類型稱為類(Class)。封裝。面向?qū)ο蟮姆庋b特性與其抽象特性密切相關(guān)。封裝是一種信息隱蔽技術(shù),就是利用抽象數(shù)據(jù)類型將 數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起。用戶

9、只能看到對象的封裝界面信息,對象的內(nèi)部細(xì)節(jié)對用戶是隱蔽 的。 封裝的定義是: (1) 清楚的邊界,所有對象的內(nèi)部信息被限定在這個邊界內(nèi); (2) 接口,即對象向外界提供 的方法,外界可以通過這些方法與對象進(jìn)行交互; (3) 受保護(hù)的內(nèi)部實現(xiàn),即軟件對象功能的實現(xiàn)細(xì)節(jié), 實現(xiàn)細(xì)節(jié)不能從類外訪問。5. UML的特點(diǎn):a.統(tǒng)一標(biāo)準(zhǔn)。b.面向?qū)ο?。C.可視化,表達(dá)能力強(qiáng)大。d.獨(dú)立于過程。e.容易掌握使用。f. 與編程語言的關(guān)系 6. 軟件工具是指能支持軟件生存周期中某一階段(如系統(tǒng)定義、需求分析、設(shè)計、編碼、測試或維護(hù)等) 的需要而使用的軟件工具。軟件工具的發(fā)展: 50 年代末期出現(xiàn)了程序設(shè)計語言,

10、 60 年代末提出軟件工程的概念, 80 年代中期提出 了軟件過程的新概念,如今,軟件工具重視用戶界面的設(shè)計,不斷地采用新理論和新技術(shù)第三章軟件需求分析階段的任務(wù):需求獲取、需求分析、需求定義和需求驗證。結(jié)構(gòu)化分析方法:是一種面向數(shù)據(jù)流進(jìn)行需求分析的方法。結(jié)構(gòu)化設(shè)計方法的分類:一類是根據(jù)系統(tǒng)的數(shù)據(jù)流進(jìn)行設(shè)計,稱為面向數(shù)據(jù)流的設(shè)計,或稱過程驅(qū)動的設(shè) 計;另一類是根據(jù)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計,稱為面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計,或稱數(shù)據(jù)驅(qū)動的設(shè)計。需求獲取是軟件生存期中決定性的一步,涉及客戶、用戶及開發(fā)方。需求獲取的問題:系統(tǒng)的目標(biāo)或范圍問題、需求不準(zhǔn)確性問題、需求的易變問題 需求獲取的任務(wù):發(fā)現(xiàn)和分析問題,并

11、分析問題的原因和結(jié)果的關(guān)系、與用戶進(jìn)行各種方式的交流,并使 用調(diào)查研究方法收集信息、按照數(shù)據(jù)過程和接口觀察問題的不同側(cè)面、將獲取的需求文檔化,形式有用 例、決策表、決策樹等。需求獲取的原則:深入淺出、以流程為主線。需求獲取的過程:開發(fā)高層的業(yè)務(wù)模型、定義項目范圍和高層需求、識別用戶類和用戶代表、獲取具體的 需求、確定目標(biāo)系統(tǒng)的業(yè)務(wù)工作流、需求整理與總結(jié)(功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密需求、用戶界面需求、資源使用需求、軟件成本消耗與開發(fā)進(jìn)度需求)。獲取具體的需求:與用戶進(jìn)行交流、現(xiàn)有產(chǎn)品或競爭產(chǎn)品的描述文檔、系統(tǒng)需求規(guī)格說明、當(dāng)前系統(tǒng)的問 題報告和改進(jìn)要求、市場調(diào)查和用戶問卷

12、調(diào)查、觀察用戶如何工作。軟件需求分析階段的任務(wù):需求獲取、需求分析(完整性、正確性、合理性、可行性、充分性)、需求定 義、需求驗證。數(shù)據(jù)字典:以詞條的方式定義在數(shù)據(jù)模型、功能模型和行為模型中出現(xiàn)的數(shù)據(jù)對象及控制信息的特性,給出它們的準(zhǔn)確定義包括數(shù)據(jù)流、加工、數(shù)據(jù)文件、數(shù)據(jù)元素,以及數(shù)據(jù)源點(diǎn)和數(shù)據(jù)匯點(diǎn)。數(shù)據(jù)字典精確 地、嚴(yán)格地定義了每一個與系統(tǒng)相關(guān)的數(shù)據(jù)元素。、第四章結(jié)構(gòu)化設(shè)計方法是在模塊化、自頂向下逐步細(xì)化及結(jié)構(gòu)華程序設(shè)計技術(shù)基礎(chǔ)之上發(fā)展起來的。結(jié)構(gòu)化設(shè)計 方法可以分為兩類,一類是根據(jù)系統(tǒng)的數(shù)據(jù)流進(jìn)行設(shè)計,稱為面向數(shù)據(jù)流設(shè)計或稱過程驅(qū)動設(shè)計;另一類 是根據(jù)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計,成為面向數(shù)據(jù)結(jié)

13、構(gòu)設(shè)計,或稱數(shù)據(jù)驅(qū)動設(shè)計。軟件設(shè)計過程包括一套原理、概念和實踐,可以指導(dǎo)高質(zhì)量的系統(tǒng)或產(chǎn)品開發(fā)。軟件設(shè)計的原則:分而治之、模塊獨(dú)立性(耦合和內(nèi)聚)、提高抽象層次、復(fù)用性設(shè)計、靈活性性設(shè)計(降低耦合提高內(nèi)聚、建立抽象、不要將代碼寫死、拋出異常、使用并創(chuàng)建可復(fù)用代碼) 結(jié)構(gòu)化設(shè)計(立方體圖)分為概要設(shè)計(體系結(jié)構(gòu)設(shè)計、接口設(shè)計、數(shù)據(jù)設(shè)計)和詳細(xì)設(shè)計(過程設(shè)計) 模塊的 4 個類型:傳入模塊、傳出模塊、變換模塊、協(xié)調(diào)模塊 接口設(shè)計概述:模塊或軟件構(gòu)件間的接口設(shè)計、軟件與其他軟硬件系統(tǒng)之間的接口設(shè)計、軟件與人之間的 交互設(shè)計。程序流程圖(程序框圖)特點(diǎn):直觀、清晰、易于學(xué)習(xí)和掌握,5 種基本控制結(jié)構(gòu):

14、順序型、選擇型、先判定、后判定、多情況。任何復(fù)雜的程序流程圖都是由者個基本類型嵌套而成。第五章機(jī)器語言(二進(jìn)制代碼)、匯編語言(更直觀、符號指令與機(jī)器指令相對應(yīng))、高級程序設(shè)計語言(用途 廣泛、有大量軟件庫, ALGLOL,FORTRAN,COBOL,BasiC,PasCal,C,C+,Lisp,Prolog,Ada )、第四代語言 (面向問題、非過程化程度高)4GL 缺點(diǎn): 工業(yè)標(biāo)準(zhǔn),4GL 分類:整體能力不如 3GL,只能面向?qū)m棏?yīng)用、抽象級別較高,系統(tǒng)運(yùn)行開銷大效率低、缺乏統(tǒng)一的品種繁多差異大、主要基于數(shù)據(jù)庫應(yīng)用的領(lǐng)域,不宜于科學(xué)計算、實時系統(tǒng)和系統(tǒng)軟件開發(fā)。查詢語言和報表生成器、圖形語

15、言、應(yīng)用生成器、形式化規(guī)格說明語言。第六章軟件測試是在軟件投入生產(chǎn)性運(yùn)行之前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量 控制的關(guān)鍵步驟。軟件測試的對象:需求分析、概要設(shè)計、詳細(xì)設(shè)計及程序編碼等階段所得的文檔資料,包括需求規(guī)格說 明、概要設(shè)計規(guī)格說明、詳細(xì)設(shè)計規(guī)格說明以及源程序。確認(rèn)是一系列的活動和過程,目的在于證實在一個恰當(dāng)?shù)耐獠凯h(huán)境中軟件的邏輯正確性,分為靜態(tài)確認(rèn)和 動態(tài)確認(rèn)。驗證是試圖證明在軟件生存期各個階段以及階段間的邏輯協(xié)調(diào)性、完備性和正確性。確認(rèn)與測試都屬于軟 件測試。可以通過測試證明每個實現(xiàn)了的功能是否滿足要求(根據(jù)軟件的外b. 邊界值分析 。黑盒測試:已知產(chǎn)品的功

16、能設(shè)計規(guī)格, 部特性)用列設(shè)計:a.等價類劃分;可以通過測試證明每種內(nèi)部操作是否符合設(shè)計規(guī)格要求,所有內(nèi)部a.邏輯覆蓋;b.語句覆蓋;C.判白盒測試:已知產(chǎn)品的內(nèi)部工作過程, 成分是否已經(jīng)過檢查(對軟件的過程性細(xì)節(jié)作細(xì)致的檢查)。用例設(shè)計: 定覆蓋;d.條件覆蓋;e.判定一條件覆蓋;f.條件組合覆蓋;g.路徑覆蓋。軟件測試:步驟:單元測試、組裝測試、確認(rèn)測試和系統(tǒng)測試。單元測試的內(nèi)容:模塊接口測試、局部數(shù) 據(jù)結(jié)構(gòu)測試、路徑測試、錯誤處理測試、邊界測試。第七章UML 模型: UML 模型是由事物、 例、參與者、協(xié)作、構(gòu)件、節(jié)點(diǎn))關(guān)系和圖組成。 UML 事物:結(jié)構(gòu)事物(類、主動類、接口、對象、用、

17、行為事物(交互、狀態(tài)機(jī))、分組事物(包)、注釋事物(注釋)UML 關(guān)系:依賴關(guān)系、關(guān)聯(lián)關(guān)系普通關(guān)聯(lián)、限定關(guān)聯(lián)、關(guān)聯(lián)類、聚合)圖:類圖、用例圖、交互圖、狀態(tài)圖、活動圖和實現(xiàn)圖。第八章面向?qū)ο蠓治龅娜齻€模型:用例和場景構(gòu)成的功能模型(用例模型)、類和對象表示的靜態(tài)模型(對象模 型)、狀態(tài)圖和順序圖表示的動態(tài)模型(交互模型) 建立用例模型過程:確定業(yè)務(wù)參與者;確定業(yè)務(wù)需求用例。對象模型:劃分主題;確定類與對象;確定關(guān) 聯(lián);確定屬性;確定服務(wù)。第九章1.軟件體系結(jié)構(gòu):軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù) 2.構(gòu)件和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加

18、工的信息,連接構(gòu)件把體系結(jié)構(gòu) 的不同部分組組合連接起來。3 類,體系結(jié)構(gòu)模式,設(shè)3. 模式:是從軟甲設(shè)計過程中總結(jié)出來的,是針對特定問題的解決方案。劃分為 計模式,慣用法。4. 風(fēng)格:風(fēng)格是帶有一種傾向性的模式。同一個問題可以用不同的解決問題的方案或模式,但我們根據(jù)經(jīng) 驗,通常會強(qiáng)烈傾向于采用特定的模式,這就是風(fēng)格。5. 框架:框架是一個待實例化的完整系統(tǒng),定義了軟件系統(tǒng)的元素和關(guān)系,創(chuàng)建了基本的模塊,定義了涉 及功能更改和擴(kuò)充的插件位置。6. 模式的基本要素:模式名稱,問題,解決方案,效果。環(huán)境圖:外部實體廠目標(biāo)輸出_色邑一外部實休J系統(tǒng)外部實體入岱息外部實體數(shù)據(jù)流圖的分層:對于稍微復(fù)雜一些的實際問題,在數(shù)據(jù)流圖上常 常出現(xiàn)十幾個甚至幾十個加工,這樣的數(shù)據(jù)流圖看起來不直觀,不 易理解,分層的數(shù)據(jù)流圖能很好地解決這一問題。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論