軟件工程教程課后參考及答案_第1頁(yè)
軟件工程教程課后參考及答案_第2頁(yè)
軟件工程教程課后參考及答案_第3頁(yè)
軟件工程教程課后參考及答案_第4頁(yè)
軟件工程教程課后參考及答案_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程教程課后參考答案

第1章

一、選擇題

(1)D(2)B(3)C(4)D(5)D(6)A(7)D

二、簡(jiǎn)答題

(1)什么是軟件危機(jī)?軟件危機(jī)表現(xiàn)在哪些方面?

答:具體來(lái)說(shuō),軟件危機(jī)出現(xiàn)的原因可以概括如下。

①忽視軟件開(kāi)發(fā)前期的需求分析。

②開(kāi)發(fā)過(guò)程缺乏統(tǒng)一的、規(guī)范化的方法論指導(dǎo)。

③文檔資料不齊全或不準(zhǔn)確。

④忽視與用戶之間、開(kāi)發(fā)組成員之間的交流。

⑤忽視測(cè)試的重要性。

⑥不重視維護(hù)或由于上述原因造成維護(hù)工作的困難。

⑦從事軟件開(kāi)發(fā)的專(zhuān)業(yè)人員對(duì)這個(gè)產(chǎn)業(yè)的認(rèn)識(shí)不充分,缺乏經(jīng)驗(yàn)。

⑧沒(méi)有完善的質(zhì)量保證體系。

具體地說(shuō),軟件危機(jī)的表現(xiàn)形式可以概括如下。

①軟件開(kāi)發(fā)費(fèi)用和進(jìn)度失控。

②軟件系統(tǒng)實(shí)現(xiàn)的功能與實(shí)際需求不符。

③軟件的可靠性差。

④軟件難以維護(hù)。

⑤軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。

⑥軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例居高不下,且逐年上升。

⑦軟件生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。

(2)簡(jiǎn)述軟件和軟件工程的定義以及軟件工程的形成過(guò)程。

答:軟件是計(jì)算機(jī)系統(tǒng)中與硬件相對(duì)應(yīng)的另一部分,是一系列程序、數(shù)據(jù)

及其相關(guān)的文檔集合。在這里,程序是按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令

的集合;數(shù)據(jù)是使程序能正常執(zhí)行的數(shù)據(jù)結(jié)構(gòu);文檔是是開(kāi)發(fā)、使用和維護(hù)程

序所需要的圖文資料。

1

軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)理論和技術(shù)以及工程管理原則和方法,按預(yù)算

和進(jìn)度,實(shí)現(xiàn)滿足用戶要求的軟件產(chǎn)品的定義、開(kāi)發(fā)、發(fā)布和維護(hù)的工程或進(jìn)

行研究的學(xué)科。

軟件工程的發(fā)展經(jīng)歷了以下四個(gè)階段。

①20世紀(jì)70年代。為了解決軟件項(xiàng)目失敗率高、錯(cuò)誤率高以及軟件維護(hù)

任務(wù)重等問(wèn)題,人們提出了軟件生產(chǎn)工程化的思想,希望使軟件生產(chǎn)走上正規(guī)

化的道路,并努力克服軟件危機(jī)。人們發(fā)現(xiàn)將傳統(tǒng)工程學(xué)的原理、技術(shù)和方法

應(yīng)用于軟件開(kāi)發(fā),可以起到使軟件生產(chǎn)規(guī)范化的作用。

②20世紀(jì)80年代。面向?qū)ο蟮姆椒ㄅc技術(shù)受到了廣泛的重視,maltalk-80

的出現(xiàn)標(biāo)志著面向?qū)ο蟮某绦蛟O(shè)計(jì)進(jìn)入了實(shí)用和成熟階段。20世紀(jì)80年代末,

逐步發(fā)展起來(lái)的面向?qū)ο蟮姆治雠c設(shè)計(jì)方法,己經(jīng)形成了完整的面向?qū)ο蠹夹g(shù)

體系,使系統(tǒng)的生存周期更長(zhǎng),適應(yīng)更大規(guī)模、更廣泛的應(yīng)用。

③20世紀(jì)90年代末。出現(xiàn)了許多的敏捷方法,如自適應(yīng)軟件開(kāi)發(fā)、水晶

項(xiàng)目開(kāi)發(fā)、動(dòng)態(tài)系統(tǒng)開(kāi)發(fā)、極限編程、特征驅(qū)動(dòng)開(kāi)發(fā)和Scrum等。這些主要的

敏捷方法的創(chuàng)始人在2001年聚集一堂,并發(fā)表了敏捷開(kāi)發(fā)宣言。

④21世紀(jì)。對(duì)快速應(yīng)用開(kāi)發(fā)(RapidApplicationDevelopment,RAD)追

求的趨勢(shì)仍在繼續(xù),在信息技術(shù)、組織、競(jìng)爭(zhēng)對(duì)策及環(huán)境等方面的變革步伐也

正在加快。云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能和機(jī)器學(xué)習(xí)、移動(dòng)互聯(lián)網(wǎng)、三

維打印、可穿戴式技術(shù)、虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)、社交媒體、無(wú)人駕駛汽車(chē)和飛

機(jī)等技術(shù)不斷涌現(xiàn)?!按笠?guī)模計(jì)算”、“自治和生化計(jì)算機(jī)”、“模型驅(qū)動(dòng)體

系結(jié)構(gòu)”和“構(gòu)件化軟件開(kāi)發(fā)”等新領(lǐng)域都可能成為接下來(lái)軟件工程發(fā)展的主

要方向。

