軟件工程復習知識要點_第1頁
軟件工程復習知識要點_第2頁
軟件工程復習知識要點_第3頁
軟件工程復習知識要點_第4頁
軟件工程復習知識要點_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 軟件工程復習知識要點1 軟件與軟件工程概念1. 軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關文檔的完整集合,程序只是軟件的組成部分之一;在軟件開發(fā)中,編程只是軟件開發(fā)過程的一個階段。2.在結構化程序設計時代,程序最小的單位是函數(shù)及子程序,程序與數(shù)據(jù)是分離的。程序的最小單位是類。3.軟件的特性:形態(tài)特性、智能特性、開發(fā)特性、質量特性、生產(chǎn)特性、管理特性、環(huán)境特性、維護特性、廢棄特性、應用特性。4.軟件的分類:系統(tǒng)軟件;應用軟件;支撐軟件;可復用軟件。5.什么是軟件工程? (課后題)軟件工程是指導計算機軟件開發(fā)和維護的工程學科。采用工程的概念、原理、技術和方法來開發(fā)和維

2、護軟件,把經(jīng)過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,以經(jīng)濟地開發(fā)出高質量的軟件并有效地維護它。6可以用功能性、可靠性、易用性、效率、可維護性和可移植性六個特性衡量軟件的質量。功能性是指軟件所實現(xiàn)的功能達到它的設計規(guī)范和滿足用戶需求的程度??梢浦残允侵杠浖哪骋画h(huán)境轉移到另一環(huán)境時所作努力得程度。7.軟件生存期由軟件定義、軟件開發(fā)和運行維護三個時期組成。開發(fā)時期通常由概要設計、詳細設計、編碼和測試四個階段組成。開發(fā)過程中的典型文檔包括:項目計劃、軟件測試計劃、軟件設計說明書、用戶手冊。8.需求分析的基本任務? (1)建立分析模型,了解系統(tǒng)的各種需求細節(jié)。(2)基于分

3、析結果,編寫出軟件需求規(guī)格說明或系統(tǒng)功能規(guī)格說明,確認測試計劃和初步的系統(tǒng)用戶手冊,并提交管理機構進行分析評審。2 軟件工程方法與工具1. 面向對象方法的出發(fā)點和基本原則,是盡量模擬人類習慣的思維方式,使開發(fā)軟件的方法和過程盡可能接近人類認識問題和解決問題的方法與過程,從而使描述問題的問題空間與其解空間在結構上盡可能一致。2. 形式化方法的主要特點是: (課后題)(1) 軟件需求規(guī)格說明被細化為用數(shù)學記號表達的詳細的形式化規(guī)格說明;(2) 設計、實現(xiàn)和單元測試等開發(fā)過程由一個變換開發(fā)過程代替。通過一系列變換將形式的規(guī)格說明細化成為程序。 3. 面向對象 = 對象 + 類 + 繼承 + 消息通信

4、。4. 新類從現(xiàn)有的類中派生的過程,叫做類繼承。5. 多態(tài)是指一個程序中同名的不同方法共存的情況。6. UML的特點:統(tǒng)一標準、面向對象、可視化、獨立于過程、容易掌握使用、與編程語言的關系。 3 軟件需求獲取與結構化分析方法1. 結構化分析方法的核心是數(shù)據(jù)字典,包括在目標系統(tǒng)中使用和生產(chǎn)的所有數(shù)據(jù)對象。2. 頂層數(shù)據(jù)流圖或稱環(huán)境圖的作用是什么?(*)頂層數(shù)據(jù)流圖(或稱環(huán)境圖)僅包括一個數(shù)據(jù)處理過程,也就是要開發(fā)的目標系統(tǒng)。其作用如下:(1) 確定系統(tǒng)在其環(huán)境中的位置,與系統(tǒng)有聯(lián)系的外部實體(包括硬件、軟件、組織機構及人)有哪些。(2) 通過確定系統(tǒng)的輸入和輸出與外部實體的關系確定系統(tǒng)的邊界,也

5、就是要確定哪些功能或處理屬于系統(tǒng)范圍之內,哪些屬于系統(tǒng)范圍之外,需要由其他系統(tǒng)處理或人工處理。3. 在對數(shù)據(jù)流圖進行分解時需要注意哪些問題?(*)在對數(shù)據(jù)流圖進行分解時,需要注意以下兩個問題:(1)當對數(shù)據(jù)流圖分層細化時必須保持信息連續(xù)性,也就是說,當把一個處理分解為一系列處理時,分解前和分解后的輸入/輸出數(shù)據(jù)流必須相同。(2) 注意分層細化時對編號的處理方法。4.在需求評審的實施過程中可能會遇到得風險包括: (1)需求評審的參與者選取不當。(2)評審規(guī)模過大。(3)評審組規(guī)模過大。(4)評審時間過長。3.2頂層數(shù)據(jù)流圖或稱環(huán)境圖的作用是什么?頂層數(shù)據(jù)流圖(或稱環(huán)境圖)僅包括一個數(shù)據(jù)處理過程,

