軟件工程答案整理_第1頁(yè)
軟件工程答案整理_第2頁(yè)
軟件工程答案整理_第3頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、填空1軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)軟件中存在的錯(cuò)誤,將 測(cè)試結(jié)果作為糾錯(cuò)的依據(jù)。2測(cè)試階段的基本任務(wù)是根據(jù)軟件開發(fā)各階段的和程序的,精心設(shè)計(jì)一組,利用這些實(shí)例執(zhí)行,找出軟件中潛在的各種和。3測(cè)試用例由和預(yù)期的兩部分組成。4軟件測(cè)試方法一般分為兩大類:方法和方法。5動(dòng)態(tài)測(cè)試通過發(fā)現(xiàn)錯(cuò)誤。根據(jù)的設(shè)計(jì)方法不同,動(dòng)態(tài)測(cè)試又分為與兩類。6靜態(tài)測(cè)試采用和的手段對(duì)程序進(jìn)行檢測(cè)。7人工審查程序偏重于的檢驗(yàn),而軟件審查除了審查還要對(duì)各階段進(jìn)行檢驗(yàn)。8計(jì)算機(jī)輔助靜態(tài)分析利用工具對(duì)測(cè)試程序進(jìn)行分析。9黑盒法只在軟件的處進(jìn)行測(cè)試,依據(jù)說明書,檢查程序是否滿足要求。10白盒法必須考慮程序的和,以檢查的細(xì)節(jié)為基礎(chǔ),對(duì)程

2、序中盡可能多的邏輯路徑進(jìn)行。11白盒測(cè)試是測(cè)試,被測(cè)對(duì)象是,以程序的為基礎(chǔ)設(shè)計(jì)測(cè)試用例。12邏輯覆蓋是對(duì)程序內(nèi)部有存在的邏輯結(jié)構(gòu)設(shè)計(jì)測(cè)試用例,根據(jù)程序內(nèi)部的邏輯覆蓋程度又可分為、和6 種覆蓋技術(shù)。13實(shí)際的邏輯覆蓋測(cè)試中,一般以覆蓋為主設(shè)計(jì)測(cè)試用例,然后再補(bǔ)充部分用例,以達(dá)到覆蓋測(cè)試標(biāo)準(zhǔn)。14循環(huán)覆蓋是對(duì)程序內(nèi)部有存在的邏輯結(jié)構(gòu)設(shè)計(jì)測(cè)試用例,它通過限制來測(cè)試。15基本路徑測(cè)試是在程序基礎(chǔ)上,通過分析控制構(gòu)造的復(fù)雜性,導(dǎo)出集合,從而設(shè)計(jì)測(cè)試用例。16黑盒測(cè)試是測(cè)試,用黑盒技術(shù)設(shè)計(jì)測(cè)試用例有4 種方法:、和。17等價(jià)類劃分從程序的說明,找出一個(gè)輸入條件(通常是或),然后將每個(gè)輸入條件劃分成兩個(gè)或多

3、個(gè)。18邊界值分析是將測(cè)試情況作為重點(diǎn)目標(biāo), 選取正好等于、 剛剛大于或剛剛小于的測(cè)試數(shù)據(jù)。如果輸入或輸出域是一個(gè)有序集合,則應(yīng)選取集合的元素和元素作為測(cè)試用例。19在測(cè)試程序時(shí),根據(jù)經(jīng)驗(yàn)或直覺推測(cè)程序中可能存在的各種錯(cuò)誤,稱為。20因果圖的基本原理是通過畫圖,把用自然語(yǔ)言描述的轉(zhuǎn)換為,最后為每一列設(shè)計(jì)一個(gè)測(cè)試用例。21測(cè)試的綜合策略是在測(cè)試中,聯(lián)合使用各種方法。通常先用法設(shè)計(jì)基本的測(cè)試用例,再用法補(bǔ)充一些必要的測(cè)試用例。22軟件測(cè)試過程中需要3 類信息:、和。23軟件測(cè)試一般經(jīng)過4 個(gè)測(cè)試:、和。24指對(duì)源程序中每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)模塊是否正確實(shí)現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中

4、或算法中的錯(cuò)誤,它涉及和的文檔。25單元測(cè)試主要測(cè)試的 5 個(gè)基本特征:、和。26在單元測(cè)試中,需要為被測(cè)模塊設(shè)計(jì)模塊和模塊。用來模擬被測(cè)模塊的上級(jí)調(diào)用模塊,用來代替被測(cè)模塊所調(diào)用的模塊。27集成測(cè)試指在測(cè)試基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成一個(gè)完整的系統(tǒng)進(jìn)行的測(cè)試。也稱測(cè)試或測(cè)試。28集成測(cè)試的方法有兩種:和。29漸增式測(cè)試有兩種不同的組裝模塊的方法:和。30自頂向下漸增式測(cè)試不需要編寫模塊,只需要編寫模塊,其步驟是從模塊開始,沿著被測(cè)程序的的控制路徑逐步向下測(cè)試,它有兩種組合策略:和。31自底向上漸增式測(cè)試不需要編寫模塊,只需要編寫模塊。32確認(rèn)測(cè)試指檢查軟件的與是否與說明書中確定的指標(biāo)

5、相符合,又稱測(cè)試。33確認(rèn)測(cè)試在模擬環(huán)境下運(yùn)用測(cè)試方法,由和參加的測(cè)試。34確認(rèn)測(cè)試開始前需要制定計(jì)劃,結(jié)束后要寫出報(bào)告。其測(cè)試用例要選用的數(shù)據(jù)。35軟件配置審查的任務(wù)是檢查軟件的所有文檔資料的和。36調(diào)試也稱,是在成功的測(cè)試之后才開始進(jìn)行,其目的是確定錯(cuò)誤的和,并改正錯(cuò)誤。37調(diào)試技術(shù)包括、和。38回溯法調(diào)試是從出發(fā),而歸納法調(diào)試是從入手。39被測(cè)試程序不在機(jī)器上運(yùn)行,而是采用人工檢測(cè)和計(jì)算機(jī)輔助分析檢測(cè)的手段稱為測(cè)試。40用等價(jià)類劃分法設(shè)計(jì)一個(gè)測(cè)試用例時(shí),使其覆蓋尚未被覆蓋的合理等價(jià)類。41用等價(jià)類劃分法設(shè)計(jì)一個(gè)測(cè)試用例時(shí),使其覆蓋不合理等價(jià)類。42在單元測(cè)試時(shí),需要為被測(cè)模塊設(shè)計(jì)。43在

