《軟件工程》11套考試復(fù)習(xí)練習(xí)題、作業(yè)題(含答案)_第1頁
《軟件工程》11套考試復(fù)習(xí)練習(xí)題、作業(yè)題(含答案)_第2頁
《軟件工程》11套考試復(fù)習(xí)練習(xí)題、作業(yè)題(含答案)_第3頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

*精*作業(yè)1:1.軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括(A)、( B )及( C )的完整集合。其中,(A)是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列。( B )是使程序能夠正確操縱信息的數(shù)據(jù)結(jié)構(gòu)。( C )是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文材料。供選擇的答案:AC. 軟件程序代碼硬件文檔外設(shè)數(shù)據(jù)圖表2. 開發(fā)軟件時對提高軟件開發(fā)人員工作效率至關(guān)重要的是(A)。軟件工程中描述生存周期的瀑布模型一般包括計劃、( B )、設(shè)計、編碼、測試、維護(hù)等幾個階段,其中設(shè)計階段在管理上又可以依次分成( C )和( D )兩步。供選擇的答案:A程序開發(fā)環(huán)境操作系統(tǒng)的資源管理功能程序人員數(shù)量計算機(jī)的并行處理能力B需求分析需求調(diào)查可行性分析問題定義C、D方案設(shè)計代碼設(shè)計概要設(shè)計數(shù)據(jù)設(shè)計運行設(shè)計詳細(xì)設(shè)計故障處理設(shè)計軟件體系結(jié)構(gòu)設(shè)計3. 從供選擇的答案中選出適當(dāng)字句填入下列關(guān)于軟件發(fā)展過程的敘述中的( )內(nèi)。有人將軟件的發(fā)展過程劃分為4個階段:第一階段(19501950年代末)稱為“程序設(shè)計的原始時期”,這時既沒有(A),也沒有( B ),程序員只能用機(jī)器指令編寫程序。第二階段(1950年代末1960年代末)稱為“基本軟件期”。出現(xiàn)了(A),并逐漸普及。隨著( B )的發(fā)展,編譯技術(shù)也有較大的發(fā)展。第三階段(1960年代末1970年代中期)稱為“程序設(shè)計方法時代”。這一時期,與硬件費用下降相反,軟件開發(fā)費急劇上升。人們提出了( C )和( D )等程序設(shè)計方法,設(shè)法降低軟件的開發(fā)費用。第四階段(1970年代中期現(xiàn)在)稱為“軟件工程時期”。軟件開發(fā)技術(shù)不再僅僅是程序設(shè)計技術(shù),而是包括了與軟件開發(fā)的各個階段,如( E )、( F )、編碼、單元測試、綜合測試、( G )及其整體有關(guān)的各種管理技術(shù)。供選擇的答案:AD:匯編語言操作系統(tǒng)虛擬存儲器概念高級語言結(jié)構(gòu)式程序設(shè)計數(shù)據(jù)庫概念固件模塊化程序設(shè)計EG:使用和維護(hù)兼容性的確認(rèn)完整性的確認(rèn)設(shè)計需求定義圖象處理4. 軟件工程過程有哪幾個基本過程活動?試說明之。5. 試說明“軟件生存周期”的概念。6. 試論述瀑布模型軟件開發(fā)方法的基本過程。7. 軟件工程是開發(fā)、運行、維護(hù)和修復(fù)軟件的系統(tǒng)化方法,它包含哪些要素?試說明之。8. 軟件工程學(xué)的基本原則有哪些?試說明之。9. 有人說:軟件開發(fā)時,一個錯誤發(fā)現(xiàn)得越晚,為改正它所付出的代價就越大。對否?請解釋你的回答。上機(jī)題1. 假設(shè)需要制造一個帶有四個按鈕和兩個燈泡的盒子并具有以下功能:有四個按鈕輸入,分別稱為B1,B2,B3和B4;有兩個燈泡作為輸出,分別稱為L1和L2; B1是打開電源的按鈕; B4是關(guān)閉電源的按鈕; B2和B3 是操作按鈕;在B1被按下后及B4被按下前,系統(tǒng)應(yīng)稱為電源打開狀態(tài);在B4被按下后及B1被按下前,系統(tǒng)應(yīng)稱為電源關(guān)閉狀態(tài);在電源關(guān)閉狀態(tài)下,B2和B3按鈕不起作用;在電源關(guān)閉狀態(tài)下,燈應(yīng)不亮;從最近一次電源打開狀態(tài)算起,如果B2被按下的次數(shù)比B3被按下的次數(shù)多,L1亮,否則L2亮。任何時候都不能有一個以上的燈泡亮;如果其中的一個燈泡出現(xiàn)故障,另一個燈泡應(yīng)以2秒鐘的間隔閃爍,而不管B2和B3的操作過程。當(dāng)B4按下時,閃爍停止;當(dāng)B1被按下時,閃爍重新開始。當(dāng)故障被排除后閃爍停止,系統(tǒng)恢復(fù)正常狀態(tài)。作業(yè)2:1.雇員類含有計算報酬的行為,利用面向?qū)ο蟮模?),可以使得其子類專職雇員類和兼職雇員類計算報酬的行為有相同名稱,但有不同的計算方法。 A)多態(tài)性 B)繼承性 C)封裝性 D)復(fù)用性2.下面關(guān)于UML敘述正確的是( )。 A)UML是一種建模語言,使用者不能對其擴(kuò)展 B)UML僅適用于系統(tǒng)的分析和設(shè)計階段C)UML是獨立于軟件開發(fā)過程的 D)UML僅是一組圖形的集合3. 某公司欲開發(fā)一個在線交易系統(tǒng),為了能夠精確表達(dá)用戶于系統(tǒng)的負(fù)責(zé)交互過程,應(yīng)采用UML的( )進(jìn)行交互過程建模。A)序列圖 B)用例圖 C)活動圖 D)對象圖4如果對銀行ATM的常用功能進(jìn)行建模,包括取款、存款、轉(zhuǎn)賬、查詢等,可以用( )來表示該系統(tǒng)的功能需求。A)序列圖 B)用例圖 C)活動圖 D)對象圖5你認(rèn)為一個系統(tǒng)分析員的理想訓(xùn)練和基礎(chǔ)知識是什么?請說明理由。6. 可行性研究主要研究哪些問題?試說明之。上機(jī)題1一家公司有許多部門,部門名唯一地確定一個部門;每個部門由一名經(jīng)理管理,也有的經(jīng)理并不管理任何一個部門;每個部門生產(chǎn)多種產(chǎn)品,每種產(chǎn)品僅由一個部門生產(chǎn)。該公司有許多名員工為之工作,員工又進(jìn)一步劃分為經(jīng)理和工人兩類。每名工人可參加多個工程項目,每個項目需要多名工人;每位經(jīng)理可以主持多個項目,每個項目僅有一人主持。使用對象模型描述類對象所具有的屬性,以及公司類對象提供的服務(wù)。2建立一個圖書館系統(tǒng)的用例視圖作業(yè)3:1軟件需求分析階段的工作,可以分為以下4個方面:對問題的識別、分析與綜合、編寫需求分析文檔以及( )。供選擇的答案:A. 總結(jié)B.階段性報告C. 需求分析評審D.以上答案都不正確2各種分析方法都有它們共同適用的( )。供選擇的答案:A說明方法B描述方式C.準(zhǔn)則D基本原則3軟件需求分析的任務(wù)不應(yīng)包括(A)。進(jìn)行需求分析可使用多種工具,但( B )是不適用的。在需求分析中,分析員要從用戶那里解決的最重要的問題是( C )。需求規(guī)格說明書的內(nèi)容不應(yīng)當(dāng)包括( D )。該文檔在軟件開發(fā)中具有重要的作用,但其作用不應(yīng)當(dāng)包括( E )。供選擇的答案:A.問題分析信息域分析結(jié)構(gòu)化程序設(shè)計確定邏輯模型 B.數(shù)據(jù)流圖判定表 PAD圖數(shù)據(jù)詞典 C.要讓軟件做什么要給該軟件提供哪些信息要求軟件工作效率如何要讓軟件具有什么樣的結(jié)構(gòu) D.對重要功能的描述對算法的詳細(xì)過程性描述軟件確認(rèn)準(zhǔn)則軟件的性能 E.軟件設(shè)計的依據(jù)用戶和開發(fā)人員對軟件要“做什么”的共同理解軟件驗收的依據(jù)軟件可行性分析的依據(jù)4原型化方法是用戶和軟件開發(fā)人員之間進(jìn)行的一種交互過程,適用于(A)系統(tǒng)。它從用戶界面的開發(fā)入手,首先形成( B ),用戶( C ),并就( D )提出意見,它是一種( E )型的設(shè)計過程。供選擇的答案:A.需求不確定性高的需求確定的管理信息決策支持 B.用戶界面使用手冊用戶界面需求分析說明書系統(tǒng)界面原型完善的用戶界面 C.改進(jìn)用戶界面的設(shè)計閱讀文檔資料模擬用戶界面的運行運行用戶界面原型 D.同意什么和不同意什么使用和不使用哪一種編程語言程序的結(jié)構(gòu)執(zhí)行速度是否滿足要求 E.自外向內(nèi)自頂向下自內(nèi)向外自底向上5在軟件需求分析時,首先建立當(dāng)前系統(tǒng)的物理模型,再根據(jù)物理模型建立當(dāng)前系統(tǒng)的邏輯模型。試問:什么是當(dāng)前系統(tǒng)?當(dāng)前系統(tǒng)的物理模型與邏輯模型有什么差別?6軟件需求分析是軟件工程過程中交換意見最頻繁的步驟。為什么交換意見的途徑會經(jīng)常阻塞?上機(jī)題1建立一個圖書館系統(tǒng)的活動圖2建立一個圖書館系統(tǒng)的順序圖作業(yè)4:1. 需求分析( )。 A. 要回答“軟件必須做什么? B. 可概括為:“理解,分解,表達(dá)”6個字C. 要求編寫需求規(guī)格說明書 D. 以上都對2. 進(jìn)行需求分析可使用多種工具,但( )是不適用的。 A. 數(shù)據(jù)流圖 B. 判定表 C. PAD圖 D. 數(shù)據(jù)字典3. 需求分析階段研究的對象是軟件項目的( )。A. 用戶要求 B. 合理要求 C. 模糊要求 D. 軟件工程師要求4. 數(shù)據(jù)字典的任務(wù)是對于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的數(shù)據(jù)元素,在數(shù)據(jù)字典中作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的( )。 A. 對象 B. 解釋 C. 符號 D. 描述 5. 在數(shù)據(jù)流圖中,有名字及方向的成分是( )。 A. 控制流 B. 信息流 C. 數(shù)據(jù)流 D. 信號流 6. 在數(shù)據(jù)流圖中,不能被計算機(jī)處理的成分是( )。 A. 控制流 B. 結(jié)點 C. 數(shù)據(jù)流 D. 數(shù)據(jù)源/終點 7. 在結(jié)構(gòu)化分析方法中,用以表達(dá)系統(tǒng)內(nèi)部數(shù)據(jù)的運行情況的工具有( )。 A. 數(shù)據(jù)流圖 B. 數(shù)據(jù)字典 C. 結(jié)構(gòu)化英語 D. 判定樹與判定表 8. 軟件需求分析階段的工作,可以分成以下4個方面:對問題的識別、分析與綜合、制定規(guī)格說明以及( )。 A. 總結(jié) B. 實踐性報告C. 需求分析評審 D. 以上答案都不正確 9. 以下說法錯誤的是( )。A. 結(jié)構(gòu)化語言外層中的順序結(jié)構(gòu)是一組祈使語句、選擇語句、重復(fù)語句的順序排列 B. 結(jié)構(gòu)化語言外層中的選擇結(jié)構(gòu)使用IF-THEN-ELSE-ENDIF等關(guān)鍵字 C. 結(jié)構(gòu)化語言的內(nèi)層可以采用祈使語句的自然語臺短語 D. 結(jié)構(gòu)化語言外層中的重復(fù)結(jié)構(gòu)使用CASE-OF-ENDCASE等關(guān)鍵字 10. 結(jié)構(gòu)化分析方法使用的描述工具( )定義了數(shù)據(jù)流圖中每一個圖形元素。 A. 數(shù)據(jù)流圖 B. 數(shù)據(jù)字典 C. 判定表 D. 判定樹 上機(jī)題1我們需研制一個“教育基金會的捐助資金管理系統(tǒng)”的例子來說明數(shù)據(jù)流圖的具體建模方法。要求如下: 由捐助者向基金會提出捐助請求,經(jīng)身份確認(rèn)后被接受,對捐助人進(jìn)行登記并授予捐助證書,捐款存入銀行。 由教育單位提出用款申請,在進(jìn)行相應(yīng)的合法性校驗和核對相應(yīng)的捐款儲備后做出支出。 每月給基金會的理事會一份財政狀況報表,列出本月的收入和支出情況和資金余額。為了搞清系統(tǒng)中的各種關(guān)系,用數(shù)據(jù)流圖的方法進(jìn)行分析和建模。2假設(shè)一家工廠的采購部每天需要一張訂貨報表,報表按零件編號排序,表中列出所有需要再次訂貨的零件。對于每個需要再次訂貨的零件應(yīng)該列出下述數(shù)據(jù):零件編號,零件名稱,訂貨數(shù)量,目前價格,主要供應(yīng)者,次要供應(yīng)者。零件入庫或出庫稱為事務(wù),通過放在倉庫中的CRT終端把事務(wù)報告給訂貨系統(tǒng)。當(dāng)某種零件的庫存數(shù)量少于庫存量臨界值時就應(yīng)該再次訂貨。作業(yè)5:1從下列有關(guān)系統(tǒng)結(jié)構(gòu)圖的敘述中選出正確的敘述。(1) 系統(tǒng)結(jié)構(gòu)圖中反映的是程序中數(shù)據(jù)流的情況。(2)系統(tǒng)結(jié)構(gòu)圖是精確表達(dá)程序結(jié)構(gòu)的圖形表示法。因此,有時也可將系統(tǒng)結(jié)構(gòu)當(dāng)作程序流程圖使用。(3)一個模塊的多個下屬模塊在系統(tǒng)結(jié)構(gòu)圖中所處的左右位置是無關(guān)緊要的。(4)在系統(tǒng)結(jié)構(gòu)圖中,上級模塊與其下屬模塊之間的調(diào)用關(guān)系用有向線段表示。這時,使用斜的線段和水平、垂直的線段具有相同的含義。2軟件的開發(fā)工作經(jīng)過需求分析階段,進(jìn)入(A)以后,就開始著手解決“怎么做”的問題。常用的軟件設(shè)計方法有(B)、(C)、(D)和(E)等方法。供選擇的答案:A B 程序設(shè)計設(shè)計階段總體設(shè)計 定義階段 SD方法 SP方法C.Jackson方法瀑布法快速原型法回溯法D E. LCP(Wanier)方法遞歸法 Parnas方法自下而上修正逐步求精法檢測校正法3軟件設(shè)計中劃分模塊的一個準(zhǔn)則是(A)。兩個模塊之間的耦合方式中,(B)的耦合度最高,(C)的耦合度最低。一個模塊內(nèi)部的聚斂種類中(D)內(nèi)聚的內(nèi)聚度最高,(E)的內(nèi)聚度最低??晒┻x擇的答案:A:低內(nèi)聚低耦合低內(nèi)聚高耦合高內(nèi)聚低耦合高內(nèi)聚高耦合B:數(shù)據(jù)非直接控制內(nèi)容C:數(shù)據(jù)非直接控制內(nèi)容D:偶然邏輯功能過程E:偶然邏輯功能過程4面向數(shù)據(jù)流的設(shè)計方法把()映射成軟件結(jié)構(gòu)。A. 數(shù)據(jù)流 B. 系統(tǒng)結(jié)構(gòu) C. 控制結(jié)構(gòu) D. 信息流5. 在進(jìn)行軟件結(jié)構(gòu)設(shè)計時應(yīng)該遵循的最主要的原理是()。A. 抽象 B. 模塊化 C. 模塊獨立 D. 信息隱藏6. 設(shè)計軟件結(jié)構(gòu)一般不確定()。A. 模塊的功能 B. 模塊的接口C. 模塊內(nèi)的局部數(shù)據(jù)D. 模塊間的調(diào)用關(guān)系7. 變換流的DFD由三部分組成,不屬于其中一部分的是()。A. 事務(wù)中心B. 變換中心C. 輸入流D. 輸出流8. 詳細(xì)設(shè)計規(guī)格說明通常是使用()手段。A. IPO圖與層次圖B. HIPO C. IPO或PDL D. HIPO或PDL 9. Jackson方法主要適用于規(guī)模適中的()系統(tǒng)的開發(fā)。A. 數(shù)據(jù)處理B. 文字處理C. 實時控制D. 科學(xué)計算10. 軟件詳細(xì)設(shè)計主要采用的方法是()。A. 結(jié)構(gòu)程序設(shè)計B. 模型設(shè)計C. 結(jié)構(gòu)化設(shè)計D. 流程圖設(shè)計11如何理解模塊獨立性?用什么指標(biāo)來衡量模塊獨立性?12模塊獨立性與信息隱蔽(反映模塊化有效程度的屬性)有何關(guān)系?上機(jī)題1某培訓(xùn)中心要研制一個計算機(jī)管理系統(tǒng)。它的業(yè)務(wù)是:將學(xué)員發(fā)來的信件收集分類后,按幾種不同的情況處理。如果是報名的,則將報名數(shù)據(jù)送給負(fù)責(zé)報名事務(wù)的職員,他們將查閱課程文件,檢查該課程是否額滿,然后在學(xué)生文件、課程文件上登記,并開出報告單交予財務(wù)部門,財務(wù)人員開出發(fā)票給學(xué)生。如果是想注銷原來已選修的課程,則由注銷人員在課程文件、學(xué)生文件和賬目文件下做相應(yīng)的修改,并給學(xué)生注銷單。如果是付款的,則由財務(wù)人員在賬目文件上登記,也給學(xué)生一張收費收據(jù)。要求:試根據(jù)要求畫出該系統(tǒng)的數(shù)據(jù)流程圖,并將其轉(zhuǎn)換為軟件結(jié)構(gòu)圖。2現(xiàn)為某銀行開發(fā)個計算機(jī)儲蓄管理系統(tǒng)。要求系統(tǒng)能夠完成:將儲戶填寫的存款單或取款單輸入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,同時要求儲戶輸入口令,并打印出存款單給儲戶;如果是取款,則系統(tǒng)首先要求儲戶輸入口令,儲戶身份確認(rèn)后,系統(tǒng)計算結(jié)算清單給儲戶,結(jié)算清單中的信息包括本息金額和利息金額。試根據(jù)要求畫出該系統(tǒng)的數(shù)據(jù)流程圖,并將其轉(zhuǎn)換為軟件結(jié)構(gòu)圖。作業(yè)6:1. 軟件設(shè)計一般分為總體設(shè)計和詳細(xì)設(shè)計,它們之間的關(guān)系是()。A. 全局和局部 B. 抽象和具體 C. 總體和層次 D. 功能和結(jié)構(gòu)2. 軟件結(jié)構(gòu)使用的圖形工具,一般采用()圖。A. DFD B. PAD C. SC D. E-R 3. 下列中屬于軟件設(shè)計的基本原理的是()。A. 數(shù)據(jù)流分析設(shè)計 B. 變換流分析設(shè)計 C. 事務(wù)流分析設(shè)計 D. 模塊化4. 在軟件結(jié)構(gòu)的后處理中,下列說法錯誤的是()。A. 為模塊寫的處理說明及接口說明可采用IPO圖B. 數(shù)據(jù)結(jié)構(gòu)的描述可用Warnier圖或Jackson圖C. 給出設(shè)計約束或限制。如數(shù)據(jù)的邊界值、數(shù)據(jù)類型、格式、內(nèi)存容量及時間的限制D. 在概要設(shè)計評審中,應(yīng)著重評審軟件需求是否得到滿足及軟件結(jié)構(gòu)的質(zhì)量等E. 設(shè)計的優(yōu)化工作主要放在軟件結(jié)構(gòu)設(shè)計的后處理階段5. 在分層數(shù)據(jù)流圖映射成軟件結(jié)構(gòu)的設(shè)計中,下列說法錯誤的是()。A. 分層的數(shù)據(jù)流圖映射成軟件結(jié)構(gòu)圖也應(yīng)該是分層的B. 軟件結(jié)構(gòu)圖的物理輸入與輸出部分放在主圖中較為合適C. 分層DFD圖的映射方法:主圖是變換型,子圖是事務(wù)型;或主圖是事務(wù)型,子圖是變換型D. 變換型通常用于高層數(shù)據(jù)流圖的轉(zhuǎn)換,而事務(wù)型通常用于較低層數(shù)據(jù)流圖的轉(zhuǎn)換6. 軟件設(shè)計階段一般又可分為()。A. 邏輯設(shè)計與功能設(shè)計 B. 概要設(shè)計與詳細(xì)設(shè)計C. 概念設(shè)計與物理設(shè)計 D. 模型設(shè)計與程序設(shè)計7. 結(jié)構(gòu)圖中,不是其主要成分的是()。A. 模塊 B. 模塊間傳遞的數(shù)據(jù)C. 模塊內(nèi)部數(shù)據(jù) D. 模塊的控制關(guān)系8. 好的軟件結(jié)構(gòu)應(yīng)該是()。A. 高耦合、高內(nèi)聚 B. 低耦合、高內(nèi)聚 C. 高耦合、低內(nèi)聚 D. 低耦合、低內(nèi)聚9. 結(jié)構(gòu)分析方法就是面向()自頂向下逐步求精進(jìn)行需求分析的方法。A. 目標(biāo) B. 數(shù)據(jù)流 C. 功能 D. 對象10. 程序內(nèi)部的各個部分之間存在的聯(lián)系,用結(jié)構(gòu)圖表達(dá)時,最關(guān)心的是模塊的內(nèi)聚性和()。A. 獨立性 B. 有效性 C. 耦合性 D. 安全性11. 程序內(nèi)部的各個部分之間存在的聯(lián)系,用結(jié)構(gòu)圖表達(dá)時,最關(guān)心的是模塊的()和耦合性。A. 一致性 B. 作用域 C. 嵌套限制 D. 內(nèi)聚性12. 軟件設(shè)計中劃分通常遵循的原則是要使模塊間的耦合性盡可能()。A. 強(qiáng) B. 弱 C. 較強(qiáng) D. 適中13. 對象模型的描述工具是()。A. 狀態(tài)圖B. 數(shù)據(jù)流圖C. 對象圖D. 結(jié)構(gòu)圖14. 面向?qū)ο蠓椒▽W(xué)的出發(fā)點和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計和實現(xiàn)一個軟件系統(tǒng)的方法和過程,盡可能接近于人類認(rèn)識世界解決問題的方法和過程,因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對象組成的;();對象彼此間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。A. 開發(fā)過程基于功能分析和功能分解B. 強(qiáng)調(diào)需求分析的乖要性C. 把對象劃分成類,每個對象類都定義一組數(shù)據(jù)和方法D. 對即存類進(jìn)行調(diào)整15. 每個對象可用它自己的一組屬性和它可以執(zhí)行的組()來表現(xiàn)。A. 行為B. 功能C. 操作D. 數(shù)據(jù)16. 面向?qū)ο筌浖夹g(shù)的許多強(qiáng)有力的功能和突出的優(yōu)點,都來源于把類組織成一個層次結(jié)構(gòu)的系統(tǒng),一個類的上層可以有父類,下層可以有了類,這種層次結(jié)構(gòu)系統(tǒng)的一個重要性質(zhì)是(),一個類獲得其父類的全部描述(數(shù)據(jù)和操作)。A. 傳遞性B. 繼承性C. 復(fù)用性D. 并行性17. 面向?qū)ο蟮闹饕卣鞒龑ο笪ㄒ恍?、封裝、繼承外,還有()。A. 多態(tài)性B. 完整性C. 可移植性D. 兼容性18. 面向?qū)ο箝_發(fā)方法子概念和表示上的致性保證了分析和設(shè)計的()過渡。A. 困難B. 不容易C. 平滑D. 順序19. 動態(tài)模型的描述工具是()。A. 對象圖 B. 結(jié)構(gòu)圖C. 狀態(tài)圖D. 設(shè)計圖20. 表示對象的相互行為的模型是()模型。A. 對象B. 動態(tài)C. 功能D. 靜態(tài)21. PAD圖的特點是什么?22. 用PDL表示的程序結(jié)構(gòu)一般有哪幾種?上機(jī)題1某圖書出版公司希望每月定期向固定客戶郵寄最近一個月的圖書分類目錄。客戶可在其收到的目錄上圈定自己要買的書。出版公司按照客戶的反饋信息郵寄圖書。要求為出版公司設(shè)計軟件,以實現(xiàn)以下功能:自動生成圖書分類目錄。自動處理客戶反饋信息。試用面向數(shù)據(jù)流的方法給出系統(tǒng)的數(shù)據(jù)流圖,并設(shè)計出軟件結(jié)構(gòu)圖。2圖書館的預(yù)定圖書子系統(tǒng)有如下功能:由供書部門提供書目給訂購組。訂購組從各單位取得要訂的書目。根據(jù)供書目錄和訂書書目產(chǎn)生訂書文檔留底。將訂書信息(包括數(shù)目,數(shù)量等)反饋給供書單位。將未訂書目通知給訂書者。對于重復(fù)訂購的書目由系統(tǒng)自動檢查,并把結(jié)果反饋給訂書者。試根據(jù)要求畫出該問題的數(shù)據(jù)流程圖,并把其轉(zhuǎn)換為軟件結(jié)構(gòu)圖。3. 輸入卡片分析程序一疊輸入卡片,按內(nèi)容可分為K1、K2、K3三類,卡片疊排列規(guī)則是以K1開始,K2卡終止。啟始卡之前屬前置部分,不許有K1卡片,啟始卡與終止卡之間為分批部分,不許有K2卡。 K1卡張數(shù)=C K3卡批數(shù)=DK3K2K2 K3K1K1K1K3K3K1K1K3K1K1 K2終了卡前置部分非K1卡張數(shù)=A起始卡前置部分非K1卡張數(shù)=A圖示:輸入卡片的一種可能的排列試用Jackson方法編寫一程序,要求能依次完成下列工作:統(tǒng)計起始卡以前的卡片張數(shù),存入A;打印起始卡的內(nèi)容;統(tǒng)計起始卡以后出現(xiàn)的K1卡和K3卡總批數(shù),存入B;統(tǒng)計起始卡以后出現(xiàn)的K1卡的張數(shù),存入C;統(tǒng)計起始卡以后出現(xiàn)的K3卡的批數(shù),存入D;打印終了卡的內(nèi)容;打印A,B,C,D 4個統(tǒng)計值。作業(yè)7:1. 下面是兩個程序流程圖,試分別用N-S圖和PAD表示之,并計算它們的McCabe復(fù)雜性度量。STARTAQBFPSTARTTENDAFBFPFTENDQTT2. 從下列關(guān)于模塊化程序設(shè)計的敘述中選出5條正確的敘述。 程序設(shè)計比較方便,但比較難以維護(hù)。 便于由多個人分工編制大型程序。 軟件的功能便于擴(kuò)充。 程序易于理解,也便于排錯。 在主存儲器能夠容納得下的前提下,應(yīng)使模塊盡可能大,以便減少模塊的個數(shù)。 模塊之間的接口叫做數(shù)據(jù)文件。 只要模塊之間的接口關(guān)系不變,各模塊內(nèi)部實現(xiàn)細(xì)節(jié)的修改將不會影響別的模塊。 模塊間的單向調(diào)用關(guān)系叫做模塊的層次結(jié)構(gòu)。 模塊越小,模塊化的優(yōu)點越明顯。一般來說,模塊的大小都在10行以下。3. 從供選擇的答案中選出應(yīng)該填入下面()中的正確答案。A. 匯編程序是指()。用匯編語言寫的程序符號程序匯編語言的處理程序B. 為了實現(xiàn)遞歸子程序的正確調(diào)用,人們必須用 ( ) 來保存 ( ) 及有關(guān)信息。堆棧線性表隊列樹入口點返回地址斷點 C. UNIX操作系統(tǒng)是()研制的,它是用程序語言()書寫實現(xiàn)的。 Bell實驗室 DEC公司 IBM公司PASCAL并發(fā)PASCAL MODULA C4. 下面給出一個求實函數(shù)方程F(x)在自變量區(qū)間a, b中的全部實根的算法。首先閱讀此程序,然后(1) 畫出消去全部goto語句的結(jié)構(gòu)化程序流程圖。(2) 將它改成N_S圖。(3) 計算該程序的McCabe復(fù)雜性度量。在算法中,a與b是區(qū)間a, b的兩端點值;eps1與eps2是用戶要求的求解精度。如果區(qū)間中點的函數(shù)值的絕對值小于eps1或新的小區(qū)間的長度小于eps2,就認(rèn)為這個中點為根。float BinRoot ( floata,float b, floateps1, floateps2 ) float low= a, high = b, mid,fmid; float flow = Func(low), fhigh := Func(high); label L1, L2, L3;/標(biāo)號說明,給定某些程序地址if ( flow * fhigh 0.0 ) BinRoot = 0;goto L3; /無實根L1:mid = (low + high) / 2;fmid = Func(mid);if ( abs ( fmid ) = eps1 ) L2:BinRoot = mid; goto L3; else if ( high - mid 0.0 ) low = mid;flow = fmid; goto L1; else high = mid; goto L1;L3: 5. 軟件復(fù)雜性有哪幾類?軟件復(fù)雜性度量模型應(yīng)遵循哪些基本原則?上機(jī)題1設(shè)在閉區(qū)間a.b上函數(shù)F(X) 有唯一的一個零點,如下圖所示。下面給出一個用C語言寫出的程序段,用二分法求方程F(X)0在區(qū)間 a.b 中的根。程序段中X0、X1是當(dāng)前求根區(qū)間 X0.X1 的下上界,Xm是該區(qū)間的中點,eps 是一個給定的很小正數(shù),用于迭代收斂的判斷。在程序中采取了用goto語句和標(biāo)號finish控制在循環(huán)中途轉(zhuǎn)出循環(huán)。函數(shù)F(X)曲線程序F0 = F(a); F1 = F(b);if (F0*F1 = 0) X0 = a; X1 = b;for ( i = 1; i = n; i+) Xm = (X0 + X1) / 2; Fm = F(Xm);if (abs(Fm) eps | abs(X1X0)0) X0 = Xm; F0 = Fm; elseX1 = X; finish:printf (“n The root of this equation is %dn”,Xm );這類循環(huán)結(jié)構(gòu)出現(xiàn)了兩個循環(huán)出口。一個是for循環(huán)的正常出口:當(dāng)循環(huán)控制變量i超出了循環(huán)終值n時退出循環(huán);另一個是for循環(huán)的非正常出口:當(dāng)某種條件滿足時,從循環(huán)中間某處轉(zhuǎn)出循環(huán),執(zhí)行循環(huán)后面的語句。它不滿足結(jié)構(gòu)化的要求。試?yán)媒Y(jié)構(gòu)化程序設(shè)計要求的幾種基本控制結(jié)構(gòu),消除其中的goto語句,使得每一個部分都是單入口單出口。作業(yè)8:1. 為了把握軟件開發(fā)各個環(huán)節(jié)的正確性和協(xié)調(diào)性,人們需要進(jìn)行( A )和( B )工作。( A )的目的是想證實在一給定的外部環(huán)境中軟件的邏輯正確性。它包括( C )和( D ),( B )則試圖證明在軟件生存期各個階段,以及階段間的邏輯( E )、( F )和正確性。供選擇的答案: A, B. 操作 確認(rèn) 驗證 測試 調(diào)試 C, D. 用戶的確認(rèn) 需求規(guī)格說明的確認(rèn) 程序的確認(rèn) 測試的確認(rèn)E, F. 可靠性 獨立性 協(xié)調(diào)性 完備性 擴(kuò)充性2. 軟件測試是軟件質(zhì)量保證的主要手段之一,測試的費用已超過( A )的30%以上。因此,提高測試的有效性十分重要?!案弋a(chǎn)”的測試是指( B )。根據(jù)國家標(biāo)準(zhǔn)GB 856688計算機(jī)軟件開發(fā)規(guī)范的規(guī)定,軟件的開發(fā)和維護(hù)劃分為8個階段,其中,單元測試是在( C )階段完成的,集成測試的計劃是在( D )階段制定的,確認(rèn)測試的計劃是在( E )階段制定的。供選擇的答案: A.軟件開發(fā)費用 軟件維護(hù)費用 軟件開發(fā)和維護(hù)費用 軟件研制費用 軟件生存期全部B. 用適量的測試用例運行程序,證明被測程序正確無誤 用適量的測試用例運行程序,證明被測程序符合相應(yīng)的要求 用少量的測試用例運行程序,發(fā)現(xiàn)被測程序盡可能多的錯誤 用少量的測試用例運行程序,糾正被測程序盡可能多的錯誤C E. 可行性研究和計劃 需求分析 概要設(shè)計 詳細(xì)設(shè)計 實現(xiàn) 集成測試 確認(rèn)測試 使用和維護(hù)3.集成測試也叫做( A )或( B )。通常,在( C )的基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成為系統(tǒng)。子系統(tǒng)的集成測試特別稱為( D ),它所做的工作是要找出子系統(tǒng)和系統(tǒng)需求規(guī)格說明之間的( E )。需要考慮的問題是:在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會( F );一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;各個( G )組合起來,能否達(dá)到預(yù)期要求的( H );( I )是否有問題;單個模塊的誤差累積起來是否會放大。供選擇的答案: A D. 單元測試 部件測試 組裝測試 系統(tǒng)測試 確認(rèn)測試 聯(lián)合測試 E I.子功能 丟失 父功能 局部數(shù)據(jù)結(jié)構(gòu) 全局?jǐn)?shù)據(jù)結(jié)構(gòu) 不一致 一致4. 軟件測試可能發(fā)現(xiàn)軟件中的(),但不能證明軟件()。A. 所有錯誤、沒有錯誤B. 錯誤、沒有錯誤C. 邏輯錯誤、沒有錯誤D. 設(shè)計錯誤、沒有錯誤5. 調(diào)用算法是解決問題的關(guān)鍵步驟之一。算法的計算工作量大小和實現(xiàn)算法所需的存儲單元多少,分別稱為計算的(A)和(B)。編寫程序時,(C)和(D)是應(yīng)采納的原則之一。(E)是調(diào)試程序的主要工作之一。供選擇的答案:A、B:可實現(xiàn)性時間復(fù)雜度空間復(fù)雜度困難度計算有效性C:程序的結(jié)構(gòu)化程序越短越好盡可能節(jié)省存儲單元盡可能減少注釋行D:使用有實際意義的名字使用長度短而無實際意義的名字表達(dá)式中盡量少用括號盡量使用簡化了的邏輯表達(dá)式E:調(diào)度證明程序正確人員安排排錯6. 軟件測試是為了檢查出并改正盡可能多的錯誤,不斷提高軟件的(A),一個成功的測試則是發(fā)現(xiàn)了至今未被發(fā)現(xiàn)的(B)的測試。至于軟件維護(hù)則是指(C)。A:功能和效率設(shè)計和技巧質(zhì)量和可靠性質(zhì)量和效能B:因素錯誤規(guī)律問題C:對軟件的改進(jìn)、適應(yīng)、完善維護(hù)正常運行配置新軟件軟件開發(fā)期的一個階段7. 軟件測試的目的是()。A. 證明軟件的正確性B. 找出軟件系統(tǒng)中存在的所有錯誤C. 證明軟件系統(tǒng)中存在錯誤D. 盡可能多地發(fā)現(xiàn)軟件系統(tǒng)中的錯誤8. 從已經(jīng)發(fā)現(xiàn)故障的存在到找到準(zhǔn)確的故障位置并確定故障的性質(zhì),這一過程稱為()。A. 錯誤檢測B. 故障排除C. 調(diào)試D. 測試9. 軟件測試是軟件質(zhì)量保證的主要手段之一,測試的費用己超過()的30%以上,因此提高測試的有效性非常重要。A. 軟件開發(fā)費用B. 軟件維護(hù)費用C. 軟件開發(fā)和維護(hù)費用D. 軟件研制費用10軟件測試是軟件開發(fā)過程中重要和不可缺少的階段,其包含的內(nèi)容和步驟甚多,而測試過程的多種環(huán)節(jié)中基礎(chǔ)的是()。A. 集成測試B. 單元測試C. 系統(tǒng)測試D. 驗收測試上機(jī)題1下面是選擇排序的程序,其中datalist是數(shù)據(jù)表,它有兩個數(shù)據(jù)成員:一是元素類型為Element的數(shù)組V,另一個是數(shù)組大小n。算法中用到兩個操作,一是取某數(shù)組元素Vi的關(guān)鍵碼操作getKey ( ),一是交換兩數(shù)組元素內(nèi)容的操作Swap( ):void SelectSort ( datalist&list ) /對表list.V0到list.Vn-1進(jìn)行排序, n是表當(dāng)前長度。for ( int i=0; ilist.n-1; i+ ) int k = i;/在list.Vi.key到list.Vn-1.key中找具有最小關(guān)鍵碼的對象for ( int j=i+1; jlist.n; j+)if ( list.Vj.getKey ( ) 5 THEN X := 10 ELSE X := 1 ENDIF IF B 10 THEN Y := 20ELSE Y := 2 ENDIF PRINT(X , Y)STOP作業(yè)10:1一個軟件產(chǎn)品開發(fā)完成投入使用后,常常由于各種原因需要對它做適當(dāng)?shù)淖兏?。在軟件的使用過程中,軟件原來的( A )可能不再適應(yīng)用戶的要求,需要進(jìn)行變更;軟件的工作環(huán)境也可能發(fā)生變化,最常見的是配合軟件工作的( B )有變動;還有一種情況是在軟件使用過程中發(fā)現(xiàn)錯誤,需要進(jìn)行修正。通常把軟件交付使用后做的變更稱為( C )。軟件投入使用后的另一項工作是( D ),針對這類軟件實施的軟件工程活動,主要是對其重新實現(xiàn),使其具有更好的( E ),包括軟件重構(gòu)、重寫文檔等。( D )和新的軟件開發(fā)工作的主要差別在于( H )。我們把常規(guī)的軟件開發(fā)稱為( F ),而( G )是從代碼開始推導(dǎo)出設(shè)計或是規(guī)格說明來。供選擇的答案: A, B. 環(huán)境軟件硬件功能和性能要求C, D, F, G. 逆向工程正向工程軟件再工程維護(hù)設(shè)計 E.可靠性可維護(hù)性可移植性可修改性 H.使用的工具不同開發(fā)的過程不同開發(fā)的起點不同要求不同2軟件維護(hù)是軟件生存期的最后一個階段。軟件工程學(xué)針對維護(hù)工作的主要目標(biāo)是提高( A ),降低( B )。軟件的( C )、( D )、( E )是決定軟件可維護(hù)性的基本因素。軟件生存期( F )的工作與軟件可維護(hù)性有密切的關(guān)系。供選擇的答案: A, B. 軟件的生產(chǎn)率文檔軟件的可靠性軟件的可維護(hù)性維護(hù)的代價維護(hù)的效率 C, D, E.可測試性互操作性可理解性可修改性 可復(fù)用性 可管理性 F.編碼階段設(shè)計階段測試階段每個階段3軟件可維護(hù)性是指糾正軟件系統(tǒng)出現(xiàn)的錯誤和缺陷,以及為滿足新的要求進(jìn)行修改,( A )的容易程度。目前廣泛使用7個特性來衡量軟件的可維護(hù)性,其中就有( B )、( C )、( D )。其中,( B )和( D )主要在改正性維護(hù)中側(cè)重應(yīng)用,( C )主要在適應(yīng)性維護(hù)和(E)維護(hù)中側(cè)重應(yīng)用。供選擇的答案: A.維護(hù)擴(kuò)充與壓縮調(diào)整再工程 B D. 安全性可靠性完整性適應(yīng)性可理解性 可使用性 一致性 數(shù)據(jù)無關(guān)性 E.預(yù)防性完善性改正性容錯性4為什么軟件需要維護(hù)?維護(hù)有哪幾種類型?簡述它們的維護(hù)過程。5在軟件維護(hù)的實施過程中,為了正確、有效地修改,需要經(jīng)歷以下3個步驟:( A )、( B )、( C )。( A )是決定維護(hù)成敗和質(zhì)量好壞的關(guān)鍵。( C )包括( D )確認(rèn)、計算機(jī)確認(rèn)和維護(hù)后的( E )。供選擇的答案: A C. 修改程序建立目標(biāo)程序分析和理解程序重新驗證程序驗收程序 D.動態(tài)靜態(tài)人工自動 E.驗證驗收檢驗存檔6從供選擇的答案中選出同下列各敘述關(guān)系最密切的字句。 A.軟件從一個計算機(jī)系統(tǒng)或環(huán)境轉(zhuǎn)移到另一個計算系統(tǒng)或環(huán)境的容易程度。 B.軟件在需要它投入使用時能實現(xiàn)其指定的功能的概率。 C.軟件使不同的系統(tǒng)約束條件和用戶需求得到滿足的容易程度。 D.在規(guī)定的條件下和規(guī)定的一段期間內(nèi),實現(xiàn)所指定的功能的概率。 E. 盡管有不合法的輸入,軟件仍能繼續(xù)正常工作的能力。供選擇的答案:可測試性可理解性可靠性可移植性可使用性兼容性容錯性可修改性可接近性一致性7改錯

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論