軟件工程??己?jiǎn)答題_第1頁
軟件工程??己?jiǎn)答題_第2頁
軟件工程??己?jiǎn)答題_第3頁
軟件工程??己?jiǎn)答題_第4頁
軟件工程??己?jiǎn)答題_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、word緒論1、什么是軟件工程?軟件工程和計(jì)算機(jī)科學(xué)有何區(qū)別?答:軟件工程是以計(jì)算機(jī)科學(xué)理論及其他相關(guān)學(xué)科的理論為指導(dǎo),采用工程化的概念、原理、技術(shù)和方法進(jìn)行軟件的開發(fā)和維護(hù),把經(jīng)過時(shí)間證明是正確的管理措施和當(dāng)前能夠得到的最好的技術(shù)、方法相結(jié)合,以期用較少的代價(jià)獲取高質(zhì)量的軟件。 計(jì)算機(jī)科學(xué)側(cè)重于理論研究,其成果可應(yīng)用于軟件工程,而軟件工程那么強(qiáng)調(diào)如何有效的建造一個(gè)軟件系統(tǒng)。2、什么是軟件 答:計(jì)算機(jī)軟件是與計(jì)算機(jī)系統(tǒng)操作有關(guān)的程序、規(guī)程、規(guī)那么及任何與之有關(guān)的文檔及數(shù)據(jù);3、什么是軟件危機(jī)?分析其產(chǎn)生的原因與擺脫危機(jī)的方法,你認(rèn)為現(xiàn)在已經(jīng)擺脫軟件危機(jī)了嗎?請(qǐng)說明理由。 軟件危機(jī)是指在計(jì)算機(jī)軟

2、件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。主要是 兩個(gè)問題:1如何開發(fā)軟件,怎樣滿足對(duì)軟件的日益增長的需求;2如何維護(hù)數(shù)量不斷膨脹的已有軟件; 軟件危機(jī)的出現(xiàn),究其原因,一方面是由軟件本身的特點(diǎn)引起的,如軟件越來越復(fù)雜,軟件故障難于檢測(cè),工作量難以估計(jì);另一方面那么是因?yàn)檐浖_發(fā)和維護(hù)方法不當(dāng)所造成的,如軟件的個(gè)體化特征太強(qiáng)等。 為了擺脫軟件危機(jī)所造成的困境,提出軟件工程的概念,其主要思路是:要把人類長期以來從事各種工程工程所積累起來的行之有效的原理,概念,技術(shù)和方法,特別是人類從事計(jì)算機(jī)硬件研究和開發(fā)的經(jīng)驗(yàn)教訓(xùn),應(yīng)用到軟件的開發(fā)和維護(hù)中來。 我認(rèn)為我國現(xiàn)在還未完全擺脫軟件危機(jī),因?yàn)殡S著經(jīng)濟(jì)

3、開展,各行各業(yè)對(duì)軟件人才的需求不斷擴(kuò)大,由于我國的軟件人才缺口依舊很大,造成了某些行業(yè)內(nèi)軟件開發(fā)進(jìn)度難以預(yù)測(cè),軟件開發(fā)本錢難以控制,用戶對(duì)產(chǎn)品功能難以滿足,軟件產(chǎn)品質(zhì)量無法保證,軟件產(chǎn)品難以維護(hù),軟件缺少適當(dāng)?shù)奈臋n資料。4、軟件產(chǎn)品的特性是什么? 軟件是一種邏輯產(chǎn)品,具有無形性;軟件產(chǎn)品的生產(chǎn)主要是研制;軟件不存在磨損和老化問題,但存在退化問題;軟件產(chǎn)品的生產(chǎn)主要是腦力勞動(dòng);軟件產(chǎn)品生產(chǎn)本錢昂貴,目前生產(chǎn)方式還未擺脫手工生產(chǎn)方式;軟件具有“復(fù)雜性,其開發(fā)和運(yùn)行常受到計(jì)算機(jī)系統(tǒng)的限制。5、軟件開展有幾個(gè)階段?各有何特征?程序設(shè)計(jì)階段 硬件特征:價(jià)格貴、存儲(chǔ)容量小、運(yùn)行可靠性差。 軟件特征:只有程

4、序、程序設(shè)計(jì)概念,不重視程序設(shè)計(jì)方法。程序系統(tǒng)階段。 硬件特征:速度、容量及工作可靠性有明顯提高,價(jià)格降低,銷售有爆炸性增長。 軟件特征:程序員數(shù)量猛增,開發(fā)人員素質(zhì)低。軟件工程階段。 硬件特征:向超高速、大容量、微型化及網(wǎng)絡(luò)化方向開展。 軟件特征:開發(fā)技術(shù)有很大進(jìn)步,但未獲得突破性進(jìn)展,軟件價(jià)格不斷上升,未完全擺脫軟件危機(jī)。6、試簡(jiǎn)要表達(dá)文檔在軟件工程中的作用。 在軟件工程中,文檔的作用是:1提高軟件開發(fā)過程的能見度;2記錄開發(fā)過程的有關(guān)信息便于使用與維護(hù); 3作為開發(fā)人員階段工作成果和結(jié)束標(biāo)志;4提高開發(fā)效率;5提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料;6便于用戶了解軟件功能、性能。7、簡(jiǎn)述一個(gè)成