(3)軟件工程的目標(biāo)是什么?如何解決多目標(biāo)之間的矛盾?

答:軟件工程要達(dá)到的基本目標(biāo)包括以下六方面。

①達(dá)到要求的軟件功能。

②取得較好的軟件性能。

③開(kāi)發(fā)出高質(zhì)量的軟件。

④付出較低的開(kāi)發(fā)成本。

⑤需要較低的維護(hù)費(fèi)用。

⑥能按時(shí)完成開(kāi)發(fā)工作,及時(shí)交付使用。

2

軟件工程的首要問(wèn)題是軟件質(zhì)量。軟件工程的目的就是在以上目標(biāo)的沖突

之間取得一定程度的平衡。因此,在涉及平衡軟件工程目標(biāo)這個(gè)問(wèn)題的時(shí)候,

軟件的質(zhì)量應(yīng)該擺在最重要的位置加以考慮。軟件質(zhì)量可用功能性、可靠性、

可用性、效率、可維護(hù)性和可移植性等六個(gè)特性來(lái)評(píng)價(jià)。

(4)什么是軟件生存周期?它分為幾個(gè)時(shí)期?幾個(gè)階段?

答:軟件生存周期是指從設(shè)計(jì)該產(chǎn)品的構(gòu)想開(kāi)始,到軟件需求的確定、軟

件設(shè)計(jì)、軟件實(shí)現(xiàn)、產(chǎn)品測(cè)試與驗(yàn)收、投入使用,以及產(chǎn)品版本的不斷更新,

到該產(chǎn)品最終被市場(chǎng)淘汰的全過(guò)程。軟件生存周期由軟件定義、軟件開(kāi)發(fā)和運(yùn)

行維護(hù)三個(gè)時(shí)期組成,劃分為問(wèn)題定義、可行性研究、需求分析、概要設(shè)計(jì)、

詳細(xì)設(shè)計(jì)、軟件實(shí)現(xiàn)和單元測(cè)試、綜合測(cè)試和運(yùn)行維護(hù)八個(gè)階段。

(5)什么是軟件生存周期模型?有哪些主要軟件過(guò)程模型?

答:軟件生存期模型也稱(chēng)為軟件過(guò)程模型,是從軟件項(xiàng)目需求定義直至軟

件運(yùn)行維護(hù)為止,跨越整個(gè)生命周期的系統(tǒng)開(kāi)發(fā)、運(yùn)行和維護(hù)所實(shí)施的全部過(guò)

程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。典型的包括瀑布模型、快速原型模型、增量模型、

螺旋模型、統(tǒng)一過(guò)程、敏捷過(guò)程等。

(6)在軟件工程知識(shí)體系中,將軟件工程劃分為哪些知識(shí)域?

答:SWEBOK將軟件工程知識(shí)體系劃分為10個(gè)知識(shí)域,包含在兩類(lèi)過(guò)程中。

一類(lèi)過(guò)程是開(kāi)發(fā)與維護(hù)過(guò)程,包括軟件需求、軟件設(shè)計(jì)、軟件構(gòu)造、軟件測(cè)試

和軟件維護(hù);另一類(lèi)過(guò)程是支持過(guò)程,包括軟件配置管理、軟件工程管理,軟

件工程過(guò)程、軟件工程工具寫(xiě)方法、軟件質(zhì)量。每個(gè)知識(shí)域還可進(jìn)一步分解為

若干個(gè)論題,在論題描述中引用有關(guān)知識(shí)的參考文獻(xiàn),形成一個(gè)多級(jí)層次結(jié)構(gòu),

以此確定軟件工程知識(shí)體系的內(nèi)容和邊界。

3

(2)設(shè)計(jì)一個(gè)軟件的開(kāi)發(fā)成本為5萬(wàn)元,壽命為3年。未來(lái)3年的每年收益預(yù)

計(jì)為:2200元,24000元,26620元。銀行年利率為10%。試對(duì)此項(xiàng)目進(jìn)行成

本-效益分析,以決定其經(jīng)濟(jì)可行性。

解:進(jìn)行投入產(chǎn)出分析時(shí),未來(lái)的收益和現(xiàn)在消耗的成本不能直接進(jìn)行比

較,必須在考慮貨幣的時(shí)間價(jià)值后,才能進(jìn)行準(zhǔn)確的投入、產(chǎn)出分析。

22000/(1+10%)+24000/(1.1x1.1)+26620/(1.1x1.1x1.1)-50000=20000+1983

4.71

+20000-50000=9834.71

經(jīng)濟(jì)可行性分析投資收益為:9834.71元。

(3)某軟件公司統(tǒng)計(jì)發(fā)現(xiàn)該公司研發(fā)部門(mén)每一萬(wàn)行C語(yǔ)言源代碼形成的源文

件(.c和.h文件)約為250K。某項(xiàng)目的源文件大小為3.75M。

①問(wèn)該項(xiàng)目的規(guī)模是多少KLOC(源代碼行數(shù))?該公司研發(fā)部門(mén)的生產(chǎn)

率是0.625KLOC/人月,人工價(jià)是10000元/人月。

②問(wèn)工作量和總成本是多少?

③每行代碼的價(jià)值是多少?

解:①3.75M/250K=15萬(wàn)行=150KLOC

②工作量=規(guī)模/生產(chǎn)率=150KLOC/0.625KLOC=240人月

成本二工作量x人工價(jià)=240人月*10000元/人月=240萬(wàn)元

③24()萬(wàn)元/15萬(wàn)行=16元/行

(4)某計(jì)算機(jī)系統(tǒng)投入使用后,每年可節(jié)約人民幣20000元,假設(shè)軟件生存期

