2023年軟件工程試卷試題復習資料集錦_第1頁
2023年軟件工程試卷試題復習資料集錦_第2頁
2023年軟件工程試卷試題復習資料集錦_第3頁
2023年軟件工程試卷試題復習資料集錦_第4頁
2023年軟件工程試卷試題復習資料集錦_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件工程師試卷練習試題軟件工程師復習資料精華軟件工程概述1﹑軟件產品的特性是什么?產品特性:⑴是一種邏輯產品,與物質產品有很大的區(qū)別。⑵軟件產品的生產重要是研制,生產成本重要在開發(fā)和研制,開發(fā)研制完畢后,通過復制就產生了大量軟件產品。⑶軟件產品不會用壞,不存在磨損,消耗。⑷生產重要是腦力勞動,還末完全擺脫手工開發(fā)方式,大部分產品是"定做"的⑸開發(fā)軟件的費用不斷增長,致使生產成本相稱昂貴。2﹑軟件生產有幾個階段?各有何特性?⑴程序設計時代:這個階段生產方式是個體勞動,使用的生產工具是機器語言,匯編語言。⑵程序系統(tǒng)時代:這個階段生產方式是小集團合作生產,使用的生產工具是高級語言,開發(fā)方法仍依靠個人技巧,但開始提出結構化方法。⑶軟件工程時代:這個階段生產方式是工程化的生產,使用數(shù)據(jù)庫﹑開發(fā)工具﹑開發(fā)環(huán)境﹑網(wǎng)絡﹑分布式﹑面向對象技術來開發(fā)軟件。3﹑什么是軟件危機?重要表現(xiàn)在哪些方面?軟件開發(fā)技術的進步未能滿足發(fā)展的規(guī)定。在軟件開發(fā)中碰到的問題找不到解決的辦法,問題積累起來,形態(tài)鋒利的矛盾,導致了軟件危機。表現(xiàn)方面:(1)用戶對開發(fā)出的軟件很難滿意。(2)軟件產品的質量往往靠不住。(3)一般軟件很難維護。(4)軟件生產效率很低。(5)軟件開發(fā)成本越來越大。(6)軟件成本與開發(fā)進度難以估計。(7)軟件技術的發(fā)展遠遠滿足不了計算機應用的普及與進一步的需要。4﹑什么是軟件工程?它目的和內容是什么?軟件工程:就是用科學的知識工程和技術原理來定義,開發(fā),維護軟件的一門學科。軟件工程的目的:付出較低開發(fā)成本;達成規(guī)定的功能;取得較好的性能;開發(fā)的軟件易于移植;只需較低的維護費用;能準時完畢開發(fā)任務,及時交付使用;開發(fā)的軟件可靠性高。軟件工程的內容:研究內容涉及開發(fā)技術和開發(fā)管理兩個方面。開發(fā)技術重要研究:軟件開發(fā)方法,開發(fā)過程,開發(fā)工具和環(huán)境。開發(fā)管理重要研究:軟件管理學,軟件經(jīng)濟學,軟件心理學。5﹑軟件工程面臨的問題是什么?軟件工程需要解決的問題:軟件的費用,可靠性,可維護性,軟件生產率和軟件的重用。6﹑什么是軟件生存周期?它有哪幾個活動?軟件生存周期:一個軟件從提出開發(fā)規(guī)定開始直到該軟件報廢為止的整個時期。涉及:可行性分析和項目開發(fā)計劃,需求分析,概要設計,具體設計,編碼,測試,維護。7﹑什么是軟件生存周期模型?有哪些重要模型?生存周期模型:描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。對軟件開發(fā)提供強有力的支持,為開發(fā)過程中的活動提供統(tǒng)一的政策保證,為參與開發(fā)的人員提供幫助和指導,是軟件生存周期模型化技術的基礎,也是建立軟件開發(fā)環(huán)境的核心。重要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識的模型,變換模型。8﹑什么是軟件開發(fā)方法?有哪些重要方法?使用早已定義好的技術集及符號表達習慣來組織軟件生產的過程。通過使用成功的軟件開發(fā)方法,在規(guī)定的投資和時間內,開發(fā)出符合用戶需求的高質量的軟件。軟件開發(fā)方法是克服軟件危機的重要方面之一,對軟件工程及軟件包產業(yè)的發(fā)展起了不可估量的作用。重要有:結構化方法,JACKSON方法,維也納開發(fā)方法﹙VDM﹚,面向對象開發(fā)方法。9、軟件工程方法學包含3個要素分別是什么?分別是:方法、工具和過程。方法是完畢軟件開發(fā)的各項任務的技術方法,回答“如何做”的問題;工具是為運用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;過程是為了獲得高質量的軟件所需要完畢的一系列任務的框架,它規(guī)定了完畢各項任務的工作環(huán)節(jié)。10、什么是軟件過程?為了獲得高質量軟件所需要完畢的一系列任務的框架,規(guī)定了完畢各項任務的工作環(huán)節(jié)。在完畢開發(fā)任務時必須進行一些開發(fā)活動,并且使用適當?shù)馁Y源,在過程結束時將把輸入轉化為輸出。11、瀑布模型的特點及優(yōu)點?特點:(1)各個階段的順序性和依賴性;(2)劃分邏輯設計與物理設計,盡也許推遲程序的物理實現(xiàn);(3)每個階段必須完畢規(guī)定的文檔,對其中問題通過復審及早發(fā)現(xiàn),及早解決。優(yōu)點:可逼迫開發(fā)人員采用規(guī)范的方法(例如,結構化技術);嚴格地規(guī)定了每個階段必須提交的文檔;規(guī)定每個階段交出的所有產品都必須通過質量保證小組的仔細驗證。12、螺旋模型的優(yōu)點?對可選方案和約束條件的強調有助于已有軟件的重用,也有助于把軟件質量作為軟件開發(fā)的一個重要目的;減少了過多測試(浪費資金)或測試局限性(產品故障多)所帶來的風險;在螺旋模型中維護只是模型的另一個周期,在維護和開發(fā)之間并沒有本質區(qū)別。螺旋模型重要合用于內部開發(fā)的大規(guī)模軟件項目。項目越大,風險也越大,因此,進行風險分析的必要性也越大。此外,只有內部開發(fā)的項目,才干在風險過大時方便地中止項目。13、快速原型的分類、特點及使用策略?分類:探索型、實驗型、進化型特點:盡快向用戶提供一個可在計算機上運營的目的系統(tǒng)的模型,以便使用戶和開發(fā)者在目的系統(tǒng)應當“做什么”這個問題上盡也許快地達成共識。快速原型應當具有的第一個特點是“快速”;快速原型應當具有的第二個特點是“容易修改”。原型的“修改—試用—反饋”過程也許反復多遍。使用策略:廢棄策略和追加策略。14、軟件工程的目的?付出較低開發(fā)成本;達成規(guī)定的功能;取得較好的性能;開發(fā)的軟件易于移植;只需較低的維護費用;能準時完畢開發(fā)任務,及時交付使用;開發(fā)的軟件可靠性高。15、軟件開發(fā)技術重要研究內容?軟件開發(fā)方法,開發(fā)過程,開發(fā)工具和環(huán)境。16、軟件開發(fā)管理重要研究內容?軟件管理學,軟件經(jīng)濟學,軟件心理學。17、快速原型開發(fā)的環(huán)節(jié)?快速開發(fā)、需求、構造原形、原形、運營原形、評價原形、修改意見。18、某計算機系統(tǒng)投入使用后、5年內每年可節(jié)省人民幣2O0O元,假設系統(tǒng)的投資額為5000元,年利率為12%。試計算投資回收期和純收入??尚行匝芯?、可行性研究的任務是什么?可行研究的任務:一方面需要進行概要的分析研究,初步擬定項目的規(guī)模,目的,約束和限制。分析員再進行簡要的需求分析,抽象出項目的邏輯結構,建立邏輯模型。從邏輯模型出發(fā),通過壓縮的設計,探索出若干種可供選擇的解決方法,對每種解決方法都要研究它的可行性。重要從四個方面考慮:⑴.技術可行性:一般要考慮的情況涉及開發(fā)的風險即設計出的系統(tǒng)能否達成規(guī)定的功能和性能;資源的有效性;相關技術的發(fā)展是否支持;⑵.經(jīng)濟可行性:進行開發(fā)成本的估算以及了解取得效益的評估,擬定要開發(fā)的項目是否值得投資。⑶.法律可行性:要開發(fā)的項目是否存在任何侵權問題。(4).管理可行性:運營方式在用戶組織內是否可行,現(xiàn)有管理制度﹑人員素質﹑操作方式是否可行。2、可行性研究有哪些環(huán)節(jié)?⑴.擬定項目規(guī)模和目的;⑵.研究正在運營的系統(tǒng);收集﹑研究﹑分析現(xiàn)有系統(tǒng)的文檔資料,實地考察系統(tǒng)訪問有關人員,然后描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖。⑶.建立新系統(tǒng)的高層邏輯模型;使用數(shù)據(jù)流圖和數(shù)據(jù)字典描述數(shù)據(jù)在系統(tǒng)中的流動和解決情況。⑷.導出和評價各種方案;導出若干較高層次的物理解決方法,根據(jù)技術可行性﹑經(jīng)濟可行性﹑社會可行性進行評估,得到可行的解決方法。⑸.推薦可行方案;進行成本~效益分析,決定該項目是否值得開發(fā),若值得開發(fā)那么解決方案是什么,并且說明該方案可行的因素和理由。⑹.編寫可行性研究報告;將上述可行性過程的結果寫成相應文檔,即可行性研究報告。3、可行性研究過程涉及哪些?1.復查系統(tǒng)規(guī)模和目的2.研究目前正在使用的系統(tǒng)3.導出新系統(tǒng)的高層邏輯模型4.進一步定義問題5.導出和評價供選擇的解法6.推薦行動方針7.草擬開發(fā)計劃8.書寫文檔提交審查4、什么是數(shù)據(jù)流圖?其作用是什么?數(shù)據(jù)流圖(DFD):以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動和解決的邏輯過程。只反映系統(tǒng)必須完畢的邏輯功能,是一種功能模型。5、什么是數(shù)據(jù)字典?其作用是什么?共有哪些條目?數(shù)據(jù)字典(DD)用來定義數(shù)據(jù)庫流圖中的各個成分的具體含義。有以下四類條目:數(shù)據(jù)流,數(shù)據(jù)項,數(shù)據(jù)存儲,基本加工。6、成本--效益分析可用哪些指標進行度量?⑴.投資回收率:通常把建立系統(tǒng)若干年后能取得的收益折算成現(xiàn)在的價值和開發(fā)系統(tǒng)所需的費用進行比較得出投資回收率。⑵.投資回收期:就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間。⑶.純收入:整個生存周期之內的累計經(jīng)濟效益(折成現(xiàn)在值)與投資之差。7、某圖書管理系統(tǒng)有以下功能:⑴借書:輸入讀者借書證。系統(tǒng)一方面檢查借書證是否有效,若有效,對于第一次借書的讀者,在借書證上建立檔案。否則,查閱借書文獻,檢查該讀者所借圖書是否超過10本,若已達10,拒借,末達10本,辦理借書(檢查庫存,修改庫存目錄并將讀者借書情況錄入借書文獻。)⑵還書:從借書文獻中讀出與讀者有關的記錄,查閱所借日期,如超期(3個月)作罰款解決。否則,修改庫存目錄與借書文獻。⑶查詢:通過借書文獻,庫存目錄文獻查詢讀者情況﹑圖書借閱及庫存情況,打印登記表。解:

