軟件工程案例教程(梁潔、金蘭)參考答案_第1頁(yè)
軟件工程案例教程(梁潔、金蘭)參考答案_第2頁(yè)
軟件工程案例教程(梁潔、金蘭)參考答案_第3頁(yè)
軟件工程案例教程(梁潔、金蘭)參考答案_第4頁(yè)
軟件工程案例教程(梁潔、金蘭)參考答案_第5頁(yè)
已閱讀5頁(yè),還剩17頁(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)介

習(xí)題一參考答案

1.選擇題

DDBBADBD

2.簡(jiǎn)答題

(1)通用軟件產(chǎn)品開(kāi)發(fā)和定制軟件開(kāi)發(fā)之間有什么不同?這在實(shí)際應(yīng)用中對(duì)通用軟件產(chǎn)品

用戶意味著什么?

答:這兩類(lèi)產(chǎn)品的一個(gè)重要區(qū)別在于:在通用軟件產(chǎn)品中,軟件描述由開(kāi)發(fā)人員自己完

成,而在定制軟件產(chǎn)品中,軟件描述通常是由客戶給出,開(kāi)發(fā)人員必須按客戶要求進(jìn)行開(kāi)發(fā)C

在實(shí)際應(yīng)用中通用軟件滿足的是絕大部分用戶的共同需求,而對(duì)于特殊的個(gè)人需求無(wú)法涉及

到。

(2)什么是軟件危機(jī)?產(chǎn)生的原因有哪些?它和軟件工程有什么關(guān)系?

答.在軟件開(kāi)發(fā)中經(jīng)莒會(huì)出現(xiàn)M間延遲、預(yù)算超支、質(zhì)量得不到保證、移植性差等問(wèn)題,

甚至有的項(xiàng)目在耗費(fèi)了大量人力、財(cái)力后,由于離目標(biāo)相差甚遠(yuǎn)而宣布失敗。這種現(xiàn)象稱(chēng)為

“軟件危機(jī)、

產(chǎn)生的原因有:(1)軟件獨(dú)有的特點(diǎn)給開(kāi)發(fā)和維護(hù)帶來(lái)困難。(2)軟件人員的錯(cuò)誤認(rèn)識(shí)。

忽視軟件需求分析的重要性,輕視文檔的作用,輕視軟件維護(hù)等。(3)軟件開(kāi)發(fā)工具自動(dòng)化

程度低。此外,軟件生產(chǎn)工程化管理程度低,致使軟件項(xiàng)目管理混亂,難以保障軟件項(xiàng)目成

本、開(kāi)發(fā)進(jìn)度按計(jì)劃執(zhí)行,

由于軟件危機(jī)的出現(xiàn),人們一直在努力探索克服軟件危機(jī)的途徑。因此提出“軟件工程”

的概念,試圖用工程的方法和管理手段,將軟件開(kāi)發(fā)納入工程化的軌道,以便開(kāi)發(fā)出成本低、

功能強(qiáng)、可靠性高的軟件產(chǎn)品。

(3)簡(jiǎn)述軟件工程的定義和軟件工程的目標(biāo)?

答:在NATO會(huì)議上,F(xiàn)ritzBauer對(duì)于軟件工程的定義是:“為了經(jīng)濟(jì)地獲得可靠的、

能在實(shí)際機(jī)器上高效運(yùn)行的軟件,而建立和使用的健全的工程原則?!?/p>

對(duì)于軟件工程,美國(guó)電氣與電子工程師學(xué)會(huì)(IEEE)給出了如下定義。

軟件工程是:①將系統(tǒng)化的、規(guī)范化的、可量化的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)中,

即將工程化方法應(yīng)用于軟件;②對(duì)于①中所述方法的研究。

軟件工程的目標(biāo):①軟件開(kāi)發(fā)成本較低。②軟件功能能夠滿足用戶的需求。③軟件性能較

好。④軟件可靠性高。⑤軟件易于使用、維護(hù)和意志。⑥能夠按時(shí)完成開(kāi)發(fā)任務(wù),并及時(shí)交

付使用。

(4)軟件工程過(guò)程活動(dòng)主要有哪些?解釋每個(gè)活動(dòng)的必要性。

答:①溝通。在技術(shù)工作開(kāi)始之前,和客戶及其他利益相關(guān)者的溝通與協(xié)作是極其重要的,

其目的是理解利益相關(guān)者的項(xiàng)目目標(biāo),并收集需求及定義軟件特性和功能。

②策劃。如果有地圖,任何復(fù)雜的旅程都可以變得簡(jiǎn)單。軟件項(xiàng)目好比一個(gè)復(fù)雜的旅程,

策劃活動(dòng)就像是創(chuàng)建一個(gè)地圖,以指導(dǎo)團(tuán)隊(duì)的項(xiàng)目旅程,這個(gè)地圖稱(chēng)為軟件項(xiàng)目計(jì)劃,它定

義和描述了軟件工程工作,包括需要執(zhí)行的技術(shù)任務(wù)、可能的風(fēng)險(xiǎn)、資源需求、工作產(chǎn)品和

工作進(jìn)度計(jì)劃。

③建模“無(wú)論你是庭院設(shè)計(jì)師、橋梁建造師、航空工程師、工匠還是建筑師,每天的工作