為4年,系統(tǒng)投資額為50000元,若年利率為5%,試計(jì)算效益。

解:表面上看,4年共節(jié)約20000*4=80000元,扣除投資55000元可產(chǎn)生

純收入25000元。其實(shí)不然,因?yàn)橥顿Y在前,效益產(chǎn)生有一個(gè)時(shí)間過(guò)程,所以

需要把4年內(nèi)每年預(yù)計(jì)節(jié)約的錢(qián)折合成當(dāng)前價(jià)值才能比較。若按年利率5%計(jì)

算,折合到當(dāng)前值的數(shù)目如表1所示:

表1每年效益折算的當(dāng)前值

年效益(元)利率(1+0.()5尸當(dāng)前值(元)預(yù)計(jì)當(dāng)前值(元)

1200001.051904719047

2200001.10251814037187

32(X)0()1.15761727754464

42(X)()()1.21551645470918

5

根據(jù)表1可計(jì)算出以下經(jīng)濟(jì)指標(biāo):

純收入=4年累計(jì)的當(dāng)前值-系統(tǒng)投資=70918-55000=15918(元)

投資回收期=3+(55000-54464)/16454-3.033年

(5)某旅館的電話號(hào)他服務(wù)如下:

可以撥分機(jī)號(hào)和外線號(hào)碼。分機(jī)號(hào)是從7201?7299。外線號(hào)碼先撥9,然

后是市話號(hào)碼或長(zhǎng)話號(hào)碼。長(zhǎng)話號(hào)碼是以區(qū)號(hào)和市話號(hào)碼組成。區(qū)號(hào)是從

100?300中任意的數(shù)字串。市話號(hào)碼是以局號(hào)和分句號(hào)組成。局號(hào)可以是455、

466、888、552中任意一個(gè)號(hào)碼。分局號(hào)是是任意長(zhǎng)度為4的數(shù)字串。

要求:寫(xiě)出在數(shù)據(jù)字典中,電話號(hào)碼的數(shù)據(jù)條目的定義(即組成)

解:電話號(hào)碼二分機(jī)號(hào)|外線號(hào)碼

分機(jī)號(hào)=7201...7299

外線號(hào)碼=9+[市話號(hào)碼|長(zhǎng)話號(hào)碼]

長(zhǎng)話號(hào)碼=區(qū)號(hào)+市話號(hào)碼

區(qū)號(hào)=100...300

市話號(hào)碼=局號(hào)+分局號(hào)

局號(hào)=L455|466|888|552J

分局號(hào):4{數(shù)字}4

(6)某工廠的采購(gòu)部每天需要一張訂貨報(bào)表,報(bào)表按零件編號(hào)排序,表中列出

所有需要再次訂貨的零件。對(duì)于每個(gè)需要再次訂貨的零件,應(yīng)該列出下述數(shù)據(jù):

零件編號(hào),零件名稱(chēng),訂貨數(shù)量,目前價(jià)格,主要供應(yīng)者,次要供應(yīng)者。零件

入庫(kù)或出庫(kù)稱(chēng)為事務(wù),通過(guò)存放在庫(kù)房的CRT終端把事務(wù)報(bào)告給定貨系統(tǒng)。當(dāng)

零件庫(kù)存量少于庫(kù)存量臨界值,決定再次訂貨,畫(huà)出訂貨系統(tǒng)的數(shù)據(jù)流圖。

解:?jiǎn)栴}分析:源點(diǎn)/終點(diǎn),處理,數(shù)據(jù)存儲(chǔ),數(shù)據(jù)流

1)源點(diǎn)/終點(diǎn):系統(tǒng)之外的實(shí)體(人,物,系統(tǒng))

源點(diǎn):倉(cāng)庫(kù)管理員

終點(diǎn):采購(gòu)員

2)處理:

需要報(bào)表一>產(chǎn)生報(bào)表

處理日常事務(wù)一>事務(wù)處理

3)數(shù)據(jù)存儲(chǔ):

6

訂貨信息

庫(kù)存清單

4)數(shù)據(jù)流:

訂貨報(bào)表:零件編號(hào)、名稱(chēng)、數(shù)量

事務(wù):零件編號(hào)、事務(wù)類(lèi)型、數(shù)量

Stepl:頂層數(shù)據(jù)流圖系統(tǒng)級(jí)

表1訂貨系統(tǒng)頂層DFD圖

構(gòu)成:基本系統(tǒng)模型+源點(diǎn)+終點(diǎn)

一般采用自頂向下逐步細(xì)化的分層繪制方法

Step2:進(jìn)一步分解——功能級(jí)

表2訂貨系統(tǒng)。層DFD圖

Step3:進(jìn)一步分解——功能級(jí)

表3訂貨系統(tǒng)1層DFD圖

(7)開(kāi)發(fā)某工程中使用的CAD系統(tǒng)需要投資20萬(wàn)元,經(jīng)估算在工程中用該

CAD系統(tǒng)后將取代大部分人工設(shè)計(jì)工作,每年可節(jié)省9.6萬(wàn)元。若該軟件的生

存期為5年,年利率按5%計(jì)算,試求該項(xiàng)目的凈收入。

解:若按年利率5%計(jì)算,貨幣時(shí)間價(jià)值折合到當(dāng)前值的數(shù)目如表2所示:

7

表2貨幣時(shí)間價(jià)值(萬(wàn)元)

年份將來(lái)值(l+i)n現(xiàn)在值累計(jì)現(xiàn)在值

(萬(wàn)元)(萬(wàn)元)

19.61.059.14299.1429

29.61.10258.707517.8513