6、集成測(cè)試時(shí)有兩種測(cè)試方法,它們是。44軟件測(cè)試是為了而執(zhí)行程序的過程。45運(yùn)行被測(cè)程序的方法稱為測(cè)試。46動(dòng)態(tài)測(cè)試中,主要測(cè)試軟件功能的方法稱為法。47選擇測(cè)試用例,使得被測(cè)程序中每個(gè)判定的每個(gè)分支至少執(zhí)行一次,這種邏輯覆蓋標(biāo)準(zhǔn)稱為。48要覆蓋含循環(huán)結(jié)構(gòu)的所有路徑是不可能的,一般通過限制來測(cè)試。49用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例時(shí),如果被測(cè)程序的某個(gè)輸入條件規(guī)定了取值范圍,則可確定一個(gè)合理的等在和。50憑經(jīng)驗(yàn)或直覺推測(cè)程序中可能存在的錯(cuò)誤而設(shè)計(jì)測(cè)試用例的方法是。51集成測(cè)試中的具體方法是。52確認(rèn)測(cè)試階段的兩項(xiàng)工作是。53在單元測(cè)試中,測(cè)試一個(gè)模塊時(shí),需要設(shè)計(jì)。54軟件配置管理,簡(jiǎn)稱SCM,它用于

7、整個(gè)軟件工程過程。其主要目標(biāo)是:、。55 SCM是一組管理整個(gè)軟件生存期各階段中的活動(dòng)。56基線的作用是把各階段的開發(fā)工作劃分得更加明確,便于檢查與確認(rèn)階段成果。因此,基線可以作為項(xiàng)目的一個(gè)。2.文檔資料內(nèi)部結(jié)構(gòu)測(cè)試用例程序錯(cuò)誤缺陷3. 輸入數(shù)據(jù)輸出數(shù)據(jù) 4.動(dòng)態(tài)測(cè)試靜態(tài)測(cè)試5.運(yùn)行程序測(cè)試用例黑盒測(cè)試白盒測(cè)試 6.人工檢測(cè)計(jì)算機(jī)輔助靜態(tài)分析7.編碼質(zhì)量編碼軟件產(chǎn)品 8.靜態(tài)分析特性 9.接口需求規(guī)格功能 10. 內(nèi)部結(jié)構(gòu)處理過程處理過程測(cè)試 11. 結(jié)構(gòu)源程序內(nèi)部邏輯12.判定 語(yǔ)句覆蓋判定覆蓋條件覆蓋判定 / 條件覆蓋條件組合覆蓋路徑覆蓋 13.條件組合路徑 14.循環(huán)循環(huán)次數(shù) 15.控制

8、流程圖環(huán)路 基本路徑16. 功能等價(jià)類劃分邊界值分析錯(cuò)誤推測(cè)因果圖 17.功能一句話一個(gè)短語(yǔ)等價(jià)類 18.邊界邊界值第一個(gè)最后一個(gè) 19.錯(cuò)誤推測(cè)法 20.因果功能說明判定表判定表 21. 測(cè)試 黑盒白盒 22.軟件配置測(cè)試配置 測(cè)試工具 23. 單元測(cè)試集成測(cè)試確認(rèn)測(cè)試系統(tǒng)測(cè)試 24.單元測(cè)試編碼詳細(xì)設(shè)計(jì) 25.模塊模塊接口局部數(shù)據(jù)結(jié)構(gòu)重要的執(zhí)行路徑錯(cuò)誤處理邊界條件 26. 驅(qū)動(dòng)樁驅(qū)動(dòng)模塊樁模塊 27.單元 組裝聯(lián)合 28.非漸增式測(cè)試漸增式測(cè)試29. 自頂向下結(jié)合自底向上結(jié)合30.驅(qū)動(dòng)樁頂層軟件結(jié)構(gòu)圖深度優(yōu)先策略寬度優(yōu)先策略31. 樁驅(qū)動(dòng) 32. 功能性能 需求規(guī)格有效性 33.黑盒專門測(cè)

9、試人員用戶 34.測(cè)試測(cè)試分析實(shí)際運(yùn)用35.完整性正確性 36.糾錯(cuò)原因 位置37.簡(jiǎn)單調(diào)試歸納法調(diào)試演繹法調(diào)試回溯法調(diào)試38. 程序產(chǎn)生錯(cuò)誤的地方測(cè)試結(jié)果發(fā)現(xiàn)的線索39靜態(tài) 40盡可能多的 41一個(gè) 42驅(qū)動(dòng)模塊與樁模塊43漸增式和非漸增式44發(fā)現(xiàn)錯(cuò)誤 45動(dòng)態(tài)測(cè)試 46黑盒法 47判定覆蓋 48循環(huán)次數(shù) 49兩個(gè)不合理的等價(jià)類50錯(cuò)誤推測(cè)法 51漸增式和非漸增式測(cè)試方法 52進(jìn)行確認(rèn)測(cè)試和軟件配置審查53驅(qū)動(dòng)模塊和樁模塊 54標(biāo)識(shí)變更控制變更確保變更正確地實(shí)現(xiàn)報(bào)告有關(guān)變更 55變更 56檢查點(diǎn)1程序設(shè)計(jì)語(yǔ)言的特性主要有心理特性、工程特性和技術(shù)特性三個(gè)方面。2程序語(yǔ)言的工程特性主要表現(xiàn)為可移

10、植性、開發(fā)工具的可利用性、軟件的可重用性和可維護(hù)性。3為了提高程序的易讀性,同時(shí)為減少錯(cuò)誤,提高軟件開發(fā)效率,編碼時(shí)應(yīng)注意養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格。4程序加注釋對(duì)理解程序提供了明確指導(dǎo),根據(jù)作用不同注釋分序言性注釋和功能性注釋。5軟件需求分析之后, 軟件的設(shè)計(jì)、 編碼、測(cè)試與語(yǔ)言的特性有很大的關(guān)系, 這個(gè)特性主要是語(yǔ)言的技術(shù)特性。6語(yǔ)句構(gòu)造的原則是簡(jiǎn)單直接,不能為了追求效率而使代碼復(fù)雜化。7 FORTRAN 語(yǔ)言上世界上第一個(gè)被正式推廣應(yīng)用的計(jì)算機(jī)語(yǔ)言,它不僅面向科學(xué)計(jì)算,數(shù)據(jù)處理能力也極強(qiáng)。8 匯編語(yǔ)言是面向機(jī)器的,可以完成高級(jí)語(yǔ)言無(wú)法滿足要求的特殊功能,如與外部設(shè)備之間的一些接口操作。9為了

11、使數(shù)據(jù)定義更容易理解和維護(hù),一個(gè)語(yǔ)句說明多個(gè)變量時(shí),各變量名按字典排列。10編碼是將詳細(xì)設(shè)計(jì)得到的處理過程的描述轉(zhuǎn)換為基于某種計(jì)算機(jī)語(yǔ)言的程序。1軟件原來沒有幫助信息,使用不方便,現(xiàn)在要增加幫助信息。這種維護(hù)性活動(dòng)稱之為完善性維護(hù)。2調(diào)試也稱糾錯(cuò),是在成功的測(cè)試之后才開始進(jìn)行,其目的是確定錯(cuò)誤的原因和位置,并改正錯(cuò)誤。3調(diào)試技術(shù)包括4回溯法調(diào)試是從簡(jiǎn)單調(diào)試 、 歸納法調(diào)試 、 演繹法調(diào)試程序產(chǎn)生錯(cuò)誤的地方 出發(fā),而歸納法調(diào)試是從和回溯法調(diào)試測(cè)試結(jié)果發(fā)現(xiàn)的線索。入手。簡(jiǎn)答題1 簡(jiǎn)述 1983 年 IEEE為軟件下的定義。5822926計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料以及在計(jì)算機(jī)上運(yùn)行程序時(shí)

