软件工程详细设计说明书_软件工程导论知识点梳理之简答题
1. 軟件危機的表現形式
- 對軟件開發成本和進度估計不準確
- 已完成的軟件不符合用戶需求
- 軟件產品質量差,可靠性得不到保證
- 軟件產品可維護性差
- 軟件成本在計算機總成本中的比例逐漸變大
- 軟件開發生產率提高速度比不上計算機應用速度
2. 產生軟件危機的原因
- (1)軟件是計算機系統的邏輯部件
- (2)軟件開發的管理困難
- (3)軟件開發費用不斷增加
- (4)軟件開發技術落后
- (5)生產方式落后
- (6)開發工具落后
3. 軟件生命周期分為哪三個時期?每一時期所完成的基本任務是什么?
答:軟件定義、軟件開發、運行維護
定義時期的任務:問題定義、可行性研究、需求分析
開發時期的任務:軟件設計(總體設計、詳細設計);編碼與單元測試;綜合測試
維護時期的任務:維護,使軟件持久地滿足用戶的需要。
4. 模型以及特點
瀑布模型(生存周期模型):最經典,需求基本不變,線性的順序階段模型
快速原型模型:快速獲取用戶需求
增量模型:靈活,允許軟件變化
螺旋模型:在原型模型和增量模型基礎上增加風險分析,用于企業開發
面向對象:噴泉模型:以生存周期為主線,具有迭代性和無間隙性
基于構件的模型:提高軟件重用性和可靠性
統一過程模型(RUP):基于UML的面向對象過程模型
基于形式化的開發模型:確保嚴格、無錯
5. 軟件模塊設計準則:
- (1)降低耦合,提高內聚
- (2)模塊深度、寬度、扇出扇入應適當
- (3)模塊作用范圍在控制范圍內
- (4)接口設計要簡單
- (5)設計功能可能預測并能得到驗證的模塊
- (6)劃分模塊規模,保持獨立性。
6. 詳細設計的目的和任務
目的:為軟件結構圖中每一個模塊確定采用的算法和塊內數據結構,用某種選定的詳細設計工具更清晰的描述,從而在編碼階段可以把這些描述直接翻譯成某種程序設計語言書寫的源程序。任務:設計出程序的藍圖,以后程序員根據這個藍圖寫出實際的代碼。
7. 什么是結構化程序設計?結構化程序設計采用幾種控制結構?
答:結構程序設計:是一種設計程序的技術,它采用自頂向下逐步求精的設計方法和單入口單出口的控制結構。順序,選擇,循環。
8. 程序設計語言的特點?
1、名字說明 2、類型說明 3、初始化 4、程序對象的局部性5、程序模塊 6、循環控制結構 7、分支控制結構 8、異常處理9、獨立編譯
9.軟件測試的基本任務是什么?測試與調試的區別是什么?
答:任務是在軟件投入生產性運行之前,盡可能多地發現軟件中的錯誤。
與測試的區別:測試是為了發現軟件中的錯誤,而調試是診斷并改正錯誤。
10.可行性研究的步驟?
(1)復查系統規模和目標。(2)研究目前正在使用的系統。(3)導出新系統的高層邏輯模型。(4)重新定義問題。(5)導出和評價供選擇的解法。(6)推薦行動方針。(7)草擬開發計劃。(8)書寫文檔提交審查
11. 從哪些方面驗證軟件需求的正確性?
(1)一致性,即所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。
(2)完整性,需求必須是完整的,規格說明書應該包括用戶需要的每一個功能或性能。
(3)現實性,指定的需求應該是用現有的硬件技術和軟件技術基本上可以實現的。
(4)有效性,必須證明需求是正確有效的,確實能解決用戶面對的問題。
12. 對象的特點?
(1)以數據為中心。
(2)對象是主動的。
(3)實現了數據封裝。
(4)本質上具有并行性。
(5)模塊獨立性好。
13. 用面向對象方法開發軟件時,通常需要建立哪三種形式的模型?
(1)描述系統數據結構的對象模型。
(2)描述系統控制結構的動態模型。
(3)描述系統功能的功能模型。
14. 什么是模塊的作用域?什么是模塊的控制域?
模塊的作用域定義為受該模塊內一個判定影響的所有模塊的集合。模塊的控制域是這個模塊本身以及所有直接或間接從屬于它的模塊的集合。
15.簡述兩種不同集成測試策略的比較?
答:自頂向下測試方法主要優點是不需要測試驅動程序,能夠在測試階段的早期實現并驗證系統的主要功能,而且能在早期發現上層模塊的接口錯誤。自頂向下測試方法的主要缺點是需要存根程序,可能遇到與此相聯系的測試困難,低層關鍵模塊中的錯誤發現較晚,而且用這種方法在早期不能充分展開人力。自底向上測試言法的優缺點與自頂向下測試方法的優缺點剛好相反。
16. 什么是類?類與對象間是什么關系?
答:類是對具有相同數據和相同操作的一組相似對象的定義。類是對具有相同屬性和行為的一個或多個對象的描述,而對象是某個特定類所描述的一個具體對象。
17. 面向對象方法特征有哪些?
(1)客觀世界是由各種對象組成的。(2)所有對象都劃分成各種對象類,每個對象類都定義了一組數據和一組方法。
(3)按照子類與父類的關系,把若干個對象類組成一個層次結構的系統。
(4)對象彼此之間僅能通過傳遞消息互相聯系。
18. 可行性研究的目的?應該從哪些方面研究目標系統的可行性?
答:用最小的代價在盡可能短的時間內確定問題是否能夠解決。
(1)技術可行性(2)經濟可行性(3)操作可行性(4)法律可行性
19. 什么是軟件工程?構成軟件工程的要素是什么?
軟件工程:是指導計算機軟件開發和維護的工程學科。采用工程的概念、原理、技術和方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。
要素是:方法、工具、過程。
20.對象有哪幾種定義?
(1)對象是具有相同狀態的一組操作的集合。
(2)對象是對屬性值和操作的封裝。
(3)對象:=<ID,MS,DS,MI>
- ID:是對象的標識或名字
- MS是對象中的操作集合
- DS:是對象的數據結構
- MI :是對象受理的消息名集合
21. 類—&—對象間的關系可以概括為哪三種?
- 歸納關系:它反映了一個類與若干個互不相容的子類之間的分類關系。
- 組合關系:它反映了對象之間的構成關系。
- 關聯關系:反映對象之間相互依賴、相互作用的關系。
22. 簡述漸增模型的特點?
答:(1)在整個開發過程中需求都可能有變化。(2)對應用領域不熟悉。(3)高風險項目(4)用戶完全參與到整個開發過程中。(5)使用面向對象語言或第四代語言。
23. 總體設計的過程如何?
答:(1)設想供選擇的方案。(2)選取合理的方案。(3)推薦最佳方案。(4)功能分解。(5)設計軟件結構。(6)數據庫設計。(7)制定測試計劃(8)書寫文檔(9)審查和復審
24. 面向對象方法的主要優點有哪些?
(1)與人類習慣的思維方法一致。(2)穩定性好。(3)可重用性好。(4)可維護性好。
25. 什么是白盒測試?白盒測試主要采用的技術有哪些?
白盒測試是測試者了解被測程序的內部結構和處理過程,對程序的所有邏輯路徑進行測試,在不同點檢查程序狀態,確定實際狀態與預期狀態是否一致。
白盒測試主要采用的技術有:路徑測試技術和事務處理流程技術,對包含有大量邏輯判斷或條件組合的程序采用基于邏輯的測試技術。
26. 什么是黑盒測試?黑盒測試主要采用的技術有哪些?
黑盒測試也稱為功能測試,它著眼于程序的外部特征,而不考慮程序的內部邏輯結構。測試者把被測程序看成一個黑盒,不用關心程序的內部結構。黑盒測試是在程序接口處進行測試,它只檢查程序功能是否能按照規格說明書的規定正常使用,程序是否能適當地接收輸入數據產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。
黑盒測試主要采用的技術有:等價分類法、邊界值分析法、錯誤推測法和因果圖等技術。
27. 路徑測試技術中幾種主要覆蓋的含義?舉例說明?
語句覆蓋:至少執行程序中所有語句一次。
判定覆蓋:使被測程序中的每一個分支至少執行一次。故也稱為分支覆蓋。
條件覆蓋:執行所有可能的穿過程序的控制路流程。
條件組合測試:設計足夠的測試用例,使每個判定中的所有可能條件取值組合至少執行一次。
總結
以上是生活随笔為你收集整理的软件工程详细设计说明书_软件工程导论知识点梳理之简答题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: yii2 提供接口给java_yii2写
- 下一篇: html动态跟随鼠标效果,使用JS实现气