都離不開(kāi)模型。你會(huì)畫(huà)一張草圖來(lái)輔助理解整個(gè)項(xiàng)目大的構(gòu)想——體系結(jié)構(gòu)、不同的構(gòu)件如

何結(jié)合,以及其他一些特性。如果需要,可以把草圖不斷細(xì)化,以便更好地理解問(wèn)題并找到

解決方案。軟件工程師也是如此,需要利用模型來(lái)更好地理解軟件需求,并完成符合這些需

求的軟件設(shè)計(jì)。

④構(gòu)建。必須要對(duì)所做的設(shè)計(jì)進(jìn)行構(gòu)建,包括編碼(手寫(xiě)的或者自動(dòng)生成的)和測(cè)試,后

者用于發(fā)現(xiàn)編碼中的錯(cuò)誤,

⑤部署。軟件(全部或者部分增量)交付給用戶,用戶對(duì)其進(jìn)行評(píng)測(cè)并給出反饋意見(jiàn)。

⑥進(jìn)化。軟件隨不同的客戶和變化的市場(chǎng)需求而進(jìn)行修改。

(5)解群Web的普遍使用是如何改變軟件系統(tǒng)的?

(6)解釋為什么軟件工程的基本原則適用于所有的軟件系統(tǒng)?

(7)對(duì)ACM/IEEE職業(yè)道德準(zhǔn)則中的某項(xiàng)條款,舉出一個(gè)恰當(dāng)?shù)睦蛹右哉f(shuō)明。

(8)分別列舉一兩個(gè)失敗或成功的軟件項(xiàng)目實(shí)例,試說(shuō)明其失敗或成功的原因。

習(xí)題二參考答案

1.選擇題

BCDBABC

2.簡(jiǎn)答題

(1)說(shuō)明為什么在需求工程過(guò)程中區(qū)分用戶需求開(kāi)發(fā)和系統(tǒng)需求開(kāi)發(fā)是重要的?

答:用戶需求是從客戶和最終用戶角度對(duì)系統(tǒng)需求的抽象描述,是開(kāi)發(fā)者和客戶之間

達(dá)成統(tǒng)一需求的定義;系統(tǒng)需求是對(duì)系統(tǒng)要提供的功能、性能、操作、數(shù)據(jù)等多方面的詳盡

描述,為系統(tǒng)開(kāi)發(fā)者提供依據(jù)。

(2)簡(jiǎn)述軟件設(shè)計(jì)過(guò)程中的主要活動(dòng)及這些活動(dòng)的輸出,并說(shuō)明這些活動(dòng)的輸出之間可能存

在的關(guān)系?

答:軟件設(shè)計(jì)過(guò)程中的主要活動(dòng)有體系結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)、構(gòu)件設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)。

體系結(jié)構(gòu)設(shè)計(jì)劃分了系統(tǒng)的總體結(jié)構(gòu),系統(tǒng)由那些構(gòu)件組成,如何分布,哪些構(gòu)件可以復(fù)用,

然后設(shè)計(jì)構(gòu)件間的接口,定義好接口后,詳細(xì)設(shè)計(jì)構(gòu)件內(nèi)容部的細(xì)節(jié),以及數(shù)據(jù)庫(kù)的設(shè)計(jì)

(3)說(shuō)明原型模型的兩種實(shí)現(xiàn)方案各有什么特點(diǎn)?各適用于那些情況?

答:?拋棄式原型模型:快速建立一個(gè)反映用戶主要需求的原型系統(tǒng),反復(fù)修改獲取用

戶真正需求后,原型將被拋棄,后再按線性流程進(jìn)行實(shí)際項(xiàng)目的開(kāi)發(fā)。

適用于小型、簡(jiǎn)單、處理過(guò)程比較明確、沒(méi)有大量運(yùn)算和邏輯處理過(guò)程的系統(tǒng)。

②進(jìn)化式原型模型:針對(duì)有待開(kāi)發(fā)的軟件系統(tǒng),先開(kāi)發(fā)一個(gè)原型系統(tǒng)讓用戶使用,然后根據(jù)

用戶使用情況的意見(jiàn)反饋,對(duì)原型系統(tǒng)不斷修改,使它逐步接近并最終達(dá)到開(kāi)發(fā)目標(biāo)。

特別適合于用戶急需的軟件產(chǎn)品開(kāi)發(fā)。它能夠快速地向用戶交付可以投入實(shí)際運(yùn)行的軟件成

果,并能夠很好地適應(yīng)軟件用戶對(duì)需求規(guī)格的變更。

(4)為什么說(shuō)構(gòu)件復(fù)用模型是一種有利于軟件按工業(yè)流程生產(chǎn)的過(guò)程模型?

答:由于構(gòu)件具有一定的通用性,因此可以在不同的軟件系統(tǒng)中被復(fù)用,在基于構(gòu)件復(fù)

用的軟件開(kāi)發(fā)中,軟件由溝件裝配而成,這就如同標(biāo)準(zhǔn)零件裝配汽車(chē)一樣。構(gòu)件復(fù)用技術(shù)能

帶來(lái)更好的復(fù)用效果,并且具有工程特性,更能適應(yīng)軟件按照工業(yè)流程生產(chǎn)的需要。

(5)解釋為什么Boehm的螺旋模型是一個(gè)適應(yīng)性模型,可以同時(shí)支持更新避免和變更容忍

