《軟件工程》思考題_第1頁
《軟件工程》思考題_第2頁
《軟件工程》思考題_第3頁
《軟件工程》思考題_第4頁
《軟件工程》思考題_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件工程期末思考題江超群2016/12/171. 什么是軟件?軟件的特點(diǎn)有哪些?國(guó)標(biāo)中對(duì)軟件的定義為:與計(jì)算機(jī)系統(tǒng)操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)??梢哉J(rèn)為:軟件=程序+數(shù)據(jù)+文檔特點(diǎn):軟件是復(fù)雜的;軟件是一個(gè)邏輯產(chǎn)品而不是物理產(chǎn)品;軟件是開發(fā)的,而不是制造的;軟件具有柔性;軟件不會(huì)“磨損”;至今還未完全擺脫手工開發(fā)模式,大部分產(chǎn)品是定制的;軟件成本相當(dāng)昂貴。2. 什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?軟件危機(jī)是指落后的軟件生產(chǎn)方式無法滿足迅速增長(zhǎng)的計(jì)算機(jī)軟件需求,從而導(dǎo)致軟件開發(fā)與維護(hù)過程中出現(xiàn)一系列嚴(yán)重問題的現(xiàn)象。表現(xiàn):如那件開發(fā)進(jìn)度難以預(yù)測(cè);軟件開發(fā)成本難以

2、控制;用戶對(duì)產(chǎn)品功能難以滿足;軟件產(chǎn)品質(zhì)量無法保證;軟件產(chǎn)品難以維護(hù);軟件缺少適當(dāng)?shù)奈臋n資料。3. 軟件危機(jī)產(chǎn)生的原因是什么?軟件本身:1) 軟件本身是邏輯部件,缺乏可見性,開發(fā)過程的進(jìn)展情況和質(zhì)量難以預(yù)測(cè)、難以衡量。2) 不會(huì)用壞,維護(hù)意味著修改原設(shè)計(jì)。3) 規(guī)模龐大,多人合作,難以統(tǒng)一成高質(zhì)量的整體。開發(fā)、維護(hù)方法不當(dāng):對(duì)用戶的需求沒有準(zhǔn)確的認(rèn)識(shí),倉(cāng)促上陣,急于求成。4. 什么是軟件工程?軟件工程的基本內(nèi)容有哪兩個(gè)方面?將工程的原理應(yīng)用于軟件設(shè)計(jì)、開發(fā)以獲得有效的和經(jīng)濟(jì)的軟件、軟件開發(fā)過程和軟件系統(tǒng)。IEEE定義:(1)將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)的過程;(2

3、)上述方法的研究。基本內(nèi)容有技術(shù)和管理兩方面。5. 軟件工程三個(gè)要素是什么?軟件工程作為一種層次化的技術(shù),有方法、工具和過程三大要素,并由于其涉及學(xué)科內(nèi)容的極為廣泛,而分為三個(gè)分支:軟件開發(fā)技術(shù)、軟件項(xiàng)目管理技術(shù)、軟件質(zhì)量管理技術(shù)。6. 你知道的軟件工程過程模型有哪些?瀑布模型、增量模型、演化模型、噴泉模型、基于構(gòu)件的開發(fā)模型、形式化方法模型。7. 什么是軟件生命周期?它有哪幾個(gè)階段?軟件生存周期:一個(gè)軟件從提出開發(fā)要求開始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。包括:可行性分析和項(xiàng)目開發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試,維護(hù) 8. 從哪幾方面進(jìn)行可行性研究?市場(chǎng)可行性、政策可行性技術(shù)可行