12、所必需的數(shù)據(jù)。2 簡(jiǎn)述軟件危機(jī)的表現(xiàn)有哪些以及解決軟件危機(jī)的途徑有哪些軟件危機(jī)的主要表現(xiàn)包括:(1) 軟件開發(fā)進(jìn)度難以預(yù)測(cè),開發(fā)成本難以控制,導(dǎo)致超預(yù)算、超時(shí);(2) 產(chǎn)品功能難以滿足用戶需求;(3) 軟件產(chǎn)品質(zhì)量無(wú)法保證;(4) 軟件缺少適當(dāng)?shù)奈臋n資料,維護(hù)困難;(5) 軟件成本超過硬件成本;(6) 軟件開發(fā)生產(chǎn)率的提高速度跟不上計(jì)算機(jī)應(yīng)用普及深入的趨勢(shì);解決軟件危機(jī)的途徑有:1 管理措施:項(xiàng)目管理、配置管理、過程管理、質(zhì)量控制2 技術(shù)措施:開發(fā)過程、開發(fā)技術(shù)與方法和開發(fā)工具3 軟件工程的定義1993 年 IEEE給出的定義:軟件工程是:系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)

13、過程,也就是把工程應(yīng)用于軟件;研究中提到的途徑?!避浖こ淌菄@軟件開發(fā)的一門交叉學(xué)科:軟件工程=計(jì)算機(jī)科學(xué)+工程學(xué) +管理學(xué)4 軟件工程的10 個(gè)知識(shí)領(lǐng)域軟件工程過程( Software Engineering Process)軟件工程工具和方法( Software Engineering Tools and Methods )軟件需求 (Software Requirement)l軟件設(shè)計(jì)(Software Design )軟件構(gòu)造(Software Construction)軟件測(cè)試(Software Testing)軟件維護(hù)(Software Maintenance)軟件配置管理(So

14、ftware Configurationmanagement)軟件工程管理( Software Engineering management )軟件質(zhì)量( SoftwareQuality)5 軟件工程的目標(biāo)是什么,軟件工程的三要素都是什么軟件工程的目標(biāo):軟件工程必須以有組織的質(zhì)量保證為基礎(chǔ),進(jìn)行全面質(zhì)量管理,不斷地過程改進(jìn)使軟件工程方法走向成熟。軟件工程的三要素包括:過程、方法和工具過程為及時(shí)合理地開發(fā)出滿足用戶需求的計(jì)算機(jī)軟件而進(jìn)行一系列有組織的活動(dòng)。過程定義了技術(shù)方法的采用、工程產(chǎn)品 (包括模型、 文檔、數(shù)據(jù)、報(bào)告、表格等 )的產(chǎn)生、 里程碑的建立、 質(zhì)量的保證和變更的管理。方法為軟件開發(fā)

15、提供“如何做”的技術(shù),它涵蓋了項(xiàng)目計(jì)劃、需求分析、系統(tǒng)設(shè)計(jì)、程序?qū)崿F(xiàn)、測(cè)試與維護(hù)等一系列的開發(fā)活動(dòng)如何來做。開發(fā)方法經(jīng)歷了從面向結(jié)構(gòu)、面向?qū)ο?、面向組件到面向服務(wù)的發(fā)展工程。工具為過程和方法提供自動(dòng)的或半自動(dòng)的支持。這些軟件工具被集成起來,建立起一個(gè)支持軟件開發(fā)的系統(tǒng),稱之為計(jì)算機(jī)輔助軟件工程(CASE , Computer Aided Software Engineering) 。6 軟件工程的七條基本原理美國(guó)著名的軟件工程專家巴利玻姆(Barry Boehm) 提出了軟件工程的七條基本原理:1用分階段的生命周期計(jì)劃嚴(yán)格管理;2堅(jiān)持進(jìn)行階段評(píng)審;3實(shí)行嚴(yán)格的產(chǎn)品控制;4采納現(xiàn)代程序設(shè)計(jì)技術(shù);

16、5結(jié)果應(yīng)能清楚地審查;6開發(fā)小組的人員應(yīng)少而精;7承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。7 簡(jiǎn)述軟件過程的定義,軟件過程又可以分為那幾個(gè)類型軟件過程 (Software Procedure) 是為獲得軟件產(chǎn)品, 在軟件工具支持下由軟件工程師完成的一系列軟件工程活動(dòng)。軟件過程可概括為基本過程、支持過程和組織過程等三種類型。其中,基本過程包括:獲取過程、供應(yīng)過程、開發(fā)過程、運(yùn)作過程和維護(hù)過程。支持過程包括:文檔編制過程、配置管理過程、質(zhì)量保證過程、驗(yàn)證過程、確認(rèn)過程、聯(lián)合評(píng)審過程和問題解決過程等過程。組織過程包括:管理過程、基礎(chǔ)設(shè)施過程、改進(jìn)過程和培訓(xùn)過程。8 里程碑 ( Mile Stone ) 思

17、想階段工作的目標(biāo)進(jìn)行總結(jié)、評(píng)審、調(diào)整和部署下一個(gè)里程碑。目的:合理分配,細(xì)化管理“粒度” ,降低項(xiàng)目風(fēng)險(xiǎn)。9 基線思想基線是指一個(gè) (或一組 )配置項(xiàng)在項(xiàng)目生命周期的不同時(shí)間點(diǎn)的一種狀態(tài),各階段有各階段的基線: 需求基線、設(shè)計(jì)基線、測(cè)試基線等?;€一旦建立后變化需要受控制。10 簡(jiǎn)述軟件生存周期的概念,說明軟件生存周期劃分為那幾個(gè)主要時(shí)期每個(gè)時(shí)期有包括哪些主要階段軟件生存周期是指軟件產(chǎn)品從定義到開發(fā)、使用和維護(hù),直到最終被棄用的時(shí)期,稱為生存周期。生存周期的可劃分為計(jì)劃時(shí)期、開發(fā)時(shí)期和運(yùn)行時(shí)期等三個(gè)主要時(shí)期。其中計(jì)劃時(shí)期包括問題定義和可行性研究?jī)蓚€(gè)階段。開發(fā)時(shí)期包括需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)

18、和實(shí)現(xiàn)等四個(gè)階段。運(yùn)行時(shí)期的又稱為運(yùn)行和維護(hù)階段。11 簡(jiǎn)述教材中介紹了那些軟件開發(fā)模型這些模型各有什么特點(diǎn)教材中重點(diǎn)介紹了瀑布、原型、增量、螺旋四個(gè)傳統(tǒng)模型和RUP、 XP兩個(gè)現(xiàn)代模型。其中,瀑布模型嚴(yán)格按照生存周期開發(fā)軟件,每個(gè)階段必須完成規(guī)定的、完整、準(zhǔn)確的合格文檔,前一階段的輸出文檔就是后一階段的輸入文檔。其主要特點(diǎn)包括:活動(dòng)間具有順序性和依賴性;推遲實(shí)現(xiàn)的觀點(diǎn);質(zhì)量保證的觀點(diǎn);快速原型模型法是開發(fā)人員在一個(gè)基本的需求的基礎(chǔ)上快速開發(fā)出一個(gè)軟件原型,然后由用戶使用和評(píng)價(jià)原型、開發(fā)人員根據(jù)用戶意見再修改原型,然后再使用評(píng)價(jià)再修改、直至將原型進(jìn)化為最終產(chǎn)品。快速原型模型的特點(diǎn)包括: 做出系