活動(dòng)。說(shuō)明為什么在實(shí)踐中這個(gè)模型還沒(méi)有被廣泛應(yīng)用?

答:但使用該模型需要豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專(zhuān)門(mén)知識(shí),對(duì)軟件項(xiàng)目進(jìn)行風(fēng)險(xiǎn)分析

也需要費(fèi)用,假如項(xiàng)目風(fēng)險(xiǎn)分析費(fèi)用過(guò)高,甚至超過(guò)了項(xiàng)目的開(kāi)發(fā)費(fèi)用,顯然就不合適了。

一般大型項(xiàng)目才有較高的風(fēng)險(xiǎn),才有進(jìn)行詳細(xì)風(fēng)險(xiǎn)分析的必要。因此,這種模型比較適合大

型的軟件項(xiàng)目。

(6)Rational統(tǒng)一過(guò)程和螺旋模型比較,優(yōu)勢(shì)有哪些?

答:①RUP每次迭代包含9個(gè)核心工作流程,而螺旋模型只包含4方面的活動(dòng)

②RUP對(duì)每個(gè)階段內(nèi)若干次迭代過(guò)程完成后所交付增量的具體要求,而螺旋模型沒(méi)有規(guī)定。

③RUP詳細(xì)描述了不同階段不同迭代過(guò)程在經(jīng)歷9個(gè)核心工作流程時(shí)活動(dòng)內(nèi)容的重點(diǎn)和強(qiáng)

度,而螺旋模型沒(méi)有規(guī)定,

RUP的二維迭代生命周期結(jié)構(gòu)對(duì)“迭代”開(kāi)發(fā)方式的體現(xiàn)比螺旋模型更深刻、具體、詳盡和

全面,用于指導(dǎo)需求不明確、不穩(wěn)定的項(xiàng)目開(kāi)發(fā),具有更強(qiáng)的可操作性。

(7)敏捷方法的價(jià)值觀和原則與傳統(tǒng)方法有哪些區(qū)別與聯(lián)系?說(shuō)明什么情況下不建議使用

敏捷方法來(lái)開(kāi)發(fā)軟件?

答:敏捷的價(jià)值觀:個(gè)體和交互勝過(guò)過(guò)程和工具;可以工作的軟件勝過(guò)面面俱到的文

檔;客戶合作勝過(guò)合同談判;響應(yīng)變化勝過(guò)遵循計(jì)劃。而傳統(tǒng)軟件工程方法更注重計(jì)劃與過(guò)

程管理(文檔管理),但也非常重視軟件質(zhì)量和對(duì)需求變更的及時(shí)反應(yīng)。

從產(chǎn)品角度看,敏捷方法適用于需求萌動(dòng)并且快速改變的情況,如果系統(tǒng)有比較高的可

靠性、安全性方面的要求,則可能不完全適合。

3.應(yīng)用題

(1)某企業(yè)計(jì)劃開(kāi)發(fā)一個(gè)“綜合信息管理系統(tǒng)”,該系統(tǒng)涉及銷(xiāo)售、供應(yīng)、財(cái)務(wù)、生產(chǎn)、人力

資源等多個(gè)部門(mén)的信息管理。該企業(yè)的設(shè)想是按部門(mén)的優(yōu)先級(jí)別逐個(gè)實(shí)現(xiàn),邊開(kāi)發(fā)邊應(yīng)用。

對(duì)此需要采用一種比較合適的軟件過(guò)程模型。請(qǐng)對(duì)這個(gè)過(guò)程模型做出符合應(yīng)用需求的選擇,

并說(shuō)明選擇理由。

答:選擇RUP模型或螺旋模型。

①該系統(tǒng)是一個(gè)比較大型的項(xiàng)目,意味著風(fēng)險(xiǎn)歧大。

②需求并不是固定的,因此需要迭代。

具有風(fēng)險(xiǎn)防范和迭代特征的模型只有RUP和螺旋模型,相比較而言,

RUP模型比螺旋模型更深刻、具體、詳盡和全面,用于指導(dǎo)需求不明確、不穩(wěn)定

的項(xiàng)目開(kāi)發(fā),具有更強(qiáng)的可操作性。

(2)假設(shè)你要開(kāi)發(fā)一個(gè)軟件,它的功能是把73624.9385這個(gè)數(shù)開(kāi)平方,所得到的結(jié)果應(yīng)該精

確到小數(shù)點(diǎn)后4位。一旦實(shí)現(xiàn)并測(cè)試完之后,該產(chǎn)品將被拋棄。你打算采用哪種軟件過(guò)程模

型?為什么?

答:選擇瀑布模型,因?yàn)樵撥浖枨蠓€(wěn)定,可以經(jīng)過(guò)算法分析、設(shè)計(jì)、編碼、調(diào)試,然

后得到結(jié)果,便可以拋棄掉,用瀑布模型這種線性的開(kāi)發(fā)過(guò)程比較合適。

(3)假設(shè)你被任命為一家軟件公司的負(fù)責(zé)人,你的工作是管理該公司已被廣泛應(yīng)用的文字處

理軟件的新版本開(kāi)發(fā)。由于市場(chǎng)競(jìng)爭(zhēng)激烈,公司規(guī)定了嚴(yán)格的完成期限并且已對(duì)外公布。你

打算采用哪種軟件過(guò)程模型?為什么?

