軟件工程習(xí)習(xí)題 大家參考一下_第1頁
軟件工程習(xí)習(xí)題 大家參考一下_第2頁
軟件工程習(xí)習(xí)題 大家參考一下_第3頁
軟件工程習(xí)習(xí)題 大家參考一下_第4頁
軟件工程習(xí)習(xí)題 大家參考一下_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一:1什么是軟件軟件可以分類為那些?軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。系統(tǒng)軟件 操作系統(tǒng), 數(shù)據(jù)庫管理系統(tǒng), 設(shè)備驅(qū)動程序, 通信處理程序等支撐軟件 文本編輯程序,文件格式化程序,磁盤向磁帶向數(shù)據(jù)傳輸?shù)某绦? 程序庫系統(tǒng),支持需求分析、設(shè)計、實(shí)現(xiàn)、測試和支持管理的軟件應(yīng)用軟件 商業(yè)數(shù)據(jù)處理軟件, 工程與科學(xué)計算軟件, 計算機(jī)輔助設(shè)計制造軟件, 系統(tǒng)仿真軟件, 智能產(chǎn)品嵌入軟件, 辦公自動化軟件, 計算機(jī)輔助教學(xué)軟件可復(fù)用軟件 軟件構(gòu)件2什么是軟件工程軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護(hù)

2、軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好技術(shù)結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。3軟件生存期由哪3個時期組成每個時期又劃分為哪些階段軟件定義時期問題定義、可行性研究和需求分析。軟件開發(fā)時期由概要設(shè)計、詳細(xì)設(shè)計、編碼和測試4個階段組成軟件運(yùn)行維護(hù)時期改正性維護(hù),適應(yīng)性維護(hù),完善性維護(hù),預(yù)防性維護(hù)4軟件生存期模型有哪些瀑布模型 快速原型模型 增量模型 螺旋模型 噴泉模型 統(tǒng)一過程5軟件工程知識體系包括那些知識域?二:1軟件工程三要素是什么?三要素:方法、工具和過程。軟件工程方法為軟件開發(fā)提供了 “如何做” 的技術(shù);軟件工具為軟件工程方法提供了自動

3、的或半自動的軟件支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)框架,它規(guī)定了完成各項任務(wù)的工作步驟2結(jié)構(gòu)化方法的基本思想是什么把一個復(fù)雜問題的求解過程分階段進(jìn)行,而且這種分解是自頂向下,逐層分解,使得每個階段處理的問題都控制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。3面向?qū)ο蠓椒ㄊ且允裁锤拍顬榛A(chǔ)的方法面向?qū)ο蠓椒?Object-Oriented Method)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,簡稱OO (Object-Oriented)方法,是建立在“對象”概念基礎(chǔ)上的方法學(xué)。4什么是形式化方法?形式化方法是一種基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的

4、規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。5UML的特點(diǎn)。1)統(tǒng)一標(biāo)準(zhǔn) UML不僅統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念,還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長處,其中也包括非OO方法的影響。已經(jīng)成為OMG的標(biāo)準(zhǔn)。 (2)面向?qū)ο?UML支持面向?qū)ο蠹夹g(shù)的主要概念,它提供了一批基本的表示模型元素的圖形和方法,能簡潔明了地表達(dá)面向?qū)ο蟮母鞣N概念和模型元素。(3)可視化,表達(dá)能力強(qiáng)大UML是一種圖形化語言,用UML的模型圖形能清晰地表示系統(tǒng)的邏輯模型或?qū)崿F(xiàn)模型。UML還提供了語言的擴(kuò)展機(jī)制,用戶可以根據(jù)需要增加定義自己的構(gòu)造型、標(biāo)記值和約束等。 (4)獨(dú)立于過程 UML是系統(tǒng)建模的語言,不依賴特定

