軟件工程學2016年下半年第一次作業(yè)_第1頁
軟件工程學2016年下半年第一次作業(yè)_第2頁
軟件工程學2016年下半年第一次作業(yè)_第3頁
軟件工程學2016年下半年第一次作業(yè)_第4頁
軟件工程學2016年下半年第一次作業(yè)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程學2016年下半年第一次作業(yè)一、簡答題1、需求分析的任務 答:需求分析的任務主要包括以下幾項: 確定目標系統(tǒng)的綜合要求,其中包括(目標系統(tǒng)的功能、性能、運行的環(huán)境及擴展性要求);  分析目標系統(tǒng)的數(shù)據(jù)要求,其中包括(系統(tǒng)平臺需要哪些數(shù)據(jù)?數(shù)據(jù)間有什么關(guān)系?數(shù)據(jù)數(shù) 據(jù)及數(shù)據(jù)結(jié)構(gòu)?對數(shù)據(jù)的處理邏輯關(guān)系等);導出目標系統(tǒng)的邏輯模型;修正系統(tǒng)流程圖;修正系統(tǒng)開發(fā)計劃、開發(fā)原型系統(tǒng)2、軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題,具體表現(xiàn)在哪些方面?答:1、用戶對開發(fā)出的軟件很難滿意;2、軟件產(chǎn)品的質(zhì)量往往靠不??;3、一般軟件很難維護;4、軟件生

2、產(chǎn)效率很低;5、軟件開發(fā)成本越來越大;6、軟件成本與開發(fā)進度難以估計;7、軟件技術(shù)的發(fā)展遠遠滿足不了計算機應用的普及與深入的需要。 二、選擇題 1、從下列關(guān)于結(jié)構(gòu)化程序設計的敘述中選出5條正確的敘述。 程序設計比較方便,但比較難以維護。 便于由多個人分工編制大型程序。 軟件的功能便于擴充。 程序易于理解,也便于排錯。 在主存儲器能夠容納得下的前提下,應使模塊盡可能大,以便減少模塊的個數(shù)。 模塊之間的接口叫做數(shù)據(jù)文件。 只要模塊之間的接口關(guān)系不變,各模塊內(nèi)部實現(xiàn)細節(jié)的修改將不會影響別的模塊。 模塊間的單向調(diào)用關(guān)系叫做模塊的層次結(jié)構(gòu)。 模塊越小,模塊化的優(yōu)點越明顯。一般來說,模塊的大小都在10行以

3、下。答:正確的敘述有、。2、供選擇的答案中選出正確的答案填入下列敘述中的( )內(nèi)。模塊內(nèi)聚性用于衡量模塊內(nèi)部各成分之間彼此結(jié)合的緊密程度。(1)一組語句在程序中多處出現(xiàn),為了節(jié)省內(nèi)存空間把這些語句放在一個模塊中,該模塊的內(nèi)聚性是(A)的。(2)將幾個邏輯上相似的成分放在同一個模塊中,通過模塊入口處的一個判斷決定執(zhí)行哪一個功能,該模塊的內(nèi)聚性是(B)的。(3)模塊中所有成分引用共同的數(shù)據(jù),該模塊的內(nèi)聚性是(C)。(4)模塊內(nèi)的某成分的輸出是另一些成分的輸入,該模塊的內(nèi)聚性是(D)的。(5)模塊中所有成分結(jié)合起來完成一項任務,該模塊的內(nèi)聚性是(E)的。它具有簡明的外部界面,由它構(gòu)成的軟件易于理解、

4、測試和維護。供選擇的答案:AE: 功能內(nèi)聚 信息內(nèi)聚 通信內(nèi)聚 過程內(nèi)聚 偶然內(nèi)聚 時間內(nèi)聚 邏輯內(nèi)聚答:A.偶然內(nèi)聚; B.邏輯內(nèi)聚;C.通信內(nèi)聚; D.過程內(nèi)聚;E.功能內(nèi)聚3、從下列敘述中選出5條符合程序設計風格指導原則的敘述。 嵌套的重數(shù)應加以限制。 盡量多使用臨時變量。 不濫用語言特色。 不用可以省略的括號。 使用有意義的變量名。 應盡可能把程序編得短些。 把常見的局部優(yōu)化工作留給編譯程序去做。 注解越少越好。 程序的格式應有助于讀者理解程序。 應盡可能多用GOTO語句。答:、是正確的4、由Rumbaugh等人提出的一種面向?qū)ο蠓椒ń凶鰧ο竽P突夹g(shù)(OMT),即