4、性 一般要考慮的情況包括 開發(fā)的風(fēng)險(xiǎn)即設(shè)計(jì)出的系統(tǒng)能否達(dá)到要求的功能和性能;資源的有效性;相關(guān)技術(shù)的發(fā)展是否支持;經(jīng)濟(jì)可行性 進(jìn)行開發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開發(fā)的項(xiàng)目是否值得投資。社會(huì)可行性 要開發(fā)的項(xiàng)目是否存在任何侵權(quán)問題,運(yùn)行方式在用戶組織內(nèi)是否可行,現(xiàn)有管理制度人員素質(zhì)操作方式是否可行。9. 軟件需求分析從哪幾方面進(jìn)行?可以分為:功能需求、性能需求、可靠姓需求和可用性需求、出錯(cuò)處理需求、接口需求等多個(gè)方面。10. 進(jìn)行需求分析的步驟什么?1) 確定系統(tǒng)的綜合需求;2) 分析系統(tǒng)的數(shù)據(jù)需求;3) 導(dǎo)出邏輯模型;4) 修正系統(tǒng)開發(fā)計(jì)劃。11. 用什么圖可以描述系統(tǒng)的業(yè)務(wù)?業(yè)

5、務(wù)流程圖或UML活動(dòng)圖組織結(jié)構(gòu)圖12. 用什么圖可以描述系統(tǒng)的功能?數(shù)據(jù)流圖或UML用況圖13. 什么是數(shù)據(jù)流圖?它包括幾種基本符號(hào)?其作用是什么?是描述數(shù)據(jù)處理的工具。從數(shù)據(jù)傳輸和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程,是一種功能模型。圖 1 數(shù)據(jù)流圖基本符號(hào)14. 畫出你所做項(xiàng)目的0層(或1層)數(shù)據(jù)流圖15. 說出畫數(shù)據(jù)流圖的原則,至少5條1) 數(shù)據(jù)流圖上所有符號(hào)只限于四種基本圖形元素2) 主圖必須包括四種基本元素,缺一不可3) 主圖上的數(shù)據(jù)必須封閉在外部實(shí)體之間,外部實(shí)體可以不止一個(gè)4) 每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流5) 每個(gè)數(shù)據(jù)流都應(yīng)有與相聯(lián)系的加

6、工6) 數(shù)據(jù)文件必須既有讀操作,也有寫操作7) 需按層給加工編號(hào)(但不表示先后順序),8) 任何一個(gè)子圖必須與它上一層的一個(gè)加工對(duì)應(yīng),二者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致9) 圖上每個(gè)元素都必須有名字10) 數(shù)據(jù)流圖中不可夾帶控制流(這與程序流程圖有本質(zhì)區(qū)別)11) 初畫時(shí)可忽略瑣碎的細(xì)節(jié),集中精力于主要的數(shù)據(jù)流16. 什么是數(shù)據(jù)字典,它與數(shù)據(jù)流圖有什么關(guān)系?是關(guān)于數(shù)據(jù)信息的集合,它對(duì)數(shù)據(jù)流圖中的各個(gè)元素作完整的定義與說明,是數(shù)據(jù)流圖的補(bǔ)充工具。數(shù)據(jù)字典是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說明,使用數(shù)據(jù)字

7、典為簡(jiǎn)單的建模項(xiàng)目。關(guān)系:數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴(yán)格,然而沒有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流字典中每個(gè)元素的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。17. 需求分析階段產(chǎn)生的主要文檔?1) 軟件需求規(guī)格說明書2) 初步的用戶手冊(cè)3) 確認(rèn)測(cè)試計(jì)劃18. 什么是軟件概要設(shè)計(jì),該階段的基本任務(wù)是什么?概括地回答“怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)”?;救蝿?wù):1) 設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)(軟件結(jié)構(gòu))2) 用戶界面及數(shù)據(jù)庫(kù)設(shè)計(jì)3) 編寫概要設(shè)計(jì)文檔a) 概要設(shè)計(jì)說明書b) 數(shù)據(jù)庫(kù)設(shè)計(jì)說明書c) 用戶手冊(cè)d) 修訂測(cè)試計(jì)劃4) 評(píng)審 19. 什么是模塊