5、的開發(fā)過程。(5) 容易掌握使用 UML概念明確,建模表示法簡潔明了,圖形結(jié)構(gòu)清晰,容易掌握使用。 (6)與編程語言的關(guān)系 支持UML的一些CASE工具(如Rose)可以根據(jù) UML所建立的系統(tǒng)模型自動產(chǎn)生Java、C+ 等代碼框架。 三1結(jié)構(gòu)化分析方法結(jié)構(gòu)化方法是一種傳統(tǒng)的軟件開發(fā)方法,它是由結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化程序設(shè)計三部分有機(jī)組合而成的。它的基本思想:把一個復(fù)雜問題的求解過程分階段進(jìn)行,而且這種分解是自頂向下,逐層分解,使得每個階段處理的問題都控制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。四1軟件設(shè)計的原則。1) 分而治之分而治之是人們解決大型復(fù)雜問題時通常采用的策略。將大型復(fù)雜的問題分解

6、為許多容易解決的小問題,原來的問題也就容易解決了。2) 模塊獨(dú)立性模塊的獨(dú)立性是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他的模塊的接口是簡單的。例如,若一個模塊只具有單一的功能且與其他模塊沒有太多的聯(lián)系,那么,我們則稱此模塊具有模塊獨(dú)立性3) 提高抽象層次抽象是指忽視一個主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。當(dāng)我們進(jìn)行軟件設(shè)計時,設(shè)計開始時應(yīng)盡量提高軟件的抽象層次,按抽象級別從高到低進(jìn)行軟件設(shè)計4)復(fù)用性設(shè)計復(fù)用是指同一事物不做修改或稍加修改就可以多次重復(fù)使用。將復(fù)用的思想用于軟件開發(fā),稱為軟件復(fù)用。我們將軟件的重用部分稱為軟構(gòu)件。也就

7、是說,在構(gòu)造新的軟件系統(tǒng)時不必從零做起,可以直接使用已有的軟構(gòu)件即可組裝(或加以合理修改)成新的系統(tǒng)。5) 靈活性設(shè)計保證軟件靈活性設(shè)計的關(guān)鍵是抽象。面向?qū)ο笙到y(tǒng)中的類結(jié)構(gòu)類似一座金字塔,越接近金字塔的頂端,抽象程度就越高?!俺橄蟆钡姆戳x詞是“具體”。理想情況下,一個系統(tǒng)的任何代碼、邏緝、概念在這個系統(tǒng)中都應(yīng)該是唯一的,也就是說不存在重復(fù)的代碼。 2結(jié)構(gòu)化軟件設(shè)計劃分為哪兩個階段設(shè)計任務(wù)分別是什么?概要設(shè)計階段和詳細(xì)設(shè)計階段。體系結(jié)構(gòu)設(shè)計:體系結(jié)構(gòu)設(shè)計定義軟件的主要結(jié)構(gòu)元素及其之間的關(guān)系。接口設(shè)計:接口設(shè)計描述用戶界面,軟件和其他硬件設(shè)備、其他軟件系統(tǒng)及使用人員的外部接口,以及各種構(gòu)件之間的內(nèi)

8、部接口。數(shù)據(jù)設(shè)計:傳統(tǒng)方法主要根據(jù)需求階段所建立的實(shí)體關(guān)系圖(ER圖)來確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)及數(shù)據(jù)庫的表結(jié)構(gòu)。過程設(shè)計:過程設(shè)計的主要工作是確定軟件各個組成部分內(nèi)的算法及內(nèi)部數(shù)據(jù)結(jié)構(gòu),并選定某種過程的表達(dá)形式來描述各種算法。3什么是模塊模塊的分類。一個軟件系統(tǒng)通常由很多模塊組成,結(jié)構(gòu)化程序設(shè)計中的函數(shù)和子程序都可稱為模塊,它是程序語句按邏輯關(guān)系建立起來的組合體。傳入模塊,傳出模塊,變換模塊,協(xié)調(diào)模塊4課后習(xí)題. 將圖4-49修改為等價的結(jié)構(gòu)化流程圖,并用標(biāo)準(zhǔn)流程圖、N-S圖、和PAD圖分別表示。六:1名詞解釋:軟件測試、測試用例、黑盒測試、白盒測試。軟件測試是在軟件投入生產(chǎn)性運(yùn)行之前,