5、三視點技術(shù),它要求把分析時收集的信息建立在下述3個模型中:第一個模型是(A)- 它的作用是描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包括構(gòu)成系統(tǒng)的對象和類、它們的屬性和操作,以及它們這間的聯(lián)系。第二個模型是(B)- 它描述系統(tǒng)的控制邏輯,主要涉及系統(tǒng)中各個對象和類的時序及變化狀況。(B)包括兩種圖,即(C)和(D)。(C)描述每一類對象的行為,(D)描述發(fā)生于系統(tǒng)執(zhí)行過程中的某一特定場景。第三個模型是(E)- 它著重于描述系統(tǒng)內(nèi)部的數(shù)據(jù)的傳送與處理,它由多個數(shù)據(jù)流組成。供你選擇的答案如下:A,B,E: 數(shù)據(jù)模型 功能模型 行為模型 信息模型 原型 動態(tài)模型 對象模型 邏輯模型 控制模型 仿真模型C,D: 對象圖 概

6、念模型圖 狀態(tài)遷移圖 數(shù)據(jù)流程圖 時序圖 事件追蹤圖 控制流程圖 邏輯模擬圖 仿真圖 行為圖答:A,B.,C.,D.,E.。5、從下列敘述中選出5條與提高軟件的可移植性有關(guān)的敘述。 把程序中與計算機硬件特性有關(guān)的部分集成在一起。 選擇時間效率和空間效率高的算法。 使用結(jié)構(gòu)化的程序設計方法。 盡量用高級語言編寫程序中對效率要求不高的部分。 盡可能減少注釋。 采用表格控制方式。 文檔資料詳盡、正確。 在有虛擬存儲器的計算機系統(tǒng)上開發(fā)軟件。 減少程序中對文件的讀寫次數(shù)。 充分利用宿主計算機的硬件特性。答:正確的敘述有、。     為了提高軟件的可移植

7、性,應當盡可能用高級語言編寫源程序代碼。對于與硬件或操作系統(tǒng)有關(guān)的部分,或?qū)π室蠛芨叩牟糠郑?#160; 應當為它們建立專門的模塊,將用匯編語言寫的程序封裝在這些模塊中,與程序中其他部分以事先約定的標準方式接口。這樣,一旦硬件環(huán)境或操作系統(tǒng)環(huán)境發(fā)生變化,只需修改這個別模塊即可。   采用表格控制方式,將所有的外部設備接口或與其他系統(tǒng)的接口,包括信息傳補遞、驅(qū)動程序入口等都用表格控制,即使將來硬件、相關(guān)軟件發(fā)生的變化,只需修改表格中的登記項,原來的程序一律可以不改。  為了將來修改方便,不致于引入新的錯誤,相關(guān)文檔一定要齊全、正確,

8、程序必須有必要的注釋,并使用如結(jié)構(gòu)化程序設計方法這樣的良好程序設計方法來編寫程序。至于算法選擇,與效率有關(guān),與可移植性無關(guān)。其他敘述,如、,都不利于可移植性。三、論述題1. 論述瀑布模型軟件開發(fā)方法的基本過程。答:     瀑布模型軟件開發(fā)方法將軟件開發(fā)分成四個時期八個階段:分析時期:     1)問題定義-問題性質(zhì)、工程目標及規(guī)模     2)可行性研究-技術(shù)上、經(jīng)濟上、社會上是否有可行解?    3)需

9、求分析- 確定目標系統(tǒng)必須具備的功能?設計時期:     4)總體設計- 1).幾種求解方案;2).設計軟件的結(jié)構(gòu)    5)祥細設計- 設計出程序的祥細規(guī)格說明編碼與測試時期:     6)編碼與單元測試- 程序編碼實現(xiàn)與模塊測試 7)綜合測試- 集成測試和驗收測試運行與維護時期:     8)維護 -改正性維護、適應性維護、完善性維護

