




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 77 - / NUMPAGES77軟件工程概述1軟件產(chǎn)品的特性是什么?產(chǎn)品特性: 是一種邏輯產(chǎn)品,與物質(zhì)產(chǎn)品有專門大的區(qū)不。軟件產(chǎn)品的生產(chǎn)要緊是研制,生產(chǎn)成本要緊在開發(fā)和研制,開發(fā)研制完成后,通過復(fù)制就產(chǎn)生了大量軟件產(chǎn)品。軟件產(chǎn)品可不能用壞,不存在磨損,消耗。 生產(chǎn)要緊是腦力勞動,還末完全擺脫手工開發(fā)方式,大部分產(chǎn)品是定做的開發(fā)軟件的費用不斷增加,致使生產(chǎn)成本相當(dāng)昂貴。2軟件生產(chǎn)有幾個時期?各有何特征?程序設(shè)計時代:那個時期生產(chǎn)方式是個體勞動,使用的生產(chǎn)工具是機器語言,匯編語言。程序系統(tǒng)時代:那個時期生產(chǎn)方式是小集團合作生產(chǎn),使用的生產(chǎn)工具是高級語言,開發(fā)方法仍依靠個人技巧,但開始提出結(jié)構(gòu)化
2、方法。軟件工程時代:那個時期生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫開發(fā)工具開發(fā)環(huán)境網(wǎng)絡(luò)分布式面向?qū)ο蠹夹g(shù)來開發(fā)軟件。3什么是軟件危機?要緊表現(xiàn)在哪些方面?軟件開發(fā)技術(shù)的進步未能滿足進展的要求。在軟件開發(fā)中遇到的問題找不到解決的方法,問題積存起來,形態(tài)尖銳的矛盾,導(dǎo)致了軟件危機。表現(xiàn)方面: (1) 用戶對開發(fā)出的軟件專門難中意。(2) 軟件產(chǎn)品的質(zhì)量往往靠不住。 (3) 一般軟件專門難維護。 (4) 軟件生產(chǎn)效率專門低。 (5) 軟件開發(fā)成本越來越大。 (6) 軟件成本與開發(fā)進度難以可能。(7)軟件技術(shù)的進展遠(yuǎn)遠(yuǎn)滿足不了計算機應(yīng)用的普及與深入的需要。4什么是軟件工程?它目標(biāo)和內(nèi)容是什么?軟件工程:確
3、實是用科學(xué)的知識工程和技術(shù)原理來定義,開發(fā),維護軟件的一門學(xué)科。軟件工程的目標(biāo):付出較低開發(fā)成本;達(dá)到要求的功能;取得較好的性能;開發(fā)的軟件易于移植;只需較低的維護費用;能按時完成開發(fā)任務(wù),及時交付使用;開發(fā)的軟件可靠性高。軟件工程的內(nèi)容:研究內(nèi)容包括開發(fā)技術(shù)和開發(fā)治理兩個方面。開發(fā)技術(shù)要緊研究:軟件開發(fā)方法,開發(fā)過程,開發(fā)工具和環(huán)境。開發(fā)治理要緊研究:軟件治理學(xué),軟件經(jīng)濟學(xué),軟件心理學(xué)。5軟件工程面臨的問題是什么?軟件工程需要解決的問題:軟件的費用,可靠性,可維護性,軟件生產(chǎn)率和軟件的重用。6什么是軟件生存周期?它有哪幾個活動?軟件生存周期:一個軟件從提出開發(fā)要求開始直到該軟件報廢為止的整個
4、時期。包括:可行性分析和項目開發(fā)打算,需求分析,概要設(shè)計,詳細(xì)設(shè)計,編碼,測試,維護。7什么是軟件生存周期模型?有哪些要緊模型?生存周期模型:描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。對軟件開發(fā)提供強有力的支持,為開發(fā)過程中的活動提供統(tǒng)一的政策保證,為參與開發(fā)的人員提供關(guān)心和指導(dǎo),是軟件生存周期模型化技術(shù)的基礎(chǔ),也是建立軟件開發(fā)環(huán)境的核心。要緊有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識的模型,變換模型。8什么是軟件開發(fā)方法?有哪些要緊方法?使用早已定義好的技術(shù)集及符號表示適應(yīng)來組織軟件生產(chǎn)的過程。通過使用成功的軟件開發(fā)方法,在規(guī)定的投資和時刻內(nèi),開發(fā)出符合用戶需求的高質(zhì)量的軟件。軟件
5、開發(fā)方法是克服軟件危機的重要方面之一,對軟件工程及軟件包產(chǎn)業(yè)的進展起了不可估量的作用。要緊有:結(jié)構(gòu)化方法,JACKSON方法,維也納開發(fā)方法VDM,面向?qū)ο箝_發(fā)方法。9、軟件工程方法學(xué)包含3個要素分不是什么?分不是:方法、工具和過程。方法是完成軟件開發(fā)的各項任務(wù)的技術(shù)方法,回答“如何樣做”的問題;工具是為運用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。10、什么是軟件過程?為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,規(guī)定了完成各項任務(wù)的工作步驟。在完成開發(fā)任務(wù)時必須進行一些開發(fā)活動,同時使用適當(dāng)?shù)馁Y源
6、,在過程結(jié)束時將把輸入轉(zhuǎn)化為輸出。11、瀑布模型的特點及優(yōu)點?特點:(1)各個時期的順序性和依靠性; (2)劃分邏輯設(shè)計與物理設(shè)計,盡可能推遲程序的物理實現(xiàn); (3)每個時期必須完成規(guī)定的文檔,對其中問題通過復(fù)審及早發(fā)覺,及早解決。優(yōu)點:可強迫開發(fā)人員采納規(guī)范的方法(例如,結(jié)構(gòu)化技術(shù)); 嚴(yán)格地規(guī)定了每個時期必須提交的文檔;要求每個時期交出的所有產(chǎn)品都必須通過質(zhì)量保證小組的認(rèn)真驗證。12、螺旋模型的優(yōu)點?對可選方案和約束條件的強調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個重要目標(biāo);減少了過多測試(白費資金)或測試不足(產(chǎn)品故障多)所帶來的風(fēng)險;在螺旋模型中維護只是模型的另一個周
7、期,在維護和開發(fā)之間并沒有本質(zhì)區(qū)不。螺旋模型要緊適用于內(nèi)部開發(fā)的大規(guī)模軟件項目。項目越大,風(fēng)險也越大,因此,進行風(fēng)險分析的必要性也越大。此外,只有內(nèi)部開發(fā)的項目,才能在風(fēng)險過大時方便地中止項目。13、快速原型的分類、特點及使用策略?分類:探究型、實驗型、進化型 特點:盡快向用戶提供一個可在計算機上運行的目標(biāo)系統(tǒng)的模型,以便使用戶和開發(fā)者在目標(biāo)系統(tǒng)應(yīng)該“做什么”那個問題上盡可能快地達(dá)成共識??焖僭蛻?yīng)該具備的第一個特點是“快速”;快速原型應(yīng)該具備的第二個特點是“容易修改”。原型的“修改試用反饋”過程可能重復(fù)多遍。使用策略:廢棄策略和追加策略。14、軟件工程的目標(biāo)?付出較低開發(fā)成本;達(dá)到要求的功能
8、;取得較好的性能;開發(fā)的軟件易于移植;只需較低的維護費用;能按時完成開發(fā)任務(wù),及時交付使用;開發(fā)的軟件可靠性高。15、軟件開發(fā)技術(shù)要緊研究內(nèi)容?軟件開發(fā)方法,開發(fā)過程,開發(fā)工具和環(huán)境。16、軟件開發(fā)治理要緊研究內(nèi)容?軟件治理學(xué),軟件經(jīng)濟學(xué),軟件心理學(xué)。17、快速原型開發(fā)的步驟?快速開發(fā)、需求、構(gòu)造原形、原形、運行原形、評價原形、修改意見。18、某計算機系統(tǒng)投入使用后、 5年內(nèi)每年可節(jié)約人民幣 2O0O元,假設(shè)系統(tǒng)的投資額為5000元,年利率為 12。試計算投資回收期和純收入??尚行匝芯?、可行性研究的任務(wù)是什么?可行研究的任務(wù):首先需要進行概要的分析研究,初步確定項目的規(guī)模,目標(biāo),約束和限制。
9、分析員再進行簡要的需求分析,抽象出項目的邏輯結(jié)構(gòu),建立邏輯模型。從邏輯模型動身,通過壓縮的設(shè)計,探究出若干種可供選擇的解決方法,對每種解決方法都要研究它的可行性。要緊從四個方面考慮:.技術(shù)可行性:一般要考慮的情況包括 開發(fā)的風(fēng)險即設(shè)計出的系統(tǒng)能否達(dá)到要求的功能和性能;資源的有效性;相關(guān)技術(shù)的進展是否支持;.經(jīng)濟可行性:進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資。.法律可行性:要開發(fā)的項目是否存在任何侵權(quán)問題。(4).治理可行性:運行方式在用戶組織內(nèi)是否可行,現(xiàn)有治理制度人員素養(yǎng)操作方式是否可行。2、可行性研究有哪些步驟?.確定項目規(guī)模和目標(biāo);.研究正在運行的系統(tǒng);收
10、集研究分析現(xiàn)有系統(tǒng)的文檔資料,實地考察系統(tǒng)訪問有關(guān)人員,然后描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖。.建立新系統(tǒng)的高層邏輯模型;使用數(shù)據(jù)流圖和數(shù)據(jù)字典描述數(shù)據(jù)在系統(tǒng)中的流淌和處理情況。 .導(dǎo)出和評價各種方案;導(dǎo)出若干較高層次的物理解決方法,依照技術(shù)可行性經(jīng)濟可行性社會可行性進行評估,得到可行的解決方法。.推舉可行方案;進行成本效益分析,決定該項目是否值得開發(fā),若值得開發(fā)那么解決方案是什么,同時講明該方案可行的緣故和理由。.編寫可行性研究報告;將上述可行性過程的結(jié)果寫成相應(yīng)文檔,即可行性研究報告。3、可行性研究過程包括哪些?1. 復(fù)查系統(tǒng)規(guī)模和目標(biāo)2. 研究目前正在使用的系統(tǒng)3. 導(dǎo)出新系統(tǒng)的高層邏輯模型
11、4. 進一步定義問題5. 導(dǎo)出和評價供選擇的解法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、成本-效益分析可用哪些指標(biāo)進行度量?.投資回收率:通常把建立系統(tǒng)若干年后能取得的收益折算成現(xiàn)在的價值和開發(fā)系統(tǒng)所需的費用進行比較得出投資回收率。.投資回收期:確實是使累計的經(jīng)濟效
12、益等于最初的投資費用所需的時刻。.純收入:整個生存周期之內(nèi)的累計經(jīng)濟效益(折成現(xiàn)在值)與投資之差。7、某圖書治理系統(tǒng)有以下功能: 借書:輸入讀者借書證。系統(tǒng)首先檢查借書證是否有效,若有效,關(guān)于第一次借書的讀者,在借書證上建立檔案。否則,查閱借書文件,檢查該讀者所借圖書是否超過10本,若已達(dá)10,拒借,末達(dá)10本,辦理借書(檢查庫存,修改庫存目錄并將讀者借書情況錄入借書文件。) 還書:從借書文件中讀出與讀者有關(guān)的記錄,查閱所借日期,如超期(3個月)作罰款處理。否則,修改庫存目錄與借書文件。 查詢:通過借書文件,庫存目錄文件查詢讀者情況圖書借閱及庫存情況,打印統(tǒng)計表。 解:8、某銀行的計算機儲蓄系
13、統(tǒng)功能是:將儲戶的存戶填寫的存款單或存款單輸入系統(tǒng),假如是存款,系統(tǒng)記錄存款人姓名住址存款類型存款日期利率等信息,并打印出存款單給儲戶;假如是取款,系統(tǒng)計算清單給儲戶。請用DFD,IDEF0描繪該功能的需求,并建立相應(yīng)數(shù)據(jù)字典。 9、一個考務(wù)處理系統(tǒng)的要求如下,試畫出該系統(tǒng)的數(shù)據(jù)流圖。(1) 對考生送來的報名表進行檢查;(2) 對合格的報名表編好準(zhǔn)考證號碼后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站;(3) 對閱卷站送來的成績表進行檢查,并依照考試中心指定的合格標(biāo)準(zhǔn)審定合格者;(4) 填寫考生通知單(內(nèi)容包含考試成績及合格不合格標(biāo)志),送給考生;(5) 按地區(qū)、年齡、文化程度、職業(yè)、考試
14、級不等進行成績分類統(tǒng)計及試題難度分析,產(chǎn)生統(tǒng)計分析表。(1)頂層數(shù)據(jù)流圖 (2) 第1層數(shù)據(jù)流圖(3) 第2層數(shù)據(jù)流圖 加工1子圖: 加工2子圖10、系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具,表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流淌的情況,11、原型化方法要緊用于解決什么問題?試講明這種方法的要緊優(yōu)缺點。原型化方法要緊用于解決在產(chǎn)品開發(fā)的早期時期需求不確定的問題,用戶、經(jīng)理和其他非技術(shù)項目風(fēng)險承擔(dān)者發(fā)覺在確定和開發(fā)產(chǎn)品時,原型能夠使他們的想象更具體化。 這種方法的要緊優(yōu)點如下:(1)明確并完善需求 原型作為一種需求工具,它初步實現(xiàn)所理解的系統(tǒng)的一部分,用戶對原型的評價能夠指出需求中的許多問題。(2)
15、探究設(shè)計選擇方案 原型作為一種設(shè)計工具,能夠探究不同的用戶界面技術(shù),使系統(tǒng)達(dá)到最佳的可用性,同時能夠評價可能的技術(shù)方案。(3)進展為最終的產(chǎn)品 原型作為一種構(gòu)造工具,是產(chǎn)品最初子集的完整功能實現(xiàn),通過一系列小規(guī)模的開發(fā)循環(huán),你能夠完成整個產(chǎn)品的開發(fā)。(4)這種方法的要緊缺點包括:(1) 用戶看到一個正在運行的原型便以為產(chǎn)品立即完成,他們會要求不再進行產(chǎn)品重建,而只是對原型進行一些修改就交付。由于原型沒有考慮軟件的總體質(zhì)量和可維護性,交付原型往往造成欲速則不達(dá)的情況。(2) 開發(fā)人員為了快速構(gòu)造原型,可能會采納不合適的操作系統(tǒng)或程序設(shè)計語言,也可能使用一些效率低的算法。在一段時刻的開發(fā)之后,他們
16、往往差不多適應(yīng)了這些選擇,因此便在系統(tǒng)中參雜了這些不理想的選擇。 需求分析 1、什么是需求分析?需求分析時期的差不多任務(wù)是什么? 需求分析:開發(fā)人員準(zhǔn)確地理解用戶的要求,進行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的需求規(guī)格講明的過程。 差不多任務(wù): 問題識不:雙方確定對問題的綜合需求,這些需求包括功能需求,性能需求,環(huán)境需求,用戶界面需求。 分析與綜合,導(dǎo)出軟件的邏輯模型 。編寫文檔:包括編寫需求規(guī)格講明書,初步用戶使用手冊,確認(rèn)測試打算,修改完善軟件開發(fā)打算 。2、什么是結(jié)構(gòu)分析方法?該方法使用什么描述工具? 結(jié)構(gòu)化分析:簡稱SA,面向數(shù)據(jù)流進行數(shù)
17、據(jù)分析的方法。采納自頂向下逐層分解的分析策略。頂層抽象地描述整個系統(tǒng),底層具體地畫出系統(tǒng)工程的每個細(xì)節(jié)。中間層則是從抽象到具體的過渡。使用數(shù)據(jù)流圖,數(shù)據(jù)字典,作為描述工具,使用結(jié)構(gòu)化語言,判定表,判定樹描述加工邏輯。3、結(jié)構(gòu)化分析方法通過哪些步驟來實現(xiàn)? 了解當(dāng)前系統(tǒng)的工作流程,獲得當(dāng)前系統(tǒng)的物理模型。 抽象出當(dāng)前系統(tǒng)的邏輯模型。 建立目標(biāo)系統(tǒng)的邏輯模型。 作進一步補充和優(yōu)化。4、E-R圖中包含哪幾種種差不多成分?實體(即數(shù)據(jù)對象)、關(guān)系和屬性5、聯(lián)系可分為哪幾種類型?一對一聯(lián)系(11),一對多聯(lián)系(1N),多對多聯(lián)系(MN)6、為何要進行數(shù)據(jù)結(jié)構(gòu)規(guī)范化?為減少數(shù)據(jù)冗余,幸免出現(xiàn)插入異?;騽h除
18、異常,簡化修改數(shù)據(jù)的過程。7、第一范式每個屬性值都必須是原子值,即僅僅是一個簡單值而不含內(nèi)部結(jié)構(gòu)。8、第二范式滿足第一范式條件,而且每個非關(guān)鍵字屬性都由整個關(guān)鍵字決定(而不是由關(guān)鍵字的一部分來決定),消除了非關(guān)鍵字屬性對關(guān)鍵字屬性的部分依靠。9、第三范式符合第二范式的條件,每個非關(guān)鍵字屬性都僅由關(guān)鍵字決定,而且一個非關(guān)鍵字屬性不能僅僅是對另一個非關(guān)鍵字屬性的進一步描述(即一個非關(guān)鍵字屬性值不依靠于另一個非關(guān)鍵字屬性值),消除了非關(guān)鍵字屬性對關(guān)鍵字屬性的傳遞依靠。10、S-L-C(SNO,SDEPT,SLOC,CNO,G),那個地點SNO表示學(xué)號,SDEPT表示系名,SLOC表示樓號,CNO表示
19、課程號,G表示成績。 函數(shù)依靠有: (SNO,CNO)G; SDEPTSLOC; SNOSDEPT,對關(guān)系進行規(guī)范化,達(dá)到三范式要求。(1)SC(SNO,CNO,G)和 (2)S-D(SNO,SDEPT,) (3) S-L(SDEPT ,SLOC)11、狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖(簡稱為狀態(tài)圖)通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。提供了行為建模機制。12、層次方框圖層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表那個數(shù)據(jù)的子集,最底層的各個框代表組成那個數(shù)據(jù)的實際數(shù)據(jù)元素(不能再分割的
20、元素)。13、IPO圖IPO圖是輸入、處理、輸出圖的簡稱,能夠方便地描繪輸入數(shù)據(jù)、對數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系。14、從哪些方面驗證軟件需求的正確性(1) 一致性所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。(2) 完整性需求必須是完整的,規(guī)格講明書應(yīng)該包括用戶需要的每一個功能或性能。(3) 現(xiàn)實性指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)差不多上能夠?qū)崿F(xiàn)的。對硬件技術(shù)的進步能夠做些預(yù)測,對軟件技術(shù)的進步則專門難做出預(yù)測,只能從現(xiàn)有技術(shù)水平動身推斷需求的現(xiàn)實性。(4) 有效性必須證明需求是正確有效的,確實能解決用戶面對的問題。 總體設(shè)計1、什么是總體設(shè)計?總體設(shè)計的任務(wù)是什么?
21、總體設(shè)計又稱為概要設(shè)計或初步設(shè)計。確定系統(tǒng)功能是實現(xiàn)。差不多任務(wù)是:建立軟件系統(tǒng)結(jié)構(gòu)(劃分模塊、定義模塊功能、模塊間的調(diào)用關(guān)系、定義模塊的接口、評價模塊的質(zhì)量)、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫的設(shè)計(數(shù)據(jù)結(jié)構(gòu)設(shè)計、概念設(shè)計、邏輯設(shè)計、物理設(shè)計)、編寫概要設(shè)計文檔(概要設(shè)計講明書、用戶手冊、數(shù)據(jù)庫設(shè)計講明書、修訂測試打算)。2、總體設(shè)計分為哪兩個時期?系統(tǒng)設(shè)計時期,確定系統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計時期,確定軟件結(jié)構(gòu)。3、總體設(shè)計過程包括幾個步驟?1. 設(shè)想供選擇的方案2. 選取合理的方案3. 推舉最佳方案4. 功能分解5. 設(shè)計軟件結(jié)構(gòu)6. 設(shè)計數(shù)據(jù)庫7. 制定測試打算8. 書寫文檔9. 審查和復(fù)審4、模塊化
22、是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,能夠完成指定的功能滿足用戶的需求。5、模塊化的優(yōu)點 (1)模塊化使軟件容易測試和調(diào)試,因而有助于提高軟件的可靠性。 (2)模塊化也有助于軟件開發(fā)工程的組織治理。6、抽象確實是抽出事物的本質(zhì)特性而臨時不考慮它們的細(xì)節(jié)。7、抽象化包括哪些?過程的抽象 、數(shù)據(jù)抽象。8、模塊的獨立程度的定性標(biāo)準(zhǔn)度量是什么?好的模塊應(yīng)滿足什么標(biāo)準(zhǔn)?內(nèi)聚和耦合;高內(nèi)聚低耦合。9、什么耦合?模塊間的耦合有哪些?指衡量不同模塊彼此間互相依靠(連接)的緊密程度;有非直接耦合、標(biāo)記耦合、數(shù)據(jù)耦合 、操縱耦合 、外部耦合、公共耦合和內(nèi)
23、容耦合 。10、非直接耦合假如兩個模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全是通過主模塊的操縱和調(diào)用來實現(xiàn)的,這確實是非直接耦合。這種耦合的模塊獨立性最強。11、標(biāo)記耦合假如一組模塊通過參數(shù)表傳遞記錄信息,確實是標(biāo)記耦合。那個記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡單變量。12、數(shù)據(jù)耦合假如一個模塊訪問另一個模塊時,彼此之間是通過簡單數(shù)據(jù)參數(shù) (不是操縱參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量) 來交換輸入、輸出信息的,則稱這種耦合為數(shù)據(jù)耦合。13、操縱耦合假如一個模塊通過傳送開關(guān)、標(biāo)志、名字等操縱信息,明顯地操縱選擇另一模塊的功能,確實是操縱耦合。14、外部耦合一組模塊都訪問同一全局簡單變量而不是同一全局?jǐn)?shù)據(jù)
24、結(jié)構(gòu),而且不是通過參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。15、公共耦合若一組模塊都訪問同一個公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境能夠是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。16、內(nèi)容耦合假如發(fā)生下列情形,兩個模塊之間就發(fā)生了內(nèi)容耦合 (1) 一個模塊直接訪問另一個模塊的內(nèi)部數(shù)據(jù); (2) 一個模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部; (3) 兩個模塊有一部分程序代碼重迭(只可能出現(xiàn)在匯編語言中); (4) 一個模塊有多個入口。17、內(nèi)聚衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度。功能內(nèi)聚 ,信息內(nèi)聚 ,通信內(nèi)聚 ,過程內(nèi)聚,時刻內(nèi)聚,邏輯內(nèi)聚,巧合內(nèi)聚。1
25、9、功能內(nèi)聚 一個模塊中各個部分差不多上完成某一個體功能必不可少的組成部分,或者講該模塊中所有部分差不多上為了完成一項具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的。則稱該模塊為功能內(nèi)聚模塊。20、信息內(nèi)聚 這種模塊完成多個功能,各個功能都在同一數(shù)據(jù)結(jié)構(gòu)上操作,每一項功能有一個唯一的入口點。那個模塊將依照不同的要求,確定該執(zhí)行哪一個功能。由于那個模塊的所有功能差不多上基于同一個數(shù)據(jù)結(jié)構(gòu)(符號表),因此,它是一個信息內(nèi)聚的模塊。21、通信內(nèi)聚 假如一個模塊內(nèi)各功能部分都使用了相同的輸入數(shù)據(jù),或產(chǎn)生了相同的輸出數(shù)據(jù),則稱之為通信內(nèi)聚模塊。通常,通信內(nèi)聚模塊是通過數(shù)據(jù)流圖來定義的。22、過程內(nèi)聚使用流程圖
26、做為工具設(shè)計程序時,把流程圖中的某一部分劃出組成模塊,就得到過程內(nèi)聚模塊。例如,把流程圖中的循環(huán)部分、判定部分、計算部分分成三個模塊,這三個模塊差不多上過程內(nèi)聚模塊。23、時刻內(nèi)聚時刻內(nèi)聚又稱為經(jīng)典內(nèi)聚。這種模塊大多為多功能模塊,但模塊的各個功能的執(zhí)行與時刻有關(guān),通常要求所有功能必須在同一時刻段內(nèi)執(zhí)行。例如初始化模塊和終止模塊。24、邏輯內(nèi)聚這種模塊把幾種 相關(guān)的功能組合在一起,每次被調(diào)用時,由傳送給模塊的判定參 數(shù)來確定該模塊應(yīng)執(zhí)行哪一種功能。25、巧合內(nèi)聚巧合內(nèi)聚又稱為偶然內(nèi)聚。當(dāng)模塊內(nèi)各部分之間沒有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也專門松散,則稱這種模塊為巧合內(nèi)聚模塊,它是內(nèi)聚程度最低的模
27、塊。26、扇出是一個模塊直接操縱(調(diào)用)的模塊數(shù)目。27、扇入一個模塊的扇入表明有多少個上級模塊直接調(diào)用它。28、模塊的作用域定義為受該模塊內(nèi)一個判定阻礙的所有模塊的集合。29、模塊的操縱域是那個模塊本身以及所有直接或間接從屬于它的模塊的集合。30、模塊化的優(yōu)點。模塊化使軟件容易測試和調(diào)試,因而有助于提高軟件的可靠性,提高軟件的可修改性。模塊化也有助于軟件開發(fā)工程的組織治理。31、逐步求精、分層過程與抽象等概念之間的相互關(guān)系如何?“自頂向下,逐步求精”是Niklaus Wirth提出的設(shè)計策略:立即軟件的體系結(jié)構(gòu)按自頂向下方式,對各個層次的過程細(xì)節(jié)和數(shù)據(jù)細(xì)節(jié)逐層細(xì)化,直到用程序設(shè)計語言的語句能
28、夠?qū)崿F(xiàn)為止,從而最后確立整個的體系結(jié)構(gòu)。如此的結(jié)構(gòu)實際確實是一個模塊的分層結(jié)構(gòu),即分層的過程。在實施時,采納抽象化的方法,自頂向下,給出不同的抽象層次。在最高的抽象層次上,能夠使用問題所處環(huán)境的語言概括地描述問題的解法。而在較低的抽象層次上,則采納過程化的方法。在描述問題的解法時,我們能夠配合使用面向問題的術(shù)語和面向現(xiàn)實的術(shù)語。但最后在最低的抽象層次上,應(yīng)使用能夠直接實現(xiàn)的方式來描述那個解法。32、什么是軟件結(jié)構(gòu)圖?簡述軟件結(jié)構(gòu)設(shè)計優(yōu)化準(zhǔn)則。軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即今后程序的操縱體系。準(zhǔn)則:高內(nèi)聚低耦合、作用范圍在操縱范圍內(nèi)、軟件的深度、寬度、扇入、扇出適當(dāng)、模塊大
29、小適中、接口簡單清晰易明白。33、什么是模塊的操縱范圍和作用范圍?他們的關(guān)系如何?操縱范圍:是模塊本身和它的下屬模塊的集合。作用范圍:模塊中的一個判定阻礙的所有模塊的集合。作用范圍應(yīng)該在操縱范圍內(nèi)。33、什么是變換流?什么是事物流?變換流由輸入、變換(或處理)、輸出三部分組成。事物流某個加工將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,并依照輸入選擇其中一個路徑來執(zhí)行。34、試述變換分析事物分析設(shè)計步驟。變換分析設(shè)計步驟:確定變換中心,邏輯輸入和輸出。 設(shè)計軟件結(jié)構(gòu)的頂層和第一層-變換結(jié)構(gòu):頂層的功能是完成所有模塊的操縱(名稱應(yīng)是系統(tǒng)名,以體現(xiàn)完成整個系統(tǒng)功能) 第一層至少有三種功能模
30、塊:輸入輸出和變換模塊 設(shè)計中下層模塊,對第一層的模塊自頂向下分解。 輸入模塊由兩部分組成:接收數(shù)據(jù)轉(zhuǎn)換成調(diào)用模塊所需信息。 輸出模塊由兩部分組成:將數(shù)據(jù)轉(zhuǎn)換成下屬模塊所需的形式 發(fā)送數(shù)據(jù)變換模塊:對每個差不多加工建立一功能模塊 設(shè)計的優(yōu)化 :輸入部分求精,每個物理輸入設(shè)置專門模塊,以體現(xiàn)系統(tǒng)的外部接口。其它輸入模塊與轉(zhuǎn)換數(shù)據(jù)模塊都專門簡單時,可將它們合并。輸出部分求精:每個物理輸出設(shè)置專門模塊,其它也可適當(dāng)合并。變換部分求精:依照設(shè)計準(zhǔn)則,對模塊適當(dāng)合并。 事務(wù)分析的設(shè)計步驟:確定事務(wù)中心和加工路徑 設(shè)計頂層(事務(wù)機構(gòu))和第一層 頂層模塊有兩個功能:接收數(shù)據(jù)和依照事務(wù)類型調(diào)動相應(yīng)處理模塊。
31、中下層模塊的設(shè)計優(yōu)化工作與變換結(jié)構(gòu)相同。 事務(wù)型軟件結(jié)構(gòu)包括兩部分: 接收分支 發(fā)送分支出 通常包括一調(diào)度模塊,當(dāng)事務(wù)類型不多時,可與主模塊合并 。35、請將下圖的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)圖。解:詳細(xì)設(shè)計詳細(xì)設(shè)計的差不多任務(wù)是什么?有那幾種描述方法?設(shè)計模塊的數(shù)據(jù)結(jié)構(gòu)、設(shè)計數(shù)據(jù)庫的物理結(jié)構(gòu)、設(shè)計模塊的詳細(xì)算法、其它(代碼設(shè)計、輸入/輸出格式設(shè)計、人機對話設(shè)計)、編寫詳細(xì)設(shè)計講明書、評審。程序流程圖、PAD圖、PDL。2、請使用流程圖、PAD圖和PDL語言描述下列程序的算法。(1)在數(shù)據(jù)A(1)A(10)中求最大數(shù)和次大數(shù)。3、輸入三個正整數(shù)作為邊長,推斷該三條邊構(gòu)成的三角形是等邊、等腰依舊一般三角
32、形。使用流程圖、PAD圖和PDL語言描述。解:如圖:4、畫出下面用PDL寫出的程序的PAD圖。WHILE P DO IF A O THEN A1 ELSE A2 ENDIF; S1; IF B0 THEN B1; WHILE C DO S2;S3 ENDWHILE; ELSE B2 ENDIF; B3 ENDWHILE;編碼與測試1、軟件測試的目的是什么?軟件測試中,應(yīng)注意哪些原則?答:軟件測試的目的是為了發(fā)覺軟件的錯誤。軟件測試中應(yīng)注意的原則有:(1)測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分組成。如此便 于對比檢查,做到有的放矢。 (2)測試且例不僅選用合理輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)
33、據(jù)。如此能更多地發(fā)覺錯誤,提高程序的可靠性。關(guān)于不合理的輸入數(shù)據(jù),程序應(yīng)拒絕同意,并給出相應(yīng)的提示。 (3)除了檢查程序是否做了它應(yīng)該做的事,還應(yīng)該檢查程序是否做了它不應(yīng)該做的事。 (4)應(yīng)制定測試打算并嚴(yán)格執(zhí)行,排除隨意性。 (5)長期保留測試用例。 (6)對發(fā)覺錯誤較多的程序段,應(yīng)進行更深入的測試。 (7)程序員應(yīng)幸免測試自己的程序。測試是一種挑剔性的行為,心理狀態(tài)是測試自己程序的障礙。 2、什么是白盒測試法?有哪些覆蓋標(biāo)準(zhǔn)?試對他們的檢錯能力進行比較?答:白盒法測試法把測試對象看作一個打開的盒子,測試人員須了解程序內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細(xì)節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑
34、進行測試,檢驗內(nèi)部操縱結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實際的運行狀態(tài)與預(yù)期的狀態(tài)是否一致。白盒法有下列幾種覆蓋標(biāo)準(zhǔn):語句覆蓋:設(shè)計若干個測試用例,運行被測程序,使得每一可執(zhí)行語句至少執(zhí)行一次。判定覆蓋:設(shè)計若干個測試用例,運行被測程序,使得程序中每個推斷的取真分支和取假分支至少經(jīng)歷一次。條件覆蓋:設(shè)計若干個測試用例,運行被測程序,使得程序中每個推斷的每個條件的可能取值至少執(zhí)行一次。判定/條件覆蓋:設(shè)計足夠的測試用例,使得推斷中每個條件的所有可能取值至少執(zhí)行一次,同時每個推斷中的每個條件的可能取值至少執(zhí)行一次。 條件組合覆蓋:設(shè)計足夠的測試用例,運行被測程序,使得每個推斷的所有可能的條件取值組合至少執(zhí)行
35、一次。路徑覆蓋:設(shè)計足夠的測試用例,覆蓋程序中所有可能的路徑。從上到下的覆蓋標(biāo)準(zhǔn)其檢錯能力也從弱到強,其中條件組合發(fā)覺錯誤的能力較強,凡滿足其標(biāo)準(zhǔn)的測試用例,也必定滿足前四種覆蓋標(biāo)準(zhǔn)。在實際的邏輯測試中,一般以條件組合覆蓋為主設(shè)計測試用例,然后再補充部分用例來達(dá)到路徑覆蓋的測試標(biāo)準(zhǔn)。3、什么是黑盒測試法?采納黑盒技術(shù)測試用例有哪幾種方法?這些方法各有什么特點?答:黑盒測試法把被測試對象看成是一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件接口處進行測試,依據(jù)需求規(guī)格講明書,檢查程序是否滿足功能要求。采納黑盒技術(shù)測試用例的方法有:等價類的劃分、邊界值分析、錯誤推測和因果圖。等價類
36、的劃分:是將輸入數(shù)據(jù)按有效的或無效的(也稱合理的或不合理的)劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試。如此就把漫無邊跡的隨機測試改為有針對性的等價類測試,用少量有代表性的例子代替大量測試目的相同的例子,能有效地提高測試效率。但那個方法的缺點是沒有注意選擇某些高效的、能夠發(fā)覺更多錯誤的測試用例。邊界值分析法:是將測試邊界情況作為重點目標(biāo),選取正好等于、剛剛大于和剛剛小于邊界值的測試數(shù)據(jù)。(邊界情況是指輸入等價類和輸入等價類邊界上的情況。)這種方法能夠查出更多的錯誤,因為在程序中往往在處理邊界情況時易發(fā)生錯誤。錯誤推測法:是在測試程序時,人們依照經(jīng)驗或直覺推測程序中可能存
37、在的錯誤,從而有針對性地編寫檢查這些錯誤的測試用例。因果圖:能夠有效地檢測輸入條件的各種組合可能會引起的錯誤。它的差不多原理是通過畫因果圖,把用自然語言描述的功能講明轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)計一個測試用例。這幾種方法都不能提供一組完整的測試用例,在實際測試中應(yīng)把各種方法結(jié)合起來使用。綜合策略:確實是聯(lián)合使用上述幾種測試方法,盡可能多地發(fā)覺程序中的錯誤。4、軟件測試要通過哪些步驟?這些測試與軟件開發(fā)各時期之間有什么關(guān)系?答:軟件測試要通過的步驟是:單元測試集成測試確認(rèn)測試系統(tǒng)測試。單元測試:對源程序中每一個程序單元進行測試,檢查各個模塊是否正確實現(xiàn)規(guī)定的功能,從而發(fā)覺模塊在編碼中或算
38、法中的錯誤。該時期涉及編碼和詳細(xì)設(shè)計文檔。集成測試:是為了檢查與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問題,也確實是檢查概要設(shè)計是否合理有效。確認(rèn)測試:要緊是檢查已實現(xiàn)的軟件是否滿足需求規(guī)格講明書中確定了的各種需求。系統(tǒng)測試:是把已確認(rèn)的軟件與其他系統(tǒng)元素(如硬件、其他支持軟件、數(shù)據(jù)、人工等)結(jié)合在一起進行測試。以確定軟件是否能夠支付使用。5、單元測試有哪些內(nèi)容?測試中采納什么方法?答:單元測試要緊針對模塊的以下五個差不多特征進行測試:(1)模塊接口 (2)局部數(shù)據(jù)結(jié)構(gòu) (3)重要的執(zhí)行路徑 (4)錯誤處理 (5)邊界條件 測試的方法是為被測試模塊編寫驅(qū)動模塊和樁模塊來實現(xiàn)被測試單元的可運行。通過驅(qū)動模
39、塊來模擬被測試模塊的上級調(diào)用模塊,以上級模塊調(diào)用被測模塊的格式驅(qū)動被測模塊,接收被測模塊的測試結(jié)構(gòu)并輸出。樁模塊則用來代替被測試模塊所調(diào)用的模塊。它的作用是返回被測模塊所需的信息。6、什么是集成測試?非漸增式測試與漸增式測試有什么區(qū)不? 漸增式測試如何組裝模塊?答:集成測試是指在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成一個完整的系統(tǒng)進行的測試。非漸增式測試是指首先對每個模塊分不進行單元測試,再把所有模塊組裝成一個完整的系統(tǒng)進行的測試。而漸增式測試確實是逐個把未經(jīng)測試的模塊組裝到差不多過測試的模塊上去進行集成測試,每加入一個新模塊進行一次集成測試,重復(fù)此過程直到程序組裝完畢。漸增式測試有兩
40、種不同的組裝方法:自頂向下和自底向上結(jié)合。兩者區(qū)不是:(1)非漸增式方法把單元測試和集成測試分成兩個不同的時期,前一時期完成模塊的單元測試,后一時期完成集成測試。而漸增式測試往往把單元測試和集成測試合在一起,同時完成。(2)非漸增式需要更多的工作量,因為每個模塊都需要驅(qū)動模塊和樁模塊,而漸增式利用已測試過的模塊作為驅(qū)動模塊或樁模塊,因此工作量少。(3)漸增式能夠較早地發(fā)覺接口之間的錯誤,非漸增式最后組裝時才發(fā)覺。(4)漸增式有利于排錯,發(fā)生錯誤往往和最近新加入的模塊有關(guān),而非漸增式發(fā)覺接口錯誤推遲到最后,專門難推斷是哪一部分接口出錯。(5)漸增式比較完全,已測試的模塊和新的模塊再測試。(6)漸
41、增式點用時刻較多,但非漸增式所需更多的驅(qū)動模塊和樁模塊也占用一些時刻。(7)非漸增式開始可并行測試所有模塊,能充分利用人力,對測試大型軟件專門有意義。7、什么是確認(rèn)測試?該時期有哪些工作?答:確認(rèn)測試又稱有效性測試。它的任務(wù)是檢查軟件的功能與性能是否與需求規(guī)格講明書中確定的指標(biāo)相符合。因而需求講明是確認(rèn)測試的基礎(chǔ)。確認(rèn)測試時期有兩項工作:進行確認(rèn)測試與軟件配置審查。8、調(diào)試的目的是什么?調(diào)試有哪些技術(shù)手段?答:調(diào)試則是在進行了成功的測試之后才開始的工作。調(diào)試的目的是確定錯誤的緣故和位置,并改正錯誤,因此調(diào)試也稱為糾錯(Debug)。調(diào)試的技術(shù)手段有簡單的調(diào)試方法、歸納法、演繹法和回溯法等。9、
42、將正確答案的編號填入題目空白處:在白盒測試用例中,有語句覆蓋、條件覆蓋、判定覆蓋、路徑覆蓋等,其中(A)是最強的覆蓋準(zhǔn)則。為了對下圖所示的程序進行覆蓋測試,必須適當(dāng)?shù)剡x取測試數(shù)據(jù)。若X,Y是兩個變量,可供選擇的測試數(shù)據(jù)組共有I,II,III,IV四組(如表中給出),則實現(xiàn)語句覆蓋至少應(yīng)采納的測試數(shù)據(jù)組是(B);實現(xiàn)條件覆蓋至少應(yīng)采納的測試數(shù)據(jù)組是(C);實現(xiàn)路徑覆蓋至少應(yīng)采納的測試數(shù)據(jù)組是(D)或(E)??晒┻x擇的答案:A:(1)語句覆蓋 (2)條件覆蓋 (3)判定覆蓋 (4)路徑覆蓋BE:(1)I和II組 (2)II和III級 (3)III和IV組 (4)I和IV組 (5)I、II和III組
43、 (6)II,III和IV組 (7)I,III和IV組 (8)I、II和IV組答:A:(4) B:(1) C:(4) D:(5) E:(8)10、請對“判定三角形類不”程序算法用等價類劃分和邊界值分析法設(shè)計測試用例,并檢查邏輯覆蓋標(biāo)準(zhǔn)。解:先劃分等價類并編號:為合理等價類設(shè)計測試用例,關(guān)于表中對應(yīng)的四個合理等價類,用三個測試用例覆蓋。為每一個不合理等價類設(shè)計一個測試用例:用邊界值法設(shè)計測試用例:11、某“調(diào)整工資”處理模塊同意一個“職稱”的變量,依照職稱的不同(助教,講師,副教授,教授)作不同的處理,其中若是助教還必須輸入工齡,只有工齡超過兩年才能調(diào)整工資。請用等價類劃分法設(shè)計測。1.劃分等價
44、類: 計測試用例:第七章 HYPERLINK http:/51/rjgc/NO00064.htm t _blank 軟件維護1、軟件維護有哪些內(nèi)容? 答:(1)校正性維護。在軟件交付使用后,一些隱含的錯誤在某些特定的使用環(huán)境下會暴露出來。為了識不和糾正錯誤,修改軟件性能上的缺陷,應(yīng)進行確定和修改錯誤的過程,那個過程就稱為校正性維護。 (2)適應(yīng)性維護。為了使應(yīng)用軟件適應(yīng)計算機硬件、軟件環(huán)境及數(shù)據(jù)環(huán)境的不斷發(fā)生的變化而修改軟件的過程稱為適應(yīng)性維護。 (3)完善性維護。為增加軟件功能、增強軟件性能、提高軟件運行效率而進行的維護活動稱為完善性維護。 (4)預(yù)防性維護。為了提高軟件的可維護性和可靠性而
45、對軟件進行的修改稱為預(yù)防性維護。 2、 軟件維護的特點是什么? 答:要緊體現(xiàn)在三個方面: (1) 非結(jié)構(gòu)化維護和結(jié)構(gòu)化維護。軟件的開發(fā)過程對軟件的維護有專門大的阻礙。若不采納軟件工程的方法開發(fā)軟件,則軟件只有程序而無文檔,維護工作特不困難,這是一種非結(jié)構(gòu)化的維護。若采納軟件工程的方法開發(fā)軟件,則各時期都有相應(yīng)的文檔,容易進行維護工作,這是一種結(jié)構(gòu)化的維護。 (2) 維護的困難性。軟件維護的困難性是由于軟件需求分析和開發(fā)方法的缺陷。軟件生存周期中的開發(fā)時期沒有嚴(yán)格而又科學(xué)的治理和規(guī)劃,就會引起軟件運行時的維護困難。(3) 軟件維護的費用。軟件維護的費用在總費用中的比重是在不斷增加的,這是軟件維護
46、有形的代價。另外還有無形的代價,即要占有更多的資源。軟件維護費用增加的占有緣故是軟件維護的生產(chǎn)率特不低。 3、 軟件維護的流程是什么? 答:軟件維護的流程如下:提交維護申請報告、審查申請報告并批準(zhǔn)、運行維護并做詳細(xì)記錄、復(fù)審。 4、 軟件維護的副作用有哪些? 答:維護的副作用有以下三種: (1) 編碼副作用。在使用程序設(shè)計語言修改源代碼時可能引入的錯誤。 (2) 數(shù)據(jù)副作用。在修改數(shù)據(jù)結(jié)構(gòu)時,有可能造成軟件設(shè)計與數(shù)據(jù)結(jié)構(gòu)不匹配,因而導(dǎo)致軟件錯誤。數(shù)據(jù)副作用是修改軟件信息結(jié)構(gòu)導(dǎo)致的結(jié)果。但它能夠通過詳細(xì)的設(shè)計文檔加以操縱。 (3) 文檔副作用。假如對可執(zhí)行軟件的修改沒有反映在文檔中,就會產(chǎn)生文檔
47、副作用。 5、什么是軟件可維護性?可維護性度量的特性是什么?答:軟件可維護性的定義:軟件能夠被理解、校正、適應(yīng)及增強功能的容易程度。軟件的可維護性可用以下七個質(zhì)量特性來衡量,即可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。 6、 提高可維護性的方法有哪些? 答:(1)建立明確的軟件質(zhì)量目標(biāo)。 (2)使用先進的軟件開發(fā)技術(shù)和工具。 (3)建立明確的質(zhì)量保證。 (4)選擇可維護性的程序設(shè)計語言。 (5)改進程序的文檔。 選擇題(每題1分,20 題共20 分)1. 下述哪個選項不是采納瀑布模型的條件( )。 (A)在項目開發(fā)早期需求可能有所變化。(B)低風(fēng)險項目(對目標(biāo)、環(huán)境專門熟
48、悉)。 (C)用戶使用環(huán)境專門穩(wěn)定。 (D)用戶除提出需求以外,專門少參與開發(fā)。2. 下列中不屬于非功能需求的是( )(A)性能要求 (B)數(shù)據(jù)處理要求(C)安全性要求 (D)可靠性要求3. 衡量模塊獨立性的標(biāo)準(zhǔn)是()(A)模塊的抽象程度(B)耦合性和內(nèi)聚性(C)模塊的封裝性 (D)內(nèi)聚的類型4. 設(shè)計軟件時,模塊內(nèi)部最好是( )(A) 時刻內(nèi)聚 (B) 功能內(nèi)聚 (C) 邏輯內(nèi)聚 (D)通信內(nèi)聚5. 下面不屬于軟件設(shè)計原理的是( ) (A) 抽象 (B) 分解 (C) 封裝 (D) 自頂向下6. 在結(jié)構(gòu)化分析方法(SA)中,用E-R圖建立的是系統(tǒng)的()(A)業(yè)務(wù)模型(B)物理模型(C)數(shù)據(jù)模
49、型 (D)功能模型7. 面向?qū)ο箝_發(fā)方法中,靜態(tài)模型使用的建模工具是()(A) 順序圖(B) 狀態(tài)圖 (C) 活動圖 (D) 類圖8. 業(yè)務(wù)模型是開發(fā)方為了理解客戶的業(yè)務(wù)及需求,并與客戶達(dá)成業(yè)務(wù)理解上的共識而建立的模型,以下講法不正確的是( )。A、業(yè)務(wù)模型不需要考慮計算機環(huán)境。B、業(yè)務(wù)模型必須尊重當(dāng)前業(yè)務(wù)的事實。C、用計算機語言描述業(yè)務(wù)模型。D、業(yè)務(wù)模型在建立后需要得到客戶的簽字認(rèn)可。9. 軟件架構(gòu)(概要)設(shè)計的要緊任務(wù)是要確定( )(A) 模塊/構(gòu)件之間的操作細(xì)節(jié) (B) 模塊/構(gòu)件之間的相似性(C) 模塊/構(gòu)件之間的組成關(guān)系 (D) 模塊/構(gòu)件的具體功能10. 下述哪個關(guān)系不是類圖中類和
50、類之間的關(guān)系()。(A)擴展關(guān)系 (B)依靠關(guān)系(C)關(guān)聯(lián)關(guān)系 (D)泛化關(guān)系11. 在下述關(guān)于軟件測試的觀點中,哪個是不準(zhǔn)確的()。(A)測試的目的是證明軟件無錯,(B)在軟件開發(fā)過程中,測試是帶有“破壞性的”。(C)軟件測試是軟件質(zhì)量保障的關(guān)鍵措施。(D)系統(tǒng)軟件測試要緊是為了發(fā)覺Bug12對模塊進行單元測試時,有時需要一個()模塊用來模擬被測模塊的上級調(diào)用模塊。(A) 理解(B) 驅(qū)動 (C) 治理 (D) 樁13 . 若有一個計算類型的程序,它的輸入量只有一個X,其范圍是-1.0,1.0,設(shè)計這組測試用例采納的是黑盒測試中的邊界值方法。下列哪組測試用例是合理的()。(A)-1.0,1.
51、0。(B)-1.0,1.0,1.001。(C)-1.001,-1.0,1.0,1.001。(D)-1.001,-1.0,1.0。14. 有開發(fā)人員或者測試人員在場,客戶在開發(fā)環(huán)境下使用軟件的測試為( )。(A)Alpha測試 (B)Beta測試(C)單元測試 (D)集成測試15. 改正軟件在使用過程中逐漸暴露的缺陷或錯誤的維護工作為( )。(A)糾錯性維護 (B)適應(yīng)性維護(C)完善性維護 (D)預(yù)防性維護16. 軟件維護中,因改變一個數(shù)組的大小而引起的錯誤屬于修改( )副作用。(A)編碼(B)數(shù)據(jù)結(jié)構(gòu)(C)文檔(D)設(shè)計17. CCM的能力成熟度分為5個等級,其中( )級的特征為項目上的經(jīng)驗
52、,能對新項目進行策劃和治理。(A)可重復(fù)級 (B)已定義級(C)已治理級 (D)優(yōu)化級18. 下面哪個選項不屬于軟件配置治理中的三個庫( )(A)軟件開發(fā)庫 (B)軟件文檔庫(C)軟件基線庫 (D)軟件產(chǎn)品庫19. 模塊的( )表示有多少模塊可直接調(diào)用它,它反映了該模塊的復(fù)用(reuse)程度,因此值越大越好。(A)扇入 (B)扇出 (C)寬度 (D)深度20. ( )描述軟件構(gòu)件及構(gòu)件之間的依靠關(guān)系,顯示代碼的靜態(tài)結(jié)構(gòu)。(A)類圖 (B)部件圖 (C)部署圖 (D)對象圖填空題(每空1分,共20 空,共20 分)1軟件是由程序、_、_三部分組成的。2. 功能需求描述_。非功能需求是對解決方案
53、的限制和約束。 3. ER圖中包含了實體(即數(shù)據(jù)對象)、_和_等三種差不多成分。4. _通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。中間狀態(tài)用_表示,包括3部分內(nèi)容,分不為_, _, _。5可使用UML的活動圖來建立業(yè)務(wù)模型中的業(yè)務(wù)用例場景視圖,視圖中的每個“活動”一般是一個_。6按照對象、_、繼承和_ 4個概念設(shè)計和實現(xiàn)的系統(tǒng),稱為是面向?qū)ο蟮摹?7假如在聚攏關(guān)系中處于部分方的對象可同時參與多個處于整體方對象的構(gòu)成,則該聚攏稱為_。8RUP把軟件生命周期定義為四個要緊時期:初始、_、構(gòu)造、_。9.順序圖描述對象之間的動態(tài)交互關(guān)系,著重表現(xiàn)對象間消息傳遞的時刻順序,有兩個坐標(biāo)
54、軸:_表示時刻,_表示不同的對象。10. 軟件質(zhì)量保證措施,應(yīng)以_為主,以_為輔。 三、推斷題(每題1分,共10題,共10 分)1. 軟件等于程序。( )2. 軟件設(shè)計是軟件開發(fā)的核心。( )3面向?qū)ο蟮念悓哟谓Y(jié)構(gòu)中,泛化關(guān)系是一種“一般與專門”關(guān)系。( )4可用性是系統(tǒng)正常運行時刻的概率。( )5軟件生存周期是從某軟件產(chǎn)品開始研發(fā)到軟件不再使用為止的時刻間隔。( )6軟件產(chǎn)品的質(zhì)量要緊取決于產(chǎn)品開發(fā)和維護的軟件過程質(zhì)量。( )7一般來講,程序中存在錯誤的概率與在該段程序中已發(fā)覺的錯誤數(shù)成正比。()8集成系統(tǒng)測試是將集成好的軟件系統(tǒng),作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、某些支
55、持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實際運行環(huán)境下,對系統(tǒng)進行一系列的組裝測試和確認(rèn)測試。( )9類圖是構(gòu)建其他圖的基礎(chǔ),沒有類圖就沒有狀態(tài)圖、協(xié)作圖等其他圖,也就無法表示系統(tǒng)其他方面的特性。( )10易維護、可移植、可重用的軟件確實是高質(zhì)量的軟件。( )四、應(yīng)用題(共50分,第1題和第2題各為20分,第3題10分)、某大學(xué)教務(wù)部打算采納計算機治理學(xué)生選課的過程,以關(guān)心教務(wù)治理人員更快、更好的做好選課治理工作。該選課系統(tǒng)的功能需求如下: 教務(wù)處課程治理人員輸入、修改能夠選擇的課程,公布選課信息。學(xué)生可查詢可選課程的大綱及其授課打算,也可查詢可選課程的授課教師。學(xué)生通過輸入課程號和學(xué)號
56、進行選課。在規(guī)定期限內(nèi),學(xué)生能夠退選已選課程。系統(tǒng)對學(xué)生的選課和退選請求進行可行性治理:(1)對選課請求評估學(xué)生是否滿足學(xué)習(xí)該課程的條件(如年級、專業(yè)、學(xué)費等);評估課程的實現(xiàn)條件(如人數(shù)、地點等);假如均滿足的話,并經(jīng)學(xué)生確認(rèn)后,系統(tǒng)進行選課注冊。(2)對退選請求,假如在規(guī)定期限內(nèi),則進行選課注銷。教師能夠通過選課系統(tǒng)得到選修自己課程的學(xué)生名單。 使用UML建立該選課系統(tǒng)的用例視圖。、設(shè)圖書館治理系統(tǒng)的“借閱子系統(tǒng)”包括的差不多業(yè)務(wù)有:借書、還書、預(yù)約借書等。使用UML建立“借書”的用例場景視圖。差不多業(yè)務(wù)規(guī)則:持有一般借書證的讀者只能借4本中文圖書;持有高級借書證(黃證)的讀者可借6本中、
57、外文圖書;借閱期限:一般借書證為30天,高級借書證為60天。超期罰款。3、使用白盒法,為以下程序流程圖設(shè)計條件覆蓋測試用例并標(biāo)明程序執(zhí)行路徑。選擇題(每題1分,共20 題,共20 分)1. 瀑布模型的要緊缺點是 ( )(A)用戶容易參與開發(fā) (B)過于靈活(C)不能適應(yīng)需求的動態(tài)變更 (D)各個時期需要進行評審2需求分析結(jié)束后的時期產(chǎn)品是()(A)需求規(guī)格講明書SRS(B)數(shù)據(jù)字典DD(C)立項書 (D)用例圖3下列中不屬于非功能需求的是( )(A)性能要求 (B)數(shù)據(jù)處理要求(C)安全性要求 (D)可靠性要求4. 下述哪個不是提取客戶需求時采納的方式:(A)會談 (B)場景 (C)原型 (D
58、)問卷調(diào)查5. 設(shè)計軟件時,模塊之間最好采納( )(A) 數(shù)據(jù)耦合 (B)操縱耦合 (C)內(nèi)容耦合 (D)特征耦合6用順序圖建立的是系統(tǒng)的()(A)業(yè)務(wù)模型(B)動態(tài)模型(C)數(shù)據(jù)模型 (D)功能模型7. 面向?qū)ο箝_發(fā)建模中,靜態(tài)模型可使用的建模工具是()(A) 對象圖(B) 活動圖 (C)狀態(tài)圖 (D) 順序圖8詳細(xì)設(shè)計注重于微觀上和框架內(nèi)的設(shè)計,下列哪個不是詳細(xì)設(shè)計應(yīng)完成的任務(wù)()。(A)存儲過程實現(xiàn)設(shè)計(B)專用模塊實現(xiàn)設(shè)計(C)功能部件分配設(shè)計 (D)公用部件實現(xiàn)設(shè)計9為了提高測試的效率,應(yīng)該()。(A)隨機地選取測試數(shù)據(jù) (B)取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)庫(C)在完成編碼后制定
59、軟件的測試打算(D)選擇發(fā)覺錯誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)10對模塊進行單元測試時,有時需要有一個或幾個()模塊模擬由被測試模塊調(diào)用的模塊。(A)子(B)仿真(C)棧(D)樁11 月收入0)AND(B0) THEN X=A+B ELSE X=A-BENDIFIF(CA)OR(DB) THEN Y=C-D ELSE Y=C+DENDIFPRINT(X,Y)STOP一. 填空題(30分)1. 計算機軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)和_【1】_的完整組合。2. 軟件工程學(xué)是一門研究系統(tǒng)化、_【2】_、_【3】_地進行軟件開發(fā)和開發(fā)過程治理的方法、技術(shù)和原則的學(xué)科。3. 軟
60、件工程技術(shù)有兩個明顯的特點:強調(diào)規(guī)范化和_【4】_。4. 傳統(tǒng)軟件工程和現(xiàn)代軟件工程通常是以_【5】_方法來定界的。5. 軟件工程中描述生存周期的瀑布模型一般包括_【6】_、設(shè)計、實施、測試、維護等幾個時期。6. 螺旋模型結(jié)合了瀑布模型和演化模型的優(yōu)點,最要緊的特點是在于加人了_【7】_。7. 可行性研究是在軟件需求時期應(yīng)該做的情況,要緊包括三個方面的研究:經(jīng)濟可行性、技術(shù)可行性、_【8】_。8. 結(jié)構(gòu)化分析(SA)是一種面向_【9】_的軟件分析方法,適合于開發(fā)數(shù)據(jù)處理類型軟件的需求分析。9. 軟件的開發(fā)工作在進入_【10】_以后,就開始著手解決“如何做”的問題。10. 用戶界面設(shè)計的“黃金原
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 充分準(zhǔn)備的行政組織理論試題及答案
- 西藥批發(fā)企業(yè)客戶關(guān)系管理策略與實施考核試卷
- 嵌入式開發(fā)考試案例解析試題及答案
- 行政組織理論的實踐性分析與2025年試題及答案
- 四級軟件測試職業(yè)生涯規(guī)劃試題及答案
- 軟件測試工程師考試常見問題試題及答案
- 嵌入式系統(tǒng)的故障排除指南試題及答案
- 疾病預(yù)防控制檢測考核試卷
- 油品質(zhì)量分析與檢測技術(shù)考核試卷
- 開發(fā)中的最佳實踐試題及答案
- 幼兒園伙食費管理制度
- 網(wǎng)絡(luò)安全服務(wù)方案
- 【MOOC】森林食品資源學(xué)-南京林業(yè)大學(xué) 中國大學(xué)慕課MOOC答案
- 【MOOC】學(xué)術(shù)英語寫作-東南大學(xué) 中國大學(xué)慕課MOOC答案
- 【MOOC】現(xiàn)代郵政英語(English for Modern Postal Service)-南京郵電大學(xué) 中國大學(xué)慕課MOOC答案
- 巨量千川營銷師(初級)認(rèn)證考試復(fù)習(xí)題庫(含答案)
- 1學(xué)會尊重-《每個人都應(yīng)得到尊重》(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治四年級下冊
- 甘肅省隴南市多校2024-2025學(xué)年上學(xué)期期中檢測七年級數(shù)學(xué)試卷(無答案)
- 教室租賃合同范本教程
- 商用廚房設(shè)備搬遷實施方案
- 執(zhí)業(yè)藥師資格考試試題及答案
評論
0/150
提交評論