39.61.15768.292826.1432

49.61.21557.897934.0411

59.61.27637.521941.5630

純收入=5年累計(jì)的當(dāng)前值-系統(tǒng)投資=41.5630-20=21.5630(萬(wàn)元)

8

第3章

一、選擇題

(1)B(2)D(3)B(4)B(5)B

二、簡(jiǎn)答題

(1)答:需求分析需要4個(gè)步驟,分別獲取、建模、描述和驗(yàn)證。獲取需求實(shí)

質(zhì)上是一個(gè)需求收集的過(guò)程,要做充分的調(diào)查研究°通常是從分析當(dāng)前系統(tǒng)包

含的數(shù)據(jù)開(kāi)始,分析當(dāng)前系統(tǒng)在處理信息時(shí)的不足,用戶希望改進(jìn)的主要問(wèn)題

及迫切性等。收集需求的常用方法有問(wèn)卷調(diào)查、訪談、實(shí)地操作、建立原型等,

收集的需求主要包括功能需求、性能需求、可靠性需求、可用性、人機(jī)界面需

求、約束、出錯(cuò)處理等內(nèi)容。需求分析的核心任務(wù)是建立分析模型,即把來(lái)自

用戶的需求信息通過(guò)分析、提取、歸納、抽象建立起描述目標(biāo)系統(tǒng)的模型。傳

統(tǒng)的面向過(guò)程的軟件工程方法學(xué),主要采用數(shù)據(jù)流圖建立目標(biāo)系統(tǒng)的邏輯模型。

需求描述是指編制需求分析階段各類(lèi)文檔。一般情況下,對(duì)于大型、復(fù)雜軟件

系統(tǒng)在需求分析階段會(huì)產(chǎn)生3個(gè)文檔:系統(tǒng)定義文檔(用于描述用戶需求的報(bào)

告)、系統(tǒng)需求規(guī)格說(shuō)明書(shū)、軟件需求規(guī)格說(shuō)明書(shū),分別從不同的角度和層次

描述項(xiàng)目開(kāi)發(fā)的需求。對(duì)于簡(jiǎn)單的小規(guī)模軟件系統(tǒng),只需編制SRS即可。因?yàn)?/p>

需求分析的成果是后續(xù)開(kāi)發(fā)的重要依據(jù)和基礎(chǔ),為了提高軟件產(chǎn)品的最終質(zhì)量,

降低開(kāi)發(fā)成本,必須對(duì)需求分析結(jié)果從完整性、一致性、有效性和現(xiàn)實(shí)性4個(gè)

方面進(jìn)行嚴(yán)格的正確性驗(yàn)證,并且要對(duì)需求的變更實(shí)施可回溯的管理,避免無(wú)

法追蹤錯(cuò)誤來(lái)源導(dǎo)致的混亂。

(2)答:包括6個(gè)方面:確定對(duì)系統(tǒng)的綜合要去;分析系統(tǒng)的數(shù)據(jù)需求;建立

系統(tǒng)的邏輯模型;修訂系統(tǒng)開(kāi)發(fā)計(jì)劃;編寫(xiě)軟件需求規(guī)格說(shuō)明書(shū);需求分析評(píng)

審。

(3)答:結(jié)構(gòu)化分析方法采用歸納思維和演繹思維的邏輯方法,逐步建立目標(biāo)

系統(tǒng)的邏輯模型(包括數(shù)據(jù)模型、功能模型和行為模型),進(jìn)而描繪出滿足用

戶要求的軟件系統(tǒng)。

結(jié)構(gòu)化需求分析方法基于“分解“和”抽象”的基本指導(dǎo)思想,采用面向數(shù)據(jù)流自

頂向下逐步求精的分析策略,逐步建立目標(biāo)系統(tǒng)的邏輯模型。

“分解”是面對(duì)一個(gè)復(fù)雜系統(tǒng)時(shí),為了將復(fù)雜性降低到人類(lèi)認(rèn)知能力可以掌

握的程度,而把一個(gè)大系統(tǒng)(問(wèn)題)分解成若干個(gè)小問(wèn)題,然后分別解決。

9

需求分析的目標(biāo)之一是把數(shù)據(jù)流圖中的數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)分解定義到元素

級(jí)。通常做法是從數(shù)據(jù)流圖的輸出端著手分析,這是因?yàn)檩敵鰯?shù)據(jù)決定了系統(tǒng)

必須具有的最基本的組成元素(即功能)。

具體做法是,沿著數(shù)據(jù)流圖從輸出端往輸入端回溯,以確定每個(gè)數(shù)據(jù)元素

的來(lái)源,與此同時(shí)也就初步定義了有關(guān)的算法。通常把分析過(guò)程中得到的數(shù)據(jù)

元素的信息定義成數(shù)據(jù)字典,對(duì)算法的簡(jiǎn)明描述記錄在IPO表中。通過(guò)分析而

補(bǔ)充的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理,應(yīng)該添加到數(shù)據(jù)流圖的適當(dāng)位置。復(fù)查的過(guò)

程是從輸入端開(kāi)始,向用戶解釋輸入的數(shù)據(jù)是經(jīng)過(guò)怎樣的處理一步步變成了輸

出數(shù)據(jù)。反復(fù)經(jīng)過(guò)上述過(guò)程,把數(shù)據(jù)流圖“分解“擴(kuò)展到更低(即更詳細(xì))的層

次,從而得到更具體、更令人滿意的功能性需求的了解。

(4)答:首先進(jìn)行初步訪談,通過(guò)用戶對(duì)基本問(wèn)題的回答,初步確定待解決問(wèn)

