軟件工程復習題庫(掛答案)(共13頁)_第1頁
軟件工程復習題庫(掛答案)(共13頁)_第2頁
軟件工程復習題庫(掛答案)(共13頁)_第3頁
軟件工程復習題庫(掛答案)(共13頁)_第4頁
軟件工程復習題庫(掛答案)(共13頁)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上一、選擇題1、 白盒測試法是通過分析程序的(C)來設(shè)計測試用例的。A.應(yīng)用范圍 B.功能C.內(nèi)部邏輯 D.輸入數(shù)據(jù)2、 風險預(yù)測從兩個方面評估風險,即風險發(fā)生的可能性以及(D)。A.風險產(chǎn)生的原因 B.風險監(jiān)控技術(shù)C.風險能否消除 D.風險發(fā)生所產(chǎn)生的后果3、 極限編程(XP)由價值觀、原則、實踐和行為四部分組成,其中價值觀包括溝通、簡單性和(C)。A.好的計劃 B.不斷的發(fā)布C.反饋和勇氣 D.持續(xù)集成4、 等價分類法的關(guān)鍵是(C)。A.確定等價類的邊界條件 B.按照用例來確定等價類C.劃分等價類 D.確定系統(tǒng)中相同和不同的部分5、 下列不屬于黑盒測試的技術(shù)是(A)

2、。A程序段或語句的功能 B模塊的接口C數(shù)據(jù)的名稱和用途 D模塊的功能6、 為了提高模塊的獨立性,模塊之間最好是(D)耦合。A.控制耦合 B.公共耦合C.內(nèi)容耦合 D.數(shù)據(jù)耦合7、 一個軟件開發(fā)過程描述了“誰做”,“做什么”,“怎么做”和“什么時候做”,RUP用(A)來表述“誰做”。A.角色 B.活動C.制品 D.工作流8、 功能性注釋嵌入在源程序內(nèi)部,它是用來說明(A)。A程序段或語句的功能 B模塊的接口C數(shù)據(jù)的名稱和用途 D模塊的功能9、 在結(jié)構(gòu)化分析方法中,數(shù)據(jù)字典是重要的文檔。對加工的描述是數(shù)據(jù)字典的組成內(nèi)容之一,常用的加工描述方法有(  C )。A.只有結(jié)構(gòu)化語言 B有結(jié)構(gòu)化

3、語言和判定樹C有結(jié)構(gòu)化語言、判定樹和判定表 D有判定樹和判定表10、 某銀行為了使其網(wǎng)上銀行系統(tǒng)能夠支持信用卡多幣種付款功能而進行擴充升級,這需要對數(shù)據(jù)類型稍微進行一些改變,這一狀況需要對網(wǎng)上銀行系統(tǒng)進行( B )維護。A正確性 B適應(yīng)性C完善性 D預(yù)防性11、 軟件危機的主要原因是(A)。A軟件本身特點與開發(fā)方法 B對軟件的認識不夠C軟件生產(chǎn)能力不足 D軟件工具落后12、 DFD是常用的進行軟件需求分析的圖形工具,其基本符號是(C)。A輸入、輸出、外部實體和加工B變換、加工、數(shù)據(jù)流和存儲C加工、數(shù)據(jù)流、數(shù)據(jù)存儲和外部實體D變換、數(shù)據(jù)存儲、加工和數(shù)據(jù)流13、 軟件工程管理是對軟件項目的開發(fā)管理

4、。具體地說,就是對整個軟件(A)的一切活動進行管理。A.生存期 B.開發(fā)C.制定計劃 D.項目14、 在面向數(shù)據(jù)流的軟件設(shè)計方法中,一般將信息流分為(  A )。A.變換流和事務(wù)流 B.變換流和控制流C.事務(wù)流和控制流 D.數(shù)據(jù)流和控制流15、 在軟件工程項目中,不隨參與人數(shù)的增加而使軟件生產(chǎn)率增加的主要原因是(D)。A、工作階段間的等待時間 B、 生產(chǎn)原型的復雜性C、 參與人員所需的工作站數(shù) D、參與人員之間的通信困難16、 下面(B)不是軟件的特征。A系統(tǒng)性與復制性 B有形性與可控性 C抽象性與智能性 D依附性與泛域性17、 下列關(guān)于面向?qū)ο蠓治雠c設(shè)計說法錯誤的是(C)。A.面向