8、獨(dú)立性?衡量模塊獨(dú)立程度的標(biāo)準(zhǔn)是什么?使每個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的特定子功能,并且和其他模塊之間的關(guān)系很簡(jiǎn)單。衡量模塊獨(dú)立性程度的度量標(biāo)準(zhǔn)a) 耦合:衡量不同模塊間相互依賴的緊密程度。b) 內(nèi)聚:衡量一個(gè)模塊內(nèi)部各元素彼此結(jié)合的緊密程度。20. 什么是耦合?什么是內(nèi)聚?耦合:模塊間的聯(lián)系的緊密程度。無耦合、松散耦合、緊密耦合。由低到高:非直接耦合、數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、外部耦合、公共環(huán)境耦合、內(nèi)容耦合。內(nèi)聚:模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。由低到高:偶然內(nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、信息內(nèi)聚、功能內(nèi)聚。21. 畫出你所做項(xiàng)目的軟件結(jié)構(gòu)圖22. 用戶界面設(shè)計(jì)準(zhǔn)則有哪些?

9、1) 用戶界面適合于軟件的功能2) 容易理解(無誤、提示信息)3) 一致性(風(fēng)格、術(shù)語、步驟、動(dòng)作)4) 減少用戶記憶的負(fù)擔(dān)5) 及時(shí)反饋信息6) 出錯(cuò)處理7) 適應(yīng)各種用戶(初學(xué)者/專家、色盲等)8) 國(guó)際化(圖標(biāo)、語言、單位、日期格式等)9) 個(gè)性化(與眾不同、記憶深刻)10) 合理的布局(行列對(duì)齊、尺寸合理、縮放正常)11) 和諧的色彩23. 概要設(shè)計(jì)階段產(chǎn)生的主要文檔?a) 概要設(shè)計(jì)說明書b) 數(shù)據(jù)庫(kù)設(shè)計(jì)說明書c) 用戶手冊(cè)d) 修訂測(cè)試手冊(cè)24. 你在概要設(shè)計(jì)說明書中主要使用的圖是什么,表達(dá)什么?25. 什么是詳細(xì)設(shè)計(jì)??jī)?nèi)容?說明應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)。主要內(nèi)容:數(shù)據(jù)結(jié)構(gòu)與算法2

10、6. 描述算法的工具有哪些?算法流程圖;盒圖(N-S圖);問題分析圖(PAD圖);判定表;判定樹;過程設(shè)計(jì)語言(偽代碼、PDL)圖 2 程序流程圖和盒圖圖 3 PAD和 判定表圖 4 判定樹27. 算法流程圖和系統(tǒng)流程圖的區(qū)別是什么?系統(tǒng)流程圖:描繪系統(tǒng)物理模型的傳統(tǒng)工具。他的基本思想是用圖形符號(hào)以黑盒子的形式描繪系統(tǒng)理念的每個(gè)部件包括程序,文件,數(shù)據(jù)庫(kù),表格,人工過程等,表達(dá)信息在給個(gè)部件之間流動(dòng)的情況,而不是表示對(duì)信息進(jìn)行加工處理的控制過程。反映了主體框架。程序流程圖:描述了程序中控制流地情況,即程序中處理的執(zhí)行順序和執(zhí)行序列所依賴的條件,途中有向線段表示的是控制流從一個(gè)處理走到下一個(gè)處理

11、。28. 詳細(xì)設(shè)計(jì)階段產(chǎn)生的主要文檔?詳細(xì)設(shè)計(jì)說明書29. 什么是軟件設(shè)計(jì)說明書?主要包括什么內(nèi)容?概要設(shè)計(jì)說明書是概要設(shè)計(jì)階段的工作成果,它應(yīng)說明功能分配、模塊劃分、程序的總體結(jié)構(gòu)、輸入輸出以及接口設(shè)計(jì)、運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等,為詳細(xì)設(shè)計(jì)奠定基礎(chǔ)。詳細(xì)設(shè)計(jì)說明書是詳細(xì)設(shè)計(jì)階段的主要成果,也是編碼階段主要參考的文檔。主要包括引言、總體設(shè)計(jì)、程序設(shè)計(jì)說明。30. 你認(rèn)為編碼時(shí)要注意的問題有哪些?1) 變量命名規(guī)范2) 編碼格式規(guī)范3) 多加注釋4) 少用或不用 goto語句5) 使用C/C+時(shí),申請(qǐng)了內(nèi)存空間就要記得釋放內(nèi)存空間31. 什么是軟件測(cè)試?應(yīng)該由誰去測(cè)試?軟件測(cè)試是軟