5、熟的軟件機(jī)構(gòu)應(yīng)具有的特點(diǎn) 建立了機(jī)構(gòu)級(jí)的軟件開發(fā)與維護(hù)過程。軟件人員對(duì)其有較好的理解。一切活動(dòng)均遵循過程的要求進(jìn)行,做到工作步驟有次序,且有章可循;軟件過程必要時(shí)可做改良,但需在經(jīng)過小型實(shí)驗(yàn)和本錢效益分析的根底上進(jìn)行;軟件產(chǎn)品的質(zhì)量和客戶對(duì)軟件產(chǎn)品的滿意程度不是由開發(fā)人員,而是由負(fù)責(zé)質(zhì)量保證的經(jīng)理負(fù)責(zé)監(jiān)控;工程進(jìn)度和預(yù)算是根據(jù)以往工程取得的實(shí)踐經(jīng)驗(yàn)確定,因而比擬符合實(shí)際情況。8、軟件生存周期中的軟件開發(fā)過程由哪幾個(gè)階段組成?各階段的任務(wù)是什么?答:以瀑布模型為例主要包括六個(gè)階段: 可行性研究,確定系統(tǒng)的目標(biāo)與規(guī)模,分析工程的可行性 需求分析與規(guī)格說明,明確系統(tǒng)的規(guī)格與要求 設(shè)計(jì),包括概要設(shè)計(jì)與

6、詳細(xì)設(shè)計(jì) 編程,用程序語音實(shí)現(xiàn)每個(gè)模塊的功能 測(cè)試,發(fā)現(xiàn)并改正錯(cuò)誤 運(yùn)行與維護(hù)9、 瀑布模型相關(guān)概念。 瀑布模型的根本概念以及特點(diǎn)。瀑布模型的缺陷有哪些?瀑布模型規(guī)定了各項(xiàng)軟件工程活動(dòng),包括需求分析、規(guī)格說明、設(shè)計(jì)、編碼、測(cè)試和維護(hù),并規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級(jí)而下。瀑布模型的特點(diǎn)是:階段間具有順序性和依賴性;清楚區(qū)分邏輯設(shè)計(jì)和物理設(shè)計(jì),盡可能推遲程序的物理實(shí)現(xiàn);每個(gè)階段都必須完成規(guī)定的文檔,且每階段結(jié)束前需要對(duì)完成的文檔進(jìn)行評(píng)審。 缺陷:(1)完全地、精確地刻畫復(fù)雜應(yīng)用問題的用戶需求是不可能的。(2)需求分析和軟件實(shí)現(xiàn)是不可分割的。(3)用戶和開發(fā)人員都難于理

7、解形式的、不可執(zhí)行的需求規(guī)格說明。(4)傳統(tǒng)的開發(fā)策略沒有為用戶參與關(guān)鍵的開發(fā)決策提供便利。(5)目標(biāo)軟件的適應(yīng)能力不強(qiáng)6瀑布模型并不適合于軟件工程管理10、 螺旋模型相關(guān)概念。 1簡(jiǎn)述螺旋模型的根本開發(fā)過程。螺旋模型哪些優(yōu)點(diǎn)?螺旋模型的根本思想是使用原型及其他方法來盡量降低風(fēng)險(xiǎn)??梢岳斫鉃樵诳焖僭湍P偷拿總€(gè)階段之前都增加了風(fēng)險(xiǎn)分析。根本開發(fā)過程:(1)需求定義。利用前面介紹的需求分析技術(shù)理解應(yīng)用領(lǐng)域,獲取初步的用戶需求,制定工程開發(fā)方案。(2)風(fēng)險(xiǎn)分析。根據(jù)初始需求或改良意見評(píng)審可選用的方案,給出消除或減少風(fēng)險(xiǎn)的途徑。(3)工程實(shí)現(xiàn)。利用前一節(jié)介紹的快速原型構(gòu)造方法針對(duì)的用戶需求生成快速原

8、型。(4)評(píng)審。將原型提交用戶使用并征詢用戶改良意見。上述過程將不斷迭代,直至給出用戶滿意的目標(biāo)軟件產(chǎn)品。優(yōu)點(diǎn):(1)螺旋模型支持用戶需求的動(dòng)態(tài)變化。(2)螺旋模型中,需求分析和軟件實(shí)現(xiàn)是互相依賴、緊密聯(lián)系的軟件開發(fā)活動(dòng)。(3)原型作為形式的可執(zhí)行的需求規(guī)格說明,既易于為用戶和開發(fā)人員共同理解,又可作為后續(xù)開發(fā)的根底。(4)為用戶參與軟件開發(fā)的所有關(guān)鍵決策提供了方便。(5)有助于提高目標(biāo)軟件的適應(yīng)能力(6)為工程管理人員及時(shí)調(diào)整管理決策提供了便利,從而降低了軟件開發(fā)風(fēng)險(xiǎn)。 2為何螺旋模型主要適合開發(fā)人員和用戶為同一個(gè)組織機(jī)構(gòu)成員的軟件工程的開發(fā)? 因?yàn)槿绻_發(fā)人員和用戶屬于不同的組織機(jī)構(gòu),那么