5、對象的設(shè)計以面向?qū)ο蠓治鰹榛A(chǔ)歸納出類B.建立類結(jié)構(gòu)或進一步構(gòu)造成類庫,實現(xiàn)分析結(jié)果對問題空間的抽象C.面向?qū)ο蟮脑O(shè)計是面向?qū)ο蠓治龅牧硪环N思維方式D.面向?qū)ο蟮脑O(shè)計是面向?qū)ο蠓治鲞M一步的細化和更高的抽象18、 在軟件的可行性分析中,可以從不同的角度對軟件進行研究,其中(B)是從軟件的功能可行性角度考慮的。A. 經(jīng)濟可行性 B. 技術(shù)可行性 C. 操作可行性 D. 法律可行性19、 下述任務(wù)中,不屬于軟件工程需求分析階段的是(   D ) 。A. 分析軟件系統(tǒng)的數(shù)據(jù)要求B確定軟件系統(tǒng)的功能需求C. 確定軟件系統(tǒng)的性能要求D.確定軟件系統(tǒng)的運行平臺20、 在面向?qū)ο蠓椒ㄖ校?/p>

6、息隱蔽是通過對象的(  C )來實現(xiàn)的。A分類性B繼承性C封裝性D共享性21、 采用面向?qū)ο蠓椒ㄩ_發(fā)軟件的過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫(D)。  A面向?qū)ο鬁y試 B面向?qū)ο髮崿F(xiàn)C面向?qū)ο笤O(shè)計 D面向?qū)ο蠓治?2、 在遵循軟件工程原則開發(fā)軟件過程中,計劃階段應(yīng)該依次完成(B)等步驟。A. 軟件計劃、需求分析、系統(tǒng)定義B. 系統(tǒng)定義、軟件計劃、需求分析C. 需求分析、概要設(shè)計、軟件計劃D. 軟件計劃、需求分析、概要設(shè)計23、 一個項目為了修正一個錯誤而進行了變更,但這個錯誤被修正后,卻引起以前可以正確運行的代碼出錯。(C)測試最有可

7、能發(fā)現(xiàn)這個問題。A單元測試 B接受測試 C回歸測試 D安裝測試24、 從工程管理的角度來看,軟件設(shè)計分( A )兩步完成。A) 概要設(shè)計與詳細設(shè)計 B) 數(shù)據(jù)設(shè)計與接口設(shè)計C) 軟件結(jié)構(gòu)設(shè)計與數(shù)據(jù)設(shè)計D) 過程設(shè)計與數(shù)據(jù)設(shè)計25、 某系統(tǒng)重用了第三方組件(但無法獲得其源代碼),則應(yīng)采用( D )對組件進行測試。A.基本路徑覆蓋 B.分支覆蓋 C.環(huán)路覆蓋 D.黑盒測試26、 在軟件設(shè)計與編碼過程中,采取( C )的做法將使軟件更容易理解和維護。A良好的程序結(jié)構(gòu),有無文檔均可B使用標準或規(guī)定之外的語句C編寫詳細正確的文檔,采用良好的程序結(jié)構(gòu)D盡量減少程序中的注釋27、 軟件維護成本在軟件成本中占

