




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、、簡答題1、需求分析的任務答:需求分析的任務主要包括以下幾項: 確定目標系統(tǒng)的綜合要求,其中包括(目標系統(tǒng)的功能、性能、運行的環(huán)境及擴展性要求) ;分析目標系統(tǒng)的數(shù)據(jù)要求, 其中包括 (系統(tǒng)平臺需要哪些數(shù)據(jù)?數(shù)據(jù)間有什么關(guān)系?數(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、成本和進度估計不準3、無統(tǒng)一科學的規(guī)范,軟件不可維護4、無質(zhì)量保證,可靠性差5、軟件常不能滿足用戶的需求6、無適當?shù)奈臋n資料7、軟
2、件生產(chǎn)率太低二、選擇題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 行以下。答:正確的敘述有、。如果程序結(jié)構(gòu)的模塊化滿足評價的標準(高內(nèi)聚、低耦合) ,這樣的結(jié)構(gòu)是容易維護的,程序的功能
3、也容易測試,容易理解、容易修改、容易維護的,程序的功能也容易擴充。 特別適合于大型程序編制時, 多人分工全中作, 協(xié)同完成任務的情形。因為是采用自頂向下、 逐層分解來劃分解模塊結(jié)構(gòu)的, 所以模塊之間的調(diào)用關(guān)系是分層次的模塊結(jié)構(gòu), 就叫做模塊的層次結(jié)構(gòu)。 模塊之間的信息傳遞叫做模塊的接口,模塊之間傳遞信息可以通過參數(shù)表、 全局變量或全局數(shù)據(jù)結(jié)構(gòu)、 數(shù)據(jù)文件、 專門模塊太大,控制路徑數(shù)目多、涉及的范圍廣、變量的數(shù)目多、總體復雜性高,可理解性、可修改性、可靠性就會變差。模塊太小,模塊個數(shù)增多,調(diào)用的系統(tǒng)開銷就會增大。所以要有一個權(quán)衡2、供選擇的答案中選出正確的答案填入下列敘述中的( )內(nèi)。模塊內(nèi)聚性
4、用于衡量模塊內(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)成的軟件易于理解、測試和維護。供選擇的答案:( e:功能內(nèi)聚 信息內(nèi)聚通信內(nèi)
5、聚 過程內(nèi)聚 偶然內(nèi)聚 時間內(nèi)聚 邏輯內(nèi)聚答:a.偶然內(nèi)聚;b.邏輯內(nèi)聚;c.通信內(nèi)聚;d.過程內(nèi)聚后功能內(nèi)聚;3、從下列敘述中選出5 條符合程序設計風格指導原則的敘述。 嵌套的重數(shù)應加以限制。 盡量多使用臨時變量。 不濫用語言特色。 不用可以省略的括號。 使用有意義的變量名。 應盡可能把程序編得短些。 把常見的局部優(yōu)化工作留給編譯程序去做。 注解越少越好。 程序的格式應有助于讀者理解程序。 應盡可能多用 goto 語句。答:、是正確的。 條件語句和循環(huán)語句嵌套得過多會增加程序的復雜性,從而增加程序的出錯率。雖然國際上以至國內(nèi)已經(jīng)發(fā)表了編程語言的標準, 但各個計算機廠商在推出自己的計算機系統(tǒng)的
6、同時,也推出了針對自己機器特色的程序設計語言的非標準版本,如果利用這些語 言的非標準特性編寫程序,就會給將來程序的移植帶來困難。為了提高程序的可移植性,應當只使用語言的標準版本,不要濫用語言的非標準特色。給在程序中使用的變量賦予與實際含義相符的名字,可以提高程序的可讀性,從而提 高程序的可維護性。程序優(yōu)化的工作最好交給編譯程序來做, 程序員應把主要注意力放在提高程序的可讀性、 清晰性、 簡潔性、 正確性、 一致性等方面, 從而保證軟件的可靠性和可維護性。程序的可讀性是至關(guān)重要的,所以程序的格式應有助于讀者理解程序4、 由 rumbaugh 等人提出的一種面向?qū)ο蠓椒ń凶鰧ο竽P突夹g(shù)( omt
7、 ) , 即三視點技術(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,
8、 d:對象圖概念模型圖狀態(tài)遷移圖 數(shù)據(jù)流程圖時序圖事件追蹤圖 控制流程圖邏輯模擬圖仿真圖 行為圖答:a.,b.,c.,d.,e.。在 omt 中,把分析時收集的信息建立在3 個模型中。第一個模型是對象模型,它的作用是描述系統(tǒng)的靜態(tài)結(jié)構(gòu), 包括構(gòu)成系統(tǒng)的對象和類、 它們的屬性和操作, 以及它們之間的聯(lián)系。 第二個模型是動態(tài)模型, 它描述系統(tǒng)的控制邏輯, 主要涉及系統(tǒng)中各個對象和類的時序及變化狀況。 動態(tài)模型包括兩種圖, 即狀態(tài)遷移圖和事件追蹤圖。 狀態(tài)遷移圖描述每一類對象的行為, 事件追蹤圖描述發(fā)生于系統(tǒng)執(zhí)行過程中的某一特定場景。 第三個模型是功能模型, 它著重于描述系統(tǒng)內(nèi)部數(shù)據(jù)的傳送與處理,
9、它由多個數(shù)據(jù)流圖組成。5、從下列敘述中選出5 條與提高軟件的可移植性有關(guān)的敘述。 把程序中與計算機硬件特性有關(guān)的部分集成在一起。 選擇時間效率和空間效率高的算法。 使用結(jié)構(gòu)化的程序設計方法。 盡量用高級語言編寫程序中對效率要求不高的部分。 盡可能減少注釋。 采用表格控制方式。 文檔資料詳盡、正確。 在有虛擬存儲器的計算機系統(tǒng)上開發(fā)軟件。 減少程序中對文件的讀寫次數(shù)。 充分利用宿主計算機的硬件特性。答:正確的敘述有、。為了提高軟件的可移植性, 應當盡可能用高級語言編寫源程序代碼。 對于與硬件或操作系統(tǒng)有關(guān)的部分,或?qū)π室蠛芨叩牟糠郑瑧敒樗鼈兘iT的模塊, 將用匯編語言寫的程序封裝在這些模
10、塊中, 與程序中其他部分以事先約定的標準方式接口。 這樣, 一旦硬件環(huán)境或操作系統(tǒng)環(huán)境發(fā)生變化, 只需修改這個別模塊即可。采用表格控制方式,將所有的外部設備接口或與其他系統(tǒng)的接口,包括信息傳補遞、驅(qū)動程序入口等都用表格控制, 即使將來硬件、 相關(guān)軟件發(fā)生的變化, 只需修改表格中的登記項,原來的程序一律可以不改。為了將來修改方便, 不致于引入新的錯誤,相關(guān)文檔一定要齊全、 正確,程序必須有必要的注釋, 并使用如結(jié)構(gòu)化程序設計方法這樣的良好程序設計方法來編寫程序。 至于算法選擇,與效率有關(guān),與可移植性無關(guān)。其他敘述,如、,都不利于可移植性。三、論述題 . 論述瀑布模型軟件開發(fā)方法的基本過程。答:瀑
11、布模型軟件開發(fā)方法將軟件開發(fā)分成四個時期八個階段:分析時期:1)問題定義- 問題性質(zhì)、工程目標及規(guī)模2)可行性研究- 技術(shù)上、經(jīng)濟上、社會上是否有可行解?3)需求分析- 確定目標系統(tǒng)必須具備的功能?設計時期:4)總體設計-1 ).幾種求解方案; 2).設計軟件的結(jié)構(gòu)5)祥細設計-設計出程序的祥細規(guī)格說明編碼與測試時期:6)編碼與單元測試- 程序編碼實現(xiàn)與模塊測試7)綜合測試-集成測試和驗收測試運行與維護時期:8)維護-改正性維護、適應性維護、完善性維護、預防性維護特點:下導式開發(fā)、追溯式確認、適合能事先確切定義需求的軟件開發(fā) 為什么軟件需要維護?維護有哪幾種類型?簡述它們的維護過程。答:在軟件
12、開發(fā)成這交付用戶使用后, 為了保證軟件在一個相當長的是時期有夠正常運行,不需要對軟件進行維護。軟件維護的為類型有4 種:改正性維護、適應性維護、完善性維護和預防性維護。其中, 改正性維護是要改正正在特定的使用條件下暴露出來的一些潛在程序錯誤或設計缺陷; 適應性維護是要在軟件使用過程中數(shù)據(jù)環(huán)境發(fā)生變化或處理環(huán)境發(fā)生變化時修改軟件以適應這種變化; 完善 性維護是用戶和數(shù)據(jù)處理人員使用軟件過程中提出改進現(xiàn)有功能、 增加新的功能, 以及改善總體性能的要求后,修改軟件以把這些要求納入到軟件之中。由這些原因引起折維護活動可以歸為以下幾類:預防性維護是為了提高軟件的可維護性、可靠性等,事先采用先進的軟件工程
13、方法對面要維護的軟件或軟件中的某一部分 (重新)進行設計、編制和測試,為以后進一步改進軟件打下良好的基礎。軟件維護的過程如圖 7.19所示。第一步是先確認維護要求。這需要維護人員與用 戶反復協(xié)商,弄清錯誤概況及對業(yè)務的影響大小,以及用戶希望做什么樣的修改,并把這些情況存入故障數(shù)據(jù)庫。然后,由維護組織管理員確認維護類型。用戶定改求始星析開向分k員、安i 理解程序排 分析原設計安排計劃修改程序明護型 劃儺類優(yōu)先把安排好的開發(fā)把錯誤改正 列入計劃工. 需試程序 雄改 過的 軟杵開始分析通過并交忖、使用的軟件工作量列入計劃圖7.19軟件維護的過程對于改正維護申請,從評價錯誤的嚴重性開始工作。如果存在嚴
14、重的錯誤,則必須安排人員,在系統(tǒng)監(jiān)督員的指導下,進行問題分析,尋找錯誤發(fā)生的原因,進行“救火”性的緊急維護;對于不嚴重的錯誤,可根據(jù)任務、機時情況,視輕重緩急,進行排隊,統(tǒng)一安排時間。對于適應性維護和完善性維護申請,需要先確定每項申請的優(yōu)先次序。若某項早請的優(yōu)先級非常高,就可立即開始維工作,否則, 維護申請和其他的開發(fā)工作一樣,進行排隊, 統(tǒng)一安排時間。并不能所有的完善性維護申請都必須承擔,因 為進行完善性維護等于是做二次開發(fā),工作量大,所以需要根據(jù)商業(yè)需要、 可利用資源的情況、目前和將來軟件的發(fā)展向以及其他考慮,決定是否承擔。盡管維護申請的類型不同, 但都要進行同樣的技術(shù)工作。 這此工作有修
15、改軟件的需 求說明,修改軟件設計、設計評審、對源程做必要的修改、單元測試、集成測試(回歸 測試)、確認測試、軟件配置評審等。在每次軟件維護任務完成后,最好進行一次情況評審,對以下問題做一總結(jié):( 1)在目前情況下,設計、編碼、測試中的哪一方面可以改進?( 2)哪些維護資源應該有但沒有?( 3)工作中主要的或次要的障礙是什么?( 4)從維護申請的類型來看是否應當有預防性維護?情況評審對將來的維護工作如何進行會產(chǎn)生重要的影響, 并可為軟件機構(gòu)的效管理提供重要的反饋信息。 軟件復雜性有哪幾類?軟件復雜性度量模型應遵循哪些則?答:k.magel 從 6個方面描述軟件的復雜性:( 1)理解程序的難度。(
16、 2)改錯及維護程序的難度。( 3)向他人解釋程序的難度。( 4)按指定方法修改程序的難度。( 5)根據(jù)設計文檔編寫程序的工作量。( 6)執(zhí)行程序時需要資源的程度。軟件復雜性度量模型應遵循的基本原則:( 1)軟件復雜性與程序大小的關(guān)系不是線性的。( 2)控制結(jié)構(gòu)復雜的程序較復雜。( 3)數(shù)據(jù)結(jié)構(gòu)復雜的程序較復雜。( 4)轉(zhuǎn)向語句使用不當?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ù)傳遞更難
17、以琢磨。( 10)具有不同作用的變量共用一個名字時較難理解。( 11)模塊間或過程聯(lián)系密切的程序較復雜。( 12)嵌套深度越深程序越復雜。最典型的兩種程序復雜性度量的方法中,mccabe環(huán)路復雜性度量就是針對基本原則(2)制定的度量模型。halstead軟件科學則是針對程序中操作符和操作數(shù)的出現(xiàn)頻度而制定 的度量模型。 簡述面向?qū)ο?omt 方法的分析模型,描述面向?qū)ο蠓治龅拇篌w過程。答:omt是一種軟件工程方法學,支持整個軟件生存周期。它覆蓋了問題構(gòu)成、分析、設 計和實現(xiàn)等階段。統(tǒng)分析階段涉及對應用領域的理解及問題域建模。分析階段的輸入是問題陳述說明要解決的問題并提供了對假想系統(tǒng)的概念總覽同
18、用戶不斷對話以及對客觀世界背景知識的了解作為分析的附加輸入分析的結(jié)果是一個形式化模型該模型概括了系統(tǒng)的3個本質(zhì)因素:對象及對象之間的關(guān)系、動態(tài)的控制流以及帶有約束的 功能數(shù)據(jù)變換。系統(tǒng)設計階段確定整個系統(tǒng)的體系結(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方法的基
19、礎是開發(fā)系統(tǒng)的 3個模型再細化這3種模型并優(yōu)化以構(gòu)成設計。 對象模型由系統(tǒng)中的對象及其關(guān)系組成動態(tài)模型 描述系統(tǒng)中對象對事件的響應及對象間的相互作用功能模型則確定對象值上的各種變 換及變換上的約束。 軟件配置管理的任務是什么?描述作為基線的軟件配置項( sci)的修改過程模型。答:作為基線的軟軟件配置管理的任務:標識、版本控制、變化控制、配置審計及報告。件配置項(sci)的修改過程模型:四、設被測試的程序段為:begins1;if (x=0)and( y2 )thens2;elseif ( x 1 ) or ( y=1 ) then s3;s4;end可供選擇的測試數(shù)據(jù)組為:xyi03n12m
20、-12w31找出實現(xiàn) (1)條件覆蓋(2)路徑覆蓋要至少采用的數(shù)據(jù)組。答:1、條件覆蓋:每個語句至少執(zhí)行一次,并且使判定表達式中的每個條件都取到各 種可能的結(jié)果。第一個判定表達式可能的結(jié)果:x=0, x0,y2,y=2第二個判定表達式可能的結(jié)果:x=1,y=1,y1;測試數(shù)據(jù)組:i x=0, y2ii x0,y=1,y1iii x0,y=2,x1,y1iv x0,y=1,y=12、路徑覆蓋:程序中的每條可能路徑都至少執(zhí)行一次。測試數(shù)據(jù)組:i , ii , iii五、圖4.9是兩個程序流程圖,試分別用n s圖和pad表示,并計算它們的 mccabe復雜性度量。對應的n s圖如下所示精選兩個程序n-s圖對應pad圖如下所示: mccabe復雜性度量都為 3分別表示為 l1 (產(chǎn)c一e)、l2 (a-bd)、l3 (a-b-e)和 l4 (a一c-d),或簡寫成 ace abd、abe及acd。由于覆蓋測試的目標不同,邏輯覆蓋方法可以分為語句覆蓋、判定覆蓋、 條件覆蓋、判定一條件覆蓋、條件組合覆蓋和路徑覆蓋。從備選的答案中選擇適當?shù)?/p>
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 正規(guī)公司勞動合同
- 數(shù)據(jù)分析驅(qū)動的決策方案計劃
- 年度工作計劃對公司發(fā)展的影響
- Unit 2 Numbers 單元整體(教學設計)-2024-2025學年新交際英語(2024)英語一年級上冊001
- 集團管控培訓
- 第一單元 第1課 絢麗舞臺-初識VB 教學設計 -2023-2024學年粵教清華版初中信息技術(shù)九年級上冊
- 6我參與 我奉獻 第一課時 友善相待(教學設計)-2023-2024學年道德與法治五年級下冊統(tǒng)編版001
- 海洋環(huán)境保護項目管理與評估考核試卷
- 《小小少年》(教學設計)-2023-2024學年人音版(2012)音樂四年級下冊001
- 農(nóng)田土壤污染監(jiān)測儀器考核試卷
- 自身免疫性腦炎診治護理查房
- BIM技術(shù)在招投標中的綜合應用
- 藥學專業(yè)副主任藥師試題
- 泉州開元寺博物館建筑中妙音鳥的翅前之功
- 嬰幼兒體格測量身高(身長)的測量課件
- GB/T 7025.1-2023電梯主參數(shù)及轎廂、井道、機房的型式與尺寸第1部分:Ⅰ、Ⅱ、Ⅲ、Ⅵ類電梯
- 雷達法檢測混凝土結(jié)構(gòu)技術(shù)規(guī)程及雷達法應用
- 高顱壓和腦疝
- 多囊卵巢綜合征診治指南
- 2023年單招烹飪高考試卷A
- 加氣站手續(xù)辦理規(guī)定
評論
0/150
提交評論