答:選擇增量模型或者構(gòu)件復(fù)用模型,因?yàn)樾枨蠓€(wěn)定、開(kāi)發(fā)時(shí)間有限,采用增量模型和

構(gòu)件復(fù)用模型都屬于非整體性開(kāi)發(fā),可以提高開(kāi)發(fā)效率。

(4)公司計(jì)劃采用新技術(shù)開(kāi)發(fā)一款新的手機(jī)軟件產(chǎn)品,希望盡快占領(lǐng)市場(chǎng),假設(shè)你是項(xiàng)目經(jīng)

理,你會(huì)選擇哪種軟件過(guò)程模型?為什么?

答:選擇進(jìn)化式原型,因?yàn)檫@種模型特別適合于用戶急需的軟件產(chǎn)品開(kāi)發(fā)。它能夠快速

地向用戶交付可以投入實(shí)際運(yùn)行的軟件成果,并能夠很好地適應(yīng)軟件用戶對(duì)需求規(guī)格的變

更。

習(xí)題三參考答案

1.選擇題

CDADB

2.簡(jiǎn)答題

(1)軟件開(kāi)發(fā)的早期階段為什么要進(jìn)行可行性研究?應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)?

答:在早期階段即判斷系統(tǒng)是否"可行",既避免了不必要的風(fēng)險(xiǎn),又對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)、

功能、數(shù)據(jù)及所采用技術(shù)有了一個(gè)初步的把握。

可行性研究首先要弄清項(xiàng)目規(guī)模和目標(biāo),對(duì)現(xiàn)有系統(tǒng)或工作流程進(jìn)行研究,導(dǎo)出目

標(biāo)系統(tǒng)的高層邏輯模型,然后分析目標(biāo)系統(tǒng)的技術(shù)、經(jīng)濟(jì)、社會(huì)三方面領(lǐng)域是否可行。

(2)軟件可行性研究的工作步驟是哪些?簡(jiǎn)要地?cái)⑹龈鞑襟E的主要工作內(nèi)容?

答:①確定項(xiàng)目規(guī)模和目標(biāo),項(xiàng)目的規(guī)模和目標(biāo)進(jìn)行定義和確認(rèn),清晰地描述項(xiàng)目的

一切限制和約束,確保系統(tǒng)分析員正在分析的問(wèn)題確實(shí)是要解決的問(wèn)題。

②研究目前正在使用的系統(tǒng),需要研究現(xiàn)有系統(tǒng)的基本功能,存在什么問(wèn)題,運(yùn)行

現(xiàn)有系統(tǒng)需要多少費(fèi)用,對(duì)新系統(tǒng)有什么新的功能要求,新系統(tǒng)運(yùn)行時(shí)能否減少使用費(fèi)用等。

③建立新系統(tǒng)的高層邏輯模型,明確新系統(tǒng)的功能、處理流程,以及所受的約束,

然后使用建立邏輯模型的工具——數(shù)據(jù)流圖和數(shù)據(jù)字典來(lái)描述數(shù)據(jù)在系統(tǒng)中的流動(dòng)和處理

情況。

④導(dǎo)出和評(píng)價(jià)供選擇的解法,

⑤推薦行動(dòng)方針,根據(jù)技術(shù)可行性、經(jīng)濟(jì)可行性和社會(huì)可行性對(duì)各種選擇方案進(jìn)行

評(píng)估,去掉行不通的解法,即可得到可行的解法

⑥草擬開(kāi)發(fā)計(jì)劃:制定工程進(jìn)度表、估計(jì)對(duì)各類(lèi)開(kāi)發(fā)人員和各種資源的需要情況,

指明什么時(shí)候使用及使用多長(zhǎng)時(shí)間、估計(jì)系統(tǒng)生命周期每個(gè)階段的成本,最后給出下一個(gè)階

段(需求分析)的詳細(xì)進(jìn)度表和成本估計(jì)。

⑦編寫(xiě)可行性研究報(bào)告,將可行性研究各個(gè)步驟的工作結(jié)果寫(xiě)成清晰的文檔,請(qǐng)用

戶、客戶組織的負(fù)責(zé)人及評(píng)審組審查,以決定是否繼續(xù)這項(xiàng)工程及是否接受分析員推薦的方

案。

(3)度量經(jīng)濟(jì)效益的方式有哪幾種?

答:軟件開(kāi)發(fā)成本的計(jì)算,以及經(jīng)濟(jì)效益的計(jì)算,經(jīng)濟(jì)效益的計(jì)算需要考慮到貨幣的時(shí)

間價(jià)值,通過(guò)成本/效益方法計(jì)算系統(tǒng)的投資回收期、純收入、投資回報(bào)率,從而在經(jīng)濟(jì)效

益方面度量該系統(tǒng)是否值得投資開(kāi)發(fā)的結(jié)論。

3.應(yīng)用題

(1)為方便儲(chǔ)戶,某銀行擬開(kāi)發(fā)計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)。儲(chǔ)戶填寫(xiě)的存款單或取款單由業(yè)務(wù)員輸入

系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類(lèi)型、存款日期、利息等信息,并印

出存款單給儲(chǔ)戶;如果是取款,系統(tǒng)計(jì)算利息并打印出利息清單給儲(chǔ)戶。

寫(xiě)出問(wèn)題定義并分析此系統(tǒng)的可行性。