?

?8、某銀行的計算機儲蓄系統(tǒng)功能是:將儲戶的存戶填寫的存款單或存款單輸入系統(tǒng),假如是存款,系統(tǒng)記錄存款人姓名﹑住址﹑存款類型﹑存款日期﹑利率等信息,并打印出存款單給儲戶;假如是取款,系記錄算清單給儲戶。請用DFD,IDEF0描繪該功能的需求,并建立相應數(shù)據(jù)字典。9、一個考務解決系統(tǒng)的規(guī)定如下,試畫出該系統(tǒng)的數(shù)據(jù)流圖。(1)對考生送來的報名表進行檢查;(2)對合格的報名表編好準考證號碼后將準考證送給考生,并將匯總后的考生名單送給閱卷站;(3)對閱卷站送來的成績表進行檢查,并根據(jù)考試中心指定的合格標準審定合格者;(4)填寫考生告知單(內容包含考試成績及合格∕不合格標志),送給考生;(5)按地區(qū)、年齡、文化限度、職業(yè)、考試級別等進行成績分類記錄及試題難度分析,產生記錄分析表。(1)頂層數(shù)據(jù)流圖?

?(2)第1層數(shù)據(jù)流圖?

(3)第2層數(shù)據(jù)流圖

加工1子圖:

??加工2子圖:10、系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具,表達的是數(shù)據(jù)在系統(tǒng)各部件之間流動的情況,11、原型化方法重要用于解決什么問題?試說明這種方法的重要優(yōu)缺陷。原型化方法重要用于解決在產品開發(fā)的初期階段需求不擬定的問題,用戶、經(jīng)理和其他非技術項目風險承擔者發(fā)現(xiàn)在擬定和開發(fā)產品時,原型可以使他們的想象更具體化。這種方法的重要優(yōu)點如下:(1)

明確并完善需求原型作為一種需求工具,它初步實現(xiàn)所理解的系統(tǒng)的一部分,用戶對原型的評價可以指出需求中的許多問題。(2)

探索設計選擇方案原型作為一種設計工具,可以探索不同的用戶界面技術,使系統(tǒng)達成最佳的可用性,并且可以評價也許的技術方案。(3)

發(fā)展為最終的產品原型作為一種構造工具,是產品最初子集的完整功能實現(xiàn),通過一系列小規(guī)模的開發(fā)循環(huán),你可以完畢整個產品的開發(fā)。(4)

這種方法的重要缺陷涉及:(1)

用戶看到一個正在運營的原型便認為產品即將完畢,他們會規(guī)定不再進行產品重建,而只是對原型進行一些修改就交付。由于原型沒有考慮軟件的總體質量和可維護性,交付原型往往導致"欲速則不達"的情況。(2)開發(fā)人員為了快速構造原型,也許會采用不合適的操作系統(tǒng)或程序設計語言,也也許使用一些效率低的算法。在一段時間的開發(fā)之后,他們往往已經(jīng)習慣了這些選擇,于是便在系統(tǒng)中參雜了這些不抱負的選擇。需求分析1、什么是需求分析?需求分析階段的基本任務是什么?需求分析:開發(fā)人員準確地理解用戶的規(guī)定,進行細致的調查分析,將用戶非形式的需求陳述轉化為完整的需求定義,再由需求定義轉換到相應的需求規(guī)格說明的過程?;救蝿眨孩艈栴}辨認:雙方擬定對問題的綜合需求,這些需求涉及功能需求,性能需求,環(huán)境需求,用戶界面需求。⑵分析與綜合,導出軟件的邏輯模型。⑶編寫文檔:涉及編寫"需求規(guī)格說明書","初步用戶使用手冊","確認測試計劃","修改完善軟件開發(fā)計劃"。2、什么是結構分析方法?該方法使用什么描述工具?結構化分析:簡稱SA,面向數(shù)據(jù)流進行數(shù)據(jù)分析的方法。采用自頂向下逐層分解的分析策略。頂層抽象地描述整個系統(tǒng),底層具體地畫出系統(tǒng)工程的每個細節(jié)。中間層則是從抽象到具體的過渡。使用數(shù)據(jù)流圖,數(shù)據(jù)字典,作為描述工具,使用結構化語言,鑒定表,鑒定樹描述加工邏輯。3、結構化分析方法通過哪些環(huán)節(jié)來實現(xiàn)?⑴了解當前系統(tǒng)的工作流程,獲得當前系統(tǒng)的物理模型。⑵抽象出當前系統(tǒng)的邏輯模型。⑶建立目的系統(tǒng)的邏輯模型。⑷作進一步補充和優(yōu)化。4、E-R圖中包含哪幾種種基本成分?實體(即數(shù)據(jù)對象)、關系和屬性5、聯(lián)系可分為哪幾種類型?一對一聯(lián)系(1∶1),一對多聯(lián)系(1∶N),多對多聯(lián)系(M∶N)6、為什么要進行數(shù)據(jù)結構規(guī)范化?為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異?;騽h除異常,簡化修改數(shù)據(jù)的過程。7、第一范式每個屬性值都必須是原子值,即僅僅是一個簡樸值而不含內部結構。8、第二范式滿足第一范式條件,并且每個非關鍵字屬性都由整個關鍵字決定(而不是由關鍵字的一部分來決定),消除了非關鍵字屬性對關鍵字屬性的部分依賴。9、第三范式符合第二范式的條件,每個非關鍵字屬性都僅由關鍵字決定,并且一個非關鍵字屬性不能僅僅是對另一個非關鍵字屬性的進一步描述(即一個非關鍵字屬性值不依賴于另一個非關鍵字屬性值),消除了非關鍵字屬性對關鍵字屬性的傳遞依賴。10、S-L-C(SNO,SDEPT,SLOC,CNO,G),這里SNO表達學號,SDEPT表達系名,SLOC表達樓號,CNO表達課程號,G表達成績。函數(shù)依賴有:(SNO,CNO)→G;SDEPT→SLOC;SNO→SDEPT,對關系進行規(guī)范化,達成三范式規(guī)定。(1)SC(SNO,CNO,G)和(2)S-D(SNO,SDEPT,)(3)S-L(SDEPT,SLOC)11、狀態(tài)轉換圖狀態(tài)轉換圖(簡稱為狀態(tài)圖)通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉換的事件,來表達系統(tǒng)的行為。提供了行為建模機制。12、層次方框圖層次方框圖用樹形結構的一系列多層次的矩形框描繪數(shù)據(jù)的層次結構。樹形結構的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結構,下面的各層矩形框代表這個數(shù)據(jù)的子集,最底層的各個框代表組成這個數(shù)據(jù)的實際數(shù)據(jù)元素(不能再分割的元素)。13、IPO圖IPO圖是輸入、解決、輸出圖的簡稱,可以方便地描繪輸入數(shù)據(jù)、對數(shù)據(jù)的解決和輸出數(shù)據(jù)之間的關系。14、從哪些方面驗證軟件需求的對的性(1)一致性所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。(2)完整性需求必須是完整的,規(guī)格說明書應當涉及用戶需要的每一個功能或性能。(3)現(xiàn)實性指定的需求應當是用現(xiàn)有的硬件技術和軟件技術基本上可以實現(xiàn)的。對硬件技術的進步可以做些預測,對軟件技術的進步則很難做出預測,只能從現(xiàn)有技術水平出發(fā)判斷需求的現(xiàn)實性。(4)有效性必須證明需求是對的有效的,的確能解決用戶面對的問題??傮w設計1、什么是總體設計?總體設計的任務是什么?總體設計又稱為概要設計或初步設計。擬定系統(tǒng)功能是實現(xiàn)?;救蝿帐?建立軟件系統(tǒng)結構(劃分模塊、定義模塊功能、模塊間的調用關系、定義模塊的接口、評價模塊的質量)、數(shù)據(jù)結構和數(shù)據(jù)庫的設計(數(shù)據(jù)結構設計、概念設計、邏輯設計、物理設計)、編寫概要設計文檔(概要設計說明書、用戶手冊、數(shù)據(jù)庫設計說明書、修訂測試計劃)。2、總體設計分為哪兩個階段?系統(tǒng)設計階段,擬定系統(tǒng)的具體實現(xiàn)方案;結構設計階段,擬定軟件結構。3、總體設計過程涉及幾個環(huán)節(jié)?1.設想供選擇的方案2.選取合理的方案3.推薦最佳方案4.功能分解5.設計軟件結構6.設計數(shù)據(jù)庫7.制定測試計劃8.書寫文檔9.審查和復審4、模塊化是把程序劃提成獨立命名且可獨立訪問的模塊,每個模塊完畢一個子功能,把這些模塊集成起來構成一個整體,可以完畢指定的功能滿足用戶的需求。5、模塊化的優(yōu)點(1)模塊化使軟件容易測試和調試,因而有助于提高軟件的可靠性。(2)模塊化也有助于軟件開發(fā)工程的組織管理。6、抽象就是抽出事物的本質特性而暫時不考慮它們的細節(jié)。7、抽象化涉及哪些?過程的抽象、數(shù)據(jù)抽象。8、模塊的獨立限度的定性標準度量是什么?好的模塊應滿足什么標準?內聚和耦合;高內聚低耦合。9、什么耦合?模塊間的耦合有哪些?指衡量不同模塊彼此間互相依賴(連接)的緊密限度;有非直接耦合、標記耦合、數(shù)據(jù)耦合、控制耦合、外部耦合、公共耦合和內容耦合。10、非直接耦合假如兩個模塊之間沒有直接關系,它們之間的聯(lián)系完全是通過主模塊的控制和調用來實現(xiàn)的,這就是非直接耦合。這種耦合的模塊獨立性最強。11、標記耦合假如一組模塊通過參數(shù)表傳遞記錄信息,就是標記耦合。這個記錄是某一數(shù)據(jù)結構的子結構,而不是簡樸變量。12、數(shù)據(jù)耦合假如一個模塊訪問另一個模塊時,彼此之間是通過簡樸數(shù)據(jù)參數(shù)(不是控制參數(shù)、公共數(shù)據(jù)結構或外部變量)來互換輸入、輸出信息的,則稱這種耦合為數(shù)據(jù)耦合。13、控制耦合假如一個模塊通過傳送開關、標志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。14、外部耦合一組模塊都訪問同一全局簡樸變量而不是同一全局數(shù)據(jù)結構,并且不是通過參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。15、公共耦合若一組模塊都訪問同一個公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局數(shù)據(jù)結構、共享的通信區(qū)、內存的公共覆蓋區(qū)等。16、內容耦合假如發(fā)生下列情形,兩個模塊之間就發(fā)生了內容耦合?(1)一個模塊直接訪問另一個模塊的內部數(shù)據(jù);?(2)一個模塊不通過正常入口轉到另一模塊內部;?(3)兩個模塊有一部分程序代碼重迭(只也許出現(xiàn)在匯編語言中);