8、較大比重,為降低維護的難度,可采取的措施有( D )。A設(shè)計并實現(xiàn)沒有錯誤的軟件 B限制可修改的范圍 C增加維護人員數(shù)量 D在開發(fā)過程中就采取有利于維護的措施并加強維護管理 28、 (A)是一種面向數(shù)據(jù)流的開發(fā)方法,其基本思想是軟件功能的分解和抽象。A.結(jié)構(gòu)化開發(fā)方法 B.Jackson系統(tǒng)開發(fā)方法C.Booch方法 D.UML(統(tǒng)一建模語言)29、 在人機界面的設(shè)計過程中應(yīng)該考慮下列()情況。30、 測試用例是測試使用的文檔化細則,應(yīng)包括下列( B )內(nèi)容的詳細信息。 測試目標和被測功能。 測試環(huán)境和其他條件。 測試數(shù)據(jù)和測試步驟。 測試記錄和測試結(jié)果。A B C D 31、 ( 螺旋 )模

9、型適合于大型軟件的開發(fā),它吸收了軟件工程“演化”的概念,使得開發(fā)人員和用戶對每個周期出現(xiàn)的風險有所了解,從而做出相應(yīng)的反應(yīng)。32、 軟件測試中,白盒法是通過分析程序的(B)來設(shè)計測試用例的。A.應(yīng)用范圍 B.內(nèi)部邏輯 C.功能 D.輸入數(shù)據(jù)33、 可行性分析要進行的需求分析和設(shè)計應(yīng)是(C)。A詳細的 B全面的 C簡化、壓縮的 D徹底的34、 下面關(guān)于面向?qū)ο蠓治雠c面向?qū)ο笤O(shè)計的說法,不正確的是(D)。A面向?qū)ο蠓治鰝?cè)重于理解問題B面向?qū)ο笤O(shè)計側(cè)重于理解解決方案C面向?qū)ο蠓治雒枋鲕浖鍪裁碊面向?qū)ο笤O(shè)計一般不關(guān)注技術(shù)和實現(xiàn)層而的細節(jié)35、 軟件設(shè)計時需要遵循抽象、模塊化、信息隱蔽和模塊獨立原則

10、。在劃分軟件系統(tǒng)模塊時,應(yīng)盡量做到(B)。A. 高內(nèi)聚高耦合 B. 高內(nèi)聚低耦合 C. 低內(nèi)聚高耦合 D. 低內(nèi)聚低耦合36、 軟件工程每一個階段結(jié)束前,應(yīng)該著重對可維護性進行復審,在系統(tǒng)設(shè)計階段的復審期間,應(yīng)該從(B)出發(fā),評價軟件的結(jié)構(gòu)和過程。A指出可移植性問題以及可能影響軟件維護的系統(tǒng)界面B容易修改、模塊化和功能獨立的目的C強調(diào)編碼風格和內(nèi)部說明文檔D可測試性37、 軟件的集成測試工作最好由(D)人員承擔,以提高集成測試的效果。A.該軟件的設(shè)計人員 B.該軟件開發(fā)組的負責人C.該軟件的編程人員 D.不屬于該軟件開發(fā)組的軟件設(shè)計人員38、 程序的三種基本控制結(jié)構(gòu)是(B )。A.過程,子程序

11、,分程序 B.順序,條件,循環(huán)C.遞歸,堆棧,隊列 D.調(diào)用,返回,轉(zhuǎn)移39、 ( C )是決定軟件維護成敗和質(zhì)量好壞的關(guān)鍵。A修改程序B建立目標程序C分析和理解程序D重新驗證程序40、 數(shù)據(jù)庫設(shè)計時的概念數(shù)據(jù)模型一般用(B )圖表示。A.PADB.E-RC.E-PD.HIPO41、 若有一個計算類型的程序,它的輸入量只有一個,其范圍是-1.0,1.0,現(xiàn)從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設(shè)計這組測試用例的方法是( C )。A邏輯覆蓋 B等價類劃分 C邊界值分析 D錯誤推測42、 在結(jié)構(gòu)化分析方法(SA)中,( C )與數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,