(2)目前住院病人主要由護(hù)士護(hù)理,這樣做不僅需要大量護(hù)士,而且由于不能隨時(shí)觀察危重

病人的病情變化,還可能會(huì)延誤搶救時(shí)機(jī)。某醫(yī)院打算開(kāi)發(fā)一個(gè)以計(jì)算機(jī)為中心的患者監(jiān)護(hù)

系統(tǒng),寫(xiě)出問(wèn)題定義并分析該項(xiàng)目的可行性。

醫(yī)生對(duì)患者監(jiān)護(hù)系統(tǒng)的基本要求是隨時(shí)接收每個(gè)病人的生理信號(hào)(脈搏、體溫、血壓、心電圖

等),定時(shí)記錄病人情況及形成患者日志,當(dāng)病人的生理信號(hào)超出醫(yī)院規(guī)定的安全范圍時(shí),向

值班護(hù)士發(fā)出告警信息,比外,護(hù)士在需要時(shí)還可以要求打印出某個(gè)指定病人的病情報(bào)告。

(3)為了反恐,很多國(guó)家正計(jì)劃開(kāi)發(fā)或正在開(kāi)發(fā)一種對(duì)大量公民及其行動(dòng)跟蹤的計(jì)算機(jī)系統(tǒng)。

寫(xiě)出問(wèn)題定義并分析該項(xiàng)目的可行性。

習(xí)題犯參考答案

1.選擇題

DCABCADDDB

2.應(yīng)用題

1、

E1:考試委員會(huì);E2:教師;E3:學(xué)生;E4:教務(wù)處。

D1:學(xué)生信息文件;D2:課程信息文件;D3:班級(jí)信息文件;D4:課程成績(jī)文件;D5:無(wú)

效成績(jī)文件。

數(shù)據(jù)流名稱(chēng)起點(diǎn)終點(diǎn)

通過(guò)審查的成績(jī)過(guò)程4過(guò)程5

班級(jí)信息數(shù)據(jù)存儲(chǔ)D3過(guò)程4

課程信息數(shù)據(jù)存儲(chǔ)D2過(guò)程4

2、

①上下文圖

②0層數(shù)據(jù)流圖

(1)這里有兩個(gè)條件:

旅游時(shí)間t:tl{7-9,12};t2{l-6,10,11)

訂票量a:al{C20};a2{>20}

(2)根據(jù)旅游時(shí)間、訂票量的條件組合,以及折扣率畫(huà)出判定表。

旅游時(shí)間tlt2

條件組合

訂票量ala2ala2

5%q

15%

折扣率

20%

30%J

(3)根據(jù)旅游時(shí)間、訂票量和折扣率畫(huà)出判定樹(shù)。

訂票量al—折扣率=5%

訂票量a2——折扣率=15%

訂票量al——折扣率=20%

旅游時(shí)間12

訂票量a2——折扣率=30%

4、

電話號(hào)碼=[校內(nèi)電話號(hào)碼|校外電話號(hào)碼]

校內(nèi)電話號(hào)碼=非零數(shù)字+3位數(shù)字

校外電話號(hào)碼二[本市號(hào)碼I外地號(hào)碼]

本市號(hào)碼=0+8位數(shù)字

外地號(hào)碼=0+3位數(shù)字+8位數(shù)字

非零數(shù)字=[1|2|3|4|5|6|7|3|9](1分)

3位數(shù)字=3{數(shù)字}3

8位數(shù)字=非零數(shù)字+7位數(shù)字

7位數(shù)字=7{數(shù)字}7

5、

2、

(1)第1級(jí)分解

(2)第2級(jí)分解

(3)優(yōu)化

3、(1)進(jìn)行第一級(jí)分解

(2)進(jìn)行第二級(jí)分級(jí)

統(tǒng)”成績(jī)

2.3.8

二士一5.608

2,3丫

統(tǒng)計(jì)/績(jī)統(tǒng)計(jì)成績(jī)統(tǒng)不成績(jī)

輸入模塊處理模塊輸出模塊

2&5▲:6>72

檢查成績(jī)輸入合格審定分析試題分析統(tǒng)計(jì),而考生lfIP?打印分類(lèi)打印成績(jī)單

清單標(biāo)準(zhǔn)合格者難度成績(jī)通知單分析表統(tǒng)計(jì)表出錯(cuò)信息

45其中:

檢入成績(jī)制作考生1.成績(jī)清單2.正確成績(jī)清單3.合格標(biāo)準(zhǔn)4.正式成績(jī)清單

消單通知單5.考試通知信息6.難度分析結(jié)果7.分類(lèi)統(tǒng)計(jì)結(jié)果8.錯(cuò)誤成績(jī)清單

(3)優(yōu)化

①將“輸入成績(jī)清單”、“檢查成績(jī)清單"、"打印成績(jī)單出錯(cuò)信息”合并成“輸入并檢查成績(jī)

清單”o將"輸入合格標(biāo)準(zhǔn)”與“審定合格者”合并,取名為“審定合格者"。將”制作考生

通知單”與“打印考生通知單"合并成"制作并打印考生通知單二

制作并打印

考生通知單

②"打印難度分析表”模塊和“打印分類(lèi)統(tǒng)計(jì)表”模塊分別作為“分析試題難度”模塊和“分