10、、預防性維護 特點:下導式開發(fā)、追溯式確認、適合能事先確切定義需求的軟件開發(fā)2. 為什么軟件需要維護?維護有哪幾種類型?簡述它們的維護過程。答:在軟件開發(fā)成這交付用戶使用后,為了保證軟件在一個相當長的是時期有夠正常運行,不需要對軟件進行維護。  軟件維護的為類型有4種:改正性維護、適應性維護、完善性維護和預防性維護。其中,改正性維護是要改正正在特定的使用條件下暴露出來的一些潛在程序錯誤或設計缺陷;適應性維護是要在軟件使用過程中數(shù)據(jù)環(huán)境發(fā)生變化或處理環(huán)境發(fā)生變化時修改軟件以適應這種變化;完善性維護是用戶和數(shù)據(jù)處理人員使用軟件過程中提出改進現(xiàn)有功能、增加新的功能,以及

11、改善總體性能的要求后,修改軟件以把這些要求納入到軟件之中。  由這些原因引起折維護活動可以歸為以下幾類:預防性維護是為了提高軟件的可維護性、可靠性等,事先采用先進的軟件工程方法對面要維護的軟件或軟件中的某一部分(重新)進行設計、編制和測試,為以后進一步改進軟件打下良好的基礎。  軟件維護的過程第一步是先確認維護要求。這需要維護人員與用戶反復協(xié)商,弄清錯誤概況及對業(yè)務的影響大小,以及用戶希望做什么樣的修改,并把這些情況存入故障數(shù)據(jù)庫。然后,由維護組織管理員確認維護類型。對于改正維護申請,從評價錯誤的嚴重性開始工作。如果存在嚴重的錯誤,則必須安排人員,在系統(tǒng)

12、監(jiān)督員的指導下,進行問題 分析,尋找錯誤發(fā)生的原因,進行“救火”性的緊急維護;對于不嚴重的錯誤,可根據(jù)任務、 機時情況,視輕重緩急,進行排隊,統(tǒng)一安排時間。對于適應性維護和完善性維護申請,需要先確定每項申請的優(yōu)先次序。若某項早請的優(yōu)先級非常高,就可立即開始維工作,否則,維護申請和其他的開發(fā)工作一樣,進行排隊,統(tǒng)一安排時間。并不能所有的完善性維護申請都必須承擔,因為進行完善性維護等于是做二次開發(fā),工作量大,所以需要根據(jù)商業(yè)需要、可利用資源的情況、目前和將來軟件的發(fā)展  向以及其他考慮,決定是否承擔。  盡管維護申請的類型不同,但都要進行

13、同樣的技術(shù)工作。這此工作有修改軟件的需求說明,修改軟件設計、設計評審、對源程做必要的修改、單元測試、集成測試(回歸測試)、確認測試、軟件配置評審等。在每次軟件維護任務完成后,最好進行一次情況評審,對以下問題做一總結(jié):  (1) 在目前情況下,設計、編碼、測試中的哪一方面可以改進?  (2) 哪些維護資源應該有但沒有? (3)工作中主要的或次要的障礙是什么?  (4)從維護申請的類型來看是否應當有預防性維護?  情況評審對將來的維護工作如何進行會產(chǎn)生重要的影響,并可為軟件機構(gòu)的效管理提供

14、重要的反饋信息。3. 軟件復雜性有哪幾類?軟件復雜性度量模型應遵循哪些則?答:K.Magel從6個方面描述軟件的復雜性:  (1)理解程序的難度。 (2)改錯及維護程序的難度。 (3)向他人解釋程序的難度。 (4)按指定方法修改程序的難度。 (5)根據(jù)設計文檔編寫程序的工作量。 (6)執(zhí)行程序時需要資源的程度。 軟件復雜性度量模型應遵循的基本原則: (1)軟件復雜性與程序大小的關(guān)系不是線性的。 (2)控制結(jié)構(gòu)復雜的程序較復雜。 (3)數(shù)據(jù)結(jié)構(gòu)復雜的程序較復雜。 (4)轉(zhuǎn)向語句