12、是需求規(guī)格說明書的主要組成部分。A模塊圖 BE-R 圖 C數(shù)據(jù)字典 D程序流程圖43、 面向?qū)ο蟮姆治龇椒ㄖ饕墙⑷惸P?,? D )。A.系統(tǒng)模型、ER 模型、應(yīng)用模型B.對象模型、動態(tài)模型、應(yīng)用模型C.-模型、對象模型、功能模型D.對象模型、動態(tài)模型、功能模型44、 成功的測試是指運行測試用例后( B )。A未發(fā)現(xiàn)程序錯誤B發(fā)現(xiàn)了程序錯誤C證明程序正確D改正了程序錯誤45、 面向數(shù)據(jù)流的設(shè)計方法把( A )映身成軟件結(jié)構(gòu)。A.數(shù)據(jù)流圖 B.系統(tǒng)結(jié)構(gòu)圖 C.控制結(jié)構(gòu)圖 D.變換流圖46、 軟件危機是指(軟件開發(fā)和維護過程中遇到的一系列嚴重問題)。47、 檢查軟件產(chǎn)品是否符合需求

13、定義的過程稱為( A )。A確認測試 B集成測試 C驗證測試 D驗收測試48、 汽車有一個發(fā)動機,汽車和發(fā)動機之間的關(guān)系是(B)關(guān)系。A.一般與具體 B.整體與部分 C.分類 D.is a49、 詳細設(shè)計的基本任務(wù)是確定每個模塊的( A )設(shè)計A.算法和使用的數(shù)據(jù)結(jié)構(gòu) B.外部接口 C.功能 D.編程50、 軟件產(chǎn)品的生產(chǎn)主要是腦力勞動,軟件產(chǎn)品的成本主要體現(xiàn)在軟件的( C )上。A.復制 B.開發(fā)方式 C.開發(fā)和研制 D.磨損和消耗51、 以下(D )不屬于系統(tǒng)設(shè)計。A總體設(shè)計B詳細設(shè)計C過程設(shè)計D需求設(shè)計52、 需求規(guī)格說明書的作用不應(yīng)該包括( D )。A.軟件設(shè)計的依據(jù)B.用戶與開發(fā)人員

14、對軟件要做什么的共同理解C.軟件驗收的依據(jù)D.軟件可行性研究的依據(jù)53、 軟件質(zhì)量必須從需求分析開始,在( D )加以保證。A開發(fā)之前B開發(fā)之后C可行性研究過程D整個開發(fā)過程54、 軟件簡略定義是(一系列按照特定順序組織的計算機數(shù)據(jù)和指令的集合)。55、 SA方法的基本思想是(  C )。A自底向上逐步抽象B自底向上逐步分解C自頂向下逐步分解D自頂向下逐步抽象56、 軟件工程是一門(指導計算機軟件開發(fā)和維護的工程(交叉性))學科。57、 等價分類法的關(guān)鍵是( C )。A.確定等價類的邊界條件B.按照用例來確定等價類C.劃分等價類D.確定系統(tǒng)中相同和不同的部分二、填空題1 可行性研究

15、_的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得去開發(fā)。2采用UML進行軟件設(shè)計時,可用_泛化_關(guān)系來表示兩類事物之間存在的特殊/一般關(guān)系,用_ 聚集 _關(guān)系來表示事物之間存在的整體/部分關(guān)系。3繼承與_ 多態(tài) _機制,是面向?qū)ο蟪绦蛑袑崿F(xiàn)重用的主要手段。4成本效益分析的目的是從 經(jīng)濟 角度評價開發(fā)一個軟件項目是否可行。5對象之間通過 消息 進行通信。6在面向?qū)ο蟮能浖校?類 是對具有相同數(shù)據(jù)和相同操作的一組相似對象的定義;實例是由某個特定的類所描述的一個具體對象。7需求分析階段產(chǎn)生的最重要的文檔是 需求規(guī)格說明書 。8軟件開發(fā)中的原型是軟件的一個早期可運行的版