類(lèi)統(tǒng)計(jì)成績(jī)”模塊的下屬模塊,可降低模塊間的耦合度。

③“統(tǒng)計(jì)成績(jī)輸出模塊"可刪去,"統(tǒng)計(jì)成績(jī)輸入模塊”卻“統(tǒng)計(jì)成績(jī)處理模塊”為"管道"

模塊,也可刪除。

(2)第二級(jí)分解

5、改進(jìn)后的結(jié)構(gòu)圖。

編外

編外

人員

扣款

6、⑴方法1:

主任(編號(hào),姓名,年齡,學(xué)歷)

系(系編號(hào),系名,編號(hào),任職時(shí)間)

管理(系編號(hào),任職時(shí)間)

(2)方法2:

主任(編號(hào),姓名,年齡,學(xué)歷)

系(系編號(hào),系名,編號(hào),任職時(shí)間)

7、(1)方法1:

倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),地點(diǎn),面積)

商品(商品號(hào),商品名,價(jià)格)

存放(商品號(hào),倉(cāng)庫(kù)號(hào),數(shù)量)

(2)方法2:

倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),地點(diǎn),面積)

商品(商品號(hào),商品名,價(jià)格,倉(cāng)庫(kù)號(hào),數(shù)量)

8、教師(教師號(hào),教師名,職稱(chēng))

課程(課程號(hào),課程名,學(xué)分)

講授(教師號(hào),課程號(hào),質(zhì)量,上課時(shí)間)

1.選擇題

CBDADAABCB

2.簡(jiǎn)答題

(1)簡(jiǎn)述對(duì)象與類(lèi)之間的聯(lián)系與區(qū)別。

答:類(lèi)是對(duì)象的抽象,而對(duì)象是類(lèi)的實(shí)例,類(lèi)在現(xiàn)實(shí)世界中是不存在的,

類(lèi)被具體化后得到對(duì)象,對(duì)象是具體存在于客觀世界中類(lèi)的實(shí)例。

(2)試描述繼承性與多態(tài)性的作用。

答:繼承簡(jiǎn)化了人們對(duì)現(xiàn)實(shí)世界的認(rèn)識(shí)和描述,在定義子類(lèi)時(shí)不必重復(fù)定義

那些已在父類(lèi)中定義的屬性和服務(wù),只要說(shuō)明它是某個(gè)父類(lèi)的子類(lèi),并定義自己

特有的屬性和服務(wù)即可。類(lèi)的繼承是軟件重用的一種形式,通過(guò)繼承的屬性和行

為擴(kuò)充原有類(lèi)的功能,節(jié)省了程序開(kāi)發(fā)時(shí)間

多態(tài)性的作用在于它允許我們開(kāi)發(fā)靈活的系統(tǒng),我們只要指定什么應(yīng)該發(fā)

生,而不是它應(yīng)該怎樣發(fā)生,以便獲得一個(gè)易修改、易變更的系統(tǒng)。

(3)解釋為正在開(kāi)發(fā)的系統(tǒng)的上下文建立模型的重要性,并給出兩個(gè)由于軟件工程師不理

解系統(tǒng)的上下文而可能產(chǎn)生的錯(cuò)誤。

答:建立上下文模型對(duì)于在分析階段早期確定系統(tǒng)邊界,以及了解系統(tǒng)

與其他外部系統(tǒng)的關(guān)系猶為重要,為后期接口的沒(méi)計(jì)提供基礎(chǔ)。

3.應(yīng)用題

(1)請(qǐng)為“醫(yī)院門(mén)診系統(tǒng)”中的醫(yī)生建立用例模型,醫(yī)生的主要職責(zé)為查看病人并未病人提

供治療、開(kāi)處方,明確問(wèn)題域后,識(shí)別實(shí)體類(lèi),建立靜態(tài)結(jié)構(gòu)類(lèi)圖。

哂人

醫(yī)生提供治療

一歷|■槁人家耳

(*omUwJ.Vi?w)

姓名

■醫(yī)生埼號(hào)■歸又癡目??

。年群

船姓名部醫(yī)生編號(hào)j

都是古國(guó)保

.5右喇日期.-

B帙戶余衷

電職忤,病情描述

。電話號(hào)碼

勖恒長(zhǎng)領(lǐng)城如番情詮賽

能出生日期

?咨詢0

〔”加0「!

號(hào)

檢生■汨療項(xiàng)目品撒

■電杳項(xiàng)目該號(hào)?治療項(xiàng)目

價(jià)

。

■價(jià)格是

勖價(jià)格■此否編第

圖6-2醫(yī)院門(mén)診系統(tǒng)靜態(tài)結(jié)構(gòu)類(lèi)圖

(2)請(qǐng)建立一個(gè)時(shí)序圖表示大學(xué)生選課時(shí)所涉及的交互。因?yàn)檎n程選擇是有限制人數(shù)的,所

以選課過(guò)程必須包括對(duì)空'用有效性的檢測(cè)。

studentfindcourse:GUI:course:SelectCourse

圖6-3"學(xué)生選課”用例時(shí)序圖

(3)基于你使用銀行ATM機(jī)的經(jīng)歷,請(qǐng)畫(huà)一個(gè)活動(dòng)圖,當(dāng)客戶從機(jī)器中提取現(xiàn)金時(shí),為可

圖6-4"ATM取款”活動(dòng)圖