9、一般在正式的軟件開發(fā)之前均需要簽訂合同,所有的風(fēng)險(xiǎn)分析均必須在簽訂合同之前完成。但螺旋模型需要在軟件開發(fā)的每一個(gè)階段都進(jìn)行風(fēng)險(xiǎn)分析,當(dāng)重要風(fēng)險(xiǎn)不能解決時(shí),工程應(yīng)該終止。由此螺旋模型可能因?yàn)轱L(fēng)險(xiǎn)使得合同在完成之前就終止,從而導(dǎo)致法律訴訟。故螺旋模型不適合開發(fā)人員和用戶屬于不同組織機(jī)構(gòu)的情況。11、 快速原型模型相關(guān)概念。 1快速原型技術(shù)的根本思想是什么?快速原型模型有幾種?各有何特點(diǎn)? 根本思想:花費(fèi)少量代價(jià)建立一個(gè)可運(yùn)行的系統(tǒng),使用戶及早獲得學(xué)習(xí)的時(shí)機(jī),最終提高軟件質(zhì)量。 根據(jù)原型的不同作用,有三類原型模型:探索型原型。這種類型的原型模型是把原型用于開發(fā)的需求分析階段,目的是要弄清用戶的需求,

10、確定所期望的特性,并探索各種方案的可行性。它主要針對(duì)開發(fā)目標(biāo)模糊,用戶與開發(fā)著對(duì)工程都缺乏經(jīng)驗(yàn)的情況,通過對(duì)原型的開發(fā)來明確用戶的需求。實(shí)驗(yàn)型原型。這種原型主要用于設(shè)計(jì)階段,考核實(shí)現(xiàn)方案是否適宜,能否實(shí)現(xiàn),對(duì)于一個(gè)大型系統(tǒng),假設(shè)對(duì)設(shè)計(jì)方案心中沒有把握時(shí),可通過這種原型來證實(shí)設(shè)計(jì)方案的正確性。演化型原型。這種原型主要用于及早向用戶提交一個(gè)原型系統(tǒng),該原型系統(tǒng)或者包含系統(tǒng)的框或者包含系統(tǒng)的主要功能。在得到用戶的認(rèn)可后,將原型系統(tǒng)不斷擴(kuò)充演變?yōu)樽罱K的軟件系統(tǒng),它將原型的思路擴(kuò)展到軟件開發(fā)的全過程。2快速開發(fā)原型的途徑有哪些? 廢棄型:快速建立需求規(guī)格原型; 追加型:快速建立漸進(jìn)原型法采用循環(huán)漸進(jìn);

11、步驟:快速分析、構(gòu)造原型、運(yùn)行和評(píng)價(jià)原型、修改與改良12、比擬常用軟件工程過程模型瀑布模型,快速原型化模型,快速應(yīng)用開發(fā)模型,漸增模型,螺旋模型的優(yōu)缺點(diǎn)。指出各自適用的情況。 瀑布模型:優(yōu)點(diǎn):包括強(qiáng)制性的分階段的方法,要求每一階段都必須提供相應(yīng)的文檔,因此開發(fā)過程便于管理和控制。瀑布模型是一種文檔驅(qū)動(dòng)的模型,開發(fā)過程中產(chǎn)生的需求規(guī)格說明書文檔,設(shè)計(jì)文檔,代碼文檔,以及其他文檔如數(shù)據(jù)庫手冊(cè),用戶手冊(cè)和操作文檔等,對(duì)于軟件使用和維護(hù)是非常必要的。 缺點(diǎn):該模型將本來非線性的軟件開發(fā)過程,人為地加以線性化,開發(fā)的產(chǎn)品只有交付使用時(shí)才能和用戶見面,用戶的反應(yīng)意見只能從需求分析開始從頭修改,加大了軟件開

12、發(fā)的工作量。 快速原型化模型:優(yōu)點(diǎn):能夠開發(fā)出真正滿足用戶需要的軟件。 缺點(diǎn):假設(shè)采用原型作為最終產(chǎn)品,不利于軟件維護(hù)工作。 快速應(yīng)用開發(fā)模型:優(yōu)點(diǎn):能夠快速地完成整個(gè)信息系統(tǒng)的開發(fā)。 缺點(diǎn):對(duì)于大的工程,為建立適當(dāng)數(shù)目的RAD開發(fā)小組可能需要大量的人力資源;同時(shí),RAD要求開發(fā)人員和用戶雙方在短期內(nèi)對(duì)完成整個(gè)系統(tǒng)的開興旺成協(xié)議,如果任何一方做不到的話,使用RAD進(jìn)行開發(fā)那么不可防止地會(huì)失敗。 漸增模型:優(yōu)點(diǎn):每一輪都可以向用戶分發(fā)布一個(gè)高質(zhì)量的可操作的版本,用戶不需要等到最終軟件產(chǎn)品被開發(fā)出來就可以使用軟件的局部功能。由于軟件產(chǎn)品不是突然一次性提交給用戶使用的,用戶可以比擬容易接受,并且容易

13、提出中肯的意見。這種方式不要求非常大的初始資金投入。 缺點(diǎn):要求下一輪新增的功能應(yīng)能夠無縫地集成到下一輪系統(tǒng)中去,可能這一點(diǎn)并不容易做到。如果整體結(jié)構(gòu)設(shè)計(jì)不當(dāng),可能會(huì)導(dǎo)致整個(gè)軟件的結(jié)構(gòu)變壞。 螺旋模型:優(yōu)點(diǎn):它強(qiáng)調(diào)可替換性和強(qiáng)約束性,使得螺旋模型支持對(duì)現(xiàn)有軟件的 復(fù)用,并且支持始終把軟件質(zhì)量看作一個(gè)目標(biāo)。開發(fā)和維護(hù)被視為同樣的方式。 缺點(diǎn):主要適合于內(nèi)部開發(fā)。只適合于規(guī)模比擬大的系統(tǒng)的開發(fā)。它是風(fēng)險(xiǎn)驅(qū)動(dòng)的,只有當(dāng)工程組的成員擅長于進(jìn)行風(fēng)險(xiǎn)分析時(shí),才有理由采用螺旋模型??尚行匝芯?、可行性研究報(bào)告的主要內(nèi)容有哪些 一個(gè)可行性研究報(bào)告的主要內(nèi)容如下: 1引言:說明編寫本文檔的目的;工程的名稱、背景