16、本,它反映了最終系統(tǒng)的 重要特性 。9軟件開發(fā)過程來自用戶方面的干擾和阻力主要有:不積極配合,求快求全和 功能變化。10軟件文檔按照其產(chǎn)生和使用的范圍可分為開發(fā)文檔、管理文檔和用戶文檔,其中可行性研究報告屬于 開發(fā) 文檔。11可行性研究實質(zhì)上是要進行一次 簡化、壓縮 了的需求分析、設(shè)計過程,是在較高層次上以較抽象的方式進行需求分析和設(shè)計過程。12一個軟件開發(fā)過程描述了“誰做”,“做什么”,“怎么做”和“什么時候做”,RUP用 角色 來表述“誰做”。13在面向?qū)ο蟮能浖?,類是對具有相同?shù)據(jù)和相同操作的一組相似對象的定義; 實例 是由某個特定的類所描述的一個具體對象。14軟件結(jié)構(gòu)是以 模塊 為基

17、礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。15軟件能力成熟度模型(CMM)將軟件能力成熟度自低到高依次劃分為初始級、可重復級、定義級、管理級 和優(yōu)化級。 16關(guān)聯(lián)是建立類之間關(guān)系的一種手段,而鏈則是建立 對象 之間關(guān)系的一種手段。17. 軟件測試方法中的 計算機輔助靜態(tài)分析 屬于靜態(tài)測試方法。18繼承與 多態(tài) 機制是面向?qū)ο蟪绦蛑袑崿F(xiàn)重用的主要手段。19系統(tǒng)詳細設(shè)計階段最后產(chǎn)生的文檔是 詳細設(shè)計說明書 。20DFD利用圖形符號表示系統(tǒng)中的各個元素,表達了系統(tǒng)中各種元素之間的 信息流動 。21在設(shè)計階段,要充分體現(xiàn)軟件工程的“ 模塊化 ”、“抽象”、“信息隱蔽”等基本原則。22在面向?qū)ο蠓治龊蚈OD中,通常將

18、對象的操作稱為 方法或服務(wù) 。23單元測試一般以_ 白盒法 為主,測試的依據(jù)是系統(tǒng)的模塊功能規(guī)格說明。24當A模塊調(diào)用B模塊時,若兩個模塊之間傳遞的是數(shù)值型參數(shù),則這兩個模塊的耦合方式是 數(shù)據(jù)耦合 。25軟件測試用例主要由輸入數(shù)據(jù)和 預(yù)期輸出結(jié)果 兩部分組成。26為適應(yīng)軟硬件環(huán)境變化而修改軟件的過程是 適應(yīng)性維護 。27提高程序效率的根本途徑在于選擇良好的設(shè)計方法、良好的 數(shù)據(jù)結(jié)構(gòu) 和 算法 ,而不是靠編程時對程序語句做調(diào)整。三、名詞解釋1數(shù)據(jù)字典:描述數(shù)據(jù)流圖的數(shù)據(jù)存儲、數(shù)據(jù)加工(最底層加工)和數(shù)據(jù)流。2模塊獨立性:指每個模塊只完成系統(tǒng)要求的獨立的子功能(即:功能單一),并且與其他模塊的聯(lián)系

19、最少且接口簡單(比如:只有一個接口)。 3軟件復用:將已有軟件的各種有關(guān)知識用于建立新的軟件,以縮減軟件開發(fā)和維護的花費。4內(nèi)聚:一個模塊內(nèi)部各成分之間相關(guān)聯(lián)程度的度量5測試用例:為某個特殊目標而編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測試某個程序路徑或核實是否滿足某個特定需求6軟件生存周期模型:描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型7.信息隱蔽:將每個程序的成分隱蔽或封裝在一個單一的設(shè)計模塊中,定義每一個模塊時盡可能少地顯露其內(nèi)部的處理8.McCabe度量法:由Thomas McCabe提出的一種基于程序控制流的復雜性度量方法9.動態(tài)模型:用于描述系統(tǒng)的過程和行為10.軟件維護:在軟