題的范圍和解決方案。然后開(kāi)發(fā)者和用戶分別寫(xiě)出“產(chǎn)品需求

定會(huì)議的時(shí)間和地點(diǎn)以及主持會(huì)議的協(xié)調(diào)人。邀請(qǐng)雙方的代表出席會(huì)議,

并在會(huì)前預(yù)先把寫(xiě)好的產(chǎn)品需求分發(fā)給每一位與會(huì)者。

要去每位與會(huì)者會(huì)前認(rèn)真審查產(chǎn)品需求,并列出作為系統(tǒng)環(huán)境組成的部分

對(duì)象、系統(tǒng)將產(chǎn)生的對(duì)象以及系統(tǒng)為了完成自己的功能將使用的對(duì)象。此外,

還要求每位與會(huì)者列出操作這些對(duì)象或與這些對(duì)象交互的服務(wù)(即處理或功

能)。最后還應(yīng)該列出約束條件(例如成本、規(guī)模、完成日期)和性能標(biāo)準(zhǔn)(例

如速度、容量)。并不希望每位與會(huì)者列出的內(nèi)容毫無(wú)遺漏,但求能夠獲得對(duì)

目標(biāo)系統(tǒng)準(zhǔn)確的認(rèn)識(shí)。

會(huì)議開(kāi)始后,討論的第一個(gè)問(wèn)題是是否需耍這個(gè)新產(chǎn)品,一旦大家都同意

確實(shí)需要這個(gè)新產(chǎn)品,每位與會(huì)者則把他們會(huì)前準(zhǔn)備好的列表展示出來(lái)供大家

討論。在這個(gè)階段,嚴(yán)格禁止批評(píng)和爭(zhēng)論,以免影響每位與會(huì)者深入交流的意

愿。

在討論的基礎(chǔ)上,大家一起共同創(chuàng)建一張包含各個(gè)議題的組合列表。調(diào)整

后的組合列表并不真正刪除某項(xiàng)內(nèi)容。在每個(gè)議題的組合列表都建立起來(lái)后,

在由協(xié)調(diào)人主持討論這些列表,以形成每個(gè)議題都達(dá)到意見(jiàn)一致的局面。

一旦得到了意見(jiàn)一致的列表,就把與會(huì)者分成更小的小組,針對(duì)每張列表

中的項(xiàng)目制定小型規(guī)格說(shuō)明(需要對(duì)列表中包含的單詞或短語(yǔ)進(jìn)行準(zhǔn)確的說(shuō)

明)。

10

然后,每個(gè)小組向全體與會(huì)者展示他們制定的小型規(guī)格說(shuō)明,供大家討論。

意見(jiàn)一致后,每個(gè)與會(huì)者都制定一整套確認(rèn)標(biāo)準(zhǔn),并把自己制定的標(biāo)準(zhǔn)再次提

交會(huì)議討論,以創(chuàng)建出意見(jiàn)一致的確認(rèn)標(biāo)準(zhǔn)。最后,有一名或多名與會(huì)者根據(jù)

會(huì)議成果起草完整的軟件規(guī)格說(shuō)明書(shū)。

三、應(yīng)用題

(1)描繪本系統(tǒng)功能的數(shù)據(jù)流圖如圖所示。

5

打印利息

清單

描繪本系統(tǒng)數(shù)據(jù)模型的E-R圖如下:

(2)描繪本系統(tǒng)的功能級(jí)數(shù)據(jù)流圖如下:

11

12

第4章

一、選擇題(多選)

(1)A(2)ABCD(3)BD(4)C(5)A

二、簡(jiǎn)答題

(1)答:總體設(shè)計(jì)目標(biāo)是:是得到良好的軟件總體結(jié)構(gòu),即獨(dú)立性良好、

規(guī)模適中的一組模塊以及深度、寬度、扇入、扇出合適的系統(tǒng)結(jié)構(gòu)。主要任務(wù)

是把分析階段得到的數(shù)據(jù)模型映射成數(shù)據(jù)庫(kù)設(shè)計(jì),把數(shù)據(jù)流圖映射成軟件功能

結(jié)構(gòu),行為模型可以用于詳細(xì)設(shè)計(jì)階段的流程、算法設(shè)計(jì)。

(2)答:設(shè)想供選擇的方案,選取合理的方案,推薦最佳方案,功能分級(jí),

設(shè)計(jì)軟件結(jié)構(gòu),數(shù)據(jù)庫(kù)設(shè)計(jì),制定測(cè)試計(jì)劃,編寫(xiě)文檔,審查和復(fù)查。

(3)答:改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性,模塊規(guī)模應(yīng)該適中,深度、寬度、

扇入、扇出都應(yīng)當(dāng)適中,模塊的作用域應(yīng)該在控制與內(nèi),降低模塊結(jié)構(gòu)的復(fù)雜

度,設(shè)計(jì)單入口、單出口的模塊,模塊功能應(yīng)該可以預(yù)測(cè)。

(4)答:復(fù)查基本系統(tǒng)模型,復(fù)查并精化數(shù)據(jù)流圖,確定數(shù)據(jù)流圖的類(lèi)型,

確定數(shù)據(jù)流的邊界,完成“第一級(jí)分解”,完成“第二級(jí)分解”,優(yōu)化。

(5)答:機(jī)械地遵循上述映射規(guī)則很可能會(huì)得出一些不必要的控制模塊,

如果它們確實(shí)用處不大,那么應(yīng)該合并它們。如果控制模塊功能過(guò)分復(fù)雜,可

以適當(dāng)?shù)卦黾又虚g層的控制模塊或者進(jìn)一步將它們分解。