19、統(tǒng)原型,及早向用戶展示系統(tǒng)要實(shí)現(xiàn)的界面及功能,增強(qiáng)用戶的合作信心; 直觀化的表達(dá),容易交流,消除理解上的歧義;修改集中在前期的原型確認(rèn)上,較大程度減少后期實(shí)施中的返工。入手快,加快開發(fā)進(jìn)度;增量模型是一種演化模型,先完成一個(gè)系統(tǒng)子集的開發(fā),再按同樣的開發(fā)步驟增加子集,如此遞增下去直至滿足全部系統(tǒng)需求。每個(gè)增量可按快速原型法進(jìn)行。增量模型的特點(diǎn)包括:無(wú)須等待獲取完整需求就可入手,盡快見到成果,增強(qiáng)雙方信心;分步開發(fā),降低復(fù)雜性和難度,減少技術(shù)風(fēng)險(xiǎn),并可并行開發(fā);邊開發(fā)邊投入,可及早發(fā)現(xiàn)問題,減少投資風(fēng)險(xiǎn); 各個(gè)子集是逐漸并入已有的系統(tǒng)中,加入子集不能破壞已構(gòu)造好的部分,這需要軟件具備開放式的體系

20、結(jié)構(gòu);適用于需求不完整的軟件開發(fā),指的是需求逐漸摸清、逐步完善,并非隨意改變,需求改變過大會(huì)導(dǎo)致整體性失控。后面要介紹的XP(極限編程)屬于該模型。螺旋模型 (Spiral model) 是一種融合了瀑布模型、快速原型模型和增量模型的演進(jìn)模型,并引入風(fēng)險(xiǎn)分析機(jī)制。適合大型復(fù)雜的系統(tǒng)開發(fā)。螺旋模型特點(diǎn)包括:多種模型結(jié)合的一種演進(jìn)模型,融合了瀑布模型、 快速原型和增量模型的所有特點(diǎn),融進(jìn)了循環(huán)往復(fù)、迭代演進(jìn)的思想; 增加風(fēng)險(xiǎn)分析,一旦風(fēng)險(xiǎn)成立,原方案應(yīng)終止、修訂,力求風(fēng)險(xiǎn)可控 客戶始終參與每個(gè)階段的開發(fā),每個(gè)階段的成果需客戶確認(rèn),避免錯(cuò)誤的積累。統(tǒng)一過程 RUP (Rational Unified

21、 Process)是由 Rational 公司在推出統(tǒng)一建模語(yǔ)言UML 后,推出的一個(gè)軟件開發(fā)框架 RUP,稱為軟件統(tǒng)一開發(fā)過程。12 統(tǒng)一過程RUP 定義了那幾個(gè)主要階段初始階段 (Inception): 主要完成商業(yè)需求,確定項(xiàng)目邊界。里程碑是生命周期目標(biāo)(Lifecycle Objective) ,評(píng)價(jià)項(xiàng)目基本的生存能力。細(xì)化階段 (Elaboration): 主要完成領(lǐng)域問題分析和軟件設(shè)計(jì)。獲取用戶需求(功能和非功能需求),建立需求模型;進(jìn)一步確立體系結(jié)構(gòu)和設(shè)計(jì)軟件結(jié)構(gòu)等工作。里程碑是生命周期結(jié)構(gòu)(Lifecycle Architecture) 。構(gòu)造階段 (Construction)

22、: 主要完成系統(tǒng)實(shí)現(xiàn)、測(cè)試,里程碑是初始功能(Initial Operational) ,產(chǎn)品版本常被稱為“ beta ”版。交付階段 (Transition):重點(diǎn)是確保軟件對(duì)最終用戶是可用的。里程碑:產(chǎn)品發(fā)布(Product Release)13 統(tǒng)一過程 RUP 工作流6 個(gè)核心過程工作流(Core Process Workflows)商業(yè)建模 (Business Modeling):弄清項(xiàng)目邊界和約束,做出計(jì)劃。需求 (Requirements):描述系統(tǒng)應(yīng)做什么,開發(fā)人員和用戶達(dá)成需求基線。分析和設(shè)計(jì) (Analysis & Design):將需求轉(zhuǎn)化成計(jì)算機(jī)可以實(shí)現(xiàn)的模型。

23、實(shí)現(xiàn) (Implementation) :用程序設(shè)計(jì)語(yǔ)言將設(shè)計(jì)模型組織成可執(zhí)行的文件、數(shù)據(jù)。測(cè)試 (Test):是發(fā)現(xiàn)軟件中的錯(cuò)誤,在實(shí)驗(yàn)環(huán)境下驗(yàn)證所有的需求是否被正確的實(shí)現(xiàn)。部署 (Deployment) :將軟件分發(fā)給最終用戶,安裝在真實(shí)的環(huán)境下,由用戶操作運(yùn)行。3 個(gè)核心支持工作流 (Core Supporting Workflows) 是對(duì)核心過程工作流的配套支持和管理,保障核心過程工作流順暢、高效運(yùn)行。配置和變更管理:工作文檔的管理,在版本更新、需求變更中做到各類文檔及時(shí)、同步跟蹤,保證各文檔內(nèi)容完整、一致。項(xiàng)目管理 (Project Management) :資源配置、評(píng)估監(jiān)控、風(fēng)

24、險(xiǎn)控制、計(jì)劃調(diào)整等管理工作,目的效益最大化。環(huán)境 (Environment) :軟件開發(fā)環(huán)境,包括人員、設(shè)備、過程和工具,以及各種規(guī)范、指導(dǎo)手冊(cè)和保障措施。14 簡(jiǎn)述 rup 模型中基線與里程碑的概念,二者之間的關(guān)系?;€,是軟件文檔或源碼(或其它產(chǎn)出物 ) 的一個(gè)穩(wěn)定版本,它是進(jìn)一步開發(fā)的基礎(chǔ),也可以理解成為一個(gè)階段的起點(diǎn)并已經(jīng)制定了相應(yīng)的工作標(biāo)準(zhǔn),并且只有經(jīng)過授權(quán)后才能變更這個(gè)標(biāo)準(zhǔn)。里程碑,是計(jì)劃中確定的階段性工作完成目標(biāo),要求提交階段交付物,作為階段評(píng)估的標(biāo)準(zhǔn)?;€和里程牌的關(guān)系:基線是為了建立參照點(diǎn),是階段的起點(diǎn);里程牌是建立階段性目標(biāo),是階段終點(diǎn),最后的里程牌可能是一次迭代的終結(jié)。1