20、件運行或維護階段對軟件產(chǎn)品所進行的修改11CMM:軟件過程能力成熟度模型12軟件調(diào)試:軟件測試成功后,根據(jù)錯誤跡象確定錯誤的原因和準確位置,并加以改正。13耦合:塊間聯(lián)系,軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量14配置管理:一種標識、組織和控制修改的技術(shù),應(yīng)用于整個軟件工程過程15軟件項目計劃:一個軟件項目進入系統(tǒng)實施的啟動階段四、簡答題1軟件工程的兩大范型分別是什么?它們有什么不同?分別是傳統(tǒng)的結(jié)構(gòu)化范型和面向?qū)ο蠓缎?。結(jié)構(gòu)化范型要么面向行為要么面向數(shù)據(jù),但沒有既面向數(shù)據(jù)又面向行為的;而面向?qū)ο蠓缎桶褦?shù)據(jù)和行為看成同等重要,即將對象視作一個融合了數(shù)據(jù)及在其上操作的行為的統(tǒng)一的軟件組

21、件。面向?qū)ο笙鄬τ诮Y(jié)構(gòu)化技術(shù),無論對象的內(nèi)部細節(jié)如何變化,只要對象提供的方法即接口保持不變,則整個軟件產(chǎn)品的其他部分就不會受到影響,不需要了解對象內(nèi)部的變化。2如何畫分層數(shù)據(jù)流圖?第一步,畫子系統(tǒng)的輸入輸出:把整個系統(tǒng)視為一個大的加工,然后根據(jù)數(shù)據(jù)系統(tǒng)從哪些外部實體接收數(shù)據(jù)流,以及系統(tǒng)發(fā)送數(shù)據(jù)流到那些外部實體,就可以畫出輸入輸出圖。這張圖稱為頂層圖。第二步,畫子系統(tǒng)的內(nèi)部:把頂層圖的加工分解成若干個加工,并用數(shù)據(jù)流將這些加工連接起來,使得頂層圖的輸入數(shù)據(jù)經(jīng)過若干加工處理后,變成頂層圖的輸出數(shù)據(jù)流。這張圖稱為0層圖。從一個加工畫出一張數(shù)據(jù)流圖的過程就是對加工的分解。3面向?qū)ο蟪绦蛟O(shè)計有哪些優(yōu)點?

22、1)易維護采用面向?qū)ο笏枷朐O(shè)計的結(jié)構(gòu),可讀性高,由于繼承的存在,即使改變需求,那么維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。2)質(zhì)量高在設(shè)計時,可重用現(xiàn)有的,在以前的項目的領(lǐng)域中已被測試過的類使系統(tǒng)滿足業(yè)務(wù)需求并具有較高的質(zhì)量。3)效率高在軟件開發(fā)時,根據(jù)設(shè)計的需要對現(xiàn)實世界的事物進行抽象,產(chǎn)生類。使用這樣的方法解決問題,接近于日常生活和自然的思考方式,勢必提高軟件開發(fā)的效率和質(zhì)量。4)易擴展由于繼承、封裝、多態(tài)的特性,自然設(shè)計出高內(nèi)聚、低耦合的系統(tǒng)結(jié)構(gòu),使得系統(tǒng)更靈活、更容易擴展,而且成本較低。4在軟件測試中,應(yīng)注意哪些原則? 1)認真執(zhí)行測試計劃2)“盡早和不斷地進行軟件測

23、試/評審”3)優(yōu)選測試工具、技術(shù)和方法4)精心設(shè)計測試用例5)交叉進行軟件檢測6)重點測試群集現(xiàn)象7)全面檢查并分析測試結(jié)果8)妥善保管測試文檔5程序設(shè)計風格是指一個人編制程序時所表現(xiàn)出來的特點、習慣、邏輯思路等。要形成良好的程序設(shè)計風格,應(yīng)從源程序文檔化、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出和追求效率幾個方面加以注意。6面向?qū)ο蠓治雠c面向?qū)ο笤O(shè)計的關(guān)系?面向?qū)ο蠓治雠c面向?qū)ο笤O(shè)計的任務(wù)相同,面向?qū)ο蠓治龅慕Y(jié)果可以作為開始面向?qū)ο笤O(shè)計的模型,面向?qū)ο蟮脑O(shè)計結(jié)果可以作為藍圖,利用面向?qū)ο缶幊谭椒ㄗ罱K實現(xiàn)一個系統(tǒng)。7成本-效益分析的目的是什么?可用哪些指標進行度量?成本/效益分析的目的是從經(jīng)濟角度論證開發(fā)