12、件開發(fā)過程中必須伴有的質(zhì)量保證活動(dòng)。軟件測(cè)試是軟件質(zhì)量保證的關(guān)鍵元素,代表了規(guī)約、設(shè)計(jì)和編碼的最終檢查。通常,項(xiàng)目的開發(fā)人員不參與系統(tǒng)測(cè)試。測(cè)試小組通常是獨(dú)立于實(shí)現(xiàn)人員的,理想情況下,某些測(cè)試小組成員已經(jīng)是有經(jīng)驗(yàn)的測(cè)試人員。測(cè)試人員需要熟悉測(cè)試系統(tǒng)規(guī)格說明,而且熟悉測(cè)試方法和工具。32. 軟件測(cè)試的目標(biāo)是什么?軟件調(diào)試的目的是什么?測(cè)試的目的是發(fā)現(xiàn)程序中的錯(cuò)誤,是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)。軟件調(diào)試的目的是確定錯(cuò)誤的位置、性質(zhì)并糾正。33. 什么是白盒測(cè)試,設(shè)計(jì)白盒測(cè)試方案的技術(shù)是什么?白盒測(cè)試是根據(jù)被測(cè)程序的邏輯結(jié)構(gòu)設(shè)計(jì)測(cè)試用例;力求提高測(cè)試覆蓋率。設(shè)計(jì)白盒測(cè)試用例的方法:邏輯覆蓋

13、法。語句覆蓋、判定覆蓋、條件覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、點(diǎn)覆蓋、邊覆蓋、路徑覆蓋。34. 什么是黑盒測(cè)試,黑盒測(cè)試的主要方法是什么?黑盒測(cè)試也稱功能測(cè)試,它是通過測(cè)試來檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試中,把程序看作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。主要測(cè)試方法:等價(jià)類劃分、邊界值分析法、錯(cuò)誤推測(cè)。35. 什么是測(cè)試用例?一個(gè)測(cè)試用例包括

14、哪些內(nèi)容?測(cè)試用例(Test Case)是為某個(gè)特殊目標(biāo)而編制的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測(cè)試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求。一個(gè)測(cè)試用例要包括:(1) 用例ID;(2) 用例名稱;(3) 測(cè)試目的;(4) 測(cè)試級(jí)別;(5) 參考信息;(6) 測(cè)試環(huán)境;(7) 前提條件;(8) 測(cè)試步驟;(9) 預(yù)期結(jié)果;(10) 設(shè)計(jì)人員。36. 軟件測(cè)試的步驟是什么?單元測(cè)試->集成測(cè)試->確認(rèn)測(cè)試->系統(tǒng)測(cè)試。圖 5 軟件測(cè)試的步驟37. 軟件系統(tǒng)的主要測(cè)試內(nèi)容有哪些?1) 接口與路徑測(cè)試(白盒測(cè)試)2) 功能測(cè)試3) 健壯性測(cè)試4) 性能測(cè)試5) 用戶界面測(cè)試6

