


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程答案1、簡述軟件的定義與特點? 軟件是完成某類問題求解的程序和數據以及維護程序必須提供的一系列文檔組成的集 合。特點:從內部特性講,軟件是大量邏輯元素的復雜集合,這些邏輯元素可以是變量、數 組、記錄、文件、標號、常數等數據結構,也可以使循環、轉移、條件、順序、推理、 賦值等控制機制,甚至還可以是環境、人、其他軟件、硬件等外部因素。 從外部特性講,軟件是一種邏輯的信息產品,是用文字、符號表達的智力產物。1) 軟件是邏輯的而不是物理的產品2) 軟件是由開發或工程化形成的,沒有明顯的制造過程3) 軟件在運行和使用期間,不存在硬件那樣的磨損和老化問題,但存在退化問題,開 發人員必須維護軟件4)
2、 大多數軟件是自定義的,而不是通過已有構建組裝而成的5) 軟件成本相當昂貴6) 軟件本身是復雜的2、什么是軟件工程?軟件工程的誕生是否從根本是那個消除了軟件危機?為什么?1) 軟件工程是一門研究如何使用系統化、規范化、數量化等工程原則和方法去進行軟 件開發和維護的學科。可定義為:軟件工程是一類設計軟件的工程。2) 不能,軟件危機是客觀存在的,它既是軟件本身的特殊性質造成的結果,也是人們 對它認識不足,還缺少有效的理論核技術駕馭或控制它導致的必然結果。軟件危機 不會在短時間內消除,而人類除了解決軟件危機這條路之外別無他途。3、什么是軟件生存周期?各個階段任務是什么?a 軟件生存周期又稱軟件生命周
3、期,是指一個軟件系統從目標提出到最后丟棄的整個過 程。b 各個階段的任務:可行性研究,此階段的任務不是具體解決問題,而是研究問題的范 圍,探索這個問題是否值得解決,是否有可行的就解決方法。需求分析,此階段的任務 主要是確定目標系統必須具備哪些功能。詳細設計階段的任務就是把解法具體化,設計 出程序的詳細規格說明,包括必要的細節,程序員可以根據他們寫出實際的程序代碼。 編碼和單元測試,此階段的任務是程序員根據目標系統的性質和實際環境,選取一種適 當的高級程序設計語言,把詳細設計的結果翻譯成用選定的語言書寫的程序,并且仔細 測試編寫出的每一個模塊。綜合測試,這個階段的任務是通過各種類型的測試,使軟件
4、 達到預定的要求。 維護階段的任務是通過各種必要的維護活動是系統持久地滿足用戶的 需要。4、什么是軟件危機?軟件危機有哪幾種表現?為什么會產生軟件危機?怎樣克服軟件危 機?a軟件危機就是軟件在開發過程中存在的一系列嚴重的問題的總稱。b.表現:一方面由于軟件危機的爆發,引發了軟件行業的一場災難,許多軟件無法正常 運行,甚至失敗,帶來了經濟上、技術上、心理上的損失;另一方面,軟件危機也促使 人們從層次上反思軟件的本質及開發技術、方法上存在的嚴重缺陷,促使計算機領域發 展新技術,尋找解決軟件危機的途徑。c產生軟件危機的原因是多方面的,有觀念上。技術上、環境上及認為方面的因素。技術上原因有:1)軟件設
5、計方法存在致命的缺陷2)軟件邏輯的而不是物理的,一次軟件的質量無法根據各組成部件的質量來衡量。3)軟件的邏輯本性以及其構成的龐大復雜的邏輯體系使開發人員感到束手無策,難以駕馭。4)實現軟件的工具一一程序設計語言本身存在嚴重的缺陷。d.( 1)研制新一代體系結構的智能型計算機,改變軟件實現的方式,以此降低軟件的 復雜性。(2)軟件工程的解決途徑(3)采用面向對象的軟件設計方法,使解決問題的方法 空間同客觀世界的問題空間完全一致,降低或化解軟件設計的復雜性。5、軟件生存周期模型有哪些主要模型?a瀑布模型b原型模型c增量模型d螺旋模型e噴泉模型6、可行性研究的任務是什么?可行性研究是要進行一次壓縮簡
6、化了的系統分析和設計過程,也就是說在較高層次上以較抽象的方式進行設計的過程。7、可行性研究有哪些步驟?(1)確定系統的規模和目標(2)分析現有系統(3)建立新系統的高層邏輯模型(4)設計 和評價新系統的實現方案(5)指定行動方案(6)書寫計劃任務書(7 )提交審查& 可行性研究的目的是什么?通過對被開發系統的可行性研究,能夠實現用最小的代價在盡可能短的時間內確定問題 是否可以解決9、什么是需求分析?該階段的基本任務是什么?需求分析方法包括對軟件的數據域和功能域的系統分析過程及其表示方法,并定義了系統邏輯視圖和物理視圖的表示方法。任務:a確定系統的綜合要求b分析系統的數據要求c建立目標系
7、統的邏輯模型d修正系統開發計劃e建立原型模型f編寫軟件需求規格說明書及評審10、數據流圖與數據字典的作用是什么?畫數據流圖應注意什么?數據流圖是用來描繪軟件系統邏輯模型的圖形工具,用于描繪信息在系統中的流動和處理情況。數據字典:1作為分析階段的工具 2每個數據元素的控制信息對所有程序或模 塊產生影響3開發數據庫的基礎。注意事項:1命名2畫數據流而不是控制流 3 一般不畫物質流 4每個加工至少有一個 輸入數據流和一個輸出數據流,反映出此加工數據的來源與加工的結果。5編號 6父圖與子圖的平衡 7局部數據存儲 8提高數據流圖的易懂性軟件設計三個模型和設計關系?12、13、軟件設計的主要任務和步驟是什
8、么?軟件設計是軟件工程的重要階段,是對程序結構、數據結構和過程細節逐步求精、復審并編制文檔的過程。步驟: 1 總體結構設計。 2 數據設計。 3 過程設計14、模塊獨立性的重要性是什么?模塊的獨立性是軟件系統中每個模塊只涉及軟件要求的具體子功能, 而和軟件系統中其 他模塊的借口是簡單的。 模塊的獨立程度可以由模塊見的耦合和模塊的內聚兩個定型標 準度量。15、什么是模塊的作用范圍?什么是模塊的控制范圍?模塊的作用域是該模塊的內部判斷影響的多有模塊的集合。 模塊的控制域是該模塊本身 以及所有直接或間接從屬于它的模塊的集合。控制域是從結構方面考慮的,而作用域是 從功能方面上來考慮的。16、簡述軟件結
9、構優化準則?1 模塊獨立性準則。 2 改造程序結構,使任一模塊的作用域在其控制域之內。 3 軟件 結構的形態特征準則。 4 改造程序結構,降低界面的復雜性和冗余程度,提高協調性。5模塊功能應可預言,避免對模塊施加過多限制。 6 改造程序結構,追求單入口單出口的 模塊。 7 為滿足設計或可移植性的要求,把某些軟件用包的形式封裝起來。17、結構化程序設計方法的基本要點是什么?結構化程序設計是一種程序設計技術, 它采用自頂向下逐步求精的設計方法和單入口單 出口的控制結構。18、簡述軟件體系結構的扇出、扇入、深度、寬度與軟件復雜性的關系?一個系統的大小和系統的復雜程度在一定程度上可以用深度和寬度表示。
10、 系統越大越復 雜,其深度和寬度顯然也越大。如果模塊的扇出過大,則使它們的上級模塊需要過多地 控制這些從屬模塊而增加復雜性,而且也增加了軟件設計的難度。19、模塊設計一般準則?1 降低模塊的耦合性, 提高模塊的內聚性。 2 保持適中的模塊規模。 3 模塊應具有高扇入 和適當的扇出。 4 軟件結構中的深度和寬度不宜過大。 5 盡量降低模塊借口復雜度。 6 設計單入口單出口的模塊。20、面向對象方法學的定義以及四個要素?面向對象方法學的出發點和基本原則,是盡可能模擬人類習慣的思維方式,使開發軟件 的方法和過程盡可能接近人類認識世界、解決問題的方法和過程,也就是使描述問題的 問題空間與實現解法的解空
11、間在結構上盡可能一致。四個要素: 1 認為客觀世界是由各種對象組成的,任何事物都是對象,復雜的對象可以 由比較簡單的對象以某種方式組合而成的。 2 把所有對象劃分成各種對象類,每個對象 類都定義了一組數據和一組方法。 3 按照子類與父類的關系,把若干個對象類組成一個 層次結構的系統。 4 對象彼此之間僅能通過傳遞消息互相聯系。21、傳統方法和面向對象方法區別和聯系?22、OOA 三個模型和五個層次?對象模型、動態模型、功能模型。 五個層次:類及對象層、屬性層、服務層、結構層、主題層。23、建立面向對象五個活動?分析 7 個?設立類與對象、定義屬性、定義服務、確立結構、識別主題。 分析: 1 針
12、對每個類建立的動態模型,描述了類實例的生命周期或運行周期。 2 狀態轉 換驅使行為發生,這些行為在數據流圖中被映射成處理,他們同時與對象模型中的服務相對應。 3 功能模型中的處理,對應于對象模型中的類與對象所提供的服務。 4 功能模 型中的數據存儲,以及數據的源點 /終點,通常是對象模型中的對象。 5 功能模型中的數 據流,往往是對象模型中的屬性值,也可能是整個對象。 6 功能模型中的處理可能產生 動態模型中的事件。 7 對象模型描述了功能模型中的動作對象、數據存儲以及數據流的 結構。24、怎樣建立對象模型?1 對象的發現與標識,標出來自問題域的相關對象類2 發現對象的方法,在對象識別中最關鍵
13、的是正確地運用抽象原則。 3 定義屬性和服務。 4 定義結構25、面向對象設計中四個部分和五個層次?問題域部分、 人機交互部分、 任務管理部分、 數據管理部分。 對象層、 結構層、 主題層、 屬性層、服務層26、人為因素三層含義: 1 人對感知過程的認識, 包括視覺、 閱讀是的認知心理、 記憶、歸納與演繹推理等。 2 用戶已有的技能和行為方式。 3 用戶所要求完成的整個任務以及 用戶對人機交互部分的特殊要求。1 創建系統功能的外部模型。 2 確定為3 考慮界面設計的典型問題。 4 借助27、人機界面的設計過程可分為下面幾個步驟:完成此系統功能的人和計算機應分別完成的任務。CASE工具構造界面原
14、型。5真正實現設計模型。6 評估界面質量28、程序設計語言分類以及特性?(一)面向機器結構的低級語言(二)面向對象的高級語言& 高級語言從應用角度分1基礎語言 2 結構話語言 3 專用語言 &高級語言從內在特點分 1 系統實現語言 2 靜態高級語言 3 塊結構高級語言 4 動態高級語言特性:(一)心里特性: 1 歧義性 2 簡潔性 3局部性和順序性 4 傳統型(二)工程特性:1可移植性 2開發工具的可利用性 3軟件的可重用性 4 可維護性(三)技術特性29、程序設計語言的準則及風格?準則: 1 項目管理 2 軟件開發的方法 3 軟件開發的環境 4 算法和數據結構的復雜性 5 軟
15、 件開發人員的知識30、冗余編程的目的:冷熱備用31、軟件容錯技術的定義以及一般方法?定義: 1 規定功能的軟件,如果在一定程度上能從錯誤狀態自動恢復到正常狀態,則稱 之為容錯軟件。 2規定功能的軟件, 如果在一定程度上對自身錯誤的作用具有屏蔽能力, 即容錯軟件 3 規定功能的軟件,在因錯誤而發生錯誤時,仍然能在一定程度上完成預期 的功能,則把該軟件稱為容錯軟件。 4 規定功能的軟件,如果在一定程度上具有容錯能 力,則稱之為容錯軟件方法:結構冗余、信息冗余、時間冗余、冗余附加技術32、軟件測試方法一般分為動態測試方法和靜態測試方法兩大類。 動態測試又分為黑盒測試和白盒測試。33、軟件測試的目的及原則?目的: 1 測試是程序的執行過程,目的在于發現錯誤。2 好的測試方案是極可能發現迄今為止尚未發現錯誤的測試方案。 3 成功的測試是發現了至今為止尚未發現的錯誤的測試。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畜牧飼料企業服務體系建設與優化考核試卷
- 磷肥產品標準與檢測方法考考核試卷
- 紡織原料的綠色采購與可持續利用考核試卷
- 干部休養所服務質量管理考核試卷
- 天津現代職業技術學院《鋼琴基礎(1)》2023-2024學年第一學期期末試卷
- 上海農林職業技術學院《粵劇藝術賞析》2023-2024學年第二學期期末試卷
- 酒泉職業技術學院《馬克思主義與社會方法論》2023-2024學年第二學期期末試卷
- 南充科技職業學院《西班牙語精讀五》2023-2024學年第一學期期末試卷
- 山西老區職業技術學院《生物醫學傳感檢測系統設計》2023-2024學年第二學期期末試卷
- 新野縣2025年數學三下期末質量檢測試題含解析
- 2025年審計審查重點試題及答案
- 2025年證券從業資格證考試真題試題及答案
- 防水工程施工方案屋面防水施工的施工工藝
- 國家民政部所屬單位招聘筆試真題2024
- 2025年濟源職業技術學院高職單招語文2019-2024歷年真題考點試卷含答案解析
- 2025年中石油政工師理論考試題庫(含答案)
- 2025年二建-水利-簡答200問
- 專題03 古今中外科技成就(測試)(解析版)
- 安全專項施工方案內容
- 2025天津市安全員《B證》考試題庫及答案
- 設計服務費用合同(2025年版)
評論
0/150
提交評論