(4)畫(huà)出自動(dòng)洗衣機(jī)(具有不同衣物的洗衣程序)的控制軟件的狀態(tài)圖。

圖6-5"自動(dòng)洗衣機(jī)”狀態(tài)圖

習(xí)題七參考答案

1.選擇題

CCABACABDC

2.簡(jiǎn)答題

(1)假如一個(gè)不同技術(shù)的管理者要我們準(zhǔn)備并且提交一份報(bào)告來(lái)證

明一個(gè)新項(xiàng)目雇傭一個(gè)系統(tǒng)架構(gòu)師是有道理的。在我們的報(bào)告中必須解釋

什么是體系結(jié)構(gòu),并用簡(jiǎn)要文字列出要點(diǎn)。

答:軟件系統(tǒng)架構(gòu)是關(guān)于軟件系統(tǒng)的結(jié)構(gòu)、行為和屬性的高級(jí)抽象。它

不僅指定了軟件系統(tǒng)的組織結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu),而且顯示了系統(tǒng)需求和構(gòu)成組

件之間的對(duì)應(yīng)關(guān)系,包括設(shè)計(jì)決策的基本方法和基本原理。系統(tǒng)架構(gòu)師是系

統(tǒng)或產(chǎn)品線的設(shè)計(jì)負(fù)責(zé)人,是一個(gè)復(fù)雜理解和管理并最終確認(rèn)和評(píng)估非力能

性系統(tǒng)需求,給出開(kāi)發(fā)規(guī)范,搭建系統(tǒng)實(shí)現(xiàn)的核心構(gòu)架,對(duì)整個(gè)系統(tǒng)軟件架

構(gòu)、關(guān)鍵構(gòu)件、接口進(jìn)行總體設(shè)計(jì)并澄清關(guān)鍵技術(shù)細(xì)節(jié)的高級(jí)技術(shù)人員。

(2)簡(jiǎn)要分析分層體系結(jié)構(gòu)、三層體系架構(gòu)、基于MVC的Web體系結(jié)構(gòu)

三者的區(qū)別?

答:這三種體系架構(gòu)都是為了實(shí)現(xiàn)層與層之間的分離性與獨(dú)立性,但是分層

的方式有所不同:

①分層體系架構(gòu)主要是按功能來(lái)劃分,體現(xiàn)一種增量開(kāi)發(fā)的結(jié)構(gòu),分層比

較隨意。

②而三層體系架構(gòu)主要是按類(lèi)來(lái)劃分,將同種職能的類(lèi)劃分為一層,分為

表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層,在不改變接口定義的前提下,每一層的改變

對(duì)其他層都沒(méi)有影響,但是表示層仍然會(huì)具有一些業(yè)務(wù)邏輯層的代碼。

③而MVC在視圖層下面有增加了控制層,將視圖層和業(yè)務(wù)層完全分離,

這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個(gè)應(yīng)

用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動(dòng)MVC的模型層即可。因?yàn)槟P?/p>

與控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。

(3)舉例具體分析體現(xiàn)系統(tǒng)邏輯結(jié)構(gòu)的包圖和體現(xiàn)系統(tǒng)物理結(jié)構(gòu)的構(gòu)件圖兩

者的區(qū)別與聯(lián)系?

答案略

(4)簡(jiǎn)要敘述構(gòu)件詳細(xì)設(shè)計(jì)的過(guò)程,即如何從分析類(lèi)到設(shè)計(jì)類(lèi)?

答:①以某種設(shè)計(jì)模式(例如MVC模式)分析“構(gòu)件”內(nèi)涉及全部用例

(場(chǎng)景)的時(shí)序圖。

②在時(shí)序圖中將對(duì)象映射為類(lèi)、消息映射為方法,收集全部的類(lèi)與方

③建立構(gòu)件詳細(xì)類(lèi)圖,建立類(lèi)之間依賴(lài)關(guān)系,補(bǔ)充接口定義。

3.應(yīng)用題

請(qǐng)為上一章中“關(guān)院門(mén)診系統(tǒng)”中的醫(yī)生部分建立包圖、構(gòu)件圖、部署

圖,并詳細(xì)設(shè)計(jì)其中的某一個(gè)構(gòu)件例如“處方”構(gòu)件,畫(huà)出該構(gòu)件的設(shè)計(jì)類(lèi)

圖C

答:包圖、構(gòu)件圖參見(jiàn)教材圖7?1和圖7?11

圖7-1醫(yī)院門(mén)診系統(tǒng)構(gòu)件圖

病人查詢

病歷添加

檢查添加

RecipetMOtmpI

?conn:Connection

:PreparedStatement

取be:OetabaseConnection

圖7-2“處方”構(gòu)件詳細(xì)類(lèi)圖

習(xí)題八參考答案

1.選擇題

ABDD

2,簡(jiǎn)答題

(1)舉例分析MVC模式下的Web構(gòu)件開(kāi)發(fā)中,jsp頁(yè)面、ServletsDAO層

之間的協(xié)作關(guān)系。

答:例如“用戶登錄”用例中,用戶在login.jsp頁(yè)面上發(fā)起登錄請(qǐng)求,請(qǐng)

求交給UserServlet,UserServlet執(zhí)行doPost方法,首先獲得登錄頁(yè)面上的用戶名