25、5 簡(jiǎn)述軟件計(jì)劃的目標(biāo)和主要工作.軟件計(jì)劃的目標(biāo):研究項(xiàng)目的可行性,研究合理地運(yùn)用軟件項(xiàng)目開發(fā)所需的資源、經(jīng)費(fèi),掌握開發(fā)進(jìn)度,控制項(xiàng)目開發(fā)過程按此計(jì)劃進(jìn)行。主要工作包括 :確定項(xiàng)目實(shí)施范圍、定義遞交的工作成果、評(píng)估實(shí)施過程中主要的風(fēng)險(xiǎn)、制定項(xiàng)目實(shí)施的時(shí)間計(jì)劃、成本和預(yù)算計(jì)劃、人力資源計(jì)劃等。16 軟件計(jì)劃的活動(dòng)有哪些這些活動(dòng)的內(nèi)容是什么軟件計(jì)劃主要活動(dòng)包括:?jiǎn)栴}定義,可行性研究,項(xiàng)目計(jì)劃。這些活動(dòng)的內(nèi)容是:?jiǎn)栴}定義:確定項(xiàng)目實(shí)施范圍,回答項(xiàng)目“做什么”的問題。可行性研究:項(xiàng)目的必要性和可能性。制定項(xiàng)目計(jì)劃:編制項(xiàng)目開發(fā)計(jì)劃。17 簡(jiǎn)述問題定義的目的和主要任務(wù)。問題定義的目的: 弄清要計(jì)算機(jī)解決

26、的根本問題所在(要解決的問題是什么),確定新系統(tǒng)的作用域,以及項(xiàng)目所需的資源、工期和經(jīng)費(fèi)。問題定義的主要任務(wù):編寫項(xiàng)目報(bào)告提交審查,作為可行性分析的依據(jù)。18 簡(jiǎn)述可行性分析的目的、任務(wù)和內(nèi)容。可行性分析的目的:確定項(xiàng)目的必要性和可能性。可行性分析的任務(wù)包括:可行性分析;寫可行性研究報(bào)告;編制開發(fā)計(jì)劃。可行性分析的內(nèi)容包括:技術(shù)、經(jīng)濟(jì)和社會(huì)三個(gè)方面的可行性:19 簡(jiǎn)述需求分析的目的、必要性和參與角色需求分析的目的是:弄清用戶對(duì)系統(tǒng)的細(xì)節(jié)要求,完整、準(zhǔn)確、清晰、具體地回答目標(biāo)系統(tǒng)“做什么” 。準(zhǔn)確地理解用戶提出的軟件功能、性能及其環(huán)境的要求。需求分析的必要性:用戶與開發(fā)者的知識(shí)領(lǐng)域不同,產(chǎn)生歧義

27、;軟件開發(fā)失敗50%是需求不合理,早期錯(cuò)誤易放大。參與角色:開發(fā)方包括分析師、設(shè)計(jì)師和架構(gòu)師。用戶方包括領(lǐng)域?qū)<?、用戶和部門負(fù)責(zé)人。20 需求開發(fā)的任務(wù)有哪些需求開發(fā)的任務(wù)包括需求獲?。菏占脩魧?duì)目標(biāo)軟件系統(tǒng)在功能、性能、行為、設(shè)計(jì)約束等方面的期望。需求分析:通過符號(hào)和文字說明描述系統(tǒng)模型,使用戶和開發(fā)者間建立共同語(yǔ)言基礎(chǔ),消除理解上的歧義的過程。需求說明:既編寫需求文檔,也稱編寫需求規(guī)格說明書。需求說明書是需求分析階段的最終成果,也是需求分析階段復(fù)審的依據(jù);是用戶領(lǐng)域?qū)<摇④浖治鰩?、軟件設(shè)計(jì)師共同交流的途徑和媒介;是交付給用戶文檔的一部份;需求驗(yàn)證 :即需求評(píng)審。根據(jù)需求說明書,分析師、設(shè)

28、計(jì)師、客戶會(huì)審文檔,對(duì)需求的正確性、一致性、完整性、無(wú)二義行進(jìn)行評(píng)審、確認(rèn)。21 需求的層次軟件需求包括三個(gè)不同的層次:業(yè)務(wù)需求、用戶需求、功能需求,也包括非功能需求。1業(yè)務(wù)需求 (business requirement)業(yè)務(wù)需求是反映企業(yè)/ 組織對(duì)軟件系統(tǒng)的高層次目標(biāo)要求,即軟件系統(tǒng)的建設(shè)目標(biāo)。業(yè)務(wù)需求通常是“問題定義”或“可行性研究”階段獲取的內(nèi)容;在需求規(guī)格說明書中反映在項(xiàng)目背景、系統(tǒng)目標(biāo)或任務(wù)概述的描述中。獲取的主要對(duì)象是客戶方的高管、專家、部門負(fù)責(zé)人。2用戶需求 (user requirement)用戶需求: 用來描述用戶使用產(chǎn)品必須要完成的任務(wù);使用業(yè)務(wù)領(lǐng)域的術(shù)語(yǔ)描述,采用開發(fā)者

29、與用戶都能理解的語(yǔ)言和圖形表達(dá)。用戶需求是經(jīng)過調(diào)查、歸納后雙方認(rèn)同的結(jié)果。獲取的主要對(duì)象是部門負(fù)責(zé)人、軟件的操作者或稱終端用戶。3. 功能需求 (functional requirement)功能需求定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能,結(jié)果在需求規(guī)格說明書中;功能需求用軟件行業(yè)術(shù)語(yǔ)表達(dá):通常是需求建模的結(jié)果即目標(biāo)系統(tǒng)的邏輯模型,如結(jié)構(gòu)化的功能模型、數(shù)據(jù)模型、行為模型,面向?qū)ο蟮念惸P偷取?. 非功能需求特性是指一些非功能需求,是滿足業(yè)務(wù)需求的性能要求。如界面的交互性、數(shù)據(jù)的安全性、數(shù)據(jù)的事務(wù)性、用戶的并發(fā)性、響應(yīng)的快速性、操作的實(shí)時(shí)性、錯(cuò)誤與異常的恢復(fù)性、軟件的容錯(cuò)性等等。項(xiàng)目的失敗或拖延一般不

30、是在功能上,而恰恰倒是在性能要求上,因?yàn)檫@些性能與軟件的體系結(jié)構(gòu)有關(guān),與構(gòu)成系統(tǒng)的網(wǎng)路與硬件環(huán)境等底層技術(shù)有關(guān),往往超越一般開發(fā)人員的技術(shù)能力。22 需求獲取的一般方法需求獲取方法以采訪、觀察、座談、對(duì)先前的系統(tǒng)版本的測(cè)試等。必要時(shí)采用快速原型法。先集中在使用者對(duì)系統(tǒng)的觀點(diǎn)上,以收集用戶原始資料,數(shù)據(jù)、工作方式、工作流程、使用要求等為工作起點(diǎn),深入到部門、車間、班組,做好原始紀(jì)錄;然后根據(jù)對(duì)問題及環(huán)境的理解與開發(fā)經(jīng)驗(yàn),改正用戶需求的模糊、歧義和不一致性要求,排除用戶的不合理要求,挖掘用戶尚未提出但具有價(jià)值的潛在需求,使用戶需求逐步精確化、一致化和完全化;需求獲取非一次完成:需要往復(fù)進(jìn)行、逐步深

