成都信息工程大学 809 软件工程导论简答题必背
成都信息工程大學 809 軟件工程導論簡答題必背
軟件工程的七條基本原理是什么?
軟件工程的七條基本原理是:
(1)用分階段的是的生存周期計劃嚴格管理;
(2)堅持進行階段評審;
(3)嚴格實施的產品控制;
(4)采用現代程序技術;
(5)結果應能清楚地審查;
(6)開發小組的成員應該少而精;
(7)承認不斷改進軟件工程的必要性。
分析軟件危機產生的主要有哪些原因?
(1)軟件日益復雜和龐大
(2)軟件開發管理困難和復雜
(3)軟件開發技術落后
(4)生產方式落后
(5)開發工具落后
(6)軟件開發費用不斷增加
什么是軟件過程?它與軟件工程方法學有何關系?
(1)軟件過程是為了獲得高質量軟件所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。
(2) 軟件過程是軟件工程方法學的3個重要組成部分之一。
(3) 軟件工程方法學包含三個要素:方法、工具和過程。
簡述文檔在軟件工程中的作用「2022成信大809真題」
(1) 提高軟件開發過程的能見度
(2) 提高開發效率
(3) 作為開發人員階段工作成果和結束標志
(4) 記錄開發過程的有關信息便于使用與維護;
(5) 提供軟件運行、維護和培訓有關資料;
(6) 便于用戶了解軟件功能、性能。
說明結構化程序設計的主要思想是什么?
(1)自頂向下、逐步求精的程序設計方法
(2)使用3種基本控制結構、單入口、單出口來構造程序。
什么是軟件危機?
軟件危機:
軟件危機是指在計算機軟件開發、使用與維護過程中遇到的一系列嚴重問題和難題。它包括兩方面:如何開發軟件,已滿足對軟件日益增長的需求;如何維護數量不斷增長的已有軟件。
軟件危機的典型表現?
軟件危機的典型表現:
(1) 對軟件開發成本和進度的估計常常很不準確。
(2) 用戶對已完成的軟件不滿意的現象時有發生。
(3) 軟件產品的質量往往是靠不住的。
(4) 軟件常常是不可維護的。
(5) 軟件通常沒有適當的文檔資料。
(6) 軟件成本、軟件維護費在計算機系統總成本中所占比例逐年上升。
(7) 開發生產率提高的速度遠跟不上計算機應用普及的需求。
為什么會出現軟件危機?
軟件危機出現的原因:
(1) 來自軟件自身的特點:是邏輯部件,缺乏可見性;規模龐大、復雜,修改、維護困難。
(2) 軟件開發與維護的方法不當:忽視需求分析;認為軟件開發等于程序編寫;輕視軟件維護。
(3) 供求矛盾將是一個永恒的主題:面對日益增長的軟件需求,人們顯得力不從心。
什么是軟件工程?
1993年IEEE的定義:軟件工程是:
① 把系統的、規范的、可度量的途徑應用于軟件開發、運行和維護過程,也就是把工程應用于軟件;
② 研究①中提到的途徑。
【補充:軟件工程的定義】
軟件工程是指導計算機軟件開發和維護的一門工程學科。采用工程的概念、原理、技術和方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,以經濟地開發出高質量的軟件并有效地維護它。
軟件工程的本質特征?
軟件工程的本質特征:
(1) 軟件工程關注于大型程序的構造 ;
(2) 軟件工程的中心課題是控制復雜性;
(3) 軟件是經常變化的,開發過程中必須考慮軟件將來可能的變化;
(4) 開發軟件的效率非常重要,因此,軟件工程的一個重要課題就是,尋求開發與維護軟件的更好更有效的方法和工具;
(5) 和諧地合作是開發軟件的關鍵;
(6) 軟件必須有效地支持它的用戶;
(7) 在軟件工程領域中是由具有一種文化背景的人替具有另一種文化背景的人創造產品。
怎樣用軟件工程消除軟件危機?
消除軟件危機的途徑:
(1) 對計算機軟件有一個正確的認識(軟件≠程序)
(2) 必須充分認識到軟件開發不是某種個體勞動的神秘技巧,而應該是一種組織良好、管理嚴密、各類人員協同配合、共同完成的工程項目
(3) 推廣使用在實踐中總結出來的開發軟件的成功技術和方法
(4) 開發和使用更好的軟件工具
什么是軟件生命周期模型?
軟件生命周期模型是跨越整個生存期的系統開發、運作和維護所實施的全部過程、活動和任務的結構框架。
為什么要進行可行性研究?
對于軟件開發問題,并非都有簡單、明顯的解決辦法,許多問題不可能在預定的系統規?;驎r間期限之內解決。如果該問題沒有可行的解,那么花費在這項工程上的任何時間、人力、軟硬件資源和經費都是無謂的浪費??尚行匝芯康哪康?#xff0c;就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。
數據字典包括哪些內容?「2022成信大809真題」
數據字典是描述數據流圖中數據的信息的集合。它對數據流圖上每一個成分:數據項、文件(數據結構)、數據流、數據存儲、加工和外部項等給以定義和說明;它主要由數據流描述、加工描述和文件描述三部分組成。
結構化的需求分析描述工具有哪些?「2022成信大809真題」
有數據流圖(DFD)、數據字典(DD)、判定表、判定樹、結構化語言(PDL)、層次方框圖、Warnier 圖、IPO圖、控制流圖(CFD)、控制說明(CSPEC)、狀態轉換圖(STD)和實體—關系圖(E—R)等。
為什么要進行需求分析、通常對軟件系統有哪些要求
(1)需求分析的原因
為了開發真正滿足用戶需求的軟件產品,需求分析是軟件開發工作獲得成功的前提條件,不能滿足用戶需求的程序只會令用戶失望,給開發者帶來煩惱。
(2)對軟件系統的需求
功能需求、性能需求、可靠性和可用性需求、出錯處理、借口需求、約束、逆向需求、將來可能提出的要求。
什么是模塊獨立性?用什么度量?
模塊獨立性概括了把軟件劃分為模塊時要遵守的準則,也是判斷模塊構造是不是合理的標準。獨立性可以從兩個方面來度量:即模塊本身的內聚和模塊之間的耦合。
為什么軟件開發過程需要軟件設計階段?
因為如果不進行設計直接編碼,對無法對各種實現方案進行權衡,極有可能會導致軟件項目的失敗。
良好的編碼風格應具備哪些條件?「2022成信大809真題」
應具備以下條件:
(1)使用標準的控制結構;
(2)有限制地使用GOTO語句;
(3)源程序的文檔化 (應具備以下內容)
①有意義的變量名稱 —— “匈牙利命名規則 ”。
②適當的注釋 ——“注釋規范”。
③標準的書寫格式:
——用分層縮進的寫法顯示嵌套結構的層次(鋸齒形風格);
——在注釋段的周圍加上邊框;
——在注釋段與程序段、以及不同程序段之間插入空行;
——每行只寫一條語句;
——書寫表達式時,適當使用空格或圓括號等作隔離符。
軟件測試的基本任務是什么?測試與糾錯有什么區別?
軟件測試的基本任務是通過在計算機上執行程序,暴露程序中潛在的錯誤。
測試和糾錯目的和任務都不相同,測試是為了發現程序的錯誤,糾錯是為了定位和糾正錯誤,從而消除軟件故障,保證程序的可靠運行。
軟件測試包括哪些步驟?同時說明這些步驟的測試目的是什么?
(1)單元測試,目的是代碼達到模塊說明書的要求
(2)集成測試,目的是將經過單元測試的模塊逐步組裝成具有良好一致性的完整的程序
(3)確認測試,目的是確認程序系統是否滿足軟件需求規格說明書的要求
(4)系統測試,目的是檢查能否與系統的其余部分協調運行,并且完成 SRS 對他的要求。
說明軟件測試和調試的目的有何區別?
測試的目的是判斷和發現軟件是否有錯誤,調試的目的是定位軟件錯誤并糾錯。
簡述類和對象的定義及相互關系
類:是一系列對象的抽象描述,這些對象共享相同屬性、操作、關系和語義。
對象:是一個實體、一件事、一個名詞,可以獲得的某種東西,可以想象有自己標識的任何事物,可以是物理存在、概念中或軟件中的實體。
相互關系:
每一個類在某一時刻都有零個或更多的實體,每一個對象都是某一個類的實例。
類是靜態的;類的存在、語義和關系在執行前就已經定義。對象是動態的;它們在程序執行時可以被創建和刪除
UML統一建模語言有哪幾種圖形?
用例圖、類圖、對象圖、構件(組件)圖、部署(配置)圖、狀態圖、活動圖、順序(時序)圖、合作(協作)圖等九種圖。
簡述面向對象方法學的四個基本特征(要點)?
抽象:就是過濾掉對象與當前開發工作無關部分特性,只剩下所需要的屬性和操作。
繼承:是指一個對象直接從一個類中得到的屬性和方法。
多態:不同的類有時具有相同名稱的操作。
封裝:實質是當一個對象執行自己的操作時,它對外界隱藏了操作的細節。
簡述狀態圖和活動圖的區別?
(1)活動圖用來建模某個過程的活動序列,以活動為中心。
(2)狀態圖用來建模對象生命期中的所有階段,以狀態為中心。
(3)活動圖中一個活動結束后將立即進入下一個活動,在狀態圖中狀態的轉移可能需事件的觸發。
軟件的維護一般分為哪幾類?
完善性維護:滿足用戶在使用過程中提出增加新的功能或修改已有功能,以滿足用戶日益增長的需要而進行的工作;
適應性維護:是軟件適應新的運行環境而進行的工作;
糾錯性維護:糾正開發期間未發現的遺留錯誤,即在程序使用期間發現的程序錯誤進行診斷和改正的過程;
預防性維護:為了改善未來的可維護性或可靠性而修改軟件的工作。
決定軟件可維護性的因素?
(1) 軟件的可理解性、可測試性、可修改性;
(2) 文檔描述符合要求、用戶文檔簡潔明確、系統文檔完整并且標準。
總結
以上是生活随笔為你收集整理的成都信息工程大学 809 软件工程导论简答题必背的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图论及其应用(吴望明中文版)
- 下一篇: 《图论及其应用》学习笔记(树)