何優(yōu)化過(guò)程不能違背設(shè)計(jì)原理,不能違背問(wèn)題域常識(shí)、不能為了最求所謂

的“最佳設(shè)計(jì)”而優(yōu)化。

設(shè)計(jì)的優(yōu)化可能會(huì)導(dǎo)出不同的軟件結(jié)構(gòu),要從中選優(yōu),力求得到“最好”的

結(jié)構(gòu)。避免把結(jié)構(gòu)的優(yōu)化留到過(guò)程設(shè)計(jì)階段,這也是把結(jié)構(gòu)設(shè)計(jì)和過(guò)程設(shè)計(jì)分

開(kāi)的價(jià)值所在。

結(jié)構(gòu)簡(jiǎn)單往往表明效率高。設(shè)計(jì)優(yōu)化應(yīng)該力求做到在有效模塊化的前提下

使用盡可能少的模塊數(shù),以及在能夠滿足信息要求的前提下使用最簡(jiǎn)單的數(shù)據(jù)

結(jié)構(gòu)。

三、應(yīng)用題

(1)答:工資管理子系統(tǒng)數(shù)據(jù)流圖如下所示。

13

計(jì)算應(yīng)扣除

稅金

稅金

生成工資表

工資表信息

工資管理子系統(tǒng)層次圖如下:

工資管理系統(tǒng)

子系統(tǒng)

錄入扣除信息計(jì)算數(shù)據(jù)輸出數(shù)據(jù)

(2)頂層數(shù)據(jù)流圖

14

還書(shū)處理分支數(shù)據(jù)流圖

修改庫(kù)存

I

庫(kù)存

查詢處理分支數(shù)據(jù)流圖

15

借書(shū)文件庫(kù)存

借閱事務(wù)前輛事務(wù)

信息渺利

接收讀者借閱庫(kù)存

事務(wù)?

事務(wù)查詢查詢查詢

借閱處理分支數(shù)據(jù)流圖

注意事項(xiàng):必須保證登記完借書(shū)文件和修改完庫(kù)存后再出借圖書(shū)給借閱人,“登

記借書(shū)文件”和“修改庫(kù)存”誰(shuí)先誰(shuí)后影響不大。

事務(wù)

16

某圖書(shū)管理

系統(tǒng)

輸入信息業(yè)務(wù)辦理日常管理

庫(kù)

證用

書(shū)

書(shū)

書(shū)

驗(yàn)

續(xù)

冊(cè)

續(xù)

庫(kù)

書(shū)

統(tǒng)

計(jì)

——

——

——

庫(kù)

書(shū)

17

第5章

一、填空題

(1)順序、選擇和循環(huán)三種基本控制結(jié)構(gòu)

(2)完整嵌套

(3)層次線

(4)程序流程圖

(5)表格

(6)模塊接口計(jì)

(7)數(shù)據(jù)結(jié)構(gòu)

(8)結(jié)構(gòu)化程序設(shè)計(jì)、自頂向下、逐步求精油

(9)SP、問(wèn)題分析圖

(10)結(jié)構(gòu)化

(11)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)

二、選擇題

⑴D(2)C(3)C⑷B(5)A(6)B(7)B(8)A

⑼D(10)C(11)B(12)B(13)A(14)B(15)D

三、簡(jiǎn)答題

(1)詳細(xì)設(shè)計(jì)的基本任務(wù)是什么?有哪兒種描述方法?

答:①為每個(gè)模塊確定采用的算法。

②確定每一模塊的內(nèi)部數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。

③確定模塊接口的細(xì)節(jié)。

④要為每一個(gè)模塊設(shè)計(jì)出一組測(cè)試用例。

⑤編寫(xiě)文檔,參加復(fù)審。

詳細(xì)設(shè)計(jì)的描述方法有圖形、表格和語(yǔ)言,其中,圖形常用結(jié)構(gòu)化程序流

程圖、盒圖和PAD(問(wèn)題分析圖)為描述工具,語(yǔ)言常用過(guò)程設(shè)計(jì)語(yǔ)言(PDL)來(lái)作

為工具。

(2)答:結(jié)構(gòu)化程序設(shè)計(jì)的要點(diǎn)主要有以下三個(gè)。

①采用自頂向下、逐步求精的程序設(shè)計(jì)方法。

②使用三種基本控制結(jié)構(gòu)構(gòu)造程序。任何程序都可以由順序、選擇、重復(fù)

(循環(huán))三種基本控制結(jié)構(gòu)構(gòu)造。

18

③每個(gè)程序模塊只有一個(gè)人口和一個(gè)出口。

(3)答:詳細(xì)設(shè)計(jì)階段描述處理過(guò)程常用的三種工具:圖形、表格和語(yǔ)言。

詳細(xì)設(shè)計(jì)工具有結(jié)構(gòu)化程序流程圖、問(wèn)題分析圖、盒圖和過(guò)程設(shè)計(jì)語(yǔ)言、判定

表及判定樹(shù)。

(4)答:流程圖的優(yōu)點(diǎn)是直觀清晰、易于使用,是開(kāi)發(fā)者普遍采用的工具,

但是它具有自身的缺點(diǎn)。

①可隨心所欲地控制流程線的流向.容易造成非結(jié)構(gòu)化的程序結(jié)構(gòu)。

②流程圖不易反映逐步求精的過(guò)程,往往反映最后結(jié)果。

③不易表示數(shù)據(jù)結(jié)構(gòu)。

為克服流程圖的最大缺陷,要求流程圖由三種控制結(jié)構(gòu)順序組合和完全嵌

套而成,不能交叉,這樣的流程圖是結(jié)構(gòu)化的流程圖。

