1. 什么是軟件工程于置?它目標和內容是什么茧吊?
軟件工程就是用科學的知識和技術原理來定義,開發(fā)八毯,維護軟件的一門學科搓侄。
軟件工程目標:付出較低開發(fā)成本;達到要求的功能话速;取得較好的性能讶踪;開發(fā)的軟件易于移植;只需較低的維護費用泊交;能按時完成開發(fā)任務乳讥,及時交付使用;開發(fā)的軟件可靠性高廓俭。 軟件工程內容:包括開發(fā)技術和開發(fā)管理兩個方面宝泵。
2. 軟件開發(fā)中有哪幾種過程模型森渐?哪些適用于面向對象的軟件開發(fā)?
軟件開發(fā)中常見的軟件過程模型有瀑布模型、原型模型秉版、螺旋模型拦赠、噴泉模型敬惦、統一軟件過程等神凑。 其中噴泉模型、統一軟件過程適用于面向對象的軟件開發(fā)竿报。
3.好的編程風格應遵循哪些規(guī)則
節(jié)簡化 模塊化 簡單化 文檔化**
4. 簡述軟件概要設計的基本任務
設計軟件系統結構 進行數據結構及數據庫的設計 編寫概要設計的文檔 評審**
5. 一個PDL的原型铅乡,它可以建立在任意一個通用的結構化程序設計語言之上。其基本成分包括:子程序定義和其它那些內容烈菌?
界面描述 數據說明 塊結構 分支結構 循環(huán)結構
6. 衡量模塊獨立性的兩個標準是什么阵幸?各表示什么含義?
內聚和耦合芽世。 內聚:又稱為塊內聯系侨嘀,指模塊內部各成分之間相互關聯的程
度,以高內聚為設計目標捂襟。
耦合:也稱塊間聯系咬腕,模塊之間相互聯系程度的度量,聯系越緊密葬荷,耦合性越強涨共,獨
立性越差纽帖,以低耦合為設計目標。
7. 簡述需求分析階段的基本任務举反。
⑴問題識別 ⑵分析與綜合懊直,導出軟件的邏輯模型 ⑶編寫文檔
8. 單元測試有哪些內容?
(1)模塊接口
(2)局部數據結構
(3)重要的執(zhí)行路徑
(4)錯誤處理測試
(5)邊界條件
9. 軟件測試中按照錯誤的性質和范圍進行分類可分為:“功能錯誤”及其它哪些錯誤?
- 系統錯誤 2) 算法錯誤 3) 數據錯誤 4) 代碼錯誤
10. 請簡述黑盒測試和白盒測試有何區(qū)別火鼻,黑盒測試有哪些常用方法室囊?
黑盒測試和白盒測試的區(qū)別:前者基于功能,后者基于結構魁索;
黑盒測試常用方法有:邊界值融撞、等價類、因果圖粗蔚、錯誤推測法等尝偎。
11. CMM全稱是什么?分為哪幾個級別?
. CMM全稱是軟件能力成熟度模型鹏控; 從無序到有序的進化分成5個級別致扯,分別為: 初始級 ,可重復級 ,已定義級 ,已管理 ,優(yōu)化管理級
12. 軟件生命周期劃分為哪幾個階段当辐?
軟件生命周期分為三個時期八個階段:軟件定義:問題定義抖僵、可行性研究;
軟件開發(fā):需求分析缘揪、概要設計裆针、詳細設計、編碼寺晌、測試;
軟件運行:軟件維護
13. 簡述軟件工程面臨的問題澡刹。
面臨的主要問題:①軟件費用 ②軟件可靠性 ③軟件維護 ④軟件生產率 ⑤軟件重用
14. 簡述容錯技術的四種主要手段呻征,并解釋。
(1)結構冗余:包括靜態(tài)冗余罢浇、動態(tài)冗余和混合冗余陆赋。
(2)信息冗余:為檢測或糾正信息在運算或傳輸中的錯誤,須外加一部分信息嚷闭。
(3)時間冗余:指重復執(zhí)行指令或程序來消除瞬時錯誤帶來的影響攒岛。
(4)冗余附加技術:指為實現上述冗余技術所需的資源和技術。
15. 以G.J.Myers的觀點胞锰,簡述對軟件測試的目的灾锯。
(1)為了發(fā)現錯誤而執(zhí)行程序的過程;
(2)一個好的用例能夠發(fā)現至今尚未發(fā)現的錯誤的測試嗅榕。
(3)一個成功的測試是發(fā)現至今尚未發(fā)現的錯誤的測試顺饮。
16. 就程序設計語言的工程特性而言吵聪,對程序編碼有哪些要求?
就程序設計語言的工程特性而言兼雄,對程序編碼有如下要求:可移植性 吟逝、開發(fā)工具的可利用性 、軟件的可重用性 赦肋、可維護性
17. 模塊的內聚性包括哪些類型块攒?
模塊的內聚性包括:偶然內聚 、邏輯內聚 佃乘、時間內聚 囱井、通信內聚 、順序內聚 恕稠、功能內聚 琅绅。
18. 簡述結構化程序設計方法的基本要點。
. (1)采用自頂向下鹅巍,逐步求精的程序設計方法千扶; (2)使用三種基本控制結構構造
程序,分別是順序骆捧,選擇和循環(huán) 澎羞; (3)采用主程序員組的組織形式。
19. 簡述文檔在軟件工程中的作用敛苇。
1)提高軟件開發(fā)過程的能見度 (2)提高開發(fā)效率 (3)作為開發(fā)人員階段工作成果和結束標志 (4)記錄開發(fā)過程的有關信息便于使用與維護妆绞; (5)提供軟件運行、維護和培訓有關資料枫攀; (6)便于用戶了解軟件功能括饶、性能。
20. 簡述提高可維護性的方法来涨。
. (1)建立明確的軟件質量目標 (2)利用先進的軟件開發(fā)技術和工具 (3)建
立明確的質量保證工作 (4)選擇可維護的程序設計語言 (5)改進程序文檔
21. 軟件工程面臨的主要問題有哪些图焰?
. 軟件費用 、軟件可靠性 蹦掐、軟件可維護 技羔、軟件生產率 、軟件重
用 卧抗。
22. 軟件配置管理的作用及其主要目標是什么藤滥?
軟件配置管理用于整個軟件工程過程。 其目的是協調整個軟件的開發(fā)社裆,使得混亂減少到最小程度拙绊,使得變更所產生的錯誤達到最小并最有效地提高生產率。 它的主要目標是:標識變更、控制變更时呀、確保變更的正確實現张漂、報告有關變更。
23. 簡述結構化分析步驟谨娜。
(1)了解當前系統的工作流程航攒,獲得當前系統的物理模型; (2)抽象出當前系統的邏輯模型趴梢; (3)建立目標系統的邏輯模型漠畜; (4)作進一步補充和優(yōu)化。
24. 軟件工程的原則有抽象坞靶、信息隱藏憔狞、模塊化和其他那些內容?
(1)局部化彰阴;(2)一致性瘾敢; (3)完全性; (4)可驗證性
25. 常用的軟件項目的估算方法主要有哪4種尿这?
1)自頂向下的估算方法 2)自底向上的估算方法 3)差別估算法 4)根據經驗估算公式
26.軟件生存周期包括哪幾個活動簇抵?
. 軟件生存周期包括:可行性分析和項目開發(fā)計劃 ,需求分析 射众,概要設計
碟摆,詳細設計 ,編碼 叨橱,測試典蜕,維護 。
27. 人機界面設計過程可分為創(chuàng)建系統功能的外部模型罗洗;確定為完成此系統功能人和計算機應分別完成的任務及另外哪4個步驟愉舔?
1)考慮界面設計中的典型問題 2)借助CASE工具構造界面原型
3)實現設計模型 4)評估界面質量
28. 軟件測試過程一般可劃分為哪幾個主要階段?
單元測試 集成測試 驗收測試 系統測試
29. 原型法模型一般適應哪些場合伙菜?
它適合于那些不能預先確切定義需求的軟件系統的開發(fā) 轩缤,更適合于那些項目組
成員(包括分析員、設計員仇让、程序員和用戶)不能很好交流或通信有困難的情況
30. 需求分析的任務是什么?
需求分析的任務是確定待開發(fā)的軟件系統“做什么”躺翻。 具體任務包括確定軟件系
統的功能需求丧叽、性能需求和運行環(huán)境約束,編制軟件需求規(guī)格說明書公你、軟件系統的驗
收測試準則和初步的用戶手冊踊淳。
31. 簡述軟件項目的成本管理。
. 是估算軟件項目的成本 ,作為立項和簽合同的依據之一 迂尝,并在軟件開發(fā)
過程中按計劃管理經費的使用
32. 快速原型技術的基本思想是什么脱茉?
在軟件開發(fā)的早期,快速開發(fā)一個目標軟件系統的原型 垄开,讓用戶對其進行評價
并提出修改意見 琴许,然后開發(fā)人員根據用戶的意見對原型進行改進
33. 程序設計語言的有哪些特點?
. 1)一致性 2)二義性 3)緊致性 4)局部性
34. 面向對象建模的三種模型及作用溉躲。
(1)對象模型:描述系統數據結構
(2)動態(tài)模型:描述系統控制結構
(3)功能模型:描述系統功能
35. 軟件設計的基本原理包括哪些內容榜田?
36. 總體設計過程除了設想供選擇的方案,選取合理的方案锻梳,推薦最佳方案還包括那些內容箭券?
37. 耦合性和內聚性有幾種類型? 其耦合度、內聚強度的順序如何疑枯?
38.軟件需求分析的有哪三個基本原則辩块?
39. 簡述可行性研究的主要目的是什么?
40. 試說明傳統"瀑布模型"的主要缺陷及造成缺陷的原因荆永。6. 衡量模塊獨立性的兩個標準是什么废亭?各表示什么含義?
7. 簡述需求分析階段的基本任務屁魏。
8. 單元測試有哪些內容?
9. 軟件測試中按照錯誤的性質和范圍進行分類可分為:“功能錯誤”及其它哪些錯誤滔以?
10. 請簡述黑盒測試和白盒測試有何區(qū)別,黑盒測試有哪些常用方法氓拼?
11. CMM全稱是什么?分為哪幾個級別你画?
12. 軟件生命周期劃分為哪幾個階段?
13. 簡述軟件工程面臨的問題桃漾。
14. 簡述容錯技術的四種主要手段坏匪,并解釋。
15. 以G.J.Myers的觀點撬统,簡述對軟件測試的目的适滓。
16. 就程序設計語言的工程特性而言,對程序編碼有哪些要求恋追?
17. 模塊的內聚性包括哪些類型凭迹?
18. 簡述結構化程序設計方法的基本要點。
19. 簡述文檔在軟件工程中的作用苦囱。
20. 簡述提高可維護性的方法嗅绸。
21. 軟件工程面臨的主要問題有哪些?
22. 軟件配置管理的作用及其主要目標是什么撕彤?
23. 簡述結構化分析步驟鱼鸠。
24. 軟件工程的原則有抽象、信息隱藏、模塊化和其他那些內容蚀狰?
25. 常用的軟件項目的估算方法主要有哪4種愉昆?
26.軟件生存周期包括哪幾個活動?
27. 人機界面設計過程可分為創(chuàng)建系統功能的外部模型麻蹋;確定為完成此系統功能人和計算機應分別完成的任務及另外哪4個步驟跛溉?
28. 軟件測試過程一般可劃分為哪幾個主要階段?
29. 原型法模型一般適應哪些場合哥蔚?
30. 需求分析的任務是什么倒谷?
31. 簡述軟件項目的成本管理。
32. 快速原型技術的基本思想是什么糙箍?
33. 程序設計語言的有哪些特點渤愁?
34. 面向對象建模的三種模型及作用。
35. 軟件設計的基本原理包括哪些內容深夯?
36. 總體設計過程除了設想供選擇的方案抖格,選取合理的方案,推薦最佳方案還包括那些內容咕晋?
37. 耦合性和內聚性有幾種類型? 其耦合度雹拄、內聚強度的順序如何?
38.軟件需求分析的有哪三個基本原則掌呜?
39. 簡述可行性研究的主要目的是什么滓玖?
40. 試說明傳統"瀑布模型"的主要缺陷及造成缺陷的原因。