14、;本文檔用到的專門術(shù)語和參考資料。 2可行性研究前提:說明開發(fā)工程的功能、性能和根本要求;到達(dá)的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。 3對(duì)現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項(xiàng)費(fèi)用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。 4所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡(jiǎn)要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比擬的優(yōu)越性;采用所建議系統(tǒng)對(duì)用戶的影響;對(duì)各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運(yùn)行環(huán)境的影響;對(duì)經(jīng)費(fèi)支出的影響;對(duì)技術(shù)可行性的評(píng)價(jià)。 5所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資

15、回收周期。 6社會(huì)因素可行性分析:說明法律因素,對(duì)合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。 7其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。 8結(jié)論意見:說明工程是否能開發(fā);還需要什么條件才能開發(fā);對(duì)工程目標(biāo)有什么變動(dòng)等。2、可行性研究的概念?目標(biāo)?根本內(nèi)容?步驟?3、本錢分析方法?4、系統(tǒng)流程圖與數(shù)據(jù)流圖的概念與區(qū)別?需求分析1、需求分析的概念?需求收集的方式?2、數(shù)據(jù)流建模的相關(guān)概念。3、如何畫分層數(shù)據(jù)流圖 總的原那么是:至頂而下,逐層分解畫分層數(shù)據(jù)流圖:比擬復(fù)雜的系統(tǒng)不能畫在一張紙上 逐層分解的

16、畫法可以控制每一層的復(fù)雜度。頂層:將整個(gè)系統(tǒng)作為一個(gè)加工,描述系統(tǒng)邊界輸入與輸出。中間層:表示某個(gè)加工分解為一組子加工,其中的子加工還需進(jìn)一步分解。底層:由不再進(jìn)行分解的根本加工組成。4、常用的軟件需求分析的方法有哪些? 結(jié)構(gòu)化分析方法SA、面向?qū)ο蠓治龇椒∣OA、功能分解法、信息建模法5、簡(jiǎn)述需求分析工作可以分成哪四個(gè)方面?軟件需求分析有哪三個(gè)根本原那么? 需求分析階段分成四個(gè)方面:對(duì)問題的識(shí)別、分析與綜合、制定規(guī)格說明和評(píng)審。三個(gè)根本原那么:必須能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域;必須按自頂向下、逐步分解的方式對(duì)問題進(jìn)行分解和不斷細(xì)化;要給出系統(tǒng)的邏輯視圖和物理視圖。6、試舉例說明什么是功

17、能性需求,什么是非功能性需求?為何非功能性需求往往比功能性需求還要重要? 功能性需求就是軟件要實(shí)現(xiàn)的功能需求分析。非功能性需求,是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求而必須具有且除功能需求以外的特性。軟件產(chǎn)品的非功能性需求包括系統(tǒng)的性能、可靠性、可用性、可維護(hù)性、有效性和可移植性等。 重要性:將非功能性需求的各項(xiàng)特點(diǎn)舉例展開即可。7、在需求分析和設(shè)計(jì)階段建立原型的好處有哪些?在需求分析和設(shè)計(jì)階段建立原型的好處有:1增進(jìn)開發(fā)人員和用戶對(duì)系統(tǒng)需求的一致理解,明確軟件需求,尤其是功能模糊的需求。2原型提供了一種有力的學(xué)習(xí)手段,能夠使用戶盡早接觸系統(tǒng)。3原型可以用來識(shí)別或化解風(fēng)險(xiǎn)。4原型有的可以原封不動(dòng)地成為

18、產(chǎn)品,有的略加修改就可以成為最終系統(tǒng)的一個(gè)組成局部,這樣有利于建成最終系統(tǒng)。8、IDEF0功能建模相關(guān)概念。9、IDEF0方法有什么特點(diǎn)? IDEF0方法的特點(diǎn)是:1采用方框和箭頭等簡(jiǎn)單的圖形符號(hào)描述系統(tǒng)的活動(dòng)和數(shù)據(jù)流,描述活動(dòng)所受到的約束條件及實(shí)現(xiàn)機(jī)制,清楚地反映了系統(tǒng)的功能。2采用嚴(yán)格的自頂向下、逐層分解的方式建立系統(tǒng)功能模型。頂層確定系統(tǒng)范圍,采用抽象原那么,然后有控制的逐步展開有關(guān)活動(dòng)的細(xì)節(jié),符合SA方法的分析策略。同時(shí),IDEF0規(guī)定每張圖至少有3個(gè)、最多有6個(gè)方框,上界6保證采用層次性描述復(fù)雜問題的可理解性,下界3保證分解有意義。 10、IDEF1X建模相關(guān)概念。11、需求規(guī)格說明