(4)一個模塊有多個入口。17、內聚衡量一個模塊內部各個元素彼此結合的緊密限度。功能內聚,信息內聚,通信內聚,過程內聚,時間內聚,邏輯內聚,巧合內聚。19、功能內聚一個模塊中各個部分都是完畢某一具體功能必不可少的組成部分,或者說該模塊中所有部分都是為了完畢一項具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的。則稱該模塊為功能內聚模塊。20、信息內聚這種模塊完畢多個功能,各個功能都在同一數(shù)據(jù)結構上操作,每一項功能有一個唯一的入口點。這個模塊將根據(jù)不同的規(guī)定,擬定該執(zhí)行哪一個功能。由于這個模塊的所有功能都是基于同一個數(shù)據(jù)結構(符號表),因此,它是一個信息內聚的模塊。21、通信內聚假如一個模塊內各功能部分都使用了相同的輸入數(shù)據(jù),或產生了相同的輸出數(shù)據(jù),則稱之為通信內聚模塊。通常,通信內聚模塊是通過數(shù)據(jù)流圖來定義的。22、過程內聚使用流程圖做為工具設計程序時,把流程圖中的某一部分劃出組成模塊,就得到過程內聚模塊。例如,把流程圖中的循環(huán)部分、鑒定部分、計算部分提成三個模塊,這三個模塊都是過程內聚模塊。23、時間內聚時間內聚又稱為經(jīng)典內聚。這種模塊大多為多功能模塊,但模塊的各個功能的執(zhí)行與時間有關,通常規(guī)定所有功能必須在同一時間段內執(zhí)行。例如初始化模塊和終止模塊。24、邏輯內聚這種模塊把幾種相關的功能組合在一起,每次被調用時,由傳送給模塊的鑒定參數(shù)來擬定該模塊應執(zhí)行哪一種功能。25、巧合內聚巧合內聚又稱為偶爾內聚。當模塊內各部分之間沒有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也很松散,則稱這種模塊為巧合內聚模塊,它是內聚限度最低的模塊。26、扇出是一個模塊直接控制(調用)的模塊數(shù)目。27、扇入一個模塊的扇入表白有多少個上級模塊直接調用它。28、模塊的作用域定義為受該模塊內一個鑒定影響的所有模塊的集合。29、模塊的控制域是這個模塊自身以及所有直接或間接從屬于它的模塊的集合。30、模塊化的優(yōu)點。模塊化使軟件容易測試和調試,因而有助于提高軟件的可靠性,提高軟件的可修改性。模塊化也有助于軟件開發(fā)工程的組織管理。31、逐步求精、分層過程與抽象等概念之間的互相關系如何?“自頂向下,逐步求精”是NiklausWirth提出的設計策略:即將軟件的體系結構按自頂向下方式,對各個層次的過程細節(jié)和數(shù)據(jù)細節(jié)逐層細化,直到用程序設計語言的語句可以實現(xiàn)為止,從而最后確立整個的體系結構。這樣的結構實際就是一個模塊的分層結構,即分層的過程。在實行時,采用抽象化的方法,自頂向下,給出不同的抽象層次。在最高的抽象層次上,可以使用問題所處環(huán)境的語言概括地描述問題的解法。而在較低的抽象層次上,則采用過程化的方法。在描述問題的解法時,我們可以配合使用面向問題的術語和面向現(xiàn)實的術語。但最后在最低的抽象層次上,應使用可以直接實現(xiàn)的方式來描述這個解法。32、什么是軟件結構圖?簡述軟件結構設計優(yōu)化準則。軟件系統(tǒng)的模塊層次結構,反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制體系。準則:高內聚低耦合、作用范圍在控制范圍內、軟件的深度、寬度、扇入、扇出適當、模塊大小適中、接口簡樸清楚易懂。33、什么是模塊的控制范圍和作用范圍?他們的關系如何?控制范圍:是模塊自身和它的下屬模塊的集合。作用范圍:模塊中的一個鑒定影響的所有模塊的集合。作用范圍應當在控制范圍內。33、什么是變換流?什么是事物流?變換流由輸入、變換(或解決)、輸出三部分組成。事物流某個加工將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工途徑,并根據(jù)輸入選擇其中一個途徑來執(zhí)行。34、試述"變換分析"﹑"事物分析"設計環(huán)節(jié)。變換分析設計環(huán)節(jié):⑴擬定變換中心,邏輯輸入和輸出。⑵設計軟件結構的頂層和第一層--變換結構:頂層的功能是完畢所有模塊的控制(名稱應是系統(tǒng)名,以體現(xiàn)完畢整個系統(tǒng)功能)第一層至少有三種功能模塊:輸入﹑輸出和變換模塊⑶設計中﹑下層模塊,對第一層的模塊自頂向下分解。輸入模塊由兩部分組成:接受數(shù)據(jù)﹑轉換成調用模塊所需信息。輸出模塊由兩部分組成:將數(shù)據(jù)轉換成下屬模塊所需的形式﹑發(fā)送數(shù)據(jù)變換模塊:對每個基本加工建立一功能模塊⑷設計的優(yōu)化:輸入部分求精,每個物理輸入設立專門模塊,以體現(xiàn)系統(tǒng)的外部接口。其它輸入模塊與轉換數(shù)據(jù)模塊都很簡樸時,可將它們合并。輸出部分求精:每個物理輸出設立專門模塊,其它也可適當合并。變換部分求精:根據(jù)設計準則,對模塊適當合并。事務分析的設計環(huán)節(jié):⑴擬定事務中心和加工途徑⑵設計頂層(事務機構)和第一層頂層模塊有兩個功能:接受數(shù)據(jù)和根據(jù)事務類型調動相應解決模塊。⑶中下層模塊的設計﹑優(yōu)化工作與變換結構相同。事務型軟件結構涉及兩部分:接受分支發(fā)送分支出通常涉及一調度模塊,當事務類型不多時,可與主模塊合并。35、請將下圖的DFD轉換為軟件結構圖。解:具體設計具體設計的基本任務是什么?有那幾種描述方法?設計模塊的數(shù)據(jù)結構、設計數(shù)據(jù)庫的物理結構、設計模塊的具體算法、其它(代碼設計、輸入/輸出格式設計、人機對話設計)、編寫具體設計說明書、評審。程序流程圖、PAD圖、PDL。2、請使用流程圖、PAD圖和PDL語言描述下列程序的算法。(1)在數(shù)據(jù)A(1)~A(10)中求最大數(shù)和次大數(shù)。PDL語言描述:GET(a[1],a[2],...a[10])max=a[1];max2=a[2];FORi=2TO10IFa[i]>maxmax2=max;max=a[i];ELSEIFa[i]>max2max2=a[i];ENDIFENDIFENDFORPUT(max,max2)END3、輸入三個正整數(shù)作為邊長,判斷該三條邊構成的三角形是等邊、等腰還是一般三角形。使用流程圖、PAD圖和PDL語言描述。解:如圖:

PDL語言描述如下:GET(a,b,c)IF(a+b>candb+c>aandc+a>b)IF(a=b)IF(a=c)PUT("等邊三角形")ELSEPUT("等腰三角形")ENDIFELSEIF(a=c)PUT("等腰三角形")ELSEIF(b=c)PUT("等腰三角形")ELSEPUT("一般三角形")ENDIFENDIFENDIFELSEPUT("這不是一個三角形")ENDIF4、畫出下面用PDL寫出的程序的PAD圖。WHILEPDOIFA>OTHENA1ELSEA2ENDIF;S1;IFB>0THENB1;WHILECDOS2;S3ENDWHILE;ELSEB2ENDIF;B3ENDWHILE;編碼與測試1、軟件測試的目的是什么?軟件測試中,應注意哪些原則?答:軟件測試的目的是為了發(fā)現(xiàn)軟件的錯誤。軟件測試中應注意的原則有:(1)測試用例應由輸入數(shù)據(jù)和預期的輸出數(shù)據(jù)兩部分組成。這樣便于對照檢查,做到有的放矢。(2)測試且例不僅選用合理輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)據(jù)。這樣能更多地發(fā)現(xiàn)錯誤,提高程序的可靠性。對于不合理的輸入數(shù)據(jù),程序應拒絕接受,并給出相應的提醒。(3)除了檢查程序是否做了它應當做的事,還應當檢查程序是否做了它不應當做的事。(4)應制定測試計劃并嚴格執(zhí)行,排除隨意性。(5)長期保存測試用例。(6)對發(fā)現(xiàn)錯誤較多的程序段,應進行更進一步的測試。(7)程序員應避免測試自己的程序。測試是一種"挑剔性"的行為,心理狀態(tài)是測試自己程序的障礙。2、什么是白盒測試法?有哪些覆蓋標準?試對他們的檢錯能力進行比較?答:白盒法測試法把測試對象看作一個打開的盒子,測試人員須了解程序內部結構和解決過程,以檢查解決過程的細節(jié)為基礎,對程序中盡也許多的邏輯途徑進行測試,檢查內部控制結構和數(shù)據(jù)結構是否有錯,實際的運營狀態(tài)與預期的狀態(tài)是否一致。白盒法有下列幾種覆蓋標準:語句覆蓋:設計若干個測試用例,運營被測程序,使得每一可執(zhí)行語句至少執(zhí)行一次。鑒定覆蓋:設計若干個測試用例,運營被測程序,使得程序中每個判斷的取真分支和取假分支至少經(jīng)歷一次。條件覆蓋:設計若干個測試用例,運營被測程序,使得程序中每個判斷的每個條件的也許取值至少執(zhí)行一次。鑒定/條件覆蓋:設計足夠的測試用例,使得判斷中每個條件的所有也許取值至少執(zhí)行一次,同時每個判斷中的每個條件的也許取值至少執(zhí)行一次。條件組合覆蓋:設計足夠的測試用例,運營被測程序,使得每個判斷的所有也許的條件取值組合至少執(zhí)行一次。途徑覆蓋:設計足夠的測試用例,覆蓋程序中所有也許的途徑。從上到下的覆蓋標準其檢錯能力也從弱到強,其中條件組合發(fā)現(xiàn)錯誤的能力較強,凡滿足其標準的測試用例,也必然滿足前四種覆蓋標準。在實際的邏輯測試中,一般以條件組合覆蓋為主設計測試用例,然后再補充部分用例來達成途徑覆蓋的測試標準。3、什么是黑盒測試法?采用黑盒技術測試用例有哪幾種方法?這些方法各有什么特點?答:黑盒測試法把被測試對象當作是一個黑盒子,測試人員完全不考慮程序的內部結構和解決過程,只在軟件接口處進行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能規(guī)定。采用黑盒技術測試用例的方法有:等價類的劃分、邊界值分析、錯誤推測和因果圖。等價類的劃分:是將輸入數(shù)據(jù)按有效的或無效的(也稱合理的或不合理的)劃提成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試。這樣就把漫無邊跡的隨機測試改為有針對性的等價類測試,用少量有代表性的例子代替大量測試目的相同的例子,能有效地提高測試效率。但這個方法的缺陷是沒有注意選擇某些高效的、可以發(fā)現(xiàn)更多錯誤的測試用例。邊界值分析法:是將測試邊界情況作為重點目的,選取正好等于、剛剛大于和剛剛小于邊界值的測試數(shù)據(jù)。(邊界情況是指輸入等價類和輸入等價類邊界上的情況。)這種方法可以查出更多的錯誤,由于在程序中往往在解決邊界情況時易發(fā)生錯誤。錯誤推測法:是在測試程序時,人們根據(jù)經(jīng)驗或直覺推測程序中也許存在的錯誤,從而有針對性地編寫檢查這些錯誤的測試用例。因果圖:可以有效地檢測輸入條件的各種組合也許會引起的錯誤。它的基本原理是通過畫因果圖,把用自然語言描述的功能說明轉換為鑒定表,最后為鑒定表的每一列設計一個測試用例。這幾種方法都不能提供一組完整的測試用例,在實際測試中應把各種方法結合起來使用。綜合策略:就是聯(lián)合使用上述幾種測試方法,盡也許多地發(fā)現(xiàn)程序中的錯誤。4、軟件測試要通過哪些環(huán)節(jié)?這些測試與軟件開發(fā)各階段之間有什么關系?答:軟件測試要通過的環(huán)節(jié)是:單元測試→集成測試→確認測試→系統(tǒng)測試。單元測試:對源程序中每一個程序單元進行測試,檢查各個模塊是否正的確現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。該階段涉及編碼和具體設計文檔。集成測試:是為了檢查與設計相關的軟件體系結構的有關問題,也就是檢查概要設計是否合理有效。確認測試:重要是檢查已實現(xiàn)的軟件是否滿足需求規(guī)格說明書中擬定了的各種需求。系統(tǒng)測試:是把已確認的軟件與其他系統(tǒng)元素(如硬件、其他支持軟件、數(shù)據(jù)、人工等)結合在一起進行測試。以擬定軟件是否可以支付使用。5、單元測試有哪些內容?測試中采用什么方法?答:單元測試重要針對模塊的以下五個基本特性進行測試:(1)模塊接口(2)局部數(shù)據(jù)結構(3)重要的執(zhí)行途徑(4)錯誤解決(5)邊界條件測試的方法是為被測試模塊編寫驅動模塊和樁模塊來實現(xiàn)被測試單元的可運營。通過驅動模塊來模擬被測試模塊的上級調用模塊,以上級模塊調用被測模塊的格式驅動被測模塊,接受被測模塊的測試結構并輸出。樁模塊則用來代替被測試模塊所調用的模塊。它的作用是返回被測模塊所需的信息。6、什么是集成測試?非漸增式測試與漸增式測試有什么區(qū)別?漸增式測試如何組裝模塊?答:集成測試是指在單元測試的基礎上,將所有模塊按照設計規(guī)定組裝成一個完整的系統(tǒng)進行的測試。非漸增式測試是指一方面對每個模塊分別進行單元測試,再把所有模塊組裝成一個完整的系統(tǒng)進行的測試。而漸增式測試就是逐個把未經(jīng)測試的模塊組裝到已通過測試的模塊上去進行集成測試,每加入一個新模塊進行一次集成測試,反復此過程直到程序組裝完畢。漸增式測試有兩種不同的組裝方法:自頂向下和自底向上結合。兩者區(qū)別是:(1)非漸增式方法把單元測試和集成測試提成兩個不同的階段,前一階段完畢模塊的單元測試,后一階段完畢集成測試。而漸增式測試往往把單元測試和集成測試合在一起,同時完畢。(2)非漸增式需要更多的工作量,由于每個模塊都需要驅動模塊和樁模塊,而漸增式運用已測試過的模塊作為驅動模塊或樁模塊,因此工作量少。(3)漸增式可以較早地發(fā)現(xiàn)接口之間的錯誤,非漸增式最后組裝時才發(fā)現(xiàn)。(4)漸增式有助于排錯,發(fā)生錯誤往往和最近新加入的模塊有關,而非漸增式發(fā)現(xiàn)接口錯誤推遲到最后,很難判斷是哪一部分接口犯錯。(5)漸增式比較徹底,已測試的模塊和新的模塊再測試。(6)漸增式點用時間較多,但非漸增式所需更多的驅動模塊和樁模塊也占用一些時間。(7)非漸增式開始可并行測試所有模塊,能充足運用人力,對測試大型軟件很故意義。7、什么是確認測試?該階段有哪些工作?答:確認測試又稱有效性測試。它的任務是檢查軟件的功能與性能是否與需求規(guī)格說明書中擬定的指標相符合。因而需求說明是確認測試的基礎。確認測試階段有兩項工作:進行確認測試與軟件配置審查。8、調試的目的是什么?調試有哪些技術手段?答:調試則是在進行了成功的測試之后才開始的工作。調試的目的是擬定錯誤的因素和位置,并改正錯誤,因此調試也稱為糾錯(Debug)。調試的技術手段有簡樸的調試方法、歸納法、演繹法和回溯法等。9、將對的答案的編號填入題目空白處:在白盒測試用例中,有語句覆蓋、條件覆蓋、鑒定覆蓋、途徑覆蓋等,其中(A)是最強的覆蓋準則。為了對下圖所示的程序進行覆蓋測試,必須適本地選取測試數(shù)據(jù)。若X,Y是兩個變量,可供選擇的測試數(shù)據(jù)組共有I,II,III,IV四組(如表中給出),則實現(xiàn)語句覆蓋至少應采用的測試數(shù)據(jù)組是(B);實現(xiàn)條件覆蓋至少應采用的測試數(shù)據(jù)組是(C);實現(xiàn)途徑覆蓋至少應采用的測試數(shù)據(jù)組是(D)或(E)??晒┻x擇的答案:A:(1)語句覆蓋(2)條件覆蓋(3)鑒定覆蓋(4)途徑覆蓋B~E:(1)I和II組(2)II和III級(3)III和IV組(4)I和IV組(5)I、II和III組(6)II,III和IV組(7)I,III和IV組(8)I、II和IV組答:A:(4)B:(1)C:(4)D:(5)E:(8)10、請對“鑒定三角形類別”程序算法用等價類劃分和邊界值分析法設計測試用例,并檢查邏輯覆蓋標準。解:先劃分等價類并編號:為合理等價類設計測試用例,對于表中相應的四個合理等價類,用三個測試用例覆蓋。?為每一個不合理等價類設計一個測試用例:?用邊界值法設計測試用例:11、某“調整工資”解決模塊接受一個“職稱”的變量,根據(jù)職稱的不同(助教,講師,副專家,專家)作不同的解決,其中若是助教還必須輸入工齡,只有工齡超過兩年才干調整工資。請用等價類劃分法設計測。1.劃分等價類:計測試用例:第七章HYPERLINK""\t"_blank"軟件維護1、軟件維護有哪些內容?答:(1)校正性維護。在軟件交付使用后,一些隱含的錯誤在某些特定的使用環(huán)境下會暴露出來。為了辨認和糾正錯誤,修改軟件性能上的缺陷,應進行擬定和修改錯誤的過程,這個過程就稱為校正性維護。(2)適應性維護。為了使應用軟件適應計算機硬件、軟件環(huán)境及數(shù)據(jù)環(huán)境的不斷發(fā)生的變化而修改軟件的過程稱為適應性維護。(3)完善性維護。為增長軟件功能、增強軟件性能、提高軟件運營效率而進行的維護活動稱為完善性維護。(4)防止性維護。為了提高軟件的可維護性和可靠性而對軟件進行的修改稱為防止性維護。2、軟件維護的特點是什么?答:重要體現(xiàn)在三個方面:(1)非結構化維護和結構化維護。軟件的開發(fā)過程對軟件的維護有很大的影響。若不采用軟件工程的方法開發(fā)軟件,則軟件只有程序而無文檔,維護工作非常困難,這是一種非結構化的維護。若采用軟

溫馨提示

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

評論

0/150

提交評論