6、也就是要開發(fā)的目標系統(tǒng)。其作用如下:(1) 確定系統(tǒng)在其環(huán)境中的位置,與系統(tǒng)有聯(lián)系的外部實體(包括硬件、軟件、組織機構及人)有哪些。(2) 通過確定系統(tǒng)的輸入和輸出與外部實體的關系確定系統(tǒng)的邊界,也就是要確定哪些功能或處理屬于系統(tǒng)范圍之內,哪些屬于系統(tǒng)范圍之外,需要由其他系統(tǒng)處理或人工處理。3.3 在對數(shù)據(jù)流圖進行分解時需要注意哪些問題?在對數(shù)據(jù)流圖進行分解時,需要注意以下兩個問題:(1) 當對數(shù)據(jù)流圖分層細化時必須保持信息連續(xù)性,也就是說,當把一個處理分解為一系列處理時,分解前和分解后的輸入/輸出數(shù)據(jù)流必須相同。(2) 注意分層細化時對編號的處理方法。4 結構化設計方法1.軟件設計的五項原則

7、:分而治之、模塊獨立性、提高抽象層次、復用性設計、靈活性設。2.耦合是模塊之間得相對獨立性(互相連接的緊密程度)的度量,內聚是模塊功能強度(一個模塊內部各個元素彼此結合的緊密程度)的度量。耦合程度最高的是內容耦合。3.結構化設計方法得實施要點是:(1)首先研究、分析和審查數(shù)據(jù)流圖。(2)然后根據(jù)數(shù)據(jù)流圖決定問題的類型。(3)由數(shù)據(jù)流圖推導出系統(tǒng)的初始結構圖。(4)利用一些啟發(fā)式原則來改進系統(tǒng)的初始結構圖,直到得到符合要求的結構圖為止。(5)根據(jù)分析模型中的實體-關系圖和數(shù)據(jù)字典進行數(shù)據(jù)設計。(6)在上面設計的基礎上,依據(jù)分析模型中的加工規(guī)格說明、狀態(tài)轉換圖及控制規(guī)格說明進行過程設計。(7)制定

8、測試計劃。4.模塊結構最普通的形式是樹狀結構和網(wǎng)狀結構。5.模塊結構的層次數(shù)稱為結構圖的深度。6.扇出表示一個模塊直接調用(或控制)的下屬模塊的數(shù)目。7. 基于數(shù)據(jù)流方法的設計過程包括: (1)復查并精化數(shù)據(jù)流圖。(2)確定數(shù)據(jù)流圖中數(shù)據(jù)流的類型。(3)導出初始的軟件結構圖。(4)逐級分解。(5)精化軟件結構。(6)導出接口描述和全局數(shù)據(jù)結構。8.變換分析方法由:重畫數(shù)據(jù)流圖;區(qū)分有效(邏輯)輸入、有效(邏輯)輸出、和中心變換部分;進行一級分解,設計上層模塊;進行二級模塊,設計輸入、輸出和中心變換部分的中、下層模塊四個部分組成。9.模塊的控制范圍包括它本身及其所有的從屬模塊。10.接口設計的依

9、據(jù)是數(shù)據(jù)流圖中的自動化系統(tǒng)邊界。5 編碼1.程序的效率是指程序的執(zhí)行速度及程序所占用內存的存儲空間。2. 一般情況下,程序的效率和清晰性相比哪一個更重要?在計算機發(fā)展的早期,由于CPU效率低,內存小,程序在運行時容易出現(xiàn)運行時間太長或內存溢出問題。因此,人們在編寫程序時,很注重程序的時間效率和空間效率,而不太注重程序的清晰性。隨著計算機硬件性能的飛速發(fā)展以及軟件規(guī)模和復雜性的急劇增加,這種情況已經(jīng)發(fā)生了根本的轉變,程序的清晰性越來越受到重視,程序的清晰性不好會給測試、維護修改帶來困難,這對于規(guī)模龐大和復雜的軟件尤其明顯。對于效率沒有特殊嚴格要求的系統(tǒng)來說,要將程序的清晰性放在第一位,在不影響清

10、晰性的情況下,去改進效率。6 軟件測試方法1.軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。2.在軟件測試的對象中,確認包括需求規(guī)格的確認和程序的確認。3.邏輯覆蓋是以程序內部的邏輯結構為基礎的設計測試用例的技術,屬于白盒測試。4.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。5.通常軟件測試是按4個步驟進行,即單元測試、組裝測試、確認測試和系統(tǒng)測試。6. 調試也稱排錯或糾錯,是緊跟在測試之后要做的工作。6.5 假設汽車的車牌號可由車主人在規(guī)定范圍內自選,若其規(guī)定為:(1) 車牌上應有7個字符; (2) 為首的字符限定為漢字“京”;(3) 第2個字符可任選一字母(AZ);(4) 第37個字