31、化。需求獲取的內(nèi)容:寫進(jìn)“需求規(guī)格說明書”,確認(rèn)。23 需求獲取的策略 循序漸進(jìn)的策略; 確定優(yōu)先級(jí):先進(jìn)行重點(diǎn)的需求調(diào)研,有助于識(shí)別出重大的風(fēng)險(xiǎn),并為制定迭代計(jì)劃提供指導(dǎo); 不要陷入技術(shù):需求未明確,應(yīng)回避對(duì)技術(shù)問題討論。 挖掘用戶需求 : “誘導(dǎo)式”就是挖掘用戶需求。客戶并非IT 專業(yè)人士,需求的概念是模糊的、籠統(tǒng)的,而且尺度難以把握,預(yù)測(cè)潛在需求。 區(qū)分不必要的需求:客戶對(duì)有些需求提不出來,自然也會(huì)提出一些不必要的需求。24 簡(jiǎn)述概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)的內(nèi)容。軟件設(shè)計(jì)包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)又分為體系結(jié)構(gòu)設(shè)計(jì)和領(lǐng)域問題結(jié)構(gòu)設(shè)計(jì)。體系結(jié)構(gòu)設(shè)計(jì):是支撐和管理軟件運(yùn)行的環(huán)境設(shè)計(jì)。由于現(xiàn)代的

32、軟件是處在操作系統(tǒng)、網(wǎng)絡(luò)、各種服務(wù)器共同搭建的環(huán)境下運(yùn)行,并且具有并發(fā)、安全、事務(wù)等多方面的管理,是軟件設(shè)計(jì)優(yōu)先考慮的問題。領(lǐng)域問題結(jié)構(gòu)設(shè)計(jì):滿足需求的軟件功能設(shè)計(jì),核心所在。將領(lǐng)域問題的分析模型細(xì)化成軟件結(jié)構(gòu)模型,也就是劃分軟件的模塊結(jié)構(gòu)及確定模塊之間的關(guān)系。詳細(xì)設(shè)計(jì)又分為如下三個(gè)部分:對(duì)模塊內(nèi)部的過程和數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì)。也就是對(duì)模塊內(nèi)進(jìn)行算法分析和程序設(shè)計(jì)。人機(jī)交互界面的具體設(shè)計(jì),還有與其它外部系統(tǒng)接口設(shè)計(jì)。完成對(duì)數(shù)據(jù)庫(kù)的物理設(shè)計(jì)概要設(shè)計(jì)是根據(jù)需求確定軟件和數(shù)據(jù)的總體框架;詳細(xì)設(shè)計(jì)是進(jìn)一步精化成軟件的算法和數(shù)據(jù)結(jié)構(gòu)。2525 簡(jiǎn)述衡量軟件模塊獨(dú)立性的度量標(biāo)準(zhǔn)有哪些模塊獨(dú)立性是指模塊能夠完成

33、獨(dú)立的功能;模塊符合信息隱藏和信息局部化原則;模塊間關(guān)連和依賴程度盡量小。衡量軟件模塊獨(dú)立性的度量標(biāo)準(zhǔn)的指標(biāo)有取決于模塊的內(nèi)部特征的指標(biāo)內(nèi)聚度和取決于模塊的外部特征的指標(biāo)耦合度。內(nèi)聚度:一個(gè)模塊內(nèi)部各個(gè)元素間(語(yǔ)句和程序段 )彼此的緊密程度的度量。耦合度:指軟件結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。26 簡(jiǎn)述內(nèi)聚度的七個(gè)等級(jí)內(nèi)聚度表示一個(gè)模塊內(nèi)部各成分之間彼此結(jié)合的緊密程度。內(nèi)聚度按其高低程度可分為七級(jí),高內(nèi)聚度模塊獨(dú)立性強(qiáng),設(shè)計(jì)盡可能提高模塊內(nèi)聚度。偶然性內(nèi)聚:是指一個(gè)模塊內(nèi)各成分為完成一組功能而組合在一起,它們相互之間即使有關(guān)系,也很松散。邏輯性內(nèi)聚: 模塊內(nèi)完成的諸任務(wù)邏輯上相關(guān)。該

34、類內(nèi)聚的缺點(diǎn)是執(zhí)行中要從模塊外引入用斷的開關(guān)量 ,從而增加了塊間偶合(控制偶合 )。時(shí)間性內(nèi)聚:如果一個(gè)模塊包含的諸任務(wù)必須在同一時(shí)間段內(nèi)執(zhí)行,則稱之為時(shí)間性內(nèi)聚過程性內(nèi)聚:模塊的過程性內(nèi)聚度是指模塊內(nèi)成份彼此相關(guān),并且必須按特定的次序在本模塊內(nèi)執(zhí)行;通訊性內(nèi)聚:是指模塊中各組成成分都將對(duì)某個(gè)數(shù)據(jù)結(jié)構(gòu)的同一區(qū)域進(jìn)行操作,以達(dá)到通信的目的。順序性內(nèi)聚:一個(gè)模塊內(nèi)的各處理成分均與同一功能相關(guān),且這些處理必須順序執(zhí)行,通常,一個(gè)處理成分的輸出是另一個(gè)處理成分的輸入。功能性內(nèi)聚:模塊內(nèi)所有成分形成一個(gè)整體,完成單個(gè)功能,則稱功能內(nèi)聚,功能內(nèi)聚是最高程度的內(nèi)聚形式。作判27 耦合度的七個(gè)等級(jí)耦合度是模塊

35、獨(dú)立性最顯著特征。耦合度按其高低程度可分為七級(jí),松耦合是軟件設(shè)計(jì)一直追求的目標(biāo)。非直接耦合 : 模塊不依賴另一個(gè)模塊能獨(dú)立工作,這是最松的耦合。數(shù)據(jù)耦合 : 兩模塊間通過參數(shù)交換數(shù)據(jù)信息,則稱這兩模塊為數(shù)據(jù)耦合。特征耦合 : 模塊之間除傳遞關(guān)鍵數(shù)據(jù)外還附加公共數(shù)據(jù)。控制耦合:如果兩模塊間通過參數(shù)交換信息,此時(shí)若傳遞的信息中含有控制信息,則為控制耦合。外部耦合公共耦合內(nèi)容耦合: 當(dāng)若干模塊均與同一個(gè)外部環(huán)境關(guān)聯(lián),它們之間便存在外部耦合。: 當(dāng)若干模塊通過全局的數(shù)據(jù)環(huán)境相互作用時(shí),它們之間存在公共耦合。:當(dāng)一個(gè)模塊使用另一個(gè)模塊內(nèi)部的數(shù)據(jù)或控制信息;一個(gè)模塊直接轉(zhuǎn)移到另一個(gè)模塊內(nèi)部等,模塊間的耦合

