




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程學2015年下半年第一次作業一、簡答題1、需求分析的任務 答:需求分析的任務主要包括以下幾項: 確定目標系統的綜合要求,其中包括 (目標系統的功能、性能、運行的環境及擴展性要求); 分析目標系統的數據要求,其中包括(系統平臺需要哪些數據?數據間有什么關系?數據及數據結構?對數據的處理邏輯關系等);導出目標系統的邏輯模型;修正系統流程圖;修正系統開發計劃、開發原型系統2、軟件危機是指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題,具體表現在哪些方面?答:1、無法開發復雜程度高的軟件 2、成本和進度估計不準&
2、#160; 3、無統一科學的規范,軟件不可維護 4、無質量保證,可靠性差 5、軟件常不能滿足用戶的需求 6、無適當的文檔資料 7、軟件生產率太低 二、選擇題 1、從下列關于結構化程序設計的敘述中選出5條正確的敘述。 程序設計比較方便,但比較難以維護。 便于由多個人分工編制大型程序。 軟件的功能便于擴充。 程序易于理解,也便于排錯。 在主存儲器能夠容納得下的前提下,應使模塊盡可能大,以便減少模塊的個數。 模塊之間的接口叫做數據文件。 只要模塊之間的接口
3、關系不變,各模塊內部實現細節的修改將不會影響別的模塊。 模塊間的單向調用關系叫做模塊的層次結構。 模塊越小,模塊化的優點越明顯。一般來說,模塊的大小都在10行以下。答:正確的敘述有、。 如果程序結構的模塊化滿足評價的標準(高內聚、低耦合),這樣的結構是容易維護的,程序的功能也容易測試,容易理解、容易修改、容易維護的,程序的功能也容易擴充。特別適合于大型程序編制時,多人分工全中作,協同完成任務的情形。因為是采用自頂向下、逐層分解來劃分解模塊結構的,所以模塊之間的調用關系是分層次的模塊結構,就叫做模塊的層次結構。模塊之間的信息傳遞叫做模塊的接口,模塊
4、之間傳遞信息可以通過參數表、全局變量或全局數據結構、數據文件、專門模塊太大,控制路徑數目多、涉及的范圍廣、變量的數目多、總體復雜性高,可理解性、可修改性、可靠性就會變差。模塊太小,模塊個數增多,調用的系統開銷就會增大。所以要有一個權衡2、供選擇的答案中選出正確的答案填入下列敘述中的( )內。模塊內聚性用于衡量模塊內部各成分之間彼此結合的緊密程度。(1)一組語句在程序中多處出現,為了節省內存空間把這些語句放在一個模塊中,該模塊的內聚性是(A)的。(2)將幾個邏輯上相似的成分放在同一個模塊中,通過模塊入口處的一個判斷決定執行哪一個功能,該模塊的內聚性是(B)的。(3)模塊中所有成分引用共同的數據,
5、該模塊的內聚性是(C)。(4)模塊內的某成分的輸出是另一些成分的輸入,該模塊的內聚性是(D)的。(5)模塊中所有成分結合起來完成一項任務,該模塊的內聚性是(E)的。它具有簡明的外部界面,由它構成的軟件易于理解、測試和維護。供選擇的答案:AE: 功能內聚 信息內聚 通信內聚 過程內聚 偶然內聚 時間內聚 邏輯內聚答:A.偶然內聚; B.邏輯內聚;C.通信內聚; D.過程內聚;E.功能內聚;3、從下列敘述中選出5條符合程序設計風格指導原則的敘述。 嵌套的重數應加以限制。 盡量多使用臨時變量。 不濫用語言特色。 不用可以省略的括號。 使用有意義的變量名。 應盡可能把程序編得短些。
6、 把常見的局部優化工作留給編譯程序去做。 注解越少越好。 程序的格式應有助于讀者理解程序。 應盡可能多用GOTO語句。答:、是正確的。 條件語句和循環語句嵌套得過多會增加程序的復雜性,從而增加程序的出錯率。 雖然國際上以至國內已經發表了編程語言的標準,但各個計算機廠商在推出自己的計算機系統的同時,也推出了針對自己機器特色的程序設計語言的非標準版本,如果利用這些語 言的非標準特性編寫程序,就會給將來程序的移植帶來困難。為了提高程序的可移植性,應當只使用語言的標準版本,不要濫用語言的非標準特色。&
7、#160; 給在程序中使用的變量賦予與實際含義相符的名字,可以提高程序的可讀性,從而提高程序的可維護性。 程序優化的工作最好交給編譯程序來做,程序員應把主要注意力放在提高程序的可讀性、清晰性、簡潔性、正確性、一致性等方面,從而保證軟件的可靠性和可維護性。 程序的可讀性是至關重要的,所以程序的格式應有助于讀者理解程序 4、由Rumbaugh等人提出的一種面向對象方法叫做對象模型化技術(OMT),即三視點技術,它要求把分析時收集的信息建立在下述3個模型中:第一個模型是(A)-
8、 它的作用是描述系統的靜態結構,包括構成系統的對象和類、它們的屬性和操作,以及它們這間的聯系。第二個模型是(B)- 它描述系統的控制邏輯,主要涉及系統中各個對象和類的時序及變化狀況。(B)包括兩種圖,即(C)和(D)。(C)描述每一類對象的行為,(D)描述發生于系統執行過程中的某一特定場景。第三個模型是(E)- 它著重于描述系統內部的數據的傳送與處理,它由多個數據流組成。供你選擇的答案如下:A,B,E: 數據模型 功能模型 行為模型 信息模型 原型 動態模型 對象模型 邏輯模型 控制模型 仿真模型C,D: 對象圖 概念模型圖 狀態遷移圖 數據流程圖 時序圖 事件追蹤圖 控制流程圖 邏輯模擬圖
9、仿真圖 行為圖答: A,B.,C.,D.,E.。 在OMT中,把分析時收集的信息建立在3個模型中。第一個模型是對象模型,它的作用是描述系統的靜態結構,包括構成系統的對象和類、它們的屬性和操作,以及它們之間的聯系。第二個模型是動態模型,它描述系統的控制邏輯,主要涉及系統中各個對象和類的時序及變化狀況。動態模型包括兩種圖,即狀態遷移圖和事件追蹤圖。狀態遷移圖描述每一類對象的行為,事件追蹤圖描述發生于系統執行過程中的某一特定場景。第三個模型是功能模型,它著重于描述系統內部數據的傳送與處理,它由多個數據流圖組成。5、從下列敘述中選出5條與提高軟件
10、的可移植性有關的敘述。 把程序中與計算機硬件特性有關的部分集成在一起。 選擇時間效率和空間效率高的算法。 使用結構化的程序設計方法。 盡量用高級語言編寫程序中對效率要求不高的部分。 盡可能減少注釋。 采用表格控制方式。 文檔資料詳盡、正確。 在有虛擬存儲器的計算機系統上開發軟件。 減少程序中對文件的讀寫次數。 充分利用宿主計算機的硬件特性。答:正確的敘述有、。 為了提高軟件的可移植性,應當盡可能用高級語言編寫源程序代碼。對于與硬件或操作系統有關的部分,或對效率要求很高的部分, 應當為它們建立專門的模塊,將用匯編語言寫的程序封裝在這些模塊中
11、,與程序中其他部分以事先約定的標準方式接口。這樣,一旦硬件環境或操作系統環境發生變化,只需修改這個別模塊即可。 采用表格控制方式,將所有的外部設備接口或與其他系統的接口,包括信息傳補遞、驅動程序入口等都用表格控制,即使將來硬件、相關軟件發生的變化,只需修改表格中的登記項,原來的程序一律可以不改。 為了將來修改方便,不致于引入新的錯誤,相關文檔一定要齊全、正確,程序必須有必要的注釋,并使用如結構化程序設計方法這樣的良好程序設計方法來編寫程序。至于算法選擇,與效率有關,與可移植性無關。其他敘述,如、,都不利于可移植性。三、論述題1. 論述瀑布模型軟件開發方法的基本過
12、程。答: 瀑布模型軟件開發方法將軟件開發分成四個時期八個階段: 分析時期: 1)問題定義-問題性質、工程目標及規模 2)可行性研究-技術上、經濟上、社會上是否有可行解? 3)需求分析- 確定目標系統必須具備的功能? 設計時期: 4)總體設計- 1).幾種求解方案;2).設計軟件的結
13、構 5)祥細設計- 設計出程序的祥細規格說明編碼與測試時期: 6)編碼與單元測試- 程序編碼實現與模塊測試 7)綜合測試- 集成測試和驗收測試運行與維護時期: 8)維護 -改正性維護、適應性維護、完善性維護、預防性維護 特點:下導式開發、追溯式確認、適合能事先確切定義需求的軟件開發2. 為什么軟件需要維護?維護有哪幾種類型?簡述它們的維護過程。答:在軟件開發成這交付用戶使用后,為了保證軟
14、件在一個相當長的是時期有夠正常運行,不需要對軟件進行維護。 軟件維護的為類型有4種:改正性維護、適應性維護、完善性維護和預防性維護。其中,改正性維護是要改正正在特定的使用條件下暴露出來的一些潛在程序錯誤或設計缺陷;適應性維護是要在軟件使用過程中數據環境發生變化或處理環境發生變化時修改軟件以適應這種變化;完善性維護是用戶和數據處理人員使用軟件過程中提出改進現有功能、增加新的功能,以及改善總體性能的要求后,修改軟件以把這些要求納入到軟件之中。 由這些原因引起折維護活動可以歸為以下幾類:預防性維護是為了提高軟件的可維護性、可靠性等,事先采用先進的軟件工程方法對面要維護的軟件或軟件
15、中的某一部分(重新)進行設計、編制和測試,為以后進一步改進軟件打下良好的基礎。 軟件維護的過程如圖7.19所示。第一步是先確認維護要求。這需要維護人員與用戶反復協商,弄清錯誤概況及對業務的影響大小,以及用戶希望做什么樣的修改,并把這些情況存入故障數據庫。然后,由維護組織管理員確認維護類型。 對于改正維護申請,從評價錯誤的嚴重性開始工作。如果存在嚴重的錯誤,則必須安排人員,在系統監督員的指導下,進行問題 分析,尋找錯誤發生的原因,進行“救火”性的緊急維護;對于不嚴重的錯誤,可根據任務、 機時情況,視輕重緩急,進行排隊,統一安排時間。對于適應性維護和完善性維
16、護申請,需要先確定每項申請的優先次序。若某項早請的優先級非常高,就可立即開始維工作,否則,維護申請和其他的開發工作一樣,進行排隊,統一安排時間。并不能所有的完善性維護申請都必須承擔,因為進行完善性維護等于是做二次開發,工作量大,所以需要根據商業需要、可利用資源的情況、目前和將來軟件的發展向以及其他考慮,決定是否承擔。 盡管維護申請的類型不同,但都要進行同樣的技術工作。這此工作有修改軟件的需求說明,修改軟件設計、設計評審、對源程做必要的修改、單元測試、集成測試(回歸測試)、確認測試、軟件配置評審等。在每次軟件維護任務完成后,最好進行一次情況評審,對以下問題做一總結: (1)在
17、目前情況下,設計、編碼、測試中的哪一方面可以改進? (2)哪些維護資源應該有但沒有? (3)工作中主要的或次要的障礙是什么? (4)從維護申請的類型來看是否應當有預防性維護? 情況評審對將來的維護工作如何進行會產生重要的影響,并可為軟件機構的效管理提供重要的反饋信息。3. 軟件復雜性有哪幾類?軟件復雜性度量模型應遵循哪些則?答:K.Magel從6個方面描述軟件的復雜性: (1)理解程序的難度。 (2)改錯及維護程序的難度。 (3)向他人解釋程序的難度。 (4)按指定方法修改程序的難度。 (5)根據設計文檔
18、編寫程序的工作量。 (6)執行程序時需要資源的程度。 軟件復雜性度量模型應遵循的基本原則: (1)軟件復雜性與程序大小的關系不是線性的。 (2)控制結構復雜的程序較復雜。 (3)數據結構復雜的程序較復雜。 (4)轉向語句使用不當的程序較復雜。 (5)循環結構比選擇結構復雜,選擇結構又比順序結構復雜。 (6)語句、數據、子程序和模塊在程序中的次序對軟件復雜性都有影響。 (7)全程變量、非局部變量較多時程序較復雜。 (8)參數按地址傳遞比按值傳遞更復雜。 (9)函數副作用比顯式參數傳遞更難
19、以琢磨。 (10)具有不同作用的變量共用一個名字時較難理解。 (11)模塊間或過程聯系密切的程序較復雜。 (12)嵌套深度越深程序越復雜。 最典型的兩種程序復雜性度量的方法中,McCabe環路復雜性度量就是針對基本原則(2)制定的度量模型。Halstead軟件科學則是針對程序中操作符和操作數的出現頻度而制定的度量模型。4. 簡述面向對象OMT方法的分析模型,描述面向對象分析的大體過程。答: OMT是一種軟件工程方法學,支持整個軟件生存周期。它覆蓋了問題構成、分析、設計和實現等階段。統分析階段涉及對應用領域的理解及問題域建模。分析階段的輸入是問題
20、陳述說明要解決的問題并提供了對假想系統的概念總覽同用戶不斷對話以及對客觀世界背景知識的了解作為分析的附加輸入分析的結果是一個形式化模型該模型概括了系統的3個本質因素:對象及對象之間的關系、動態的控制流以及帶有約束的功能數據變換。系統設計階段確定整個系統的體系結構。系統可由多個子系統組成,把對象組織成聚集并發任務而反映并發性對動態模型中處理的相互通信、數據存儲及實現要制定全面的策略。在權衡設計方案時要建立優先順序。對象設計階段要精心考慮和細化分析模型然后優化地生成一個實際設計。對象設計的重點從應用域概念轉到計算機概念上來應選擇基本算法來實現系統中各主要功能。OMT方法學是組織開發的一種過程。這種
21、過程是建立在一些協調技術之上的OMT方法的基礎是開發系統的3個模型再細化這3種模型并優化以構成設計。對象模型由系統中的對象及其關系組成動態模型描述系統中對象對事件的響應及對象間的相互作用功能模型則確定對象值上的各種變換及變換上的約束。5. 軟件配置管理的任務是什么?描述作為基線的軟件配置項(SCI)的修改過程模型。答: 軟件配置管理的任務:標識、版本控制、變化控制、配置審計及報告。 作為基線的軟件配置項(SCI)的修改過程模型:四、設被測試的程序段為: begin S1; if (x=0) and ( y>2 ) then S2; else If ( x < 1
22、 ) or ( y=1 ) then S3; S4;end可供選擇的測試數據組為: Xy0312-1231找出實現 (1)條件覆蓋 (2)路徑覆蓋要至少采用的數據組。答:1、條件覆蓋:每個語句至少執行一次,并且使判定表達式中的每個條件都取到各種可能的結果。 第一個判定表達式可能的結果:x=0, x<>0,y>2,y<=2 第二個判定表達式可能的結果:x<1,x>=1,y=1,y<>1; &
23、#160; 測試數據組:I x=0, y>2 II x<>0,y<=2,x>=1,y<>1 III x<>0,y<=2,x<1,y<>1 IV x<>0,y<=2,x>=1,y=1 2、路徑覆蓋:程序中的每條可能路徑都至少執行一次。 測試數據組:I ,II,III五、圖4.9是兩個程序流程圖,試分別用NS圖和PAD表示,并計算它們的McCabe復雜性度量。答: 對應的NS圖如下所示 對應PAD圖如下所示: McCabe復雜性度量都為3六、如圖5.8(a)所示的程序有4條不同的路徑。分別表示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級語文上冊 20 記 銘 說 志四篇《寒花葬志》教學設計1 長春版
- 《平行四邊形的面積》教學設計-2024-2025學年五年級上冊數學北師大版
- 2024年七年級語文上冊 第六單元 少年詩情 第24課《寫給云》教學設計 滬教版五四制
- Unit 5 Here and Now(Section A1a-1d)教學設計 2024-2025學年人教版(2024)七年級英語下冊
- 9《古代科技 耀我中華》第二課時(教學設計)-部編版道德與法治五年級上冊
- 2 說話要算數 教學設計-2023-2024學年道德與法治四年級下冊統編版
- 2024秋四年級英語上冊 Unit 3 My friends Part B 第1課時教學設計 人教PEP
- 6 有多少浪費本可避免2023-2024學年四年級下冊道德與法治同步教學設計(統編版)
- 2023-2024學年浙江攝影版(三起)(2020)小學信息技術五年級下冊算法初步(教學設計)
- 一年級道德與法治上冊 第二單元 2《我們一起做》教學設計 浙教版
- 《繁星》教學課件人教部編版語文1
- 高中生社會實踐證明
- 危險源辨識、風險評價清單(市政(管道)工程)
- 基本建設項目竣工財務預算報表填寫說明
- 05 Maxwell-RMxprt參數化與優化設置
- 人衛版內科學第九章白血病(第1-2節)
- TSG 81-2022 場(廠)內專用機動車輛安全技術規程
- 【教學課件】飛行校驗課程
- 擋墻施工危險源辨識及風險評價
- 七下:歐洲西部
- 互調分析儀基礎知識及使用
評論
0/150
提交評論