11、符可選任意數(shù)字。請為相關的處理程序采用等價類劃分方法設計等價類表及相應的測試用例。等價類表輸入數(shù)據(jù)有效等價類無效等價類字符個數(shù) 7個(1)06個(2),>7個(3)首字符“京”(4)非“京”(5)第2個字符字母(6)非字母(7)第37個字符數(shù)字(8)非數(shù)字(9)測試用例如下:1)京H87774 (1),(4),(6),(8)2)京H8777 (2)3)京H877745 (3) 4)冀H87774 (5)5)京987774 (7)6)京BA7774 (9) 7 統(tǒng)一建模語言UML概述1.在面向對象的需求分析時,模型的靜態(tài)結構也稱為靜態(tài)模型,在UML中表示為類圖。2. UML中有哪些關系?解

12、釋類圖中聚合和關聯(lián)的相同點和不同點。在UML中,常見的關系有泛化、聚合、關聯(lián)、依賴和實現(xiàn)。在類圖中,關聯(lián)是一種結構關系,它描述了兩個或多個類的實例之間的連接關系。聚合描述了整體和部分之間的結構關系。按照關聯(lián)關系的定義,聚合屬于一種特殊的關聯(lián)關系,只不過這種關聯(lián)關系具有明確的整體-部分含義而已。從耦合度的角度看,聚合關系要強于關聯(lián)關系。3. 討論順序圖與協(xié)作圖的關系,何時用順序圖建模優(yōu)于協(xié)作圖建模,以及相反的情況。順序圖和協(xié)作圖都能描述對象間的交互關系,但兩者的側重點不同,順序圖著重表現(xiàn)交互的時間順序,協(xié)作圖則著重表現(xiàn)交互對象的靜態(tài)鏈接關系。但即使他們各有側重,但從語義上來說是等價的,可從一種圖

13、自動轉換為另一種圖。一般情況下,當需要強調消息傳遞的時間順序時,采用順序圖;當表示涉及很多對象的模型時,協(xié)作圖比順序圖更形象。順序圖在分析中更常用,而協(xié)作圖則在設計中更常用。8 面向對象分析1. 接口設計的依據(jù)是數(shù)據(jù)流圖中的自動化系統(tǒng)邊界。2.比較面向對象的分析方法和面向數(shù)據(jù)流的分析方法,闡述它們各自的特點。面向對象的分析方法使用用例模型來表示用戶的功能需求,用例模型相當于功能模型,在對用例模型進行細化的過程中,也伴隨著對功能的分解。但面向對象的分析方法并不是以功能分解為核心,在獲取并分析用戶的功能需求之后,重點以類和對象為核心,建立對象模型,交互模型也是圍繞對象模型進行的。面向數(shù)據(jù)流的分析方

14、法是從建立頂層數(shù)據(jù)流圖(環(huán)境圖)開始,之后逐層對加工進行分解。面向數(shù)據(jù)流的分析方法是以功能分解為核心的。8.3 用例建模的主要步驟是什么? 用例建模的主要步驟如下:(1) 確定業(yè)務參與者可以是與系統(tǒng)有交互的外部硬件、軟件、組織、人等。(2) 確定業(yè)務需求用例參與者需要系統(tǒng)提供的完整功能。(3) 創(chuàng)建用例圖標識參與者與用例之間、用例與用例之間的關系。8.5 用例與用例之間的關系主要有哪兩種?其區(qū)別是什么? 用例之間的關系主要有包含(也稱使用)和擴展。包含表示一個用例所執(zhí)行的功能中總是包括被包含用例的功能;擴展是指一個用例的執(zhí)行可能需要由其他用例的功能來擴展,擴展聯(lián)系可用于對期望或可選的行為建模,

15、但其主要用途是使基本用例的功能不依賴于擴展用例。9 軟件體系結構和設計模式1.軟件設計模式是從軟件設計過程中總結出來的,針對特定問題的解決方案。2. 風格是帶有一種傾向性的模式。3.有兩種領域相關的體系結構模型:類屬模型和參考模型。4.一個交互式應用系統(tǒng)有模型、視圖和控制器3個部件組成。10 面向對象設計1.面向對象設計準則有:模塊化、抽象、信息隱藏、弱耦合、強耦合。2.在面向對象軟件中,常見的軟件模塊有類、接口、包、構件。3. 從軟件復用角度,構件是指在軟件開發(fā)過程中可以重復使用得軟件元素。10.1 軟件模塊之間的依賴性可以從哪些角度和抽象層次進行分析?在面向對象軟件中,常見的軟件模塊有類、