9、對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量控制的關(guān)鍵步驟。測試用例是指對一項頭頂?shù)能浖a(chǎn)品進(jìn)行測試任務(wù)的描述,體現(xiàn)測試方案、方法、技能和策略。內(nèi)容包括測試目標(biāo),測試環(huán)境,輸入數(shù)據(jù),測試步驟,預(yù)期結(jié)果,測試腳本等,并形成文檔。黑盒測試是把測試對象看做一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。白盒測試是對軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這一方法是把測試對象看做一個打開的盒子或透明的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。1軟件:完成特定功能的程

10、序+數(shù)據(jù)結(jié)構(gòu)+文檔 2軟件危機(jī):指計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題 4軟件生命周期:一個軟件從定義、開發(fā)、使用和維護(hù)直至最終被廢棄,要經(jīng)歷的漫長時期 5 數(shù)據(jù)流圖:一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸出過程中所經(jīng)受的變換 6數(shù)據(jù)字典:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)數(shù)據(jù)信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義集合 7概念性數(shù)據(jù)模型(ER圖):是一種面向問題的數(shù)據(jù)模型,按照用戶的觀點(diǎn)對數(shù)據(jù)建立模型 8數(shù)據(jù)對象:是對軟件必須理解的復(fù)合信息的抽象 9復(fù)合信息:指具有一系列不同性質(zhì)或?qū)傩缘氖挛?,僅

11、有單個值的事物不是數(shù)據(jù)對象 10模塊:由邊界元素限定的相鄰程序元素的序列,而且有一個總體標(biāo)識符代表他 11 模塊化:把程序劃分成獨(dú)立命名且可獨(dú)立訪問的模塊,每個模塊完成一個子功能 12模塊獨(dú)立:每個模塊完成一個相對獨(dú)立的特定子功能,并且和其他模塊關(guān)系簡單 13結(jié)構(gòu)程序設(shè)計經(jīng)典定義:如果一個程序代碼塊僅僅通過順序 選擇和循環(huán)三種基本控制結(jié)構(gòu)進(jìn)行連接,且每個代碼塊只有一個入口一個出口,則稱這個程序結(jié)構(gòu)化 14 結(jié)構(gòu)化程序設(shè)計更全面定義:盡可能少用GO TO語句的程序設(shè)計方法,最好僅在檢測出錯誤時才使用,而且應(yīng)

12、該總是使用前項GO TO語句 15耦合:是對一個軟件結(jié)構(gòu)內(nèi)不同模塊間互聯(lián)程度的度量 16內(nèi)聚:標(biāo)志著一個模塊內(nèi)各個元素彼此之間互聯(lián)程度的度量 17編碼:就是把軟件設(shè)計結(jié)果翻譯成用某種程序設(shè)計語言書寫的程序 18編碼風(fēng)格:指不影響程序正確性和效率的前提下,有效編排和合理組織程序的基本原則  21軟件的可靠性:是程序在給定的時間間隔內(nèi),按照規(guī)格說明書規(guī)定成功地運(yùn)行概率 22 軟件可用性:是程序在給定的時間點(diǎn),按照規(guī)格說明書規(guī)定成功地運(yùn)行概率 23軟件維護(hù):是軟件已經(jīng)交付使用后,為了改正錯誤或滿足新的

13、需要而修改的軟件的過程 24對象:由描述該對象屬性的數(shù)據(jù)以及可以對這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體 25類:是對具有相同屬性和行為的一個或多個對象的描述 26 實(shí)例:由某個特定的類所描述的一個具體對象 27消息:要求某個對象執(zhí)行在定義它的那個類中所定義的某個操作的規(guī)格說明 28方法:就是對象所能執(zhí)行的操作,也就是類中所定義的服務(wù) 29屬性:就是類中所定義的數(shù)據(jù),它是對客觀世界實(shí)體所具有的性質(zhì)抽象 30繼承:廣義的說是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們   狹