19、的概念。概要設(shè)計(jì)1、概要設(shè)計(jì)中相關(guān)的概念。2、軟件設(shè)計(jì)階段的任務(wù)與目標(biāo)是什么?任務(wù):將分析階段獲得的需求說明轉(zhuǎn)換為計(jì)算機(jī)中可實(shí)現(xiàn)的系統(tǒng);即:軟件體系結(jié)構(gòu)的設(shè)計(jì)、用戶界面的設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)、算法的設(shè)計(jì)。目標(biāo):構(gòu)造一個(gè)高內(nèi)聚低耦合的軟件模型。3、軟件設(shè)計(jì)的準(zhǔn)那么是什么?1、軟件結(jié)構(gòu)的準(zhǔn)那么:頂部寬度小,中部寬度最大,底部寬度次之;在結(jié)構(gòu)頂部有較高的扇出數(shù),在底部有較高的扇入數(shù)。2、模塊化準(zhǔn)那么:將系統(tǒng)劃分成假設(shè)干模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集中起來組成一個(gè)整體,以滿足所要求的整個(gè)系統(tǒng)的功能。 3、軟件獨(dú)立性準(zhǔn)那么:開發(fā)具有功能專一,模塊之間無過多相互作用的模塊。4、模塊內(nèi)聯(lián)系與模塊

20、間聯(lián)系有哪些種類?模塊間的聯(lián)系分類法:按耦合度如:內(nèi)容耦合:一個(gè)模塊直接引用另一模塊的內(nèi)部信息模塊內(nèi)的聯(lián)系方法:按內(nèi)聚度依次展開5、照“降低塊間聯(lián)系,提高塊內(nèi)聯(lián)系的設(shè)計(jì)總那么對(duì)模塊進(jìn)行修改,具體從哪些方面進(jìn)行改良?答:1 盡可能建立功能模塊;2 消除重復(fù)功能;3模塊的作用范圍與控制范圍,即當(dāng)作用范圍為控制范圍的子集時(shí),才能獲得較低的塊間聯(lián)系;4模塊的大小適當(dāng);5模塊的扇入扇出數(shù)不宜太多。6、衡量模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)是什么2分?這兩個(gè)標(biāo)準(zhǔn)的定義分別是什么2分?在我們的軟件設(shè)計(jì)中,關(guān)于模塊獨(dú)立性我們追求的目標(biāo)是什么1分?衡量模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)是內(nèi)聚和耦合2分。耦合是指對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同

21、模塊彼此之間互相依賴連接的緊密程度;而內(nèi)聚那么標(biāo)志一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度。2分。在我們的軟件設(shè)計(jì)中,關(guān)于模塊獨(dú)立性我們追求的目標(biāo)是緊密內(nèi)聚松散耦合1分。詳細(xì)設(shè)計(jì)1、 詳細(xì)設(shè)計(jì)的目標(biāo)與任務(wù)。2、 詳細(xì)設(shè)計(jì)的圖形描述工具,及各自的概念和優(yōu)缺點(diǎn)。3、 Jackson方法的概念。4、 程序規(guī)格說明。5、 層次圖即軟件結(jié)構(gòu)圖和層次方框圖即Jakson圖有何區(qū)別? 相同:形式類似。 不同:1,層次圖描繪軟件的層次結(jié)構(gòu).層層次方框圖描繪的是數(shù)據(jù)結(jié)構(gòu)。2,層次圖的方框表示模塊或子模塊。層次方框圖的方框表示數(shù)據(jù)結(jié)構(gòu)整體或其子集。3,層次圖的連線表示調(diào)用關(guān)系,層次方框圖表示組成關(guān)系。層次圖主要用來

22、描繪軟件的層次結(jié)構(gòu),矩形框代表一個(gè)模塊,矩形框之間的連線表示模塊之間的調(diào)用關(guān)系,常與IPO圖一起形成HIPO圖。層次方框圖主要描述系統(tǒng)的組成關(guān)系,一般自用域需求分析。軟件測(cè)試1、 軟件測(cè)試的概念、目的。2、軟件測(cè)試對(duì)象應(yīng)包括哪些內(nèi)容?軟件測(cè)試并不等于程序代碼測(cè)試,其應(yīng)該貫穿于軟件定義與開發(fā)的整個(gè)期間。因此,需求分析、概要設(shè)計(jì)以及程序編碼等各階段所得的文檔,包括需求規(guī)格說明、概要設(shè)計(jì)說明、詳細(xì)設(shè)計(jì)規(guī)格說明以及源程序代碼都應(yīng)成為軟件測(cè)試的對(duì)象。3、白盒測(cè)試的概念及相關(guān)技術(shù)。4、黑盒測(cè)試的概念及相關(guān)技術(shù)。5、等價(jià)分類法相關(guān)概念。 1等價(jià)分類法的根本思想是什么? 根據(jù)程序的輸入特性,將程序的定義域劃分