15、) 信息安全測(cè)試7) 壓力測(cè)試8) 可靠性測(cè)試9) 安裝/反安裝測(cè)試38. 你對(duì)你所做項(xiàng)目作了什么測(cè)試?舉例說明。39. 面向?qū)ο蠛兔嫦蜻^程的分析設(shè)計(jì)方法有什么異同?區(qū)別: 面向?qū)ο笞⒅貙?duì)數(shù)據(jù)的使用。試圖把數(shù)據(jù)和對(duì)其的操作封裝在一起(類),并且嘗試去自動(dòng)處理一些不同的函數(shù)的調(diào)用工作(多態(tài),重載等),以減輕對(duì)函數(shù)的依賴。面向過程則注重對(duì)函數(shù)(功能模塊)的應(yīng)用,這些年也有一些面向函數(shù)的語言開始復(fù)蘇(如F#)也可以看出,面向的重點(diǎn)不同,也各有領(lǐng)域和優(yōu)點(diǎn)。聯(lián)系:聯(lián)系其實(shí)在不同中就已經(jīng)可以看到。面向?qū)ο笾皇菍?shù)據(jù)和函數(shù)“打包”,并記入了一些自動(dòng)判斷并調(diào)用“函數(shù)”的功能。所以,面向?qū)ο笠彩墙⒃诤瘮?shù)的基礎(chǔ)

16、上,只是減弱了開發(fā)人員對(duì)函數(shù)的依賴度,將重點(diǎn)轉(zhuǎn)向數(shù)據(jù)。面向?qū)ο?對(duì)象+類+繼承+封裝+消息40. 什么是UML?你知道的UML圖有那些?UML是一種定義良好,易于表達(dá),功能強(qiáng)大且普遍實(shí)用的建模語言。UML圖有五大類,共十種模型圖:1) 用例圖:用來表示系統(tǒng)的功能,并指出各功能的操作者;2) 靜態(tài)圖:包括 類圖、對(duì)象圖和包圖,表示系統(tǒng)的靜態(tài)結(jié)構(gòu);3) 行為圖:包括 狀態(tài)圖、活動(dòng)圖,用于描述系統(tǒng)的動(dòng)態(tài)行為和對(duì)象之間的合作關(guān)系;4) 交互圖:包括 順序圖、合作圖,用于描述系統(tǒng)的對(duì)象之間的動(dòng)態(tài)合作關(guān)系;5) 實(shí)現(xiàn)圖:包括 構(gòu)件圖和配置圖,用于描述系統(tǒng)的物理實(shí)現(xiàn)。41. UML中用什么圖描述功能需求比較

17、合適?用例圖42. UML中用什么圖描述業(yè)務(wù)流程比較合適?活動(dòng)圖。43. UML中的類圖描述什么?類圖描述了系統(tǒng)中的類及其相互之間的各種關(guān)系,其本質(zhì)反映了系統(tǒng)中包含的各種對(duì)象的類型以及對(duì)象間的各種靜態(tài)關(guān)系(關(guān)聯(lián),子類型)。44. 軟件維護(hù)的四類活動(dòng)是什么?1) 校正性維護(hù):指為了識(shí)別和糾正錯(cuò)誤,修改軟件性能上的缺陷,進(jìn)行確定和修改錯(cuò)誤的過程。占整個(gè)維護(hù)工作的21%.2) 適應(yīng)性維護(hù):為了使本軟件適應(yīng)硬件和軟件的變化而修改軟件的過程稱為適應(yīng)性維護(hù)。占整個(gè)維護(hù)活動(dòng)的25%。3) 完善性維護(hù):增加軟件功能、增強(qiáng)軟件性能、提高運(yùn)行效率而進(jìn)行的維護(hù)活動(dòng)稱為完善性維護(hù)。占整個(gè)維護(hù)工作的50%.4) 預(yù)防性維護(hù):為了提高軟件的可維護(hù)性和可靠性而對(duì)軟件進(jìn)行的修改稱為預(yù)防性維護(hù)。只占4%。45. 什么是CMMI?CMMI全稱是Capability Maturity Model Integration,即能力成熟度模型集成(也有稱為:軟件能力成熟度集成模型)。CMMI主要關(guān)注點(diǎn)就是成本效益、明確重點(diǎn)、過程集中和靈活性四個(gè)方面。46. 你認(rèn)為數(shù)據(jù)流圖、系統(tǒng)流程圖、軟件結(jié)構(gòu)圖、E-R圖、算法流程圖、測(cè)試用例分別用于軟件開發(fā)的哪個(gè)階段?需求分析階段:數(shù)據(jù)流圖、系統(tǒng)流圖概要設(shè)計(jì)階段:軟件結(jié)構(gòu)圖、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論