14、義的說是子類自動地共享基類中定義的數(shù)據(jù)和方法的機(jī)制 31 面向?qū)ο蠓治觯撼槿『驼碛脩粜枨蟛⒔栴}域精確模型過程 32 軟件設(shè)計:從抽象概括到具體實(shí)踐過程 33抽象:抽出事物的本質(zhì)特征而暫時不考慮它們細(xì)節(jié) 34逐步求精定義:為了能集中精力解決主要問題而盡量推遲對問題細(xì)節(jié)考慮 35局部化指:把一些關(guān)系密切的軟件元素物理放的彼此靠近 36深度表示軟件結(jié)構(gòu)中控制的層數(shù),它往往能錯略標(biāo)志一個系統(tǒng)的大小和復(fù)雜程度 37寬度是軟件結(jié)構(gòu)內(nèi)同一個層次上模塊總數(shù)的最大值。寬度越大系統(tǒng)越復(fù)雜 38扇出是一個模塊直

15、接控制的模塊數(shù)目,扇出過大或過小都不好 39扇入是有多少上級模塊直接調(diào)用它,扇入越大則共享該模塊的上級模塊數(shù)目越多這是有好處的 但也不能違背模塊獨(dú)立原理單純追求高扇入2邏輯覆蓋的分類。由于覆蓋測試的目標(biāo)不同,邏輯覆蓋又可分為: 語句覆蓋判定覆蓋判定條件覆蓋條件組合覆蓋路徑覆蓋3等價類劃分方法中選擇測試用例的原則。在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,則可以確立一個有效等價類和兩個無效等價類.在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個有效等價類和一個無效等價類.在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類.在規(guī)定

16、了輸入數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類.在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則).在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價類進(jìn)一步的劃分為更小的等價類.4比較測試和測試,說明其異同測試是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的測試。測試是由軟件的多個用戶在一個或多個用戶的實(shí)際使用環(huán)境下進(jìn)行的測試。與測試不同的是,開發(fā)者通常不在測試現(xiàn)場,由用戶記下遇到的所有問題。5軟件測試過程的

17、4個步驟。單元測試、組裝測試、確認(rèn)測試和系統(tǒng)測試七:UML中有哪幾種類圖每種類圖的作用是什么用例圖 類圖 交互圖 狀態(tài)圖 活動圖 實(shí)現(xiàn)圖用例模型描述的是外部執(zhí)行者(actor)所理解的系統(tǒng)功能類圖描述類和類與類之間的靜態(tài)關(guān)系,它是從靜態(tài)角度表示系統(tǒng)的,因此類圖屬于一種靜態(tài)模型。順序圖描述對象之間的動態(tài)交互關(guān)系,著重表現(xiàn)對象間消息傳遞的時間順序協(xié)作圖是順序圖的一種變化形式,用于描述相互協(xié)作的對象間的交互關(guān)系和鏈接關(guān)系。 狀態(tài)圖描述一個特定對象的所有可能的狀態(tài)以及引起狀態(tài)轉(zhuǎn)換的事件?;顒訄D用來捕捉用例的活動,使用框圖的方式顯示動作及其結(jié)果構(gòu)件圖描述軟件構(gòu)件及構(gòu)件之間的依賴關(guān)系,顯示代碼的靜態(tài)結(jié)構(gòu)。

18、部署圖描述處理器、設(shè)備和連接,它顯示系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)及在此結(jié)構(gòu)上執(zhí)行的軟件。九1.體系結(jié)構(gòu)的概念和作用軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組合連接起來。作用(1)體系結(jié)構(gòu)的表示有助于風(fēng)險承擔(dān)者(項目干系 人)進(jìn)行交流。 (2)體系結(jié)構(gòu)突出了早期設(shè)計決策。 (3)軟件體系結(jié)構(gòu)是可傳遞和可復(fù)用的模型。 2.調(diào)用-返回風(fēng)格的體系結(jié)構(gòu)包含哪些1主程序/子程序體系結(jié)構(gòu)2面向?qū)ο箫L(fēng)格3.層次結(jié)構(gòu)分布式系統(tǒng)結(jié)構(gòu)的優(yōu)點(diǎn)(1) 資源共享。分布式系統(tǒng)允許硬件、軟件等資源共享使用