(5)答:PAD的特點(diǎn)如下。

①清晰反映程序的層次結(jié)構(gòu)。

②支持逐步求精的設(shè)計(jì)方法,自左至右逐步細(xì)化。

③易讀易寫(xiě),使用方便。

④支持結(jié)構(gòu)化的程序設(shè)計(jì)原理。

⑤可自動(dòng)生成程序。

(6)答:PDL是在偽碼的基礎(chǔ)上,擴(kuò)充了模塊的定義與調(diào)用、數(shù)據(jù)定義和

輸入輸出而形成的。它是一種用于描述模塊算法設(shè)計(jì)和處理細(xì)節(jié)的語(yǔ)言。分為

內(nèi)外兩層語(yǔ)言,外層語(yǔ)法具有嚴(yán)格的規(guī)則;內(nèi)層表示實(shí)際操作和條件的自然語(yǔ)

言,語(yǔ)法自由。

PDL表示的程序結(jié)陶一般有下列幾種:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、重復(fù)結(jié)構(gòu)、出

口結(jié)構(gòu)、擴(kuò)充結(jié)構(gòu)(模塊定義、模塊調(diào)用、數(shù)據(jù)定義、輸入/輸出)等。

PDL的特點(diǎn)如下:

①關(guān)鍵字應(yīng)有固定的語(yǔ)法,提供結(jié)構(gòu)化的控制結(jié)構(gòu)和數(shù)據(jù)說(shuō)明,并在控制結(jié)

構(gòu)的頭尾都加關(guān)鍵字,體現(xiàn)模塊化的特點(diǎn)。

②用自然語(yǔ)言敘述系統(tǒng)處理功能。

③應(yīng)有說(shuō)明各種數(shù)據(jù)結(jié)構(gòu)的手段.

④描述模塊定義和調(diào)用及模塊接口模式。

PDL的優(yōu)缺點(diǎn)如下:

19

①可以靈活地表達(dá)算法或作為注釋直接插入到原程序當(dāng)中,可用普通的文

字處理系統(tǒng)進(jìn)行書(shū)寫(xiě)和編輯,并可用自動(dòng)處理程序自動(dòng)生成。就明的道

②不如圖形工具形象直觀,對(duì)復(fù)雜的描述不如判定表清晰。

(7)答:用方框圖來(lái)代替?zhèn)鹘y(tǒng)流程圖的方法,稱(chēng)為N-S圖。N-S圖的優(yōu)點(diǎn)是

所有程序結(jié)構(gòu)均用方框表示,無(wú)論并列或嵌套,程序結(jié)構(gòu)清晰可見(jiàn)。而且它只能表

達(dá)結(jié)構(gòu)化的程序邏輯,使用它的人必須遵守結(jié)構(gòu)化程序設(shè)計(jì)的規(guī)定。不足是當(dāng)

程序內(nèi)嵌套的層數(shù)增多時(shí),內(nèi)層的方框會(huì)越來(lái)越小,從而增加繪圖的難度,并使

圖形清晰性受影響。

四、應(yīng)用題

(1)用Halstead度量還可以用來(lái)預(yù)測(cè)程序中可能存在的錯(cuò)誤E。一個(gè)程序?qū)?/p>

75個(gè)數(shù)據(jù)庫(kù)項(xiàng)共訪問(wèn)1300次,對(duì)150個(gè)運(yùn)算符共使用了1200次,預(yù)測(cè)該程序

的錯(cuò)誤數(shù)是多少?

那么預(yù)測(cè)該程序的錯(cuò)誤數(shù):

E=(l200+1300)*log2(75+150)/3000?6.5

即預(yù)測(cè)該程序中可能包含6?7個(gè)錯(cuò)誤。

(2)假設(shè)某航空公司規(guī)定,乘客可以免費(fèi)托運(yùn)重量不超過(guò)30kg的行李。當(dāng)行

李重量超過(guò)30kg時(shí),對(duì)頭等艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)4元,對(duì)其他艙

的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)6元,對(duì)外國(guó)乘客超重部分每公斤收費(fèi)比國(guó)內(nèi)

乘客多一倍,對(duì)殘疾乘客超重部分每公斤收費(fèi)比正常乘客少一半。用判定樹(shù)表

示計(jì)算行李費(fèi)的算法。

20

Rules

__________________人___________________

Rulenumbers123456789

國(guó)內(nèi)乘客TTTTFFFF

Condition頭等艙TFTFTFTF

rows<

殘疾乘客FFTTFFTT

行李重量WSQ30TFFFFFFFF

免費(fèi)X

(W-30)xX

Actionrows(W-30)xX

《(W-30)xXX

(W-30)xXX

(W-30)*X

(W-30)x12X

頭等艙匚殘疾乘客(W-30)X2

正常乘客"-30)X4

國(guó)內(nèi)乘客

殘疾乘客

其他艙匚(Jr-3O)X3

行李重量正常乘客"-30)X6

[K>30kg

頭等艙匚殘疾乘客""30)X4

正常乘客(獷-30)X8

外國(guó)乘客

行李費(fèi)殘疾乘客(?z-30)X6

算法其他艙匚

正常乘客"-30)X12

行李重量