15、使用不當?shù)某绦蜉^復雜。  (5)循環(huán)結(jié)構(gòu)比選擇結(jié)構(gòu)復雜,選擇結(jié)構(gòu)又比順序結(jié)構(gòu)復雜。  (6)語句、數(shù)據(jù)、子程序和模塊在程序中的次序?qū)浖碗s性都有影響。 (7)全程變量、非局部變量較多時程序較復雜。 (8)參數(shù)按地址傳遞比按值傳遞更復雜。 (9)函數(shù)副作用比顯式參數(shù)傳遞更難以琢磨。 (10)具有不同作用的變量共用一個名字時較難理解。 (11)模塊間或過程聯(lián)系密切的程序較復雜。 (12)嵌套深度越深程序越復雜。  最典型的兩種程序復雜性度量的方法中,McCabe環(huán)路復雜性度量就

16、是針對基本原則(2)制定的度量模型。Halstead軟件科學則是針對程序中操作符和操作數(shù)的出現(xiàn)頻度而制定的度量模型。4. 簡述面向?qū)ο驩MT方法的分析模型,描述面向?qū)ο蠓治龅拇篌w過程。答:OMT是一種軟件工程方法學,支持整個軟件生存周期。它覆蓋了問題構(gòu)成、分析、設計和實現(xiàn)等階段。統(tǒng)分析階段涉及對應用領域的理解及問題域建模。分析階段的輸入是問題陳述說明要解決的問題并提供了對假想系統(tǒng)的概念總覽同用戶不斷對話以及對客觀世界背景知識的了解作為分析的附加輸入分析的結(jié)果是一個形式化模型該模型概括了系統(tǒng)的3個本質(zhì)因素:對象及對象之間的關(guān)系、動態(tài)的控制流以及帶有約束的功能數(shù)據(jù)變換。系統(tǒng)設計階段確定整個系統(tǒng)的體

17、系結(jié)構(gòu)。系統(tǒng)可由多個子系統(tǒng)組成,把對象組織成聚集并發(fā)任務而反映并發(fā)性對動態(tài)模型中處理的相互通信、數(shù)據(jù)存儲及實現(xiàn)要制定全面的策略。在權(quán)衡設計方案時要建立優(yōu)先順序。對象設計階段要精心考慮和細化分析模型然后優(yōu)化地生成一個實際設計。對象設計的重點從應用域概念轉(zhuǎn)到計算機概念上來應選擇基本算法來實現(xiàn)系統(tǒng)中各主要功能。OMT方法學是組織開發(fā)的一種過程。這種過程是建立在一些協(xié)調(diào)技術(shù)之上的OMT方法的基礎是開發(fā)系統(tǒng)的3個模型再細化這3種模型并優(yōu)化以構(gòu)成設計。對象模型由系統(tǒng)中的對象及其關(guān)系組成動態(tài)模型描述系統(tǒng)中對象對事件的響應及對象間的相互作用功能模型則確定對象值上的各種變換及變換上的約束。5. 軟件配置管理的任

18、務是什么?描述作為基線的軟件配置項(SCI)的修改過程模型。答:軟件配置管理的任務:標識、版本控制、變化控制、配置審計及報告。作為基線的軟件配置項(SCI)的修改過程模型:修改認可提取 SCM四、設被測試的程序段為: begin S1; if (x=0) and ( y>2 ) then S2; else If ( x < 1 ) or ( y=1 ) then S3; S4;end可供選擇的測試數(shù)據(jù)組為: Xy0312-1231找出實現(xiàn) (1)條件覆蓋 (2)路徑覆蓋要至少采用的數(shù)據(jù)組。答:1、條件覆蓋:每個語句至少執(zhí)行一次,并且使判定表達式中的每個條件都取到各種可能的結(jié)果。&#

19、160; 第一個判定表達式可能的結(jié)果:x=0, x<>0,y>2,y<=2        第二個判定表達式可能的結(jié)果:x<1,x>=1,y=1,y<>1;         測試數(shù)據(jù)組:I x=0, y>2   II x<>0,y<=2,x>=1,y<>1         III x<>0,y<=2,x<1,y<>1 五、圖4.9是兩個程序流程圖,試分別用NS圖和PAD表示,并計算它們的McCabe復雜性度量。六、如圖5.8(a)所示的程序有4條不同的路徑。分別表示為L1(ace)、L2(abd)、L3(abe)和L4(acd),或簡寫成ace、abd、abe、及acd。由于覆蓋測試的目標不同,邏輯覆蓋方法可以分為語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋和路徑覆蓋。從備選的答案

溫馨提示

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

評論

0/150

提交評論