19、。(2) 經(jīng)濟(jì)性。(3) 性能與可擴(kuò)展性。 (4) 固有分布性。(5) 健壯性3.客戶/服務(wù)器體系結(jié)構(gòu) 的組成,三層C/S體系結(jié)構(gòu)分成哪三層服務(wù)器、客戶機(jī)和網(wǎng)絡(luò)三部分組成。, 表示層、應(yīng)用邏輯層和數(shù)據(jù)層三個部分S體系結(jié)構(gòu)的優(yōu)缺點(diǎn)。(1)基于B/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決。(2)B/S體系結(jié)構(gòu)還提供了異種機(jī)、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)和統(tǒng)一服務(wù)的最現(xiàn)實(shí)的開放性基礎(chǔ)。 缺點(diǎn):(1)B/S體系結(jié)構(gòu)缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理功能。(2)采用B/S體系結(jié)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)地低于C/S體系結(jié)構(gòu)。(3)B/S體系結(jié)構(gòu)的數(shù)據(jù)提

20、交一般以頁面為單位,數(shù)據(jù)的動態(tài)交互性不強(qiáng),不利于在線事務(wù)處理(OLTP)應(yīng)用。 十一1.軟件維護(hù)的概念和分類。軟件維護(hù)是指在軟件運(yùn)行/維護(hù)階段對軟件產(chǎn)品所進(jìn)行的修改就是所謂的維護(hù)。根據(jù)維護(hù)工作的性質(zhì),軟件維護(hù)的活動可以分為以下4種類型。改正性維護(hù)適應(yīng)性維護(hù)完善性維護(hù)預(yù)防性維護(hù)2.程序修改的步驟.分析和理解程序、實(shí)施修改以及重新驗證程序。十二1.過程要素的構(gòu)成。(1) 輸入;(2) 輸出;(3) 活動及進(jìn)一步分解的任務(wù)(或作業(yè));(4) 資源是支持活動執(zhí)行所必須的,包括人員、設(shè)備及相關(guān)的耗費(fèi);(5) 測量與驗證能保證過程中的相關(guān)元素是合格的(在圖中這些過程元素標(biāo)有記號);(6) 過程目標(biāo),如活動

21、取得的效果是增值。2.軟件過程成熟度的概念軟件過程成熟度(Software Process Maturity)是軟件過程改進(jìn)的一個重要概念,它是指: 一個特定軟件過程得到清晰的定義、管理、測量、控制的有效程度。成熟度意味著能力的增長具有潛力,并表示組織軟件過程是珍貴的,他在組織內(nèi)所有項目中的應(yīng)用是一致的。3.什么是CMMCMM是能力成熟度模型Capability Maturity Model三個英文單詞第一個字母組成的事實(shí)上,該模型最早提出時,它指的是軟件過程能力成熟度模型。該模型按軟件過程的不同成熟度劃分了5個等級,1級被認(rèn)為成熟度最低,5級則成熟度最高。模型的等級劃分成熟度等級(ML,Ma

22、turity Level)初始級(ML1) 已管理級( ML2) 已定義級(ML3) 已量化管理級(ML4) 優(yōu)化級(ML5) 能力等級(CL,Capability Level)完備級(CLO) 已實(shí)施級(CL1) 已管理級(CL2)已定義級(CL3) 定量管理級(CL4) 優(yōu)化級(CL5) 十三1.軟件項目管理的目標(biāo)。(1)達(dá)到項目預(yù)期的軟件產(chǎn)品功能和性能要求。也就是軟件產(chǎn)品達(dá)到了用戶已認(rèn)可的需求規(guī)格說明的要求。(2)時限要求。項目應(yīng)在合同規(guī)定的期限內(nèi)完成。 (3)項目開銷限制在預(yù)算之內(nèi)。2.軟件項目管理涉及哪幾個方面。人員、產(chǎn)品、過程和項目,即所謂4P(People、Product、Pro

23、cess、Project)。補(bǔ)充習(xí)題;1簡述傳統(tǒng)方法學(xué)軟件設(shè)計的基本原理及內(nèi)容。 傳統(tǒng)方法學(xué)也稱生命周期方法學(xué)或結(jié)構(gòu)化范型。 原理:采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化實(shí)現(xiàn))來完成軟件開發(fā)的各項任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化技術(shù)的運(yùn)用。 內(nèi)容:把軟件生命周期的全過程依次劃分為若干個階段,然后順序地完成每個階段的任務(wù)。采用生命周期方法學(xué)可以大大提高軟件開發(fā)的成功率,軟件開發(fā)的生產(chǎn)率也能明顯提高。2寫出CMM5個等級的名稱以及每個等級所包含的KPA至少各列出2個KPA 答 初始級 可重復(fù)級需求管理、項目策劃等 已定義級組織過程焦點(diǎn)、組織

