版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、習(xí) 題 答 案習(xí)題一答案 一、選擇題 1. 軟件的主要特性是(A B C)。 A) 無形 B) 高成本 C) 包括程序和文檔D) 可獨立構(gòu)成計算機(jī)系統(tǒng) 2. 軟件工程三要素是(C D)。
2、60; A) 技術(shù)、方法和工具B) 方法、工具和過程 C) 方法、對象和類 D) 過程、模型、方法 3. 包含風(fēng)險分析的軟件工程模型是(A)。 A) 螺旋模型 B) 瀑布模型 C) 增量模型 D) 噴泉模
3、型 4. 軟件工程的主要目標(biāo)是(C)。 A) 軟件需求 B) 軟件設(shè)計 C) 風(fēng)險分析 D) 軟件實 現(xiàn) 5. 下列屬于面向?qū)ο箝_發(fā)方法的是(A B C D)。 A) Booch B) UML C) Coad D) OMT 6. 軟件危機(jī)的主要表現(xiàn)是(B D)。 A) 軟件成本太高B) 軟件產(chǎn)品的質(zhì)量低劣
4、60; C) 軟件開發(fā)人員明顯不足 D) 軟件生產(chǎn)率低下 7. 軟件開發(fā)方法的主要工作模型有(A B C) A) 螺旋模型 B) 循環(huán)模型 C) 瀑布模型 D) 專家模型 8. 軟件工程的目標(biāo)有(A B C)。 A) 易于維護(hù) B) 低的開發(fā)成本 C) 高性能 D) 短的開發(fā)期 9. 軟件工程學(xué)的目的和意義是(
5、)。 A) 應(yīng)用科學(xué)的方法和工程化的規(guī)范管理來指導(dǎo)軟件開發(fā) B) 克服軟件危機(jī) C) 作好軟件開發(fā)的培訓(xùn)工作 D) 以較低的成本開發(fā)出高質(zhì)量的軟件 二、 判斷題 1. 軟件就是程序,編寫軟件就是編寫程序。(×) 2. 瀑布模型的最大優(yōu)點是將軟件開發(fā)的各個
6、階段劃分得十分清晰。(×) 3. 結(jié)構(gòu)化方法的工作模型是使用螺旋模型進(jìn)行開發(fā)。(×) 4. 結(jié)構(gòu)化方法和JSP方法都不適合于大型軟件的開發(fā)。() 5. 原型化開發(fā)方法包括生成原型和實現(xiàn)原型兩個步驟。(×) 6. 面向?qū)ο蟮拈_發(fā)方法包括面向?qū)ο蟮姆治?、面向?qū)ο蟮脑O(shè)計和面向?qū)ο蟮某绦蛟O(shè)計。( ) 7. 軟件危機(jī)的主要表現(xiàn)是軟件的需求
7、量迅速增加,軟件價格上升。(×) 8. 軟件工具的作用是為了延長軟件產(chǎn)品的壽命。(×) 9. 軟件工程過程應(yīng)該以軟件設(shè)計為中心,關(guān)鍵是編寫程序。(×) 10. RCP法與RSP法的主要區(qū)別是前者采用循環(huán)漸進(jìn)的開發(fā)方式,原型將成為最終的產(chǎn)品,而后者將被廢棄。() 三、簡答題 1. 軟件產(chǎn)品的特性是什么?
8、160; 答: 軟件是一種邏輯產(chǎn)品,具有無形性;軟件產(chǎn)品的生產(chǎn)主要是研制;軟件不存在磨損和老化問題,但存在退化問題;軟件產(chǎn)品的生產(chǎn)主要是腦力勞動;軟件產(chǎn)品的成本非常昂貴,其開發(fā)方式目前尚未完全擺脫手工生產(chǎn)方式; 軟件具有“復(fù)雜性”,其開發(fā)和運行常受到計算機(jī)系統(tǒng)的限制。 2. 軟件發(fā)展有幾個階段?各有何特征? 答: 程序設(shè)計階段。硬件特征:價格貴、存儲容量小、運行可靠性差。軟件特征:只有程序、程序設(shè)計概念,不重視程序設(shè)計方法。 程序系統(tǒng)階段。硬件特征:速度、容量及工作可靠性有明顯提高,價格
9、降低,銷售有爆炸性增長 。軟件特征:程序員數(shù)量猛增,開發(fā)人員素質(zhì)低。 軟件工程階段。硬件特征:向超高速、大容量、微型化及網(wǎng)絡(luò)化方向發(fā)展。軟件特征:開發(fā)技術(shù)有很大進(jìn)步,但未獲得突破性進(jìn)展,軟件價格不斷上升,未完全擺脫軟件危機(jī)。 3. 什么是軟件危機(jī)?其產(chǎn)生的原因是什么? 答:“軟件危機(jī)”(Software Crisis)的出現(xiàn)是由于軟件的規(guī)模越來越大,復(fù)雜度不斷增 加,軟件需求量增大。而軟件開發(fā)過程是一種高密集度的腦力勞動,軟件開發(fā)的模式及技術(shù) 不能適應(yīng)軟件發(fā)展的需要。致使大量質(zhì)量低劣的軟件涌向市場
10、,有的花費大量人力、財力, 而在開發(fā)過程中就夭折。軟件危機(jī)主要表現(xiàn)在兩個方面: (1) 軟件產(chǎn)品質(zhì)量低劣,甚至開發(fā)過程就夭折。 (2) 軟件生產(chǎn)率低,不能滿足需要。 4. 什么是軟件生存周期模型?它有哪些主要模型? 答:軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。 主要模型包括:瀑布模型、增量模型、螺旋模型、噴泉模型、變換模型和基于知識的模型。
11、60; 5. 有哪些主要的軟件開發(fā)方法? 答:主要的軟件開發(fā)方法有:結(jié)構(gòu)化開發(fā)方法、Jackson(JSP、JSD)方法、原型化開發(fā)方 法、維也納開發(fā)方法(VDM)和面向?qū)ο蟮拈_發(fā)方法。 6. 軟件生命期各階段的任務(wù)是什么? 答:軟件生命期瀑布模型分為六個階段: 可行性研究與計劃(確定系統(tǒng)的目標(biāo)和規(guī)模,分析項目的可行性); 需求分析與規(guī)格說明(明確系統(tǒng)的規(guī)格
12、和要求); 設(shè)計(包括概要設(shè)計和詳細(xì)設(shè)計,將系統(tǒng)分解為模塊); 編程(用程序語言實現(xiàn)每個模塊,簡單容易); 測試(發(fā)現(xiàn)并改正錯誤,分為模塊測試、集成測試和系統(tǒng)聯(lián)調(diào)三級); 運行維護(hù)(擴(kuò)充功能、糾錯等)。 習(xí)題二答案一、 選擇題 1. 需求分析的主要目的是( )。
13、A) 系統(tǒng)開發(fā)的具體方案 B) 進(jìn)一步確定用戶的需求 C) 解決系統(tǒng)是“做什么的問題” D) 解決系統(tǒng)是“如何做的問題” 2. 需求分析的主要方法有( )。 A) 形式化分析方法 B) PAD圖描述 C) 結(jié)構(gòu)化分析(SA)方法 D) OOA法 3. 面向?qū)ο蟮姆?/p>
14、析方法主要是建立三類模型,即()。 A) 系統(tǒng)模型、ER模型、應(yīng)用模型 B) 對象模型、動態(tài)模型、應(yīng)用模型 C) -模型、對象模型、功能模型 D) 對象模型、動態(tài)模型、功能模型 4. 法的主要描述手段有()。 A) 系統(tǒng)流程圖和模塊圖 B) 圖、數(shù)據(jù)詞典、加工說明
15、 C) 軟件結(jié)構(gòu)圖、加工說明 D) 功能結(jié)構(gòu)圖、加工說明 5. 畫分層圖的基本原則有( )。 A) 數(shù)據(jù)守恒原則 B) 分解的可靠性原則 C) 子、父圖平衡的原則 D) 數(shù)據(jù)流封閉的原則 6. 在E-R模型中,包含以
16、下基本成分(C)。 A) 數(shù)據(jù)、對象、實體 B) 控制、聯(lián)系、對象 C) 實體、聯(lián)系、屬性 D) 實體、屬性、聯(lián)系 7. 畫DFD圖的主要目的是(A D)。 A) 作為需求分析階段用戶與開發(fā)者之間交流信息的工具 B) 對系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述
17、; C) 對目標(biāo)系統(tǒng)的層次結(jié)構(gòu)進(jìn)行描述 D) 作為分析和設(shè)計的工具 8. 數(shù)據(jù)字典是數(shù)據(jù)流圖中所有元素的定義的集合,一般由以下四類條目組成(C)。 A) 數(shù)據(jù)說明條目、控制流條目、加工條目、數(shù)據(jù)存儲條目 B) 數(shù)據(jù)流條目、數(shù)據(jù)項條目、文件條目、加工條目 C) 數(shù)據(jù)源條目、數(shù)據(jù)流條目、數(shù)據(jù)處理條目、數(shù)據(jù)文件條目 &
18、#160; D) 數(shù)據(jù)流條目、數(shù)據(jù)文件條目、數(shù)據(jù)池條目、加工條目 9. 在需求分析階段主要采用圖形工具來描述的原因是(B C)。 A) 圖形的信息量大,便于描述規(guī)模大的軟件系統(tǒng) B) 圖形工具能夠極好地概括描述一個系統(tǒng)的信息,比文字?jǐn)⑹瞿軌蚋玫乇磉_(dá)重 要的細(xì)節(jié) C) 圖形能夠更加直觀地描述目標(biāo)系統(tǒng),便于用戶理解和交流,有利于開發(fā)者與用 戶之間達(dá)成一致的需求
19、; D) 圖形比文字描述簡單、形象 二、 判斷題 1. 在進(jìn)行了可行性分析后,需求分析就只需要解決目標(biāo)系統(tǒng)的設(shè)計方案。(×) 2. 法是面向數(shù)據(jù)流,建立在數(shù)據(jù)封閉原則上的需求分析方法。() 3. HIPO法既是需求分析方法,又是軟件設(shè)計方法。() 4. 在面向?qū)ο蟮男枨蠓治龇椒ㄖ?,建立動態(tài)模型是最主要的任務(wù)。(×)
20、 5. 加工小說明是對系統(tǒng)流程圖中的加工進(jìn)行說明。(×) 6. 判定表的優(yōu)點是容易轉(zhuǎn)換為計算機(jī)實現(xiàn),缺點是不能夠描述組合條件。(×) 7. 需求分析的主要方法有SD法、OOA法及HIPO法等。(×) 8. 分層的DFD圖可以用于可行性分析階段,描述系統(tǒng)的物理結(jié)構(gòu)。(×) 9. 信息建模方法是從數(shù)據(jù)的角度來建立信息模型的,最常用的描
21、述信息模型的方法是E-R 圖。() 10. 用于需求分析的軟件工具,應(yīng)該能夠保證需求的正確性,即驗證需求的一致性、完整性、現(xiàn)實性和有效性。() 三、 問答題 1. 什么是需求分析?需求分析階段的基本任務(wù)是什么? 答: 需求分析是當(dāng)前軟件工程中的關(guān)鍵問題,需求分析階段的任務(wù)是:在可行性分析的基礎(chǔ)上,進(jìn)一步了解、確定用戶需求。準(zhǔn)確地回答 “系統(tǒng)必須做什么?” 的
22、問題。獲得需求規(guī)格說 明書。還涉及到軟件系統(tǒng)的目標(biāo)、軟件系統(tǒng)提供的服務(wù)、軟件系統(tǒng)的約束和軟件系統(tǒng)運行的環(huán)境。它還涉及到這些因素和系統(tǒng)的精確規(guī)格說明,以及系統(tǒng)進(jìn)化之間的關(guān)系。 需求分析的基本任務(wù)包括: (1) 抽取需求 分析現(xiàn)行系統(tǒng)存在需要解決的問題。獲取足夠多的問題領(lǐng)域的知識,需求抽取的方法一般有問卷法、面談法、數(shù)據(jù)采集法、用例法、情景實例法以及基于目標(biāo)的方法等;還有知識工程方法,例如,場記分析法、卡片分類法、分類表格技術(shù)和基于模型的知識獲取等 。
23、60; (2) 模擬和分析需求 需求分析和模擬又包含三個層次的工作。首先是需求建模。需求模型的表現(xiàn)形式有自然語言、半形式化(如圖、表、結(jié)構(gòu)化英語等)和形式化表示等三種。需求概念模型的要求包括實現(xiàn)的獨立性:不模擬數(shù)據(jù)的表示和內(nèi)部組織等;需求模擬技術(shù)又分為企業(yè)模擬、功能需求模擬和非功能需求模擬等。 (3) 傳遞需求 傳遞需求的主要任務(wù)是書寫軟件需求規(guī)格說明。 (4) 認(rèn)可需求 就是對需求規(guī)格說明達(dá)成一致,其主要任務(wù)是沖突求解,包括定義沖突和沖突求解兩方面。常用的沖突求解方法
24、有:協(xié)商、競爭、仲裁、強(qiáng)制、教育等,其中有些只能用人的因素去控制。 (5) 進(jìn)化需求 客戶的需要總是不斷(連續(xù))地增長,但是一般的軟件開發(fā)又總是落后于客戶需求的增長,如何管理需求的進(jìn)化(變化)就成為軟件進(jìn)化的首要問題。對于傳統(tǒng)的變化管理過程來說,其基本成分包括軟件配置、軟件基線和變化審查小組。當(dāng)前的發(fā)展是軟件家族法 ,即產(chǎn)品線方法。多視點方法也是管理需求變化的一種新方法,它可以用于管理不一致性, 并進(jìn)行關(guān)于變化的推理。 2. M公司的軟件產(chǎn)品以開發(fā)實驗型的新軟件為主。用瀑布模型進(jìn)行軟件開發(fā)
25、已經(jīng)有近十年了,并取得了一些成功。若你作為一名管理員剛加入M公司,你認(rèn)為快速原型法對公司的軟件開發(fā)更加優(yōu)越,請向公司副總裁寫一份報告闡明你的理由,切記:副總裁不喜歡報告長度 超過一頁(B5)。 參考答案提示: 應(yīng)先簡述瀑布模型的缺點,它已不適宜開發(fā)實驗型的軟件。根據(jù)快速原型法的特點,說明它特別適合于開發(fā)探索型、實驗型的軟件。 3. 如何畫分層數(shù)據(jù)流圖? 答:
26、 總的原則是:至頂而下,逐層分解(畫分層數(shù)據(jù)流圖)。 比較復(fù)雜的系統(tǒng)不能畫在一張紙上,逐層分解的畫法可以控制每一層的復(fù)雜度。 頂層:將整個系統(tǒng)作為一個加工,描述系統(tǒng)邊界(輸入與輸出)。 中間層:表示某個加工分解為一組子加工,其中的子加工還需進(jìn)一步分解。 底層:由不再進(jìn)行分解的基本加工組成。 4. 加工小說明有哪些描述方法?
27、 答: 結(jié)構(gòu)化語言:介于自然語言和形式語言(如謂詞邏輯)之間。 結(jié)構(gòu)化英語:通常由外層和內(nèi)層結(jié)構(gòu)組成。 漢語的情況:精確、簡明扼要、文體可以靈活。 判定表:適用于表述比較復(fù)雜的加工邏輯,如具有多項選擇條件的操作。 判定樹:本質(zhì)上與判定表相同,圖形表示更易于理解。 5. 考察下圖中子圖、父圖的平衡。&
28、#160; 圖1圖2參考答案: 顯然,圖1中子圖與父圖不平衡。改正如下: 如果有如下數(shù)據(jù)條目: 訂貨單=客戶+賬號+數(shù)量 則子、父圖平衡 6. 畫出銀行取款過程的DFD圖。問題描述為:儲戶用存折取款,首先填寫取款單,根據(jù)“ 賬卡”中的信息檢驗取款單與存折,如有問題,將問題反饋給儲戶,否則,登錄“儲戶存款 數(shù)據(jù)庫”,修改相應(yīng)數(shù)據(jù),并更新“賬卡”,同時
29、發(fā)出付款通知,出納向儲戶付款。 參考答案: 7. 常用的軟件需求分析方法有哪些? 答: 結(jié)構(gòu)化分析方法(SA)、功能分解法、信息建模法、面向?qū)ο蟮姆治龇椒?OOA)。 習(xí)題三答案 一、 選擇題 1. 模塊的基本特征是(A C)。 A) 外
30、部特征(輸入/輸出、功能) B) 內(nèi)部特征(輸入/輸出、功能) C) 內(nèi)部特征(局部數(shù)據(jù)、代碼) D) 外部特征(局部數(shù)據(jù)、代碼 ) 2. SD方法的設(shè)計總則是(C D)。 A) 程序簡潔、操作方便B) 結(jié)構(gòu)清晰、合理 C) 模塊內(nèi)聚性強(qiáng) D) 模塊之間耦合度低 3. 軟件設(shè)計的主要任務(wù)是(A B D)。 A
31、) 將分析階段獲得的需求說明轉(zhuǎn)換為計算機(jī)中可實現(xiàn)的系統(tǒng) B) 完成系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)設(shè)計 C) 完成模塊的編碼和測試 D) 對模塊內(nèi)部的過程進(jìn)行設(shè)計 4. 設(shè)計階段應(yīng)達(dá)到的目標(biāo)有( )。 A) 提高可靠性和可維護(hù)性 B) 提高應(yīng)用范圍 C) 結(jié)構(gòu)清晰 D) 提高可理解性和效率
32、60; 5. 從工程管理的角度來看,軟件設(shè)計分兩步完成(D)。 A) 系統(tǒng)分析模塊設(shè)計 B) 詳細(xì)設(shè)計總體設(shè) 計 C) 模塊設(shè)計詳細(xì)設(shè)計 D) 總體設(shè)計詳細(xì)設(shè) 計 6. 模塊獨立性準(zhǔn)則由以下定性指標(biāo)來衡量()。 A) 分解度 B) 耦合度 C) 屏蔽性 D) 內(nèi)聚性 7. 用戶界面設(shè)計的任務(wù)包括(A B C)。
33、 A) 確定用戶界面類型 B) 建立任務(wù)模型 C) 建立用戶模型 D) 建立功能模型 8. 程序設(shè)計語言可以分為(B C D)。 A) 面向過程的語言B) 機(jī)器語言 C) 高級語言D) 匯編語言 9. 程序效率包括(A C D)幾個方面的內(nèi)容。 A) 代碼效率 B) 運行效率C) 存儲效率 D)
34、I/O效率 10. SP方法中的基本控制結(jié)構(gòu)有(A B C)。 A) 順序結(jié)構(gòu) B) 選擇結(jié)構(gòu) C) 重復(fù)結(jié)構(gòu) D) GOTO結(jié)構(gòu) 11. 內(nèi)部文檔可用注釋語言書寫,注釋語言分為(A B C D)。 A) 序言性注釋 B) 描述性注釋 C) 功能性注釋 D) 狀態(tài)性注釋 12. 為使程序中數(shù)據(jù)說明更易于理解和維護(hù),必須遵循以下原則(A B C) 。
35、; A) 數(shù)據(jù)說明的次序應(yīng)當(dāng)規(guī)范化 B) 一個語句說明多個變量時,各變量名按字母順序排列 C) 對于復(fù)雜的數(shù)據(jù)結(jié)構(gòu),要加注釋,說明在程序?qū)崿F(xiàn)時的特點 D) 定義變量名應(yīng)按字母順序排列 13. 源程序的效率與(D)階段確定的算法的效率直接有關(guān)。 A) 概要設(shè)計 B) 總體設(shè)計 C) 單元設(shè)計 D) 詳細(xì)設(shè)計
36、60; 14. 在詳細(xì)設(shè)計翻譯轉(zhuǎn)換成源程序代碼后,算法效率反映為對程序的哪幾個方面的要求 (C D)。 A) 讀寫速度 B) 代碼長度 C) 存儲容量 D) 執(zhí)行速度 15. 提高程序效率的根本途徑在于(B C)。 A) 編程時對程序語句進(jìn)行調(diào)整B) 選擇良好的設(shè)計方法 C) 使程序最大限度的簡潔D) 選擇良好的數(shù)據(jù)結(jié)構(gòu)與算法 二、
37、判斷題 1. 劃分模塊可以降低軟件的復(fù)雜度和工作量,所以應(yīng)該將模塊分得越小越好。 (×) 2. 在網(wǎng)狀結(jié)構(gòu)中任何兩個模塊都是平等的,沒有從屬關(guān)系,所以在軟件開發(fā)過程中常常被使用。(×) 3. 信息隱蔽原則有利于提高模塊的內(nèi)聚性。() 4. 中心變換型的DFD圖可看成是對輸入數(shù)據(jù)進(jìn)行轉(zhuǎn)換而得到輸出數(shù)據(jù)的處理,因此可以使 用事務(wù)分析技術(shù)得到初始的模塊結(jié)構(gòu)圖。(×)
38、160; 5. SD法是一種面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法,強(qiáng)調(diào)程序結(jié)構(gòu)與問題結(jié)構(gòu)相對應(yīng)。 (×) 6. 所謂結(jié)構(gòu)沖突,是指輸入數(shù)據(jù)與輸出數(shù)據(jù)之間很少或沒有結(jié)構(gòu)上的對應(yīng)關(guān)系。通常解決 的辦法是:構(gòu)造一個或者多個中間結(jié)構(gòu),在輸入和輸出結(jié)構(gòu)之間進(jìn)行轉(zhuǎn)換。() 7. 當(dāng)模塊的控制范圍是其作用范圍的子集時,模塊之間的耦合度較低。(×) 8. JACKSON方法是以數(shù)據(jù)流、數(shù)據(jù)封閉性準(zhǔn)則逐層分解的。(×)
39、 9. 程序設(shè)計語言的工程特性包括:可移植性、可重用性、可維護(hù)性、局部性和順序性。(×) 10. 項目應(yīng)用領(lǐng)域是選擇語言的關(guān)鍵因素。() 11. FORTRAN、Pascal、C語言、PL/1和匯編語言都是科學(xué)工程計算可選用的語言。(×) 12. 要用快速原型法開發(fā)軟件,應(yīng)選用4GL語言。() 13. 提高程序效率的根本途徑是選擇良好的設(shè)計方法、數(shù)據(jù)
40、結(jié)構(gòu)與算法。(×) 14. 良好的程序設(shè)計風(fēng)格簡單說就是高的編程技巧。() 三、簡答題 1. 模塊內(nèi)聯(lián)系和模塊間聯(lián)系有哪些種類? 答:塊間聯(lián)系的各種類型的劃分,從以下3方面考慮: 按塊間聯(lián)系的方式(可分為直接引用與過程調(diào)用); 按塊間共用信息的作用(可分為數(shù)據(jù)型、控制型與混合型);
41、0; 按塊間共用的信息數(shù)量多少(信息多聯(lián)系緊密)。 (1) 塊間聯(lián)系的類型,按照耦合度由大到小分為: 內(nèi)容型:直接引用另一模塊的內(nèi)部信息; 公共型:兩個模塊引用共同的全程數(shù)據(jù)區(qū); 控制型:模塊間傳送的信息用于控制模塊的內(nèi)部邏輯; 復(fù)合型:模塊間傳送復(fù)合的數(shù)據(jù)結(jié)構(gòu); 數(shù)據(jù)型:模塊間傳送單個
42、數(shù)據(jù)項。 (2) 塊內(nèi)聯(lián)系的類型,按照內(nèi)聚性從小到大分為: 偶然型:模塊內(nèi)部沒有必然聯(lián)系; 邏輯型:邏輯上相似的功能放進(jìn)一個模塊; 瞬時型:將同時執(zhí)行的語句放在一個模塊; 通信型:模塊中的各部分引用共同的數(shù)據(jù); 順序型:模塊中一部分的輸出是另一部分的收入; 功能型
43、: 模塊中剛好包含了完成一個基本任務(wù)所必需的成分。 2. 分析以下DFD圖,說明屬于哪種類型的DFD圖,并按照相應(yīng)的變換將其轉(zhuǎn)換為初始的模塊 結(jié)構(gòu)圖。 參考答案:(略) 3. 下圖是修改文件記錄的DFD圖,請確定其主加工。 解:主加工為:賬號、修改、寫記錄。 4. 按照“降低塊間聯(lián)系,提高塊內(nèi)聯(lián)系”的設(shè)計總則對模塊進(jìn)行修改,具體從哪
44、些方面進(jìn) 行改進(jìn)? 解: (1) 盡可能建立功能模塊; (2) 消除重復(fù)功能; (3) 模塊的作用范圍與控制范圍,即當(dāng)作用范圍為控制范圍的子集時,才能獲得較低的塊間 聯(lián)系; (4) 模塊的大小適當(dāng); (5) 模塊的扇入扇出數(shù)不宜太多。 5. 根據(jù)模塊的作用范圍與控
45、制范圍的原則,判定a、b兩圖的正確性。 解:顯然,圖a不滿足作用范圍應(yīng)與控制范圍的原則,模塊F的作用范圍不在控制范圍之內(nèi)。 圖b的模塊設(shè)計合理。 6. 圖a中,模塊G為判定,判斷涉及到模塊B、F、G,請指出設(shè)計中的錯誤,再根據(jù)改進(jìn)模 塊圖的基本原則,畫出12個改進(jìn)方案(不改變模塊G的判斷關(guān)系),并說明是按照哪條基本 原則進(jìn)行改進(jìn)的。 解:圖b為一個改進(jìn)方案,將模塊G的位置提高,使其作用范圍為控制范圍的子
46、集,減少模塊 之間的聯(lián)系。 7. 編碼階段的主要任務(wù)是什,應(yīng)交付的結(jié)果是什么? 答:編碼階段的主要任務(wù)是為每個模塊編寫程序。即是:將詳細(xì)設(shè)計的結(jié)果轉(zhuǎn)換為用某種計 算機(jī)語言寫的程序源程序代碼。編碼階段應(yīng)交付的結(jié)果是帶有“程序內(nèi)部文檔”的、不 再含有語法錯誤的程序。 8. SP法的自頂向下,逐步求精方法的優(yōu)點有哪些? 答:此法符合人們解決復(fù)雜問題的普遍規(guī)律,可提高軟件開發(fā)的成功率和生產(chǎn)率;而且用先 全局后局
47、部、先整體后細(xì)節(jié)、先抽象后具體的逐步求精過程,開發(fā)出來的程序具有清晰的層 次結(jié)構(gòu),因此程序容易閱讀和理解。這樣,程序自頂向下,逐步細(xì)化,分解成一個樹型結(jié)構(gòu) 。 因此,在同一層次的節(jié)點上做細(xì)化工作,相互之間沒有聯(lián)系,它們之間的細(xì)化工作相互獨立 ;在任何一步發(fā)生錯誤,一般只影響它下層的節(jié)點,同一層其他節(jié)點不受影響;在以后的測試中,也可以先獨立地一個節(jié)點一個節(jié)點地做,最后再集成。這樣,程序清晰和模塊化,使 得在修改和重新設(shè)計一個軟件時,可復(fù)用的代碼量最大。 9. 為了使程序具有良好的設(shè)計風(fēng)格,應(yīng)注意哪些方
48、面的問題? 答:(1) 標(biāo)識符應(yīng)按意取名。 標(biāo)識符即符號名,包括:模塊名、常量名、標(biāo)號名、子程序名、數(shù)據(jù)區(qū)名、緩沖區(qū)名等。 這些名字應(yīng)能反映它所代表的實際東西,應(yīng)有一定實際意義,使其能夠見名知意,有助于對 程序功能的理解。 (2) 程序應(yīng)加注釋,它分為兩類:序言性注釋和功能性注釋。 序言性注釋應(yīng)置于每個模塊的起始部分,主要內(nèi)容有:說明每個模塊的用途,功能;說明模塊的接口即調(diào)用格式、參數(shù)描述及從屬模塊的清單
49、;數(shù)據(jù)描述;開發(fā)歷史 。 功能性注釋是嵌在源程序體中的,用于說明其后的程序段或語句的功能以及數(shù)據(jù)的狀態(tài);也就是解釋下面要“做什么”,或是執(zhí)行下面的語句會發(fā)生什么情況;而不是解釋下面“怎么做”,因為怎么做常常是與程序重復(fù)的,且對讀者理解程序沒有什么幫助。 10. 樣評價程序的執(zhí)行效率?它與程序清晰性的關(guān)系是怎樣的? 答:許多程序員往往片面追求效率,其實程序系統(tǒng)的成本不僅包括運行所需的機(jī)時,同時還應(yīng)把程序員及操作員所花費的人力考慮進(jìn)去。在編程時為追求效率而
50、損害可讀性或可靠性,會給以后的維護(hù)工作帶來困難,所以從整體上看來是不值得的。 此外,還應(yīng)該認(rèn)識到,提高程序效率的根本途徑在于:選擇良好的設(shè)計方法、良好的數(shù)據(jù)結(jié)構(gòu)與算法,而不是靠編程時對程序語句進(jìn)行調(diào)整。 (1) 追求建立在不損害程序可讀性或可靠性基礎(chǔ)上,要先使程序正確、清晰,再提高程序 效率。 (2) 不能因為貪圖效率上的小利,而破壞程序的清晰性。 (3) 讓編譯程序去作簡單的優(yōu)化。
51、; (4) 提高程序效率的根本途徑在于:選擇良好的設(shè)計方法和良好的數(shù)據(jù)結(jié)構(gòu)與算法,而不是靠編程時對程序語句做調(diào)整。 11. 假定:需要編一個求解一元二次方程根的子程序,加入到現(xiàn)有的子程序庫中,供其他程序員使用。要求: (1) 為該子程序?qū)懸粋€序言性注釋; (2) 用PASCAL語言或其他語言寫出這個子程序(要把根的性質(zhì),如:實根、復(fù)根、降為一次方程等有區(qū)別地通知調(diào)用者),并加上描述性注釋。
52、160; 答案:(略) 習(xí)題四答案 一、選擇題 1. 面向?qū)ο蟪绦蛟O(shè)計的基本機(jī)制(ABC)。 A) 繼承 B) 消息 C) 方法 D) 結(jié)構(gòu) 2. 下列屬于面向?qū)ο蟮囊赜?BCD)。 A) 分類性 B) 抽象 C) 共享D) 封裝 3. 下列選項中屬于面向?qū)ο箝_
53、發(fā)方法的有(ACD)。 A) Booch B) CAD C) Coad D) OMT 4. 下列屬于Coad方法中面向?qū)ο蟮姆治瞿P偷膶哟斡?AB)。 A) 主題層 B) 對象層 C) 應(yīng)用層 D) 接口層 5. 一個類屬性依其特征劃分,其類型有(ABCD)。 A) 描述型 B) 定義型 C) 派生型 D) 參考型
54、0; 6. 在進(jìn)行面向?qū)ο蠓治鰰r,所采用的模型有(ABD)。 A) 對象模型 B) 動態(tài)模型 C) 靜態(tài)模型 D) 功能模型 7. 狀態(tài)是對象屬性的值的一種抽象,它的性質(zhì)有(AB)。 A) 時間性 B) 持續(xù)性 C) 有序性 D) 有窮性 8. 數(shù)據(jù)流圖中的處理必須用對象中的操作來實現(xiàn)常見的操作有(ABCD)。 A) 查詢 B) 動作 C) 活動 D) 訪問
55、 9. 建立繼承關(guān)系時所采用的方式有(AC)。 A) 自頂向下 B) 從內(nèi)到外 C) 自底向上 D) 從復(fù)雜到簡單 10. 對象是人們要研究的任何事物主要的對象類型有(ABCD)。 A) 有形實體 B) 作用 C) 事件 D) 性能說明 二、判斷題 1. 面向?qū)ο蟮牡姆椒ㄊ且灶愖鳛樽罨镜脑?,它是分析問題解決
56、問題的核心。(×) 2. 類是指具有相同或相似性質(zhì)對象的抽象,對象是抽象的類,類的具體化就是對象。() 3. 繼承性是父類和子類之間共享數(shù)據(jù)結(jié)構(gòu)和消息的機(jī)制,這是類之間的一種關(guān)系(×)。 4. 多態(tài)性增強(qiáng)了軟件的靈活性和重用性,允許用更為明確、易懂的方式去建立通用軟件, 多態(tài)性和繼承性相結(jié)合使軟件具有更廣泛的重用性和可擴(kuò)充性。(×) 5. 面向?qū)ο蠓治觯褪浅槿『驼碛脩?/p>
57、需求并建立問題域精確模型的過程。() 6. 面向?qū)ο蟮脑O(shè)計的主要目標(biāo)是提高生產(chǎn)效率,提高質(zhì)量和提高可維護(hù)性。() 7. 對象模型表示了靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)數(shù)據(jù)性質(zhì),描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),它是從客觀世界實體的對象關(guān)系角度來描述,表現(xiàn)了對象的相互關(guān)系。() 8. 面向?qū)ο蟮姆治鍪怯妹嫦驅(qū)ο蟮姆椒▽δ繕?biāo)系統(tǒng)的問題空間進(jìn)行理解、分析和反映。通過對象層次結(jié)構(gòu)的組織確定解空間中應(yīng)存在的對象和對象層次結(jié)構(gòu)。() 9.
58、類的設(shè)計過程包括:確定類,確定關(guān)聯(lián)類,確定屬性,識別繼承關(guān)系。() 10. 復(fù)用也叫重用或再用,面向?qū)ο蠹夹g(shù)中的“類”,是比較理想的可重用軟構(gòu)件。有三種重用方式:實例重用、繼承重用、多態(tài)重用。() 11. 主題是一種關(guān)于模型的抽象機(jī)制,它是面向?qū)ο竽P偷母琶?,也是關(guān)于某個模型要同時考慮和理解的內(nèi)容,主題起一種控制作用。() 12. 面向?qū)ο蟮姆治鲇蓪ο?、結(jié)構(gòu)、繼承性和基于消息的通信構(gòu)成。(×)
59、13. 支持繼承性是面向?qū)ο蟪绦蛟O(shè)計語言和傳統(tǒng)程序設(shè)計語言在語言機(jī)制方面的根本區(qū)別。() 14. 面向?qū)ο蟮姆治鲞^程主要包括三項內(nèi)容:理解、表達(dá)和驗證。() 15. 面向?qū)ο蟮脑O(shè)計的主要目標(biāo)是提高生產(chǎn)效率、提高質(zhì)量和提高可維護(hù)性。() 三、 簡答題 1 與傳統(tǒng)程序設(shè)計模式中的過程調(diào)用相比,消息傳遞機(jī)制有何本質(zhì)區(qū)別? 答: &
60、#160; (1) 消息傳遞必須給出信道的信息,通常要指出明顯的接受方。 (2) 由于接受方是一通信實體,具有保持狀態(tài)的能力,所以同一發(fā)送方在不同時刻向同一 接受方發(fā)送同樣的信息,可因接受方的當(dāng)前狀態(tài)不同而得到不同的結(jié)果。 (3) 消息傳遞可以是異步的,發(fā)送方可以不必等待接受方返回信息就可以繼續(xù)執(zhí)行后面的操作,因而支持程序的并發(fā)和分布執(zhí)行,而過程調(diào)用只能是同步的,本質(zhì)上是串行的。 2 闡述面向?qū)ο蟮奶卣?,并做簡要的解釋?#160;
61、0; 答: (1) 對象惟一性。 每個對象都有自身惟一的標(biāo)識,通過這種標(biāo)識,可找到相應(yīng)的對象。 (2) 分類性。 是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類。 (3) 繼承性。 是父類和子類之間共享數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。
62、160; (4) 多態(tài)性。 是指相同的操作或函數(shù),過程作用于多種類型的對象上,并獲得不同的結(jié)果。 3 Coad方法主要由面向?qū)ο蠓治鯫OA和面向?qū)ο笤O(shè)計OOD。OOA方法分析過程和構(gòu)造OOA概念模型的順序由5個層次組成,請簡述這5個層次。 答: (1) 發(fā)現(xiàn)類及對象。描述如何發(fā)現(xiàn)類及對象。從應(yīng)用領(lǐng)域開始識別類及對象,形成整 個應(yīng)用的基礎(chǔ),然后,據(jù)此分析系統(tǒng)的責(zé)任。
63、60; (2) 識別結(jié)構(gòu)。該階段分為兩個步驟。第一,識別“一般特殊”結(jié)構(gòu),該結(jié)構(gòu)捕獲了識別出的類的層次結(jié)構(gòu);第二,識別“整體部分”結(jié)構(gòu),該結(jié)構(gòu)用來表示一個對象如何成為另一個對象的一部分,以及多個對象如何組裝成更大的對象。 (3) 定義主題。主題由一組類及對象組成,用于將類及對象模型劃分為更大的單位,便于理解。 (4) 定義屬性。其中包括定義類的實例(對象)之間的實例連接。 (5) 定義服務(wù)。其中包括定義對象之間的消息連接。
64、60; 4 面向?qū)ο蟪绦蛟O(shè)計有哪些優(yōu)點? 解:開發(fā)時間短、效率高、可靠性高,所開發(fā)的程序更強(qiáng)壯。由于面向?qū)ο缶幊痰目芍赜眯?,可以在應(yīng)用程序中大量采用成熟的類庫,從而縮短開發(fā)時間,這樣程序更易于維護(hù)、 更新和升級。繼承和封裝使得應(yīng)用程序的修改帶來的影響更加局部 化。 5比較面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化方法的特點。 解:分析是問題抽象 (做什么),設(shè)計是問題求解 (怎么做),實現(xiàn)是問題的解 (結(jié)果)。任 何方法學(xué)對客觀世界的抽象和求解過程都是如此。
65、在問題抽象階段,結(jié)構(gòu)化方法面向過程, 按照數(shù)據(jù)變換的過程尋找問題的結(jié)點,對問題進(jìn)行分解。因此,與面向?qū)ο蠓椒◤?qiáng)調(diào)的對象 模型不同,描述數(shù)據(jù)變換的功能模型是結(jié)構(gòu)化方法的重點。如果問題世界的功能比數(shù)據(jù)更復(fù) 雜或者更重要,那么結(jié)構(gòu)化方法仍然應(yīng)是首選的方法學(xué)。如果數(shù)據(jù)結(jié)構(gòu)復(fù)雜且變換不多, 那么如果以過程主導(dǎo)分析和設(shè)計,一旦有系統(tǒng)變更就會給下游開發(fā)帶來極大混亂。 由于對過程的理解不同,面向過程的功能細(xì)分所分割出的功能模塊有時會因人而異。而面向 對象的對象細(xì)分,從同一問題領(lǐng)域的對象出發(fā),不同人得出相同結(jié)論的比率較高。
66、160; 在設(shè)計上,結(jié)構(gòu)化方法學(xué)產(chǎn)生自頂向下、結(jié)構(gòu)清晰的系統(tǒng)結(jié)構(gòu)。每個模塊有可能保持較強(qiáng)的獨立性,但它往往與數(shù)據(jù)庫結(jié)構(gòu)相獨立,功能模塊與數(shù)據(jù)庫邏輯模式間沒有映射關(guān)系,程序與數(shù)據(jù)結(jié)構(gòu)很難封裝在一起。如果數(shù)據(jù)結(jié)構(gòu)復(fù)雜,則模塊獨立性很難保證。面向?qū)ο蠓椒ǔ橄蟮南到y(tǒng)結(jié)構(gòu)往往并不比結(jié)構(gòu)化方法產(chǎn)生的系統(tǒng)結(jié)構(gòu)簡單,但它能映射到數(shù)據(jù)庫結(jié)構(gòu)中,很容易實現(xiàn)程序與數(shù)據(jù)結(jié)構(gòu)的封裝。 在軟件工程基本原則中有一條“形式化原則”,即對問題世界的抽象結(jié)論應(yīng)該以形式化語言 (圖形語言、偽碼語言等)表述出來。結(jié)構(gòu)化方法可以用數(shù)據(jù)流圖、系統(tǒng)結(jié)構(gòu)圖、數(shù)據(jù)辭典、狀態(tài)轉(zhuǎn)移圖、實體關(guān)系圖來
67、進(jìn)行系統(tǒng)邏輯模型的描述;而面向?qū)ο蠓椒梢允褂脤ο竽P蛨D、數(shù)據(jù)辭典、動態(tài)模型圖、功能模型圖。其中對象模型圖近似系統(tǒng)結(jié)構(gòu)圖與實體關(guān)系圖的結(jié)合,動態(tài)模型圖類似狀態(tài)遷移圖,功能模型圖類似數(shù)據(jù)流圖。 6當(dāng)重要的對象被發(fā)現(xiàn)后,通過一組互相關(guān)聯(lián)的模型詳細(xì)表示類之間的關(guān)系和對象的行為,這些模型從四個不同的側(cè)面表示了軟件的體系結(jié)構(gòu)、靜態(tài)邏輯、動態(tài)邏輯、靜態(tài)物理和動態(tài)物理。試描述一下這四種特性。 解:靜態(tài)邏輯模型描述實例化(類成員關(guān)系)、關(guān)聯(lián)、聚集(整體/部分)、和一般化(繼承)等關(guān)系。這被稱為對象模型。一般化關(guān)系表
68、示屬性和方法的繼承關(guān)系。定義對象模 型的圖形符號體系通常是從用于數(shù)據(jù)建模的實體關(guān)系圖導(dǎo)出的。對設(shè)計十分重要的約束,如 基數(shù)(一對一、一對多、多對多),也在對象模型中表示。 動態(tài)邏輯模型描述對象之間的互相作用。互相作用通過一組協(xié)同的對象,對象之間消 息的有序的序列,參與對象的可見性定義,來定義系統(tǒng)運行時的行為。 靜態(tài)物理模型通過模塊描述代碼的布局。動態(tài)物理模型描述軟件的進(jìn)程和線程體系結(jié) 構(gòu)。 習(xí)題五答案
69、 一、選擇題 1. 下列不是模型元素的是(D)。 A) 關(guān)聯(lián) B) 聚合 C) 依賴 D) 筆記 2. UML具有擴(kuò)展性,常見的擴(kuò)展機(jī)制有(BCD)。 A) 修飾 B) 版類 C) 加標(biāo)簽值 D) 約束 3. UML語言支持的建模方式有(ABD)。 A) 靜態(tài)建模B) 動態(tài)建模 C) 模塊化建模 D) 功能建模
70、 4. 下列各種圖可用于動態(tài)建模的有(ACD)。 A) 狀態(tài)圖 B) 類圖 C) 序列圖 D) 活動圖 5. 下列屬于狀態(tài)的組成部分的有(AB)。 A) 名稱 B) 活動 C) 條件 D) 事件 6. UML中包括的事件有(ABCD)。 A) 條件為真B) 收到另一對象的信號C) 收到操作調(diào)用 D) 時間表達(dá)
71、式 7. 屬性的可見性有(ABD)。 A) 公有的 B) 私有的 C) 私有保護(hù)的 D) 保護(hù)的 8. 用例之間的關(guān)系有(BCD)。 A) 友元 B) 擴(kuò)展 C) 使用 D) 組合 9. 應(yīng)用于通用化約束的方式有(ABCD)。 A) 完整 B) 不相交 C) 不完整 D) 覆蓋
72、; 10. 消息的類型有(ABC)。 A) 同步 B) 異步 C) 簡單 D) 復(fù)雜 二、 判斷題 1. UML建模語言是由視圖、圖、模型元素和通用機(jī)制構(gòu)成的層次關(guān)系來描述的。 () 2. UML是一種建模語言,是一種標(biāo)準(zhǔn)的表示,是一種方法。 (×) 3. 泳道是一種分組機(jī)制,它描述了狀態(tài)圖中對象所執(zhí)行的活動。 (×)
73、60; 4. 同步消息和異步消息的主要區(qū)別是:同步消息的發(fā)送對象在消息發(fā)送后,不必等待消息處理,可立即繼續(xù)執(zhí)行,而異步消息則發(fā)送對象必須等待接收對象完成消息處理后,才能繼續(xù)執(zhí)行。 (×) 5. 類圖中的角色是用于描述該類在關(guān)聯(lián)中所扮演的角色和職責(zé)的。 () 6. 類圖用來表示系統(tǒng)中類和類與類之間的關(guān)系,它是對系統(tǒng)動態(tài)結(jié)構(gòu)的描述。 (×) 7. 用例模型的基本組成部件是用例、角色和用例之間的聯(lián)
74、系。 () 8. 用例之間有擴(kuò)展、使用、組合等幾種關(guān)系。 () 9. 順序圖描述對象之間的交互關(guān)系,重點描述對象間消息傳遞的時間順序。 () 10. 活動圖顯示動作及其結(jié)果。著重描述操作實現(xiàn)中所完成的工作以及用例實例或類中的活動。(×) 三、 簡答題 1. 以圖1(一個在學(xué)校首次報名的 UML 活動圖)為例,說明如何繪制活動圖。圖1 學(xué)
75、校首次報名的UML活動圖答: 要創(chuàng)建一個UML活動圖,需要反復(fù)執(zhí)行下列步驟。 (1) 定義活動圖的范圍。首先應(yīng)該確定建模的范圍,是對整個系統(tǒng)建模?還是一個子系統(tǒng)?一旦定義了作圖的范圍,應(yīng)該在其頂部,用一個注釋,指明該圖的標(biāo)題和惟一的標(biāo)識符,還可 標(biāo)注該圖的時間及作者姓名。本題的建模范圍是一個學(xué)校管理系統(tǒng)中的“報名”部分。 (2) 添加活動?;顒邮腔顒訄D的核心,活動是完成系統(tǒng)任務(wù)所必須執(zhí)行的處理步驟??蓮挠美P统霭l(fā),對每個角色(actor)所驅(qū)動的主要
76、用例引入一個活動,如果是對整個系統(tǒng)建模,應(yīng)對每個主要流程引入一個活動。在“報名”的活動圖中確定了“Fill out enrollment ”(填寫報名表)、“Enroll in university”(登記入學(xué))、“Obtain help to fill out fo rms”(幫助填寫報名表)、“Attend university overview presentation”(參加介紹學(xué)校 會議)等6個活動。 (3) 添加起點和結(jié)束點。每個活動圖只能有一個起始點和多個結(jié)束點,結(jié)束點可以是所有活 動的結(jié)束,也可以是對執(zhí)行過程的終止。 &
77、#160; (4) 添加活動間的轉(zhuǎn)變。當(dāng)一個活動結(jié)束時將進(jìn)入下一個活動,稱為活動轉(zhuǎn)移。可標(biāo)明活動轉(zhuǎn)移的條件,引起活動轉(zhuǎn)移的事件。如活動“填寫報名表”有兩個活動轉(zhuǎn)移,當(dāng)填寫報名表不正確時,則轉(zhuǎn)移到活動“幫助填寫報名表”,當(dāng)填寫正確時,則轉(zhuǎn)移到活動“登記入學(xué) ”。 (5) 添加判斷點。當(dāng)對建模的邏輯需要做出一個判斷時,需要添加判斷點。例如,在圖1中 , 在“Enroll in University”活動之后,還必須按照入學(xué)條件進(jìn)行判斷,滿足條件的繼續(xù)執(zhí)行入學(xué)報到的活動,而不滿入學(xué)條件的則結(jié)束。
78、; (6) 找出并行活動。當(dāng)兩個活動間沒有直接的聯(lián)系,而且它們都必需在第三個活動開始前結(jié)束,那它們是可以并行運行的。在圖1中,用同步線描述系統(tǒng)任務(wù)中的并發(fā)活動,活動“Attend university overview presentation”(參加介紹學(xué)校會議)和“enroll in seminars” (注冊研討班)及“Make initial tuition payment”(交付初始的學(xué)費)可并行執(zhí)行,使用同 步線表示它們都要在結(jié)束整個流程前完成。 2. 簡述擴(kuò)展、使用和細(xì)化三種UML依賴關(guān)系的異同。
79、 答:擴(kuò)展關(guān)系是對基本用例在對某些“擴(kuò)展點”的功能的增加。 使用關(guān)系表示一個元素為了實現(xiàn)或完成其全部的功能需要用到已存在的另一個模型元素,例如類與類之間的多種方法調(diào)用關(guān)系。 細(xì)化關(guān)系是不同語義層(如分析和設(shè)計)之間模型元素的依賴關(guān)系,因此細(xì)化關(guān)系可描述的語義范圍較廣,包括模型的逐步細(xì)化、優(yōu)化、變換、模板、模型合成、框架組成等等。 3. 為什么要使用UML? 答:軟件開發(fā)的過程猶如雕
80、琢一件工藝品,由無形到有形,由粗到細(xì)。大家知道,隨著計算機(jī)應(yīng)用的飛速發(fā)展,軟件的復(fù)雜程度不斷提高,源代碼的規(guī)模越來越大,項目失敗的可能性也相應(yīng)增加。在長期的研究與實踐中,人們越來越深刻地認(rèn)識到,建立簡明準(zhǔn)確的表示模型是把握復(fù)雜系統(tǒng)的關(guān)鍵。模型是對事物的一種抽象,人們常常在正式建造實物之前,首先建立一個簡化的模型,以便更透徹地了解它的本質(zhì),抓住問題的要害。在模型中,先要剔除那些與問題無關(guān)的、非本質(zhì)的東西,從而使模型與真實的實體相比更加簡單明了、易于把握。總的來說,使用模型可以使人們從全局上把握系統(tǒng)的全貌及其相關(guān)部件之間的關(guān)系,可以防止過早地陷入各個模塊的細(xì)節(jié)。因此,面向?qū)ο蟮姆治雠c設(shè)計應(yīng)該從建模
81、開始。 4. 簡述UML實際建模過程。 答:每次迭代都分為以下幾個階段: 分析階段。建模的目的是捕捉系統(tǒng)的功能需求,分析、提取所開發(fā)系統(tǒng)的“客觀世界”領(lǐng)域的類以及描述它們的合作關(guān)系。 設(shè)計階段。建模的目的是通過考慮實現(xiàn)環(huán)境,將分析階段的模型擴(kuò)展和轉(zhuǎn)化為可行的技術(shù)實現(xiàn)方案。 實現(xiàn)階段。具體工作就是進(jìn)行編碼,同時對已構(gòu)造的模型作相應(yīng)的修正。 配置階段。通過模型描述所開發(fā)系統(tǒng)的軟硬件配置情況。 測試階段。使用前幾個階段所構(gòu)造的模型來指導(dǎo)和協(xié)助測試工作。 5. 在UML中的狀態(tài)圖、協(xié)作圖、活動圖、序列圖在系統(tǒng)分析中各起到了什么作用? 答: 狀態(tài)圖表示一個類的狀態(tài)變化,例如訂單的狀態(tài)變化等,在實時系統(tǒng)中用的較
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)場裝修安全責(zé)任協(xié)議
- 旅游度假居間代理協(xié)議
- 家居產(chǎn)業(yè)園區(qū)鏈家居間合同
- 足療館裝飾改造合同
- 2024年度海南省公共營養(yǎng)師之三級營養(yǎng)師通關(guān)提分題庫(考點梳理)
- 張桂梅老師的學(xué)生關(guān)懷心得體會
- 心理學(xué)專業(yè)實習(xí)總結(jié)范文
- 質(zhì)量安全監(jiān)管制度
- 財務(wù)報告與財務(wù)信息披露制度
- 幼小銜接心理健康教育計劃
- 物業(yè)民法典知識培訓(xùn)課件
- 2023年初中畢業(yè)生信息技術(shù)中考知識點詳解
- 2024-2025學(xué)年山東省德州市高中五校高二上學(xué)期期中考試地理試題(解析版)
- 《萬方數(shù)據(jù)資源介紹》課件
- 麻風(fēng)病病情分析
- 《急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)》
- 第一章-地震工程學(xué)概論
- JJF(陜) 063-2021 漆膜沖擊器校準(zhǔn)規(guī)范
- 《中國糖尿病防治指南(2024版)》更新要點解讀
- TSGD7002-2023-壓力管道元件型式試驗規(guī)則
- 2024年度家庭醫(yī)生簽約服務(wù)培訓(xùn)課件
評論
0/150
提交評論