23、為有限個(gè)等價(jià)區(qū)段 “等價(jià)類,從等價(jià)類中選擇出的用例具有“代表性,即測(cè)試某個(gè)等價(jià)類的代表值就等價(jià)于對(duì)這一類其它值的測(cè)試。如果某個(gè)等價(jià)類的一個(gè)輸入數(shù)據(jù)代表值測(cè)試中查出了錯(cuò)誤,也即是該等價(jià)類中的其它值也會(huì)查出同樣的錯(cuò)誤。 2等價(jià)類劃分方法中,劃分好等價(jià)類后設(shè)計(jì)測(cè)試用例的步驟是什么? 1) 為每個(gè)等價(jià)類編號(hào);2) 使一個(gè)測(cè)試用例盡可能覆蓋多個(gè)有效等價(jià)類; 3)特別要注意:一個(gè)測(cè)試用例只能覆蓋一個(gè)無效等價(jià)類; 6、軟件測(cè)試為何需要盡早和不斷地進(jìn)行?軟件測(cè)試不應(yīng)僅僅作為一個(gè)獨(dú)立的軟件開發(fā)階段,而應(yīng)貫穿到軟件開發(fā)的各個(gè)階段中。通過各階段的評(píng)審,在早期把錯(cuò)誤解決,以減少錯(cuò)誤放大效應(yīng),這樣不僅可以提高軟件質(zhì)量,

24、而且也是降低軟件本錢的一個(gè)重要措施。由此,軟件測(cè)試應(yīng)該盡早和不斷地進(jìn)行。 7、一般,驅(qū)動(dòng)模塊比樁模塊容易設(shè)計(jì),為什么? 因?yàn)轵?qū)動(dòng)模塊是模擬主程序或者調(diào)用模塊的功能,處于被測(cè)試模塊的上層,所以驅(qū)動(dòng)模塊只需要模擬向被測(cè)模塊傳遞數(shù)據(jù),接收、打印從被測(cè)模塊返回的數(shù)據(jù)的功能,較容易實(shí)現(xiàn)。而樁模塊用于模擬那些由被測(cè)模塊所調(diào)用的下屬模塊的功能,由于下屬模塊往往不只一個(gè),也不只一層,由于模塊接口的復(fù)雜性,樁模塊很難模擬各下層模塊之間的調(diào)用關(guān)系,同時(shí)為了模擬下層模塊的不同功能,需要編寫多個(gè)樁模塊,而這些樁模塊所模擬的功能是否正確,也很難進(jìn)行驗(yàn)證。因此,驅(qū)動(dòng)模塊的設(shè)計(jì)顯然比樁模塊容易。8、什么是測(cè)試和測(cè)試? 測(cè)試

25、是在開發(fā)機(jī)構(gòu)的監(jiān)督下,由個(gè)別用戶在確認(rèn)測(cè)試階段后期對(duì)軟件進(jìn)行測(cè)試,目的是評(píng)價(jià)軟件的FLURPS功能、局域化、可使用性、可靠性、性能和支持性,注重界面和特色。測(cè)試是由支持軟件預(yù)發(fā)行的客戶對(duì)FLURPS 進(jìn)行測(cè)試,主要目的是測(cè)試系統(tǒng)的可支持性。9、漸增式與非漸增式各有何優(yōu)、缺點(diǎn)?為什么通常采用漸增式? 非漸增式是將所有的模塊一次連接起來,簡(jiǎn)單、易行、節(jié)省機(jī)時(shí),但測(cè)試過程難于排錯(cuò),發(fā)現(xiàn)錯(cuò)誤也很難定位,測(cè)試效率低;漸增式是將模塊一個(gè)一個(gè)的連入系統(tǒng),每連入一個(gè)模塊,都要對(duì)新系統(tǒng)進(jìn)行測(cè)試。這種組裝測(cè)試相比于非漸增式容易查出錯(cuò)誤,并及時(shí)定位,有利于查出模塊接口局部的錯(cuò)誤,因此測(cè)試效率高。故通常采用漸增式測(cè)試

26、方法。10、什么是動(dòng)態(tài)測(cè)試?為何靜態(tài)測(cè)試方法往往比動(dòng)態(tài)測(cè)試方法效率高?動(dòng)態(tài)測(cè)試是通過運(yùn)行軟件來檢驗(yàn)其動(dòng)態(tài)行為和運(yùn)行結(jié)果的正確性。 動(dòng)態(tài)測(cè)試是實(shí)際運(yùn)行被測(cè)程序,輸入相應(yīng)的測(cè)試用例,判定執(zhí)行結(jié)果是否符合要求,從而檢驗(yàn)程序的正確性、可靠性和有效性。靜態(tài)測(cè)試是對(duì)被測(cè)程序進(jìn)行特性分析的一些方法的總稱,這種方法的主要特性是不利用計(jì)算機(jī)運(yùn)行被測(cè)試的程序,而是采用其他手段到達(dá)檢測(cè)的目的。因而在代碼產(chǎn)生之前便可對(duì)各種文檔進(jìn)行測(cè)試,其效率當(dāng)然高于動(dòng)態(tài)測(cè)試。11、 單元測(cè)試與集成測(cè)試相關(guān)概念。 1請(qǐng)簡(jiǎn)述單元測(cè)試的主要內(nèi)容? 模塊接口測(cè)試、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試、路徑測(cè)試、錯(cuò)誤處理測(cè)試、邊界測(cè)試 2在單元測(cè)試中,所謂單元是