24、過程定義等 已管理級過程定量管理、軟件質(zhì)量定量管理 優(yōu)化級缺陷預(yù)防、技術(shù)革新管理等3解釋里程碑、基線與檢查點(diǎn)等3個術(shù)語的概念 答 檢查點(diǎn)指在規(guī)定的時間間隔內(nèi)對項目進(jìn)行檢查比較實(shí)際與計 劃之間的差異并根據(jù)差異進(jìn)行調(diào)整。 里程碑指一個或一組配置項在項目生命周期的不同時間點(diǎn)上通過正式評審而進(jìn)入正式受控的一種狀態(tài)。 基線完成階段性工作的標(biāo)志4以的觀點(diǎn),簡述對軟件測試的定義。 給出了關(guān)于測試的一些規(guī)則,這些規(guī)則也可以看作是測試的目標(biāo)或定義。 (1) 測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程; (2) 好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試

25、方案; (3) 成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。 從上述規(guī)則可以看出,測試的正確定義是“為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程”簡述面向?qū)ο蠓椒▽W(xué)的4個要點(diǎn)。 5概括地說,面向?qū)ο蠓椒▽W(xué)具有下述4個要點(diǎn): (1)把對象(object)作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。  (2) 把所有對象都劃分成類(class)。 (3) 按照父類(或稱為基類)與子類(或稱為派生類)的關(guān)系,把若干個相關(guān)類組成一個層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級)。  (4)

26、60;對象彼此間僅能通過發(fā)送消息互相聯(lián)系。6. 列舉出5個詳細(xì)設(shè)計階段的常用工具。 程序流程圖,盒圖,PAD圖(問題分析圖),判定表,判定樹,過程設(shè)計語言7簡述什么是系統(tǒng)流程圖。答:系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具。它的基本思想是用圖形符號以黑盒子形式描繪系統(tǒng)里的每個部件(程序、文件、數(shù)據(jù)庫、表格、人工過程等)。系統(tǒng)流程圖表達(dá)的是部件的信息流程,而不表示對信息進(jìn)行加工處理的控制過程。8為什么數(shù)據(jù)流圖要分層答:這了表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,用一個數(shù)據(jù)流圖是不夠的。為表達(dá)稍為復(fù)雜的實(shí)際問題,需要按照問題的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。

27、0;9軟件的質(zhì)量反應(yīng)為哪些方面的問題答:軟件需求是度量軟件質(zhì)量的基礎(chǔ),不符合需求的軟件就不具備質(zhì)量。 在各種標(biāo)準(zhǔn)中定義了一些開發(fā)準(zhǔn)則,用來指導(dǎo)軟件人員用工程化的方法來開發(fā)軟件。 如果不遵守這些開發(fā)準(zhǔn)則,軟件質(zhì)量就得不到保證。往往會有一些隱含的需求沒有明確地提出來。如果軟件只滿足那些精確定義了的需求而沒有滿足這些隱含的需求,軟件質(zhì)量也不能保證。 軟件質(zhì)量是各種特性的復(fù)雜組合。它隨著應(yīng)用的不同而不同,隨著用戶提出的質(zhì)量要求不同而不同。10簡單傳述軟件可維護(hù)性度量的含義。(5分) 答:可維護(hù)性度量表示軟件系統(tǒng)維護(hù)工作的強(qiáng)度或維護(hù)工作量的大小。人們?yōu)榱硕攘靠删S護(hù)