%(30kg免費(fèi)

圖1用判定樹(shù)表示計(jì)算行李費(fèi)的算法

(3)畫(huà)出下列偽碼程序的程序流程圖和盒圖

START

IFpTHEN

WHILEqDO

f

ENDDO

ELSE

BLOCK

o

n

ENDBLOCK

ENDIF

STOP

21

22

第6章

一、選擇題

(1)D(2)B(3)A(4)C(5)C(6)C(7)D(8)C(9)D(10)

B

(11)B(12)A

二、簡(jiǎn)答題

(1)軟件測(cè)試應(yīng)該劃分為幾個(gè)階段?各個(gè)階段應(yīng)重點(diǎn)測(cè)試的內(nèi)容是什么?

答:軟件測(cè)試可分為單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,驗(yàn)收測(cè)試四個(gè)階段。

單元測(cè)試又稱(chēng)模塊測(cè)試、邏輯測(cè)試或結(jié)構(gòu)測(cè)試,是針對(duì)軟件設(shè)計(jì)的最小單

位一一程序模塊或功能模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試工作。其目的在于檢驗(yàn)每

個(gè)程序單元能夠正確實(shí)現(xiàn)詳細(xì)設(shè)計(jì)說(shuō)明中的模塊功能、性能、接口和設(shè)計(jì)約束

等要求,發(fā)現(xiàn)各個(gè)模塊內(nèi)部可能存在的各種錯(cuò)誤。

集成測(cè)試又稱(chēng)組裝測(cè)試、綜合測(cè)試或聯(lián)合測(cè)試。通常在單元測(cè)試的基礎(chǔ)上,

將所有的程序模塊進(jìn)行有序的、遞增的測(cè)試。集成測(cè)試是檢驗(yàn)程序單元或部件

的接口關(guān)系,逐步集成為符合概要設(shè)計(jì)要求的程序部件或整個(gè)系統(tǒng)。

系統(tǒng)測(cè)試為驗(yàn)證和確認(rèn)系統(tǒng)是否達(dá)到其原始目標(biāo),而對(duì)集成的硬件和軟件

系統(tǒng)進(jìn)行的測(cè)試。系統(tǒng)測(cè)試是在真實(shí)或模擬系統(tǒng)運(yùn)行的環(huán)境下,檢查完整的程

序系統(tǒng)能否和系統(tǒng)(包括計(jì)算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)和系統(tǒng)軟件、支持平臺(tái)等)

正確配置、連接,并滿足用戶需求。系統(tǒng)測(cè)試的主要依據(jù)是《系統(tǒng)需求規(guī)格說(shuō)

明書(shū)》文檔。

驗(yàn)收測(cè)試又稱(chēng)交付測(cè)試,是軟件在完成了單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試

之后,產(chǎn)品發(fā)布之前進(jìn)行的軟件測(cè)試活動(dòng)。驗(yàn)收測(cè)試又分為Alpha測(cè)試(。測(cè)

試)和Beta測(cè)試(B測(cè)試),Alpha測(cè)試是由一個(gè)用戶在開(kāi)發(fā)環(huán)境下進(jìn)行的測(cè)

試,或者是公司內(nèi)部的月戶在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測(cè)試,Beta測(cè)試

是軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測(cè)試。

(2)在軟件測(cè)試中,應(yīng)遵循哪些原則?

答:在軟件測(cè)試過(guò)程中,通常應(yīng)該遵循以下七個(gè)原則。

①所有的測(cè)試都應(yīng)追溯到用戶需求。這是因?yàn)檐浖哪康氖鞘褂脩敉瓿深A(yù)

定的任務(wù),滿足其需求。而軟件測(cè)試揭示軟件的缺陷和錯(cuò)誤,一旦修正這些錯(cuò)

誤,就能更好地滿足用戶需求。

23

②應(yīng)盡早地和不斷地進(jìn)行軟件測(cè)試。由于軟件的復(fù)雜性和抽象性,在軟件

生命周期各階段都可能產(chǎn)生錯(cuò)誤,所以不應(yīng)把軟件測(cè)試僅僅看作是軟件開(kāi)發(fā)的

一個(gè)獨(dú)立階段,而應(yīng)當(dāng)把它貫穿到軟件開(kāi)發(fā)的各個(gè)階段中去。在需求分析和設(shè)

計(jì)階段就應(yīng)開(kāi)始進(jìn)行測(cè)試工作,編寫(xiě)相應(yīng)的測(cè)試計(jì)劃及測(cè)試設(shè)計(jì)文檔,同時(shí)堅(jiān)

持在開(kāi)發(fā)各階段進(jìn)行技術(shù)評(píng)審和驗(yàn)證,這樣才能盡早發(fā)現(xiàn)和預(yù)防錯(cuò)誤,杜絕某

些缺陷和錯(cuò)誤,提高軟件的質(zhì)量。測(cè)試工作進(jìn)行得越早,越有利于提高軟件的

質(zhì)量,這是預(yù)防性測(cè)試的基本原則。

③在有限的時(shí)間和資源下進(jìn)行完全測(cè)試并找出軟件所有的錯(cuò)誤和缺陷是

不可能的,軟件測(cè)試不能無(wú)限進(jìn)行下去,應(yīng)適時(shí)終止。因?yàn)?,測(cè)試輸入量大、

輸出結(jié)果多、路徑組合多、用有限的資源來(lái)達(dá)到完全測(cè)試是不現(xiàn)實(shí)的。

④測(cè)試只能證明軟件存在錯(cuò)誤,而不能證明軟件沒(méi)有錯(cuò)誤。測(cè)試無(wú)法顯示

潛在的錯(cuò)誤和缺陷,繼續(xù)進(jìn)一步測(cè)試可能還會(huì)找到其它錯(cuò)誤和缺陷。

⑤充分關(guān)注測(cè)試中的集群現(xiàn)象。在測(cè)試的程序段中,若發(fā)現(xiàn)的錯(cuò)誤數(shù)目比

較多,則殘存在

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論