27、如何劃分的? 單元測(cè)試的對(duì)象通常是軟件設(shè)計(jì)的最小邏輯單元,單元的劃分在面向過程的結(jié)構(gòu)化程序中一般是函數(shù)或子過程,在面向?qū)ο蟮某绦蛑锌梢允穷惢蝾惖某蓡T函數(shù)。 3如果開發(fā)時(shí)間緊迫,是否可以跳過單元測(cè)試而直接進(jìn)行集成測(cè)試? 不可以。因?yàn)闆]有經(jīng)過單元測(cè)試的模塊會(huì)遺留大量的缺陷到集成測(cè)試階段,而在集成測(cè)試階段對(duì)這些缺陷定位困難,導(dǎo)致后續(xù)工作展開困難,修復(fù)缺陷本錢成指數(shù)級(jí)增長。 4集成測(cè)試也叫組裝測(cè)試又叫聯(lián)合測(cè)試,為何要進(jìn)行集成測(cè)試? 在單元測(cè)試的根底上,將所有模塊按照設(shè)計(jì)要求如根據(jù)結(jié)構(gòu)圖組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測(cè)試。實(shí)踐說明,一些模塊雖然能夠單獨(dú)地工作,但并不能保證連接起來也能正常的工作。程序在某

28、些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實(shí)現(xiàn)。12、如果沒有軟件規(guī)格說明或需求文檔,可以進(jìn)行動(dòng)態(tài)黑盒測(cè)試嗎?為什么?答:不行。因?yàn)楹诤袦y(cè)試是基于軟件規(guī)格說明的測(cè)試。13、軟件測(cè)試階段如何劃分?答:軟件測(cè)試的階段劃分為:規(guī)格說明書審查;系統(tǒng)和程序設(shè)計(jì)審查;單元測(cè)試;集成測(cè)試;確認(rèn)測(cè)試;系統(tǒng)測(cè)試;驗(yàn)收測(cè)試。14、分析比擬面向?qū)ο蟮能浖y(cè)試與傳統(tǒng)的軟件測(cè)試的異同。 解:傳統(tǒng)的單元測(cè)試的對(duì)象是軟件設(shè)計(jì)的最小單位模塊。當(dāng)考慮面向?qū)ο筌浖r(shí),單元的概念發(fā)生了變化,此時(shí)最小的可測(cè)試單位是封裝的類或?qū)ο?,而不再是個(gè)體的模塊。傳統(tǒng)單元測(cè)試主要關(guān)注模塊的算法實(shí)現(xiàn)和模塊接口間數(shù)據(jù)的傳遞,而面向?qū)ο?/p>

29、的單元測(cè)試主要考察封裝在一個(gè)類中的方法和類的狀態(tài)行為。 面向?qū)ο筌浖]有層次的控制結(jié)構(gòu), 因此傳統(tǒng)的自頂向下和自底向上集成策略就不再適合,它主要有以下兩種集成策略: 基于類間協(xié)作關(guān)系的橫向測(cè)試;基于類間繼承關(guān)系的縱向測(cè)試。 系統(tǒng)測(cè)試一般不考慮內(nèi)部結(jié)構(gòu)和中間結(jié)果, 因此面向?qū)ο筌浖到y(tǒng)測(cè)試與傳統(tǒng)的系統(tǒng)測(cè)試差異不大。 面向?qū)ο筌浖y(cè)試的整體目標(biāo)和傳統(tǒng)軟件測(cè)試的目標(biāo)是一致的, 即以最小的工作量發(fā)現(xiàn)盡可能多的錯(cuò)誤,但是面向?qū)ο鬁y(cè)試的策略和戰(zhàn)術(shù)有很大不同。測(cè)試的視角擴(kuò)大到包括復(fù)審分析和設(shè)計(jì)模型,此外,測(cè)試的焦點(diǎn)從過程構(gòu)件(模塊)移向了類。軟件維護(hù)1、 軟件維護(hù)的概念、目的、維護(hù)類型。2、 軟件維護(hù)衍生的

30、一些相關(guān)技術(shù)。3、 為什么要進(jìn)行軟件維護(hù)? 軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需求而修改軟件的過程。一個(gè)中等規(guī)模的軟件,如果其開發(fā)過程需要一年時(shí)間,那么它投入使用后,其運(yùn)行的時(shí)間可能持續(xù)五到十年。在這個(gè)維護(hù)階段,人們不僅需要著手解決開發(fā)階段尚未解決的問題,同時(shí),還需解決維護(hù)過程本身產(chǎn)生的問題。維護(hù)階段的的時(shí)間大約占整個(gè)軟件生命周期的67%。因此,我們應(yīng)充分認(rèn)識(shí)到軟件維護(hù)的重要性。4、 怎樣防止維護(hù)的副作用? 修改代碼所產(chǎn)生的副作用一般可以在回歸測(cè)試過程進(jìn)行查明和糾正;修改軟件所帶來的副作用可以通過完善的設(shè)計(jì)文檔的加以限制;修改文檔資料所產(chǎn)生的副作用可以在軟件系統(tǒng)交付使用之

31、前,對(duì)整個(gè)軟件配置進(jìn)行復(fù)審,將能大大減少。5、 提高軟件可維護(hù)性的方法有哪些? 1建立明確的軟件質(zhì)量目標(biāo)與優(yōu)先級(jí)。 2使用提高軟件質(zhì)量的技術(shù)與工具如模塊化 3進(jìn)行明確的質(zhì)量保證審查 4選擇可維護(hù)性好的程序設(shè)計(jì)語言 5改良程序文檔 6開發(fā)時(shí)考慮到維護(hù)軟件質(zhì)量1、軟件質(zhì)量保證應(yīng)做好以下幾方面的工作:1采用技術(shù)手段和工具。質(zhì)量保證活動(dòng)要貫徹開發(fā)過程始終,必須采用技術(shù)手段和工具,尤其是使用軟件開發(fā)環(huán)境來進(jìn)行軟件開發(fā)。2組織正式技術(shù)評(píng)審。在軟件開發(fā)的每一個(gè)階段結(jié)束時(shí),都要組織正式的技術(shù)評(píng)審。國家標(biāo)準(zhǔn)要求單位必須采用審查、文檔評(píng)審、設(shè)計(jì)評(píng)審、審計(jì)和測(cè)試等具體手段來保證質(zhì)量。3加強(qiáng)軟件測(cè)試。軟件測(cè)試是質(zhì)量保