24、一個特定的新系統(tǒng)開發(fā)是否劃算,是決定是否投資開發(fā)新系統(tǒng)的依據(jù)。(1)貨幣的時間價值:貨幣的價值本身隨時間的增加而產(chǎn)生增值(2)投資回收期:累計的經(jīng)濟效益等于最初的投資所需的時間。(3)純收入:在整個生存周期內(nèi)系統(tǒng)的累計經(jīng)濟效益(折合現(xiàn)在的錢)與投資之差。(4)投資回收率-投資的年利率8軟件設(shè)計分哪幾個階段,它們的主要任務(wù)是什么?軟件設(shè)計可以分為概要設(shè)計和詳細設(shè)計兩個階段。概要設(shè)計就是結(jié)構(gòu)設(shè)計,其主要目標就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。詳細設(shè)計的首要任務(wù)就是設(shè)計模塊的程序流程、算法和數(shù)據(jù)結(jié)構(gòu),次要任務(wù)就是設(shè)計數(shù)據(jù)庫,常用方法還是結(jié)構(gòu)化程序設(shè)計方法。9用戶需求和系統(tǒng)需求各有什么特點?用戶

25、需求是從用戶角度來描述系統(tǒng)功能和非功能需求,以便讓不具備專業(yè)技術(shù)方面知識的用戶能看懂。用戶需求是描述系統(tǒng)的外部行為,用自然語言、圖表和直觀的圖形來敘述。系統(tǒng)需求是比用戶需求更詳細的需求描述,是系統(tǒng)實現(xiàn)的基本依據(jù),因此,是一個完全的、一致的系統(tǒng)描述,是軟件工程人員系統(tǒng)設(shè)計的起點。系統(tǒng)需求描述可能包括許多不同的模型,如對象模型和數(shù)據(jù)流模型。10面向?qū)ο笤O(shè)計的準則?1)模塊化2)抽象3)信息隱藏4)弱耦合5)強內(nèi)聚6)可重用11需求分析過程主要有哪幾個步驟?需求分析過程主要有溝通、導出需求、分析與精化、可行性研究、協(xié)商與溝通、規(guī)格說明、需求驗證、變更管理等步驟。12軟件設(shè)計分哪幾個階段,它們的主要任

26、務(wù)是什么?總體設(shè)計概要設(shè)計、軟件結(jié)構(gòu)設(shè)計、高層設(shè)計,仔細地分析需求規(guī)格說明,研究開發(fā)產(chǎn)品的模塊劃分。詳細設(shè)計(模塊)過程設(shè)計、低層設(shè)計,為結(jié)構(gòu)設(shè)計中的各個模塊設(shè)計過程細節(jié),確定模塊所需的算法和數(shù)據(jù)結(jié)構(gòu)等。設(shè)計測試測試和復審,確保設(shè)計的正確和優(yōu)化。13什么是軟件結(jié)構(gòu)圖?它有哪些主要元素?軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系。主要元素有:14面向?qū)ο蠓椒ǖ奶攸c是什么?為什么要用面向?qū)ο蠓椒ㄩ_發(fā)軟件?面向?qū)ο蠓椒ǖ奶攸c是:方法的唯一性,即方法是對軟件開發(fā)過程所有階段進行綜合考慮而得到的。從生存期的一個階段到下一個階段的高度連續(xù)性,即生存期后一階段的成