和密碼,實(shí)例化User類(lèi)(Javabean),將用戶登錄信息封裝到user對(duì)象中,將該對(duì)

象“傳遞”給下一層UserDAO,由它的實(shí)例化對(duì)象執(zhí)行findLogin(user)查詢方法,

最后將查詢結(jié)果返回給UserServlet,UserSerlet決定跳轉(zhuǎn)到哪個(gè)頁(yè)面(登錄成功頁(yè)

面/登錄失敗頁(yè)面),并將結(jié)果動(dòng)態(tài)顯示在頁(yè)面上。

(2)說(shuō)明lEmpDAO.java這個(gè)接口類(lèi)在雇員管理構(gòu)件的作用?可以省略嗎?

答:接口lEmpDAO,實(shí)現(xiàn)接口的類(lèi)lEmpDAOlmpLlEmpDAOlmpI類(lèi)需要實(shí)現(xiàn)接

口lEmpDA。中所定義的全部方法。接口的定義體系了面向?qū)ο蠖鄳B(tài)性的特點(diǎn),可

以幫助軟件設(shè)計(jì)師實(shí)現(xiàn)更加多樣化的系統(tǒng),如“同一接口,多種不同的實(shí)現(xiàn)”方

法。不能省略。

3.應(yīng)用題

(1)請(qǐng)根據(jù)“醫(yī)院門(mén)診系統(tǒng)”中的“處方”構(gòu)件的詳細(xì)設(shè)計(jì)類(lèi)圖,編碼實(shí)

現(xiàn)該構(gòu)件。

答案略

(2)請(qǐng)編寫(xiě)代碼實(shí)現(xiàn)“購(gòu)物車(chē)構(gòu)件”,購(gòu)物車(chē)構(gòu)件設(shè)計(jì)類(lèi)圖見(jiàn)圖7-18。

答案略

習(xí)題九參考答案

1選擇題

DACDDA

2簡(jiǎn)答題

(1)軟件測(cè)試的首要目的是確保被測(cè)系統(tǒng)滿足要求。

(2)黑盒測(cè)試即功能測(cè)試,它把測(cè)試對(duì)象看成一個(gè)黑盒子,看不到它內(nèi)部的實(shí)現(xiàn)原理,

不了解內(nèi)部的運(yùn)行機(jī)制。。黑盒測(cè)試的主要方法包括邊界值分析法、等價(jià)類(lèi)劃分法、因果圖、

場(chǎng)景法等。

(3)白盒測(cè)試又稱(chēng)結(jié)構(gòu)測(cè)試。白盒測(cè)試清楚地了解了程序結(jié)構(gòu)和處理過(guò)程,檢查程序

結(jié)構(gòu)及路徑的正確性,檢查軟件內(nèi)部動(dòng)作是否按照設(shè)計(jì)說(shuō)明的規(guī)定正常進(jìn)行。白盒測(cè)試主要

包括邏輯覆蓋測(cè)試、基本路徑法等。

(4)按照軟件開(kāi)發(fā)的階段劃分,軟件測(cè)試可以分為單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試、

系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。

(5)驅(qū)動(dòng)模塊,用干模擬被測(cè)模塊的上級(jí)模塊。樁模塊,用于模擬被測(cè)模塊在工作過(guò)

程中所需要調(diào)用的模塊。根據(jù)實(shí)際的調(diào)用與被調(diào)用的關(guān)系來(lái)選擇設(shè)計(jì)樁模塊和驅(qū)動(dòng)模塊。

(6)回歸測(cè)試是指修改了舊代碼后,重新進(jìn)行測(cè)試活動(dòng)。在進(jìn)行回歸測(cè)試時(shí),一般會(huì)

遵循以下步驟。

I識(shí)別出軟件中被修改的部分。

II在原本的測(cè)試用例庫(kù)中排除不適用的測(cè)試用例,建立一個(gè)新的測(cè)試用例庫(kù)。

III根據(jù)合適的選擇策略,從新的測(cè)試用例庫(kù)中選出測(cè)試用例包,測(cè)試被修改的軟件。

重復(fù)執(zhí)行以上步驟.驗(yàn)證修改是否對(duì)現(xiàn)有功能造成了破壞。

3.應(yīng)用題

(1)該程序能夠處理單價(jià)為2元的飲料。若投入2元,并選擇“綠茶”“礦泉水”“可

樂(lè)”按鈕,相應(yīng)的飲品就會(huì)送出。若投入的錢(qián)大于2元,則在送出飲品的同時(shí)退出多余的錢(qián)。

若投入的錢(qián)不夠,則直接退款,不送出飲品。

請(qǐng)用黑盒測(cè)試方法對(duì)該軟件進(jìn)行測(cè)試,設(shè)計(jì)測(cè)試用例。

答:根據(jù)題目要求,可采用場(chǎng)景法進(jìn)行黑盒測(cè)試。根據(jù)投幣時(shí)的不同選擇,產(chǎn)生不同的

場(chǎng)景,并設(shè)計(jì)相應(yīng)的測(cè)試用例。

(2)

publicvoidsori(intiRecordNum,intiType)

(

intx=0:

inty=0;

while(iRecordNum>0){

if(iType==0)

x=x+2;

else{

if(iType==l)

x=y+5;

else

x=y+10;

}

)

}

根據(jù)代碼畫(huà)出程序流程圖,并改

溫馨提示

  • 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)論