16、接口、包、構件。因此,分析軟件模塊之間的依賴性就可以從類、接口、包和構件的角度和層次進行分析。11 軟件維護到結束1.軟件運行的外部環(huán)境可能發(fā)生變化,為了使軟件適應這種變化而修改軟件的過程叫做適應性維護。2.軟件維護活動花費的工作占整個生存期工作量的70%以上。3.軟件維護的策略:改正性維護、適應性維護和完善性維護。4.所謂副作用是指因修改軟件而造成的錯誤或其他不希望發(fā)生的情況,有修改代碼的副作用、修改數(shù)據(jù)的副作用和文檔的副作用三種。5.實施風險管理計劃從根本上將就是將風險化解。 P3146. 文檔的分類:開發(fā)文檔、管理文檔、用戶文檔。 P349 第二次復習要點1. 軟件是計算機系統(tǒng)中與硬件相

17、互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關文檔的完整集合,程序只是軟件的組成部分之一;在軟件開發(fā)中,編程只是軟件開發(fā)過程的一個階段。2.在結構化程序設計時代,程序最小的單位是函數(shù)及子程序,程序與數(shù)據(jù)是分離的。程序的最小單位是類。 P23.可移植性是指軟件從某一環(huán)境轉移到另一環(huán)境時所作努力的程度。 P64.軟件的分類:系統(tǒng)軟件;應用軟件;支撐軟件;可復用軟件。 P45.什么是軟件危機?它有哪些典型表現(xiàn)?軟件危機出現(xiàn)的原因是什么?軟件危機:軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題典型表現(xiàn):(1)對軟件開發(fā)成本和進度的估計常常很不準確。(2)用戶對“已完成的”軟件系統(tǒng)不滿意

18、的現(xiàn)象經(jīng)常發(fā)生。(3)軟件產(chǎn)品的質量往往靠不住。(4)軟件常常是不可維護的。(5)軟件通常沒有適當?shù)奈臋n資料。(6)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升。(7)軟件開發(fā)生產(chǎn)率提高的速度,既跟不上硬件的發(fā)展速度,也遠遠跟不上計算機應用迅速普及深入的趨勢產(chǎn)生軟件危機的原因: 除了軟件本身的特點,其原因主要有以下幾個方面:(1) 缺乏軟件開發(fā)的經(jīng)驗和有關軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作計劃很難制定。(2) 軟件人員與用戶的交流存在障礙,使得獲取的需求不充分或存在錯誤。(3) 軟件開發(fā)過程不規(guī)范。(4) 隨著軟件規(guī)模的增大,其復雜性往往會呈指數(shù)級升高。(5) 缺少有效的軟件評測手段,提交給用

19、戶的軟件的質量不能完全保證。6.風格是帶有一種傾向性的模式。 P2037.耦合是模塊之間得相對獨立性(互相連接的緊密程度)的度量,內聚是模塊功能強度(一個模塊內部各個元素彼此結合的緊密程度)的度量。耦合程度最高的是內容耦合。 P678.深度:模塊結構的層次數(shù)稱為結構圖的深度。 P739.接口設計的依據(jù)是數(shù)據(jù)流圖中的自動化系統(tǒng)邊界。 P8910.用例之間的關系有:包含、使用及擴展。 P18611.在面向對象的需求分析時,模塊的靜態(tài)結構也稱為靜態(tài)模型。 P17112.聚合也稱聚集,是一種特殊的關聯(lián)。它描述了整體與部分之間的結構關系。 P16713.順序圖描述對象之間的動態(tài)交互關系,著重表現(xiàn)對象間消

20、息傳遞的時間順序。 P17314.從軟件復用角度,構件是指在軟件開發(fā)過程中可以重復使用得軟件元素。 P23915.調試也稱排錯或糾錯,是緊跟在測試之后要做的工作。 P15916.邏輯覆蓋是以程序內部的邏輯結構為基礎得設計測試用例得技術,屬于白盒測試。 P13317.軟件維護活動花費的工作占整個生存期工作量的70%以上。 P25718.軟件過程改進循環(huán)步驟:評估-計劃-改進-監(jiān)控。 P29119.文檔的分類:開發(fā)文檔、管理文檔、用戶文檔。 P35020.在需求評審的實施過程中可能會遇到得風險包括: P63(1)需求評審的參與者選取不當。(2)評審規(guī)模過大。(3)評審組規(guī)模過大。(4)評審時間過長。21.軟件設計的五項原則:分而治之、模塊獨立性、提高抽象層次、復用性設計、靈活性設計P6722.根據(jù)維護工作的性質,維護活動可以分為:改正性維護、適應性維護、完善性維護、預防性維護四種類型。 P25623.瀑布模型的優(yōu)缺點是什么? P9優(yōu)點:可強迫開發(fā)人員采用

溫馨提示

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

評論

0/150

提交評論