27、果只是在前一階段成果的補充和修改。把面向?qū)ο蠓治?OOA)、面向?qū)ο笤O(shè)計(OOD)和面向?qū)ο蟪绦蛟O(shè)計(OOP)集成到生存期的相應(yīng)階段。使用面向?qū)ο蠓椒ㄩ_發(fā)軟件的好處是:開發(fā)方法的唯一性,開發(fā)階段的高度連續(xù)性,表示方式的一致性;問題空間實體的自然表示,減輕了設(shè)計者的負擔,在設(shè)計系統(tǒng)之初不必考慮一個很完整的解決方案。建立穩(wěn)定的系統(tǒng)結(jié)構(gòu),可促進復用性,易于維護,易于修改,可合理利用共同性,減少復雜性。15什么是編碼風格?請根據(jù)自己的編程經(jīng)驗編寫一個編程注意事項。是指一個人編制程序時所表現(xiàn)出來的特點、習慣和邏輯思路等。 注意事項:源程序文檔化、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出、追求效率等。1)源

28、程序文檔化(1)標識符應(yīng)按意取名。(2)程序應(yīng)加注釋。2)數(shù)據(jù)說明原則(1)數(shù)據(jù)說明順序應(yīng)規(guī)范,使數(shù)據(jù)的屬性更易于查找,從而有利于測試、糾錯與維護。例如按以下順序:常量壽命、類型說明、全程量說明、局部量說明。(2)一個語句說明多個變量時,各變量名按字典序排列。(3)對于復雜的數(shù)據(jù)結(jié)構(gòu),要加注釋,說明在程序?qū)崿F(xiàn)時的特點。3)語句構(gòu)造原則:簡單直接,不能為了追求效率而使代碼復雜化4)輸入輸出原則(1)輸入操作步驟和輸入格式盡量簡單。(2)應(yīng)檢查輸入數(shù)據(jù)的合法性、有效性,報告必要的輸入狀態(tài)信息及錯誤信息。(3)輸入一批數(shù)據(jù)時,使用數(shù)據(jù)或文件結(jié)束標志,而不要用計數(shù)來控制。(4)交互式輸入時,提供可用的

29、選擇和邊界值。(5)當程序設(shè)計語言有嚴格的格式要求時,應(yīng)保持輸入格式的一致性。(6)輸出數(shù)據(jù)表格化、圖形化。5) 追求效率原則(1)效率是一個性能要求,目標在需求分析給出。(2)追求效率建立在不損害程序可讀性或可靠性基礎(chǔ)上,要先使程序正確,再提高程序效率,先使程序清晰,再提高程序效率。五、應(yīng)用題1畫XXX系統(tǒng)的狀態(tài)圖。2McCabe度量法是通過定義環(huán)路復雜度,建立程序復雜性的度量,它基于一個程序模塊的程序圖中環(huán)路的個數(shù)。根據(jù)給出的程序流程圖,畫出它的程序圖,并計算它的McCabe復雜性度量。3請將下面的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)圖(注:圖中表示“或者”)。(作業(yè)上有)4下面是某程序的流程圖:(1)

30、先畫出流圖,再計算它的環(huán)路復雜性。(2) 為了完成基本路徑測試,求它的一組獨立的路徑。(1) 環(huán)路復雜性=判斷數(shù)1314(個)流圖:(2)獨立路徑:1:a->b2:a->c->d3:a->c->e->f4:a->c->e->g->h5建立微機的對象模型。(作業(yè)上有)6畫出銀行取款過程的DFD圖。問題描述:儲戶用存折取款首先填寫取款的,根據(jù)“帳卡”中的信息檢驗取款單與存折,如有問題,將問題反饋給儲戶,否則,登陸“儲戶存款數(shù)據(jù)庫”,修改相應(yīng)數(shù)據(jù),并更新“帳卡”,同時發(fā)出付款通知,出納向儲戶付款。(以下是另外發(fā)現(xiàn)的題,Web版式視圖中找到,不知道是不是考試題目)二、填空題(每空2分,共20分)21一個模塊把數(shù)值作為參數(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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論