28、性,常將可維護(hù)性度量問題分解為對:可測試性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。11耦合性有哪幾種類型 其耦合度的順序如何低:非直接耦合® 數(shù)據(jù)耦合®標(biāo)記耦合® 控制耦合®外部耦合® 公共耦合®內(nèi)容耦合 :高12什么是軟件危機(jī)為什么會產(chǎn)生軟件危機(jī)軟件危機(jī)是指軟件在開發(fā)和維護(hù)過程中遇到的一系統(tǒng)嚴(yán)重問題,主要包含二方面的問題,一是如何開發(fā)利用軟件,三是如何維護(hù)數(shù)量不斷膨脹的已有軟件。產(chǎn)生軟件危機(jī)的原因,一方面與軟件本身的特點(diǎn)有關(guān),另一方面和軟件開發(fā)與維護(hù)的方法不正確

29、有關(guān)。13簡述需求分析工作可以分成哪四個方面軟件需求分析的有哪三個基本原則:需求分析階段分成四個方面:對問題的識別、分析與綜合、制定規(guī)格說明和評審。三個基本原則:必須能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域;必須按自頂向下、逐步分解的方式對問題進(jìn)行分解和不斷細(xì)化;要給出系統(tǒng)的邏輯視圖和物理視圖。 提空題:1. 目前使用最廣泛的軟件工程學(xué)方法分別是傳統(tǒng)方法學(xué)和(面向?qū)ο蠓椒▽W(xué)  )   。2.  2.數(shù)據(jù)流圖中信息流的類型有(變換流  )和事務(wù)流。  3.軟件的定義是:軟件=程序+數(shù)據(jù)+

30、60; ( 文檔 )        。 4.經(jīng)典結(jié)構(gòu)程序設(shè)計包括順序、選擇和 (  重復(fù)  )三種結(jié)構(gòu)。 5.集成測試時對軟件結(jié)構(gòu)中上層使用     自頂向下         的集成測試方法,對軟件結(jié)構(gòu)中下層使用  ( 自底向上  

31、;) 的集成測試方法。 6.軟件維護(hù)包括( 改正性維護(hù) )、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)。 7.面向?qū)ο蠓椒▽W(xué)建模得到的三個基本子模型是  (對象建模)   .動態(tài)模型、功能模型。 8.復(fù)雜大型問題的對象模型通常由主題層、類與對象層、結(jié)構(gòu)層、(屬性層   )、及服務(wù)層5個層次組成。 9.面向?qū)ο蠓椒▽W(xué)是基于      軟件     

32、   的重用。 10.軟件層次結(jié)構(gòu)圖中方框間的連線表示  調(diào)用     關(guān)系。1軟件工程學(xué)的基本原則包括  分解性       、 獨(dú)立性   、一致性、確定性等2軟件生存周期一般可分為問題定義,可行性研究、需求分析 、設(shè)計、編碼、測試  ,運(yùn)行與維護(hù)階段。 3成本估計方法主要有 自頂向下方法 、自

33、底向上方法  和算法模型估計三種類型。 4數(shù)據(jù)流圖的基本符號包括   數(shù)據(jù)輸入的源點(diǎn)和數(shù)據(jù)輸出的匯點(diǎn)  、  加工   、 數(shù)據(jù)流 、   數(shù)據(jù)存儲文件   5JSD是一種典型的     面向數(shù)據(jù)結(jié)構(gòu)                 的分析設(shè)計方法。 6詳細(xì)設(shè)計的工具有   圖形工具 

溫馨提示

  • 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

提交評論