32、證的重要手段,因?yàn)闇y(cè)試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯(cuò)誤。4推行軟件工程標(biāo)準(zhǔn)標(biāo)準(zhǔn)。用戶可以自己制定軟件工程標(biāo)準(zhǔn)標(biāo)準(zhǔn),但標(biāo)準(zhǔn)一旦確認(rèn)就應(yīng)貫徹執(zhí)行。5對(duì)軟件的變更進(jìn)行控制。軟件的修改和變更常常會(huì)引起潛伏的錯(cuò)誤,因此必須嚴(yán)格控制軟件的修改和變更。6對(duì)軟件質(zhì)量進(jìn)行度量。即對(duì)軟件質(zhì)量進(jìn)行跟蹤,及時(shí)記錄和報(bào)告軟件質(zhì)量情況。 2、什么是軟件配置管理?軟件配置管理和軟件維護(hù)有何不同? 軟件配置管理是在軟件生命周期內(nèi)管理變化的一組活動(dòng),用來:標(biāo)識(shí)變化、控制變化、確保適當(dāng)?shù)貙?shí)現(xiàn)了變化、向相關(guān)人員報(bào)告變化。 軟件配置管理和軟件維護(hù)的區(qū)別是:軟件配置管理是一組追蹤和控制活動(dòng),在軟件工程啟動(dòng)時(shí)就開始,并一直持續(xù)到軟件被淘汰后才

33、終止;軟件維護(hù)是一組軟件工程活動(dòng),發(fā)生于軟件交付給用戶并投入運(yùn)行之后。面向?qū)ο蠓椒ê徒Y(jié)構(gòu)化方法1、結(jié)構(gòu)化程序設(shè)計(jì)的優(yōu)點(diǎn)是什么?如何在編碼中使用這種方法?答:易于閱讀,易于驗(yàn)證。程序設(shè)計(jì)自頂向下,逐步求精2、SP 法的自頂向下,逐步求精方法的優(yōu)點(diǎn)有哪些?答:此法符合人們解決復(fù)雜問題的普遍規(guī)律,可提高軟件開發(fā)的成功率和生產(chǎn)率;而且用先全局后局部、先整體后細(xì)節(jié)、先抽象后具體的逐步求精過程,開發(fā)出來的程序具有清晰的層次結(jié)構(gòu),因此程序容易閱讀和理解,這樣,程序自頂向下,逐步細(xì)化,分解成一個(gè)樹型結(jié)構(gòu)。因此,在同一層次的節(jié)點(diǎn)上做細(xì)化工作,相互之間沒有聯(lián)系,它們之間的細(xì)化工作相互獨(dú)立;任何一步發(fā)生錯(cuò)誤,一般只

34、影響它下層的節(jié)點(diǎn),同一層其他節(jié)點(diǎn)不受影響;在以后的測(cè)試中,也可以先獨(dú)立地一個(gè)節(jié)點(diǎn)一個(gè)節(jié)點(diǎn)的做,最后再集成。這樣,程序清晰和模塊化,使得在修改和重新設(shè)計(jì)一個(gè)軟件時(shí),可復(fù)用的代碼量最大。3、簡(jiǎn)述結(jié)構(gòu)化程序設(shè)計(jì)方法的根本特點(diǎn)。5分1是盡可能少用goto語句的程序設(shè)計(jì)方法;2每個(gè)代碼塊都單入單出;3使用控制結(jié)構(gòu):順序、選擇和循環(huán)Do_UNTIL和Do_CASE;4自頂向下逐步求精。4、面向?qū)ο蠓椒▽W(xué)包含哪些核心概念?簡(jiǎn)述之(1) 對(duì)象:對(duì)象是現(xiàn)實(shí)世界中個(gè)體或事物的抽象表示,是其屬性和相關(guān)操作的封裝。(2) 類:類表示某些對(duì)象在屬性和操作方面的共同特征。(3) 繼承:類之間的繼承關(guān)系是現(xiàn)實(shí)世界中遺傳關(guān)系的模擬,它表示類之間的內(nèi)在聯(lián)系 以及對(duì)屬性和操作的共享。(4) 聚集:現(xiàn)實(shí)世界普遍存在局部整體關(guān)系。(5) 消息:消息傳遞是對(duì)象與其外部世界相互關(guān)聯(lián)的唯一途徑。5、面向?qū)ο蟪绦蛟O(shè)計(jì)有哪些優(yōu)點(diǎn)?答:并發(fā)時(shí)間短,效率高,可靠性高,所開發(fā)的程序更強(qiáng)壯。由于面向?qū)ο缶幊痰目芍赜眯?,可以在?yīng)用程序中大量采用成熟的類庫,從而縮短了開發(fā)時(shí)間。程序更易于維護(hù)、更新和升級(jí)。繼承和封裝使得應(yīng)用程序的修改帶來的影響更加局部化。6、面向?qū)ο蠓椒ê徒Y(jié)構(gòu)化方法有何區(qū)別

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論