軟件工程問答對應(yīng)(初版)_第1頁
軟件工程問答對應(yīng)(初版)_第2頁
軟件工程問答對應(yīng)(初版)_第3頁
軟件工程問答對應(yīng)(初版)_第4頁
軟件工程問答對應(yīng)(初版)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

..整理doc整理doc.整理doc軟件工程概論軟件的特點是什么?軟件是邏輯實體;具有抽象性;軟件的形態(tài)不可見;――必須通過觀察、分析、思考、判斷來了解其功能、性能和其它特性。軟件是人腦思維的產(chǎn)物,其生產(chǎn)過程與硬件不同。――開發(fā)過程的質(zhì)量控制及軟件產(chǎn)品保護問題。軟件的開發(fā)和運行受計算機系統(tǒng)限制。――軟件移植問題。軟件的開發(fā)技術(shù)落后,手工開發(fā)方式仍占統(tǒng)治地位。――開發(fā)效率低。2006年發(fā)布的國家分類標準是什么?獨立式,組合式,集成式,嵌入式。軟件危機的表現(xiàn)有哪些?對開發(fā)成本和進度的估算偏差太大沒有適當?shù)奈臋n軟件成本比重上升質(zhì)量很不可靠供不應(yīng)求用戶很不滿意產(chǎn)生軟件危機的原因是什么?客觀:軟件本身特點1邏輯部件2規(guī)模龐大主觀:不正確的開發(fā)方法忽視需求分析“軟件開發(fā)=程序編寫”的錯誤觀念輕視軟件維護什么是軟件工程三要素?方法:為軟件開發(fā)提供了“如何做”的技術(shù)。工具:為軟件工程方法提供了支撐環(huán)境。過程:定義了方法使用的順序、要交付的文檔資料、為保證質(zhì)量和適應(yīng)變化所需要的管理、軟件開發(fā)各個階段完成的里程碑。軟件工程的基本目標是什么?付出較低的開發(fā)成本2)達到要求的軟件功能3)取得較好的軟件性能4)開發(fā)的軟件易于移植5)需要較低的維護費用6)能按時完成開發(fā)工作,及時交付使用軟件工程的基本原則是什么?抽象2)信息隱蔽3)模塊化4)局部化5)確定性6)一致性7)完備性8)可驗證性..整理doc整理doc.整理doc軟件工程的基本原理是什么?1)用分階段的生命周期嚴格管理;2)堅持進行階段評審;3)實行嚴格的產(chǎn)品控制;4)采用現(xiàn)代程序設(shè)計技術(shù);5)結(jié)果應(yīng)能清楚地審查;6)開發(fā)小組人員應(yīng)少而精;7)承認不斷改進軟件工程實踐的必要性。瀑布模型有什么特點?1.里程碑或基線驅(qū)動,或者說文檔驅(qū)動;2.過程逆轉(zhuǎn)性很差,或者說不可逆轉(zhuǎn)。說明生命周期的劃分?一個軟件從定義、開發(fā)、使用和維護,直到最終被廢棄,所經(jīng)歷的生存過程稱為軟件生存期或叫生命期。生命期的劃分:定義階段:制定計劃需求分析和定義開發(fā)階段:軟件設(shè)計程序編寫軟件測試維護階段:運行/維護列出軟件生存期的幾個主要模型?1)瀑布模型2)原型模型3)螺旋模型4)增量模型5)構(gòu)件組裝模型6)統(tǒng)一過程模型7)第四代技術(shù)論述瀑布模型軟件開發(fā)方法的基本過程?..整理doc整理doc.整理doc增量模型有什么特點?任務(wù)或功能模塊驅(qū)動,可以分階段提交產(chǎn)品;有多個任務(wù)單,這些多個任務(wù)單的集合,構(gòu)成項目的一個總?cè)蝿?wù)書(總用戶需求報告)。幾種主要的軟件開發(fā)方法?面向過程的方法面向數(shù)據(jù)的方法面向?qū)ο蟮姆椒ㄜ浖こ讨械摹拔鍌€面向”?面向流程分析、面向數(shù)據(jù)設(shè)計面向?qū)ο髮崿F(xiàn)面向功能測試面向過程管理..整理doc整理doc.整理doc軟件策劃1.可行性分析的目的?用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。2.可行性分析最為敏感的方面是什么?經(jīng)濟可行性這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?技術(shù)可行性現(xiàn)有技術(shù)能否實現(xiàn)該系統(tǒng)?技術(shù)冒險的各種因素?例如有關(guān)的技術(shù)是否已進步到足以支持該系統(tǒng)?技術(shù)人員的熟練程度?硬、軟件資源是否按期得到?操作可行性系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎?法律可行性開發(fā)的軟件項目是否侵犯他人的利益,是否違反法律,并由此承擔法律責任。3.可行性研究的步驟有哪些?復查系統(tǒng)規(guī)模和目標(系統(tǒng)調(diào)研)研究目前正在使用的系統(tǒng)(系統(tǒng)分析)導出新系統(tǒng)的高層邏輯模型(系統(tǒng)分析)重新定義問題(模型評審)導出和評價可供選擇的解決方案推薦一個方案并說明理由推薦行動方針書寫文檔提交審查4.軟件計劃的步驟有哪些?估計軟件的規(guī)模及所需的資源制定時間表鑒別和評估風險約定與限制條件5.軟件計劃書的內(nèi)容有哪些?1)軟件范圍2)環(huán)境資源3)進度安排4)成本/效益分析6.甘特圖有哪些優(yōu)點和缺點?優(yōu)點:它具有簡單、醒目和便于編制等特點。能夠動態(tài)反映軟件項目開發(fā)進展的情況。缺點:難以反映多個任務(wù)之間存在的復雜的邏輯關(guān)系。7.什么是網(wǎng)絡(luò)計劃法的關(guān)鍵事件與關(guān)鍵路徑?關(guān)鍵事件:最早完成時間與最遲完成時間相等的事件。關(guān)鍵路徑:關(guān)鍵事件聯(lián)結(jié)的各個活動所組成的路線。..整理doc整理doc.整理doc8.常用的成本估算方法有哪些?(1)基于代碼行的成本估算方法(2)任務(wù)分解成本估算(3)經(jīng)驗統(tǒng)計估算模型:①參數(shù)方程②動態(tài)多變量參數(shù)模型③COCOMO模型(constructiveCostModel)④自動估算工具9.軟件成本估算包括哪些內(nèi)容?⑴工作產(chǎn)品規(guī)模估計⑵工作量及成本估計⑶關(guān)鍵資源的量化估計10.項目活動和項目約定計劃指的是什么?活動指開發(fā)活動和管理活動;約定指各種規(guī)范、標準、規(guī)則;1)規(guī)范是對過程和行為的約束;2)標準是對產(chǎn)品的約束;3)規(guī)則或規(guī)程是對操作的約束。..整理doc整理doc.整理doc需求分析需求獲取為什么難?用戶需求具有動態(tài)性(不穩(wěn)定性)。用戶需求具有模糊性(不準確性)。對需求達成一致的艱難性。管理體制、機構(gòu)設(shè)置處在變革中。軟件書籍沒有將需求分析講清楚。分析方法和分析工具問題。需求分析的重點業(yè)務(wù)模型、.功能模型、性能模型、接口模型需求分析的9項任務(wù)畫出目標系統(tǒng)的組織機構(gòu)模型。畫出目標系統(tǒng)業(yè)務(wù)操作流程圖。畫出目標系統(tǒng)的數(shù)據(jù)流圖。列出目標系統(tǒng)的功能點列表,即功能模型。列出系統(tǒng)的性能點列表,即性能模型。列出目標系統(tǒng)的接口列表,即接口模型。確定目標系統(tǒng)的運行環(huán)境,即環(huán)境模型。目標系統(tǒng)的界面約定,即界面模型。分析與評估開發(fā)工期、費用、進度、風險等。需求分析的過程1.問題識別、2.分析與綜合、3.編制需求文檔、4.需求分析評審。獲取需求的常用方法訪談:正式的和非正式的訪談問卷調(diào)查:問卷調(diào)查即把需要調(diào)查的內(nèi)容制成表格交給用戶填寫。該方法對需要調(diào)查大量人員的意見時,十分有效。情景分析:情景分析就是對目標系統(tǒng)解決某個具體問題的方法和結(jié)果,給出可能的情景描述,以獲知用戶的具體需求。實地考察/收集資料:開調(diào)查會參加業(yè)務(wù)實踐構(gòu)造原型需求分析的原則1)解決邏輯問題:需求分析是對問題的識別和說明,要回答“做什么”,而不是“怎么做”。(2)以運行環(huán)境為基礎(chǔ):需求分析工作應(yīng)以具體的運行環(huán)境為基礎(chǔ),實事求是。(3)用戶參與的原則:需求分析工作是系統(tǒng)分析人員同用戶不斷交互的過程。(4)構(gòu)造高質(zhì)量的需求規(guī)格說明:需求規(guī)格說明是需求分析工作重要的完成標志。..整理doc整理doc.整理doc需求分析的基本要求理解問題的數(shù)據(jù)域和功能域自頂向下、逐層分解給出系統(tǒng)的邏輯視圖和物理視圖常見的需求分析方法有哪些?1)面向數(shù)據(jù)流的分析方法2)面向功能的分析方法3)面向數(shù)據(jù)的Jackson方法4)面向?qū)ο蟮姆治龇椒?.整理doc整理doc.整理doc軟件設(shè)計軟件設(shè)計的具體任務(wù)包括哪些內(nèi)容?1)制定規(guī)范2)結(jié)構(gòu)設(shè)計3)處理方式結(jié)構(gòu)設(shè)計4)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計5)可靠性設(shè)計(質(zhì)量設(shè)計)6)編寫軟件設(shè)計文檔7)設(shè)計審查和復審8)詳細設(shè)計什么是數(shù)據(jù)的保護性設(shè)計?防衛(wèi)性設(shè)計:在軟件設(shè)計中就插入自動檢錯,報錯和糾錯的功能一致性設(shè)計:在并發(fā)處理過程中使用封鎖和解除封鎖機制保持數(shù)據(jù)不被破壞冗余性設(shè)計軟件設(shè)計的目標是什么?軟件設(shè)計的最終目標是要取得最佳方案。即:節(jié)省開發(fā)費用、降低資源消耗、縮短開發(fā)時間、能夠贏得較高的生產(chǎn)效率、較高的可靠性和可維護性的方案。并且使開發(fā)軟件滿足以下特點:(1)功能、性能都符合指定的要求;(2)軟件是可維護的,可方便地進行修改;(3)除了代碼,還有一套配置齊全的文檔。模塊具有哪些基本屬性?“模塊”,又稱“組件”。一般有四個基本屬性l功能:描述該模塊做什么?邏輯:描述模塊內(nèi)部怎么做?狀態(tài):模塊使用時的環(huán)境和條件。接口:指模塊的輸入與輸出。什么是耦合?什么是內(nèi)聚?如何增強模塊的獨立性?耦合:各模塊之間的互相連接的緊密程度。模塊之間的連接越緊密,聯(lián)系越多,耦合性就越高,而其獨立性就越弱。內(nèi)聚:模塊內(nèi)各功能元素彼此結(jié)合的緊密程度。一個模塊內(nèi)部各個元素之間的聯(lián)系越緊密,則它的內(nèi)聚性就越高,相對地,它與其它模塊之間的耦合性就會減低,而模塊獨立性就越強。增強模塊獨立性的方法是:高內(nèi)聚、低耦合模塊化的特征有哪些?抽象:用層次的方式構(gòu)造和分析復雜系統(tǒng)。逐步求精:幫助開發(fā)人員把精力集中在與當前開發(fā)階段最相關(guān)的那些問題上。信息隱蔽:如果一個模塊內(nèi)包含的信息(過程和數(shù)據(jù))不允許外部的模塊訪問的話,其它模塊不能對其訪問。..整理doc整理doc.整理doc局部化:把一些關(guān)系密切的軟件元素物理地放得彼此靠近。影響耦合度的因素有哪些?連接方式的類型。2)接口的復雜性。3)傳送的信息流的類型。4)耦合的時間。降低耦合度的方法有哪些?對于需要了解的內(nèi)容,若是隱含的,應(yīng)改為明顯的,以便更容易理解;連接的方式盡量標準化,不要直接引用;減少公共區(qū),將公共區(qū)劃分為若干個邏輯子區(qū);輸入輸出應(yīng)局限在少量模塊,不要分散在全系統(tǒng);延遲耦合時間。軟件結(jié)構(gòu)設(shè)計優(yōu)化的準則是什么?劃分模塊時,盡量做到高內(nèi)聚、低耦合,保持模塊相對獨立性。模塊劃分的準則:“將相關(guān)的各部分放在一起,無關(guān)的東西不要放在一起?!蹦K的大小要適中。模塊的接口要簡單、清晰、含義明確,便于理解,易于實現(xiàn)、易于測試和維護。一個模塊的作用范圍應(yīng)在其控制范圍之內(nèi),且判定所在的模塊,應(yīng)與受其影響的模塊在層次上盡量靠近。軟件結(jié)構(gòu)的深度、寬度、扇入、扇出應(yīng)適當。力求設(shè)計單入口和單出口的模塊,避免“病態(tài)連接”,以防止內(nèi)容耦合。設(shè)計功能可預測模塊的劃分,應(yīng)防止功能過分局限。結(jié)構(gòu)化設(shè)計的優(yōu)點是什么?(問題PPT上無此問,自己選擇)減少設(shè)計復雜性。將大化小,使復雜問題簡單化。結(jié)構(gòu)獨立。將程序劃分成多個相對獨立的模塊。模塊功能單一化,可使軟件設(shè)計獲得最大的益處。易于進行軟件修改。易于開發(fā)和維護。加強了代碼的可重用性。..整理doc整理doc.整理doc代碼設(shè)計代碼設(shè)計的主要原則是什么?使用語言中的順序、選擇、重復等有限的基本控制結(jié)構(gòu)表示程序邏輯;選用的控制結(jié)構(gòu)只準許有一個入口和一個出口;程序語句組成容易識別的塊,每塊只有一個入口和一個出口;復雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)編程規(guī)范包括哪些內(nèi)容?命題規(guī)范界面規(guī)范提示及幫助信息規(guī)范熱鍵定義等良好的代碼設(shè)計風格包括哪些內(nèi)容?規(guī)范化的程序內(nèi)部文檔數(shù)據(jù)結(jié)構(gòu)的詳細說明清晰的語句結(jié)構(gòu)遵守編程規(guī)范代碼語句設(shè)計應(yīng)遵從哪些原則?在一行內(nèi)只寫一條語句程序編寫清晰性第一程序要能直截了當?shù)卣f明程序員的用意清晰第一,效率第二先保證程序正確,再要求提高速度避免使用臨時變量而使可讀性下降讓編譯程序做簡單的優(yōu)化盡可能使用庫函數(shù)和構(gòu)件避免不必要的轉(zhuǎn)移:盡量不用GOTO語句盡量采用三種基本的控制結(jié)構(gòu)編寫程序I/O代碼設(shè)計的原則是什么?輸入數(shù)據(jù)要檢驗檢查輸入項的各種重要組合的合理性輸入的步驟和操作盡可能簡單應(yīng)允許使用自由格式輸入數(shù)據(jù)應(yīng)允許缺省值批數(shù)據(jù)輸入時,使用輸入結(jié)束標志..整理doc整理doc.整理doc交互式輸入時,屏幕上使用提示符明確提示輸入的請求保持輸入格式與輸入語句要求的一致性輸出加注釋軟件測試軟件測試的原則?軟件測試應(yīng)當盡早和不斷地進行。程序員應(yīng)避免檢查自己的程序。設(shè)計測試即應(yīng)包括合理的、還應(yīng)包括不合理的輸入條件。經(jīng)驗表明,測試后程序中殘存的錯誤數(shù)目與該程序中已發(fā)現(xiàn)的錯誤數(shù)目成正比。妥善保存測試計劃,測試用例,出錯統(tǒng)計和最終分析報告,為維護提供方便。(a-j是軟件工程課件第八章P6的)所有的測試都應(yīng)追溯到用戶需求。軟件測試必須基于“質(zhì)量第一”的思想去開展各項工作測試計劃應(yīng)該在測試工作真正開始前的較長時間內(nèi)就進行。將Pareto原則應(yīng)用于軟件測試。測試應(yīng)從“小規(guī)模”開始,逐步轉(zhuǎn)向“大規(guī)?!?。測試用例是設(shè)計出來的,不是寫出來的。窮舉測試是不可能的為了達到最佳效果,應(yīng)該由獨立的第三方來構(gòu)造測試。不充分的測試是不負責任的;過分的測試也是一種不負責任的表現(xiàn)重視文檔。軟件測試的最初定義?最初定義:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試的經(jīng)典定義?經(jīng)典定義:測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;一個好的測試在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。測試的目的?以最少的時間和人力,系統(tǒng)地找出軟件中潛在的各種錯誤和缺陷。能夠證明軟件的功能和性能與需求說明相符合。測試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)。測試不能表明軟件中不存在錯誤,它只能說明軟件中存在錯誤。黑盒測試的優(yōu)點?對于較大的代碼單元來說,黑盒測試比白盒測試效率要高;測試人員不需要了解實現(xiàn)的細節(jié),包括特定的編程語言;..整理doc整理d

溫馨提示

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

評論

0/150

提交評論