36、就是內(nèi)容耦合。28 簡(jiǎn)述模塊的作用域與控制域的概念及其相關(guān)設(shè)計(jì)原則。模塊的作用域:從功能方面考慮,受模塊內(nèi)一個(gè)判定影響的所有模塊的集合;模塊的控制域:從結(jié)構(gòu)方面考慮,包括它自己及其所有下屬模塊的集合。相關(guān)設(shè)計(jì)原則是:模塊的作用域應(yīng)在控制域之內(nèi)。29 詳細(xì)設(shè)計(jì)的表達(dá)方式有哪些1.偽代碼 (Pseudocode):是一種算法描述語(yǔ)言,也稱 PDL 語(yǔ)言 (Program Design Language)。偽代碼介于自然語(yǔ)言與編程語(yǔ)言之間,用偽代碼描述的算法可以容易用任何一種編程語(yǔ)言實(shí)現(xiàn)。偽代碼表達(dá)算法必須結(jié)構(gòu)清晰、代碼簡(jiǎn)單、可讀性好。2.程序流程圖:用圖形符號(hào)表達(dá)算法,直觀表達(dá)循環(huán)、分支等復(fù)雜結(jié)構(gòu)

37、,是喜聞樂見的表現(xiàn)形式。3.盒圖 (N-S) (Nassi 和 Shneiderman):也是一種圖形符號(hào)表達(dá)方式,同樣可以表達(dá)各種流向控制,但比程序流程圖緊湊、功能域明確。圖(PAD-Problem Analysis Diagram)28 :同樣是用圖形符號(hào)表達(dá)算法,但它具有結(jié)構(gòu)化的表達(dá)方式,因此結(jié)構(gòu)十分清晰,很容易翻譯成程序代碼。 PAD 支持自頂向下,逐步求精方法的使用。判定表與判定樹:對(duì)于規(guī)則較多,判定條件較復(fù)雜的情況,宜采用這兩種方法表達(dá)。5.判定表與判定樹:對(duì)于規(guī)則較多,判定條件較復(fù)雜的情況,宜采用這兩種方法表達(dá)。30 簡(jiǎn)述面向數(shù)據(jù)流的結(jié)構(gòu)化分析SA 方法中,有哪些建模方法功能建模

38、 :數(shù)據(jù)流圖DFD(Data Flow Diagram)+ 數(shù)據(jù)字典DD(Data Dictionary) ;數(shù)據(jù)建模 :實(shí)體關(guān)系圖ERD(Entity Relation Diagram);行為建模 :狀態(tài)轉(zhuǎn)換圖STD(State Transform Diagram);加工說明 PESPEC(Process SPECification)和判定表等輔助工具。31 簡(jiǎn)述數(shù)據(jù)流圖(DFD)的圖形符號(hào)有哪些數(shù)據(jù)流:表示數(shù)據(jù)流的名稱和數(shù)據(jù)的流向(從加工出發(fā)或流向加工);外部實(shí)體:系統(tǒng)外與系統(tǒng)交互的人或?qū)嶓w;數(shù)據(jù)加工:數(shù)據(jù)處理;數(shù)據(jù)存儲(chǔ):數(shù)據(jù)進(jìn)行持久保存的環(huán)節(jié);32 簡(jiǎn)述數(shù)據(jù)字典的作用、內(nèi)容和組成元素有哪

39、些數(shù)據(jù)流圖描述了數(shù)據(jù)加工,但沒有描述數(shù)據(jù)的內(nèi)容。數(shù)據(jù)流圖必須與描述并組織數(shù)據(jù)條目的數(shù)據(jù)字典DD(Data Dictionary)配套使用。數(shù)據(jù)字典描述的對(duì)象:描述數(shù)據(jù)流圖中出現(xiàn)的所有數(shù)據(jù)和加工。這里的數(shù)據(jù)描述是概念性的,屬數(shù)據(jù)結(jié)構(gòu)的抽象描述;加工采用加工小說明進(jìn)行概念性的描述。數(shù)據(jù)字典的組成元素包括:數(shù)據(jù)流條目、數(shù)據(jù)存儲(chǔ)條目、數(shù)據(jù)項(xiàng)條目;加工條目(也稱為小說明 );33 簡(jiǎn)述面向?qū)ο蟮幕靖拍钣心男?對(duì)象與面向?qū)ο髮?duì)象( Object ):即表示客觀世界中的某個(gè)具體的事物。面向?qū)ο螅∣bject Oriented ):是人類的活動(dòng),是人類認(rèn)知、觀察客觀事物的方法論。2面向?qū)ο蟮某橄笈c分類3類的

40、封裝與對(duì)象的整體性4關(guān)聯(lián)性與交互性客觀事物都不是孤立存在的,萬(wàn)物之間相互依存、相互交流。關(guān)聯(lián)性表達(dá)客觀事物的社會(huì)性、共存性、組織性,是靜態(tài)的結(jié)構(gòu)描述。消息機(jī)制是對(duì)象的交互性,表示對(duì)象生存環(huán)境的依賴性。5繼承性對(duì)事物的分類本身就體現(xiàn)繼承性。軟件開發(fā)利用繼承性可對(duì)Object 更好地分類,軟件結(jié)構(gòu)更嚴(yán)謹(jǐn),代碼的復(fù)用性更強(qiáng)。6多態(tài)性對(duì)象在不同的條件下,同樣的行為會(huì)表現(xiàn)不同的效果,這就是Object 的多態(tài) (polymorphism) 。面向?qū)ο缶幊陶Z(yǔ)言提供抽象類、接口、重載等技術(shù)支持多態(tài)的實(shí)現(xiàn)。34 面向?qū)ο蟮奈宕筇匦杂心男┟嫦驅(qū)ο蟮奶匦杂谐橄笮浴⒎庋b性、繼承性、多態(tài)性和消息機(jī)制等五大特性。35

41、簡(jiǎn)述面向?qū)ο箝_發(fā)過程的內(nèi)容有哪些 需求獲?。洪_發(fā)者以 OO 的觀點(diǎn) (OOV)來觀察客觀世界的目標(biāo)即獲取需求,然后用自然語(yǔ)言寫到需求規(guī)格說明 (OOS)中,也就是對(duì)客觀世界的最高層抽象。面向?qū)ο蠓治?OOA (Object Oriented Analysis)與面向?qū)ο笤O(shè)計(jì)OOD(Object Oriented Design)。面向?qū)ο缶幊?Object Oriented Program(OOP) 與面向?qū)ο鬁y(cè)試Object Oriented Testing (OOT)是代碼實(shí)現(xiàn)過程,它依賴于編程語(yǔ)言和工具。軟件維護(hù) Object Oriented Software Maintenance(O

42、OSM) 。36與傳統(tǒng)的軟件開發(fā)方法相比較,面向?qū)ο箝_發(fā)的主要優(yōu)點(diǎn)有哪些1自然性即客觀性2操作數(shù)據(jù)對(duì)象而非數(shù)據(jù)實(shí)體3階段銜接平滑4結(jié)構(gòu)性好、復(fù)用性強(qiáng)5提高擴(kuò)展性和維護(hù)性37 簡(jiǎn)述 UML 中定義了那些圖形符號(hào)并簡(jiǎn)述起作用。用例圖(Use Case)描述系統(tǒng)參與者與領(lǐng)域問題的功能類圖 (Class)描述系統(tǒng)的邏輯結(jié)構(gòu),類、接口及它們的協(xié)作關(guān)系包圖 (Package )描述類的復(fù)用組織分組對(duì)象圖(Object)描述類的實(shí)例在某時(shí)刻的關(guān)系構(gòu)件圖(Component)描述系統(tǒng)按構(gòu)件組成上的關(guān)系配置圖(Deployment)描述系統(tǒng)運(yùn)行環(huán)境的配置情況時(shí)序圖(Sequence)描述某些對(duì)象共同合作完成某項(xiàng)

43、功能而按時(shí)間順序進(jìn)行的消息傳遞協(xié)作圖(Collaboration)描述某些對(duì)象共同合作完成某項(xiàng)功能的依賴關(guān)系活動(dòng)圖(Activity)描述某個(gè)用例按事件流轉(zhuǎn)所經(jīng)歷的的活動(dòng),即業(yè)務(wù)流程狀態(tài)圖(State chart)描述某個(gè)業(yè)務(wù)流程按事件流轉(zhuǎn)所經(jīng)歷的狀態(tài),即狀態(tài)機(jī)38 簡(jiǎn)述用例圖中有哪些模型元素并簡(jiǎn)述其含義參與者:指存在于系統(tǒng)外部并與該系統(tǒng)發(fā)生交互的人或其他系統(tǒng),代表系統(tǒng)的使用者或使用環(huán)境。用例 (Use Case) ,用例用于表示系統(tǒng)提供的服務(wù),它定義了系統(tǒng)是如何與參與者交互,描述了參與者與系統(tǒng)之間的交互過程。角色與用例間的關(guān)系關(guān)聯(lián),它表示參與者與系統(tǒng)中的哪些用例交互。用例之間的關(guān)系:包含&l

44、t;<include>>和擴(kuò)充 <<extend>>關(guān)系以及泛化關(guān)系。參與者之間的泛化關(guān)系。39 簡(jiǎn)述類圖中有哪些模型元素并簡(jiǎn)述其含義提示:一切可以出現(xiàn)在類圖中的元素。類:類名、屬性、方法(可見性、作用域)特殊類:接口類之間的關(guān)系的定義、表示和屬性:關(guān)聯(lián)、依賴、聚合、組合、泛化、實(shí)現(xiàn)。各種類關(guān)系之間的關(guān)系。40 簡(jiǎn)述包圖中有哪些模型元素并簡(jiǎn)述其含義提示:一切可以出現(xiàn)在包圖中的元素。包和包之間的關(guān)系。41 簡(jiǎn)述活動(dòng)圖中有哪些構(gòu)成元素并簡(jiǎn)述這些元素的含義42 簡(jiǎn)述 OOA 模型的結(jié)構(gòu)OOA 的核心任務(wù)是搞清用戶需求,最終要建立起 OOA 模型。 UML 的

45、 OOA 模型由“用例模型”和“概念模型”兩大部分組成。用例模型,是將用自然語(yǔ)言描述的領(lǐng)域問題,轉(zhuǎn)換成 UML 語(yǔ)言表達(dá)的模型,主要面向用戶,反映用戶需求。完整的用例模型由用例圖和業(yè)務(wù)場(chǎng)景描述兩個(gè)部分組成,用例圖表示功能的劃分;業(yè)務(wù)場(chǎng)景描述則對(duì)每個(gè)用例的事件流進(jìn)行描述;概念模型(類模型/ 結(jié)構(gòu)模型 / 靜態(tài)模型)。將用例模型映射成類模型:從用例模型中找出類,面向設(shè)計(jì)人員。主要工作是:根據(jù)用例圖進(jìn)行類的劃分與封裝;描述類間的靜態(tài)關(guān)系與結(jié)構(gòu);用交互圖表達(dá)類對(duì)象間的消息傳遞。43 對(duì)象間的可訪問性屬性可見性: B 是 A 的一個(gè)屬性(關(guān)聯(lián)、聚合) ;參數(shù)可見性: B 的對(duì)象是 A 的一個(gè)方法的參數(shù);

46、局部聲明可見性: B 的對(duì)象是在 A 的一個(gè)方法中聲明的一個(gè)局部變量;全局可見性: B 的對(duì)象在某種程度上全局可見;44 對(duì)象持久化對(duì)象持久化常用技術(shù)實(shí)體類的實(shí)例稱為數(shù)據(jù)對(duì)象,對(duì)象持久化主要用于數(shù)據(jù)對(duì)象的持久化,簡(jiǎn)稱數(shù)據(jù)持久化。一個(gè)數(shù)據(jù)對(duì)象的持久化就是保存到實(shí)體表中的一條記錄,對(duì)實(shí)體對(duì)象的訪問就是操作屬性的值。對(duì)象持久化常用技術(shù) 對(duì)象的序列化指將對(duì)象的相關(guān)信息(對(duì)象序列號(hào)、屬性名、屬性值等)轉(zhuǎn)換為字節(jié)流,然后再把字節(jié)流寫入數(shù)據(jù)流。可以把對(duì)象這些信息存儲(chǔ)在本地的文件里,也可以把它通過網(wǎng)絡(luò)傳輸?shù)竭h(yuǎn)程。通過對(duì)象反序列化,得到原對(duì)象完全相同的副本。 對(duì)象持久化到數(shù)據(jù)庫(kù)中數(shù)據(jù)庫(kù)可以是對(duì)象數(shù)據(jù)庫(kù)或關(guān)系數(shù)據(jù)

47、庫(kù)。 用 XML( eXtensible Markup Language)存儲(chǔ)。45 “實(shí)體模型”到“關(guān)系模型”的OR 映射(1)一個(gè)對(duì)象類可以映射為一個(gè)以上的庫(kù)表,當(dāng)類間有一對(duì)多的關(guān)系時(shí),一個(gè)表也可以對(duì)應(yīng)多個(gè)類。(2) 對(duì)象關(guān)系 (一對(duì)一、一對(duì)多、多對(duì)多 )的映射可能有多種情況,但一般映射為一個(gè)表或多個(gè)表,在表間定義相應(yīng)的主鍵 PK( Primary key)和外鍵 FK( Foreign key ) 建立實(shí)體間的關(guān)系。(3) 單一繼承的泛化關(guān)系可以對(duì)超類、子類分別映射表 ,也可以不定義父類表而讓子類表?yè)碛懈割悓傩?;反之,也可以不定義子類表而讓父類表?yè)碛腥孔宇悓傩浴?4) 對(duì)多重繼承的超類和子類分別映射表,對(duì)多次多重繼承的泛化關(guān)系也映射一個(gè)表。(5) 對(duì)映射后的庫(kù)表進(jìn)行冗余控制調(diào)整 ,使其達(dá)到合理的關(guān)系范式。46 軟件測(cè)試的定義軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而運(yùn)行程序的過程;軟件測(cè)試的目的是發(fā)現(xiàn)程序中的錯(cuò)誤,是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò);測(cè)試對(duì)象不僅是程序,還應(yīng)該包括開發(fā)過程中產(chǎn)生的所有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論