第一篇:《軟件工程》試題三
一、軟件維護(hù)
(一)選擇題
1、軟件生命周期的最后一個(gè)階段是(B)。
A 書寫軟件文檔 B 軟件維護(hù)
C 穩(wěn)定性測(cè)試 D 書寫詳細(xì)用戶說(shuō)明
2、在軟件維護(hù)工作中進(jìn)行的最少的部分是(D)。A 校正性維護(hù) B 適應(yīng)性維護(hù)
C 完善性維護(hù) D 預(yù)防性維護(hù)
3、軟件維護(hù)大體上可以分為四種類型,下列(B)不屬于其中。A 校正性 B 可靠性 C 適應(yīng)性 D 完善性
4、軟件維護(hù)指的是(A)。
A 對(duì)軟件的改進(jìn)、適應(yīng)和完善 B 維護(hù)正常進(jìn)行 C 配置新軟件 D 軟件開(kāi)發(fā)的一個(gè)階段
5、從下面選出關(guān)于軟件可維護(hù)性的正確論述:(1、3、6、7、9)
(1)在進(jìn)行需求分析時(shí),就應(yīng)該同時(shí)考慮軟件可維護(hù)性問(wèn)題
(2)在完成測(cè)試作業(yè)之后,為了縮短源程序長(zhǎng)度,應(yīng)刪去源程序中的注解
(3)盡可能在軟件生產(chǎn)過(guò)程中保證各階段文件的正確性
(4)編碼時(shí)應(yīng)盡可能使用全局量
(5)選擇時(shí)間效率和空間效率盡可能高的算法
(6)盡可能利用硬件的特點(diǎn)
(7)重視程序的結(jié)構(gòu)設(shè)計(jì),使程序具有較好的層次結(jié)構(gòu)
(8)在進(jìn)行概要設(shè)計(jì)時(shí)應(yīng)加強(qiáng)模塊間的聯(lián)系
(9)提高程序的易讀性,盡可能使用高級(jí)語(yǔ)言編寫程序
(10)為了加快維護(hù)作業(yè)的進(jìn)程,應(yīng)盡可能增加維護(hù)人員數(shù)
(二)填空題
1、維護(hù)階段是軟件生命周期中,持續(xù)時(shí)間(最長(zhǎng)的)的階段,花費(fèi)精力和費(fèi)用(最多的)階段。
2、軟件維護(hù)的副作用有三種:(編碼),(數(shù)據(jù))和(文檔)。
3、軟件維護(hù)的工作流程為:(用戶提出維護(hù)申請(qǐng)),(維護(hù)組織審查申請(qǐng)報(bào)告并安排維護(hù)工作),(進(jìn)行維護(hù)并作詳細(xì)的維護(hù)記錄)和(復(fù)審)。
4、在軟件交付使用后,由于軟件開(kāi)發(fā)過(guò)程產(chǎn)生的(錯(cuò)誤)沒(méi)有完全徹底在(測(cè)試)階段發(fā)現(xiàn),必然有一部分隱含錯(cuò)誤帶到(維護(hù))階段。
5、軟件的可維護(hù)性是指軟件功能被(理解),(改正),(適應(yīng)和增強(qiáng))的難易程度。
(三)簡(jiǎn)答題
1、什么叫軟件維護(hù)?它有哪幾種類型?
答:軟件維護(hù)就是在軟件產(chǎn)品交付之后對(duì)其進(jìn)行修改,以排除故障或該進(jìn)性能和其他屬性或使產(chǎn)品適應(yīng)改變了的環(huán)境。(定義1)軟件維護(hù)就是在軟件產(chǎn)品交付之后,為了改正錯(cuò)誤或滿足新的需求而修改軟件的過(guò)程。(定義2)
分為四種類型:改正性維護(hù),適應(yīng)性,完善性,預(yù)防性。
2、非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)的主要區(qū)別是什么?
答:結(jié)構(gòu)化維護(hù)維護(hù)設(shè)計(jì)的時(shí)候有文檔,非結(jié)構(gòu)化維護(hù)維護(hù)設(shè)計(jì)的時(shí)候沒(méi)有文檔,只有源程序; 與非結(jié)構(gòu)化維護(hù)維護(hù)相比,結(jié)構(gòu)化維護(hù)維護(hù)能減少工作量,并提高維護(hù)的總質(zhì)量。
第二篇:軟件工程試題
一,單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)
在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請(qǐng)將正確選項(xiàng)前的字母填在題后的橫線上。
1.可行性研究要進(jìn)行一次_____需求分析。
參考答案為:C
A.詳細(xì)的 B.全面的
C.簡(jiǎn)化的、壓縮的D.徹底的
[解析]軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開(kāi)發(fā),是否值得去開(kāi)發(fā)。其實(shí)質(zhì)是要進(jìn)行一次簡(jiǎn)化、壓縮了的需求分析、設(shè)計(jì)過(guò)程,要在較高層次上以較抽象的方式進(jìn)行需求分析和設(shè)計(jì)過(guò)程。因此答案為C。
2.系統(tǒng)流程圖用于可行性分析中的_____的描述。
參考答案為:A
A.當(dāng)前運(yùn)行系統(tǒng)
B.當(dāng)前邏輯模型
C.目標(biāo)系統(tǒng)
D.新系統(tǒng)
[解析]可行性研究首先要確定項(xiàng)目的規(guī)模和目標(biāo),然后就需要對(duì)當(dāng)前運(yùn)行的系統(tǒng)進(jìn)行研究了,在考察系統(tǒng)的基礎(chǔ)上,通過(guò)描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,與有關(guān)人員一起審查該系統(tǒng)流程圖是否正確。描述的對(duì)象是當(dāng)前正在運(yùn)行的系統(tǒng),因此選擇A。
3.系統(tǒng)流程圖是描述_____的工具。
參考答案為:C
A.邏輯系統(tǒng)
B.程序系統(tǒng)
C.體系結(jié)構(gòu)
D.物理系統(tǒng)
[解析]系統(tǒng)流程圖是用圖形符號(hào)來(lái)表示系統(tǒng)中的各個(gè)元素,例如人工處理、數(shù)據(jù)庫(kù)、設(shè)備等,流程圖表達(dá)了系統(tǒng)中各個(gè)元素之間的信息流動(dòng)情況。是描繪物理系統(tǒng)的傳統(tǒng)工具。
4._______工具在軟件詳細(xì)設(shè)計(jì)過(guò)程中不采用。
參考答案為:D
A.判定表
B.IPO圖
C.PDL
D.DFD圖
[解析]詳細(xì)描述處理過(guò)程常用三種工具:圖形、表格和語(yǔ)言。其中圖形工具有結(jié)構(gòu)化流程圖、盒圖和問(wèn)題分析圖三種,答案中的判定表是用來(lái)表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。IPO圖用來(lái)描述每個(gè)模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細(xì)情況。PDL是過(guò)程設(shè)計(jì)語(yǔ)言的縮寫,也稱程序描述語(yǔ)言,用于描述模塊算法設(shè)計(jì)和處理細(xì)節(jié)的語(yǔ)言,這三種都可以在軟件詳細(xì)設(shè)計(jì)過(guò)程中使用,而DFD圖則是數(shù)據(jù)流圖,是以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,只反映系統(tǒng)必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細(xì)設(shè)計(jì)過(guò)程中使用。
5.程序的三種基本控制結(jié)構(gòu)是
參考答案為:B
A.過(guò)程、子程序和分程序
B.順序、選擇和重復(fù)
C.遞歸、堆棧和隊(duì)列
D.調(diào)用、返回和轉(zhuǎn)移
[解析]程序的三種基本控制結(jié)構(gòu)是順序、選擇和循環(huán)(重復(fù))。子程序只是程序設(shè)計(jì)一種方法,遞歸則是一種算法,都算不上是控制結(jié)構(gòu)。
6.程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是
參考答案為:D A.不能嵌套使用
B.只能用來(lái)寫簡(jiǎn)單程序
C.已經(jīng)用硬件實(shí)現(xiàn)
D.只有一個(gè)入口和一個(gè)出口
[解析]程序的特點(diǎn)就是從一個(gè)入口開(kāi)始,最終以一個(gè)出口結(jié)束,其間可以用順序,選擇和循環(huán)方式對(duì)程序的流向進(jìn)行控制。三種結(jié)構(gòu)可以寫出非常復(fù)雜的程序,而且選擇和循環(huán)都可以嵌套設(shè)計(jì)。
7.產(chǎn)生軟件維護(hù)的副作用,是指
參考答案為:C
A.開(kāi)發(fā)時(shí)的錯(cuò)誤
B.隱含的錯(cuò)誤
C.因修改軟件而造成的錯(cuò)誤
D.運(yùn)行時(shí)誤操作
[解析]因修改軟件而造成的錯(cuò)誤或其他不希望出現(xiàn)的情況稱為維護(hù)的副作用,包括編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。只有答案C是正確的表述。
8.維護(hù)中,因誤刪除一個(gè)標(biāo)識(shí)符而引起的錯(cuò)誤是_________副作用。
參考答案為:C
A.文檔
B.?dāng)?shù)據(jù)
C.編碼
D.設(shè)計(jì)
[解析]編碼副作用指的是在使用程序設(shè)計(jì)語(yǔ)言修改源代碼時(shí)可能引入錯(cuò)誤,比如刪除或修改一個(gè)子程序、一個(gè)標(biāo)號(hào)、一個(gè)標(biāo)識(shí)符,改變程序代碼的時(shí)序關(guān)系,修改文件的打開(kāi)或關(guān)閉等。因此本題答案為C。
9.可維護(hù)性的特性中相互促進(jìn)的是
參考答案為:A
A.可理解性和可測(cè)試性
B.效率和可移植性
C.效率和可修改性
D.效率和結(jié)構(gòu)好
[解析]軟件的可維護(hù)性可用七個(gè)質(zhì)量特性來(lái)衡量,分別是:可理解性、可測(cè)試性、可修改性、可靠性、可移植性、可使用性和效率。對(duì)于不同類型的維護(hù),這些特性的側(cè)重點(diǎn)也不相同,有一些可維護(hù)特性是可以相互促進(jìn)的,比如可理解性和可測(cè)試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結(jié)構(gòu)好則不屬于可維護(hù)性的特征。
10.汽車有一個(gè)發(fā)動(dòng)機(jī)。汽車和發(fā)動(dòng)機(jī)之間的關(guān)系是_____關(guān)系。
參考答案為:B
A.一般具體
B.整體部分
C.分類關(guān)系
D.主從關(guān)系
[解析]類有兩種主要的結(jié)構(gòu)關(guān)系,即一般——具體結(jié)構(gòu)關(guān)系和整體——部分結(jié)構(gòu)關(guān)系。前者稱為分類結(jié)構(gòu),用來(lái)描述現(xiàn)實(shí)世界中的一般化的抽象關(guān)系。后者稱為組裝結(jié)構(gòu),用來(lái)描述現(xiàn)實(shí)世界中的類的組成的抽象關(guān)系。汽車和發(fā)動(dòng)機(jī)的關(guān)系很明顯,應(yīng)該屬于整體——部分關(guān)系。
11.在變更控制中,______可以用來(lái)確保由不同用戶所執(zhí)行的并發(fā)變更。
參考答案為:B
A.異步控制
B.同步控制
C.存取控制
D.基線控制
[解析]變更控制包括建立控制點(diǎn)和建立報(bào)告與審查制度,其過(guò)程中的“檢出”和“登入”處理實(shí)現(xiàn)了存取控制和同步控制,存取控制管理各個(gè)用戶存取和修改一個(gè)特定軟件配置對(duì)象的權(quán)限,同步控制可用來(lái)確保由不同用戶所執(zhí)行任務(wù)的并發(fā)變更。
12.變更控制是一項(xiàng)最重要的軟件配置任務(wù),其中“檢出”和______處理實(shí)現(xiàn)了兩個(gè)重要的變更控制要素,即存取控制和同步控制。
參考答案為:A
A.登入
B.管理
C.填寫變更要求
D.審查
[解析]“檢出”和“登入”處理實(shí)現(xiàn)了兩個(gè)重要的變更控制要素。具體說(shuō)明見(jiàn)上題。
13.提高軟件質(zhì)量和可靠的技術(shù)大致可分為兩大類:其中一類就是避開(kāi)錯(cuò)誤技術(shù),但避開(kāi)錯(cuò)誤技術(shù)無(wú)法做到完美無(wú)缺和絕無(wú)錯(cuò)誤,這就需要
參考答案為:D
A.消除錯(cuò)誤
B.檢測(cè)錯(cuò)誤
C.避開(kāi)錯(cuò)誤
D.容錯(cuò)
[解析]提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類,一類是避開(kāi)錯(cuò)誤技術(shù),即在開(kāi)發(fā)的過(guò)程中不讓差錯(cuò)潛入軟件的技術(shù),另一類是容錯(cuò)技術(shù),即對(duì)某些無(wú)法避開(kāi)的差錯(cuò),使其影響減至最小的技術(shù)。
14._____是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng)。
參考答案為:D
A.技術(shù)創(chuàng)新
B.測(cè)試
C.技術(shù)創(chuàng)造
D.技術(shù)評(píng)審
[解析]技術(shù)評(píng)審是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng),是對(duì)軟件本身的結(jié)構(gòu)、與運(yùn)行環(huán)境的接口、變更帶來(lái)的影響等方面進(jìn)行的評(píng)審活動(dòng)。
15.面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的方法和過(guò)程,盡可能接近于人類認(rèn)識(shí)世界解決問(wèn)題的方法和過(guò)程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對(duì)象組成的;________;對(duì)象彼此之間僅能通過(guò)傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。
參考答案為:C
A.開(kāi)發(fā)過(guò)程基于功能分析和功能分解
B.強(qiáng)調(diào)需求分析重要性
C.把對(duì)象劃分成類,每個(gè)對(duì)象類都定義一組數(shù)據(jù)和方法
D.對(duì)既存類進(jìn)行調(diào)整
[解析]面向?qū)ο蠓椒ㄓ兴膫€(gè)特征,分別是對(duì)象唯一性、分類性、繼承性和多態(tài)性。其中分類性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對(duì)象抽象成類,每個(gè)類是具有相同性質(zhì)的個(gè)體集合,而每個(gè)對(duì)象相關(guān)類的實(shí)例,對(duì)象彼此之間通過(guò)傳遞消息互相聯(lián)系。
16.軟件開(kāi)發(fā)過(guò)程中,抽取和整理用戶需求并建立問(wèn)題域精確模型的過(guò)程叫
參考答案為:D
A.生存期
B.面向?qū)ο笤O(shè)計(jì)
C.面向?qū)ο蟪绦蛟O(shè)計(jì)
D.面向?qū)ο蠓治?/p>
[解析]面向?qū)ο蟮姆治龅倪^(guò)程就是認(rèn)識(shí)客觀世界的過(guò)程,其目的就是建立對(duì)客觀世界的精確、簡(jiǎn)潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。
17.原型化方法是用戶和設(shè)計(jì)者之間執(zhí)行的一種交互構(gòu)成,適用于______系統(tǒng)。
參考答案為:A
A.需求不確定性高的B.需求確定的C.管理信息
D.實(shí)時(shí)
[解析]原型不同于最終系統(tǒng),它只實(shí)現(xiàn)所選擇的部分功能,僅是為了試驗(yàn)或是演示而用,部分功能需求可以忽略或者模擬實(shí)現(xiàn),因此適用于需求不確定性高的系統(tǒng)。
18.原型化方法是一種_______型的設(shè)計(jì)過(guò)程。
參考答案為:A
A.自外向內(nèi)
B.自頂向下
C.自內(nèi)向外
D.自底向上
[解析]原型化方法的基本思想是根據(jù)用戶給出的基本需求,通過(guò)快速實(shí)現(xiàn)構(gòu)造出一個(gè)小型的、可執(zhí)行的模型,用戶在計(jì)算機(jī)上實(shí)際運(yùn)行這個(gè)用戶界面原型,在試用過(guò)程中提出意見(jiàn)或建議,然后開(kāi)發(fā)者再對(duì)原型進(jìn)行改進(jìn)。如此周而復(fù)始,逐步彌補(bǔ)不足之處,從而提高了最終產(chǎn)品的質(zhì)量。它是一種自外向內(nèi)的設(shè)計(jì)過(guò)程。
19.為了提高測(cè)試的效率,應(yīng)該
參考答案為:D
A.隨機(jī)地選取測(cè)試數(shù)據(jù)
B.取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)
C.在完成編碼以后制定軟件的測(cè)試計(jì)劃
D.選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測(cè)試數(shù)據(jù)
[解析]軟件測(cè)試是為了盡可能多的發(fā)現(xiàn)程序中的錯(cuò)誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。在選取測(cè)試用例時(shí),不可能進(jìn)行窮舉測(cè)試,在每一個(gè)細(xì)節(jié)進(jìn)行測(cè)試,也不能無(wú)目的地隨機(jī)選取測(cè)試數(shù)據(jù),為了提高測(cè)試的效率,測(cè)試用例應(yīng)該選擇發(fā)現(xiàn)錯(cuò)誤可能性大的部分,這樣的測(cè)試結(jié)果才符合軟件測(cè)試的目的。
20.使用白盒測(cè)試方法時(shí),確定測(cè)試數(shù)據(jù)應(yīng)根據(jù)_______和指定的覆蓋標(biāo)準(zhǔn)。
參考答案為:A
A.程序的內(nèi)部邏輯
B.程序的復(fù)雜結(jié)構(gòu)
C.使用說(shuō)明書
D.程序的功能
[解析]白盒測(cè)試是把測(cè)試對(duì)象看作一個(gè)打開(kāi)的盒子,測(cè)試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,由于白盒測(cè)試是一種結(jié)構(gòu)測(cè)試,所以被測(cè)對(duì)象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標(biāo)準(zhǔn)確定測(cè)試數(shù)據(jù)。
二,填空題(本大題共10小題,每小題2分,共20分)
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中各個(gè)元素表達(dá)了系統(tǒng)中各種元素之間的()情況。
解:信息流動(dòng)
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中的各個(gè)元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫(kù)、文件、設(shè)備等,表達(dá)了元素之間的信息流動(dòng)的情況。
22.成本效益分析的目的是從()角度評(píng)價(jià)開(kāi)發(fā)一個(gè)項(xiàng)目是否可行。
解:經(jīng)濟(jì)
[解析]成本效益分析首先是估算將要開(kāi)發(fā)的系統(tǒng)的開(kāi)發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評(píng)價(jià)開(kāi)發(fā)一個(gè)新的軟件項(xiàng)目是否可行。
23.自頂向下結(jié)合的漸增式測(cè)試法,在組合模塊時(shí)有兩種組合策略:深度優(yōu)先策略和()。
解:寬度優(yōu)先策略
[解析]漸增式測(cè)試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動(dòng)模塊,只需要編寫樁模塊。它從主控模塊開(kāi)始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個(gè)模塊集成在一起。
24.獨(dú)立路徑是指包括一組以前沒(méi)有處理的語(yǔ)句或條件的一條路徑。從程序圖來(lái)看,一條獨(dú)立路徑是至少包含有一條()的邊的路徑。
解:在其他獨(dú)立路徑中未有過(guò)
[解析]在基本路徑測(cè)試中,以詳細(xì)設(shè)計(jì)或源程序?yàn)榛A(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計(jì)算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨(dú)立路徑的基本路徑圖,其中獨(dú)立路徑是包括一組以前沒(méi)有處理的語(yǔ)句或條件的一條路徑。從程序圖來(lái)看,一條獨(dú)立路徑是至少包含有一條在其他獨(dú)立路徑中未有過(guò)的邊的路徑。
25.匯編語(yǔ)言是面向()的,可以完成高級(jí)語(yǔ)言無(wú)法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
解:機(jī)器
[解析]匯編語(yǔ)言屬于低級(jí)語(yǔ)言,是一種面向機(jī)器的語(yǔ)言,它與高級(jí)語(yǔ)言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計(jì)算機(jī)硬件特性直接控制硬件設(shè)備的唯一語(yǔ)言。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是()。
解:中間數(shù)據(jù)結(jié)構(gòu)或中間文件
[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過(guò)程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過(guò)程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開(kāi)來(lái),建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來(lái),構(gòu)成一個(gè)系統(tǒng)的整體。
27.詳細(xì)設(shè)計(jì)的任務(wù)是確定每個(gè)模塊的內(nèi)部特性,即模塊的算法、()。
解:使用的數(shù)據(jù)
[解析]詳細(xì)設(shè)計(jì)的基本任務(wù)是為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì),為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),確定每個(gè)模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì)等。
28.所有軟件維護(hù)申請(qǐng)報(bào)告要按規(guī)定方式提出,該報(bào)告也稱()報(bào)告。
解:軟件問(wèn)題
[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請(qǐng)報(bào)告,也稱為軟件問(wèn)題報(bào)告,它是維護(hù)階段的一種文檔,由申請(qǐng)維護(hù)的用戶填寫。
29.有兩類維護(hù)技術(shù):在開(kāi)發(fā)階段使用來(lái)減少錯(cuò)誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來(lái)提高維護(hù)的效率和質(zhì)量的()技術(shù)。
解:維護(hù)支援
[解析]面向維護(hù)的技術(shù)涉及軟件開(kāi)發(fā)的所有階段,能夠減少軟件錯(cuò)誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯(cuò)誤原因分析,維護(hù)方案評(píng)價(jià)等項(xiàng),是在軟件維護(hù)階段用來(lái)提高維護(hù)效率和質(zhì)量的技術(shù)。
30.科學(xué)工程計(jì)算需要大量的標(biāo)準(zhǔn)庫(kù)函數(shù),以便處理復(fù)雜的數(shù)值計(jì)算,可供選擇的語(yǔ)言有:()、PASCAL語(yǔ)言、C語(yǔ)言和PL/1語(yǔ)言。
解:FORTRAN語(yǔ)言
[解析]計(jì)算機(jī)語(yǔ)言根據(jù)不同行業(yè)的需求,使用的側(cè)重點(diǎn)也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫(kù)語(yǔ)言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計(jì)算機(jī)語(yǔ)言的科學(xué)計(jì)算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語(yǔ)言都是工程計(jì)算中常用的語(yǔ)言。
三,名詞解釋(本大題共5小題,每小題3分,共15分)
31.經(jīng)濟(jì)可行性
解:進(jìn)行開(kāi)發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開(kāi)發(fā)的項(xiàng)目是否值得投資開(kāi)發(fā)。
[解析]對(duì)于一個(gè)系統(tǒng)所必須要衡量的是經(jīng)濟(jì)上是否合算,經(jīng)濟(jì)可行性的范圍很廣,包括效益分析、潛在市場(chǎng)前景等。
32.社會(huì)可行性
解:要開(kāi)發(fā)的項(xiàng)目是否存在任何侵犯、妨礙等責(zé)任問(wèn)題,要開(kāi)發(fā)項(xiàng)目目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。
[解析]社會(huì)可行性包括合同、責(zé)任、侵權(quán)等技術(shù)人員不甚了解的諸多問(wèn)題。
33.投資回收期
解:投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。
[解析]通常我們用投資回收期來(lái)衡量一個(gè)開(kāi)發(fā)項(xiàng)目的價(jià)值,投資回收期越短,就越快獲得利潤(rùn)。
34.對(duì)應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時(shí)處理。
[解析]對(duì)應(yīng)關(guān)系是指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順序上有直接的因果關(guān)系,對(duì)于重復(fù)的數(shù)據(jù)單元,重復(fù)的次序和次數(shù)都相同才有對(duì)應(yīng)關(guān)系。
35.結(jié)構(gòu)沖突
解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對(duì)應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。
[解析]使用JSP方法時(shí)會(huì)遇到此類結(jié)構(gòu)沖突問(wèn)題,對(duì)此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開(kāi)來(lái),建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來(lái),構(gòu)成一個(gè)系統(tǒng)的整體。
四,簡(jiǎn)答題(本大題共4小題,每小題5分,共20分)
36.可行性研究報(bào)告的主要內(nèi)容有哪些?
解:一個(gè)可行性研究報(bào)告的主要內(nèi)容如下:
(1)引言:說(shuō)明編寫本文檔的目的;項(xiàng)目的名稱、背景;本文檔用到的專門術(shù)語(yǔ)和參考資料。
(2)可行性研究前提:可行性研究前提。說(shuō)明開(kāi)發(fā)項(xiàng)目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。
(3)對(duì)現(xiàn)有系統(tǒng)的分析:說(shuō)明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項(xiàng)費(fèi)用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問(wèn)題。
(4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡(jiǎn)要說(shuō)明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對(duì)用戶的影響;對(duì)各種設(shè)備、現(xiàn)有軟件、開(kāi)發(fā)環(huán)境、運(yùn)行環(huán)境的影響;對(duì)經(jīng)費(fèi)支出的影響;對(duì)技術(shù)可行性的評(píng)價(jià)
簡(jiǎn)答題:
1、內(nèi)聚與耦合的概念,2、結(jié)構(gòu)化程序設(shè)計(jì)方法的三種結(jié)構(gòu),他們之間的聯(lián)系與區(qū)別,3、集成測(cè)試的兩種方法之間的不同點(diǎn)與相同點(diǎn),4、抽象類圖的名稱與作用,這題還出了幾個(gè)符號(hào)要寫出其名稱,5、P20頁(yè)的那個(gè)圖的名稱,作用和特點(diǎn)。分析畫圖題:
1、畫數(shù)據(jù)流圖,2、畫判定樹(shù)與判定表,3、畫系統(tǒng)流程圖,4.^_^,不記得了,反正也是畫我們常要畫的圖,5、根據(jù)偽碼畫出程序流程圖,盒圖,然后計(jì)算程序的復(fù)雜度,填空題,選擇題主要考概念,jackson圖方面的內(nèi)容在填空題出了兩題
第三篇:軟件工程第一章試題
第一章
一、填空
1.軟件與物質(zhì)產(chǎn)品有很大的區(qū)別,軟件是一種(邏輯)產(chǎn)品。
2.軟件工程是一門綜合性交叉學(xué)科,計(jì)算機(jī)科學(xué)著重于理論和原理,軟件工程著重于(建造一個(gè)軟件系統(tǒng))。
3.概要設(shè)計(jì)主要是把各項(xiàng)功能需求轉(zhuǎn)換成系統(tǒng)的(體系結(jié)構(gòu))。
4.最基本、應(yīng)用廣泛、以文檔為驅(qū)動(dòng)、適用于開(kāi)發(fā)功能明確的軟件項(xiàng)目生存期模型是(瀑布模型)。
5.簡(jiǎn)單實(shí)用、應(yīng)用廣泛、技術(shù)成熟的開(kāi)發(fā)方法是(結(jié)構(gòu)化方法)
1.構(gòu)成一個(gè)完整計(jì)算機(jī)系統(tǒng)的兩部分是硬件與(軟件)。
2.程序設(shè)計(jì)時(shí)代的生產(chǎn)方式是(個(gè)體手工勞動(dòng))。
3.軟件工程涉及到幾個(gè)學(xué)科,它是一門(綜合性交叉)學(xué)科。
4.軟件開(kāi)發(fā)劃分的各階段任務(wù)盡可能獨(dú)立,同一階段任務(wù)性質(zhì)盡可能(相同)。
5.將軟件生存周期各個(gè)活動(dòng)規(guī)定為依線性順序聯(lián)接的若干階段的模型是(瀑布)模型。
6.噴泉模型是一種以用戶需求為動(dòng)力,以(對(duì)象)為驅(qū)動(dòng)的模型。
7.結(jié)構(gòu)化方法是一種面向數(shù)據(jù)流的開(kāi)發(fā)方法。由結(jié)構(gòu)化分析、(結(jié)構(gòu)化設(shè)計(jì))、結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)成。
8.軟件工程研究的主要內(nèi)容是軟件開(kāi)發(fā)管理和(軟件開(kāi)發(fā)技術(shù))兩個(gè)方面。
9.軟件工具是支持軟件開(kāi)發(fā)人員的開(kāi)發(fā)和維護(hù)活動(dòng)而使用的(軟件)。
10.一個(gè)軟件項(xiàng)目的開(kāi)發(fā)中,要采用一種生存周期模型,要按照某種(開(kāi)發(fā)方法),使用相應(yīng)的工具來(lái)進(jìn)行。
二、選擇
1.同一軟件的大量軟件產(chǎn)品的生產(chǎn)主要是通過(guò)()而得到。
A.研究B.復(fù)制C.開(kāi)發(fā)D.研制
2.作坊式小團(tuán)體合作生產(chǎn)方式的時(shí)代是()時(shí)代。
A.程序設(shè)計(jì)B.軟件生產(chǎn)自動(dòng)化 C.程序系統(tǒng)D.軟件工程
3.軟件工程與計(jì)算機(jī)科學(xué)性質(zhì)不同,軟件工程著重于()。
A.理論研究B.原理探討C.建造軟件系統(tǒng) D.原理的理論
4.將每個(gè)模塊的控制結(jié)構(gòu)轉(zhuǎn)換成計(jì)算機(jī)可接受的程序代碼是()階段的任務(wù)。
A.編碼B.需求分析C.詳細(xì)設(shè)計(jì)D.測(cè)試
5.軟件生存周期中時(shí)間最長(zhǎng)的是()階段
A.需求分析B.概要設(shè)計(jì)C.測(cè)試D.維護(hù)
1.軟件是一種()產(chǎn)品。
A.物質(zhì)B.邏輯C.有形D.消耗
2.軟件產(chǎn)品的開(kāi)發(fā)主要是()。
A.復(fù)制B.再生產(chǎn)C.拷貝D.研制
3.個(gè)體手工勞動(dòng)生產(chǎn)方式的時(shí)代是()。
A.程序設(shè)計(jì) B.軟件生產(chǎn)自動(dòng)化 C.程序系統(tǒng) D.軟件工程
4.與計(jì)算機(jī)科學(xué)的理論研究不同,軟件工程是一門()學(xué)科。
A.理論性B.原理性C.工程性D.心理性
5.軟件重用的單位是()。
A.軟件模塊B.性能C.系統(tǒng)D.功能
6.軟件開(kāi)發(fā)費(fèi)用只占整個(gè)軟件系統(tǒng)費(fèi)用的()。
A.1/2B.1/3C.1/4D.2/3
7.軟件開(kāi)發(fā)中大約要付出()%的工作量進(jìn)行測(cè)試和排錯(cuò)。
A.20B.30C.40D.50
8.準(zhǔn)確地解決“軟件系統(tǒng)必須做什么”是()階段的任務(wù)。
A.可行性研究 B.需求分析C.詳細(xì)設(shè)計(jì)D.編碼
9.軟件生存周期中最長(zhǎng)的是()階段。
A.需求分析B.概要設(shè)計(jì)C.測(cè)試D.維護(hù)
1、瀑布模型把軟件生命周期劃分為八個(gè)階段:?jiǎn)栴}的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試和運(yùn)行、維護(hù)。八個(gè)階段又可歸納為三個(gè)大的階段:計(jì)劃階段、開(kāi)發(fā)階段和()。
A、詳細(xì)計(jì)劃B、可行性分析C、運(yùn)行階段D、測(cè)試與排錯(cuò)
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個(gè)階段中,下面的幾個(gè)選項(xiàng)中哪個(gè)環(huán)節(jié)出錯(cuò),對(duì)軟件的影響最大()。
A、詳細(xì)設(shè)計(jì)階段B、概要設(shè)計(jì)階段C、需求分析階段D、測(cè)試和運(yùn)行階段
3、在結(jié)構(gòu)化的瀑布模型中,哪一個(gè)階段定義的標(biāo)準(zhǔn)將成為軟件測(cè)試中的系統(tǒng)測(cè)試階段的目標(biāo)()。
A、需求分析階段B、詳細(xì)設(shè)計(jì)階段C、概要設(shè)計(jì)階段D、可行性研究階段
4、軟件工程的出現(xiàn)主要是由于()。
A.程序設(shè)計(jì)方法學(xué)的影響 B.其它工程科學(xué)的影響C.軟件危機(jī)的出現(xiàn)D.計(jì)算機(jī)的發(fā)展
5、軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實(shí)施的主要保證是()
A、硬件環(huán)境B、軟件開(kāi)發(fā)的環(huán)境C、軟件開(kāi)發(fā)工具和軟件開(kāi)發(fā)的環(huán)境D、開(kāi)發(fā)人員的素質(zhì)
6、軟件開(kāi)發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實(shí)際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為()
A、相互排斥B、相互補(bǔ)充C、獨(dú)立使用D、交替使用
7、UML是軟件開(kāi)發(fā)中的一個(gè)重要工具,它主要應(yīng)用于哪種軟件開(kāi)發(fā)方法()
A、基于瀑布模型的結(jié)構(gòu)化方法B、基于需求動(dòng)態(tài)定義的原型化方法
C、基于對(duì)象的面向?qū)ο蟮姆椒―、基于數(shù)據(jù)的數(shù)據(jù)流開(kāi)發(fā)方法
8、在下面的軟件開(kāi)發(fā)方法中,哪一個(gè)對(duì)軟件設(shè)計(jì)和開(kāi)發(fā)人員的開(kāi)發(fā)要求最高()
A、結(jié)構(gòu)化方法B、原型化方法C、面向?qū)ο蟮姆椒―、控制流方法
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實(shí)施時(shí)強(qiáng)調(diào)的是分析對(duì)象的()
A、控制流B、數(shù)據(jù)流C、程序流D、指令流
10、軟件開(kāi)發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成()
A、計(jì)劃階段、開(kāi)發(fā)階段、運(yùn)行階段B、計(jì)劃階段、編程階段、測(cè)試階段
C、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試D、需求分析、功能定義、系統(tǒng)設(shè)計(jì)
11、軟件開(kāi)發(fā)中常采用的結(jié)構(gòu)化生命周期方法,由于其特征而一般稱其為()
A、瀑布模型B、對(duì)象模型C、螺旋模型D、層次模型
12、軟件開(kāi)發(fā)的瀑布模型,一般都將開(kāi)發(fā)過(guò)程劃分為:分析、設(shè)計(jì)、編碼和測(cè)試等階段,一般認(rèn)為可能占用人員最多的階段是()
A、分析階段B、設(shè)計(jì)階段C、編碼階段D、測(cè)試階段
13、軟件開(kāi)發(fā)模型是指軟件開(kāi)發(fā)的全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。主要的開(kāi)發(fā)模型有瀑布模型、演化模型、螺旋模型、噴泉模型和智能模型。螺旋模型將瀑布模型和演化模型相結(jié)合,并增加了(1),它建立在(2)的基礎(chǔ)上,沿著螺線自內(nèi)向外每旋轉(zhuǎn)一圈,就得到(2)的一個(gè)新版本。噴泉模型描述了(3)的開(kāi)發(fā)模型,它體現(xiàn)了這種開(kāi)發(fā)方法創(chuàng)建軟件的過(guò)程所固有的(4)和(5)的特征。
(1)A、系統(tǒng)工程B、風(fēng)險(xiǎn)分析C、設(shè)計(jì)評(píng)審D、進(jìn)度控制
(2)A、模塊劃分B、子程序分解C、設(shè)計(jì);D、原型
(3)A、面向?qū)ο驜、面向數(shù)據(jù)流C、面向數(shù)據(jù)結(jié)構(gòu)D、面向事件驅(qū)動(dòng)
(4)A、歸納B、推理C、迭代D、遞歸
(5)A、開(kāi)發(fā)各階段之間無(wú)“間隙”B、開(kāi)發(fā)各階段分界明顯
C、部分開(kāi)發(fā)階段分界明顯D、開(kāi)發(fā)過(guò)程不分段
1﹑軟件產(chǎn)品的特性是什么?
產(chǎn)品特性:
⑴是一種邏輯產(chǎn)品,與物質(zhì)產(chǎn)品有很大的區(qū)別。
⑵軟件產(chǎn)品的生產(chǎn)主要是研制,生產(chǎn)成本主要在開(kāi)發(fā)和研制,開(kāi)發(fā)研制完成后,通過(guò)復(fù)制就產(chǎn)生了大量軟件產(chǎn)品。⑶軟件產(chǎn)品不會(huì)用壞,不存在磨損,消耗。
⑷生產(chǎn)主要是腦力勞動(dòng),還末完全擺脫手工開(kāi)發(fā)方式,大部分產(chǎn)品是“定做”的⑸開(kāi)發(fā)軟件的費(fèi)用不斷增加,致使生產(chǎn)成本相當(dāng)昂貴。
2﹑軟件生產(chǎn)有幾個(gè)階段?各有何特征?
⑴程序設(shè)計(jì)時(shí)代:這個(gè)階段生產(chǎn)方式是個(gè)體勞動(dòng),使用的生產(chǎn)工具是機(jī)器語(yǔ)言,匯編語(yǔ)言。
⑵程序系統(tǒng)時(shí)代:這個(gè)階段生產(chǎn)方式是小集團(tuán)合作生產(chǎn),使用的生產(chǎn)工具是高級(jí)語(yǔ)言,開(kāi)發(fā)方法仍依靠個(gè)人技巧,但開(kāi)始提出結(jié)構(gòu)化方法。
⑶軟件工程時(shí)代:這個(gè)階段生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫(kù)﹑開(kāi)發(fā)工具﹑開(kāi)發(fā)環(huán)境﹑網(wǎng)絡(luò)﹑分布式﹑面向?qū)ο蠹夹g(shù)來(lái)開(kāi)發(fā)軟件。
3﹑什么是軟件危機(jī)?產(chǎn)生原因是什么?
軟件開(kāi)發(fā)技術(shù)的進(jìn)步未能滿足發(fā)展的要求。在軟件開(kāi)發(fā)中遇到的問(wèn)題找不到解決的辦法,問(wèn)題積累起來(lái),形態(tài)尖銳的矛盾,導(dǎo)致了軟件危機(jī)。
產(chǎn)生原因:
⑴ 軟件規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜。
⑵ 軟件開(kāi)發(fā)管理困難而復(fù)雜。
⑶ 軟件包開(kāi)發(fā)費(fèi)用不斷增加。
⑷ 軟件開(kāi)發(fā)技術(shù)落后。
⑸ 生產(chǎn)方式落后,仍采用手工方式。
⑹ 開(kāi)發(fā)工具落后,生產(chǎn)率提高緩慢。
4﹑什么是軟件工程?它目標(biāo)和內(nèi)容是什么?
軟件工程就是用科學(xué)的知識(shí)程和技術(shù)原理來(lái)定義,開(kāi)發(fā),維護(hù)軟件的一門學(xué)科。
軟件工程目標(biāo):付出較低開(kāi)發(fā)成本;達(dá)到要求的功能;取得較好的性能;開(kāi)發(fā)的軟件易于移
植;只需較低的維護(hù)費(fèi)用;能按時(shí)完成開(kāi)發(fā)任務(wù),及時(shí)交付使用;開(kāi)發(fā)的軟件可靠性高。
軟件工程內(nèi)容:研究?jī)?nèi)容包括開(kāi)發(fā)技術(shù)和開(kāi)發(fā)管理兩個(gè)方面。
開(kāi)發(fā)技術(shù)主要研究:軟件開(kāi)發(fā)方法,開(kāi)發(fā)過(guò)程,開(kāi)發(fā)工具和環(huán)境。
開(kāi)發(fā)管理主要研究:軟件管理學(xué),軟件經(jīng)濟(jì)學(xué),軟件心理學(xué)。
5﹑軟件工程面臨的問(wèn)題是什么?
軟件工程需要解決的問(wèn)題:軟件的費(fèi)用,可靠性,可維護(hù)性,軟件生產(chǎn)率和軟件的重用。
6﹑什么是軟件生存周期?它有哪幾個(gè)活動(dòng)?
軟件生存周期:一個(gè)軟件從提出開(kāi)發(fā)要求開(kāi)始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。
包括:可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試,維護(hù)。
7﹑什么是軟件生存周期模型?有哪些主要模型?
生存周期模型:描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型。對(duì)軟件開(kāi)發(fā)提供強(qiáng)有力的支持,為開(kāi)發(fā)過(guò)程中的活動(dòng)提供統(tǒng)一的政策保證,為參與開(kāi)發(fā)的人員提供幫助和指導(dǎo),是軟件生存周期模型化技術(shù)的基礎(chǔ),也是建立軟件開(kāi)發(fā)環(huán)境的核心。
主要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識(shí)的模型,變換模型。
8﹑什么是軟件開(kāi)發(fā)方法?有哪些主要方法?
使用早已定義好的技術(shù)集及符號(hào)表示習(xí)慣來(lái)組織軟件生產(chǎn)的過(guò)程。通過(guò)使用成功的軟件開(kāi)發(fā)方法,在規(guī)定的投資和時(shí)間內(nèi),開(kāi)發(fā)出符合用戶需求的高質(zhì)量的軟件。軟件開(kāi)發(fā)方法是克服軟件危機(jī)的重要方面之一,對(duì)軟件工程及軟件包產(chǎn)業(yè)的發(fā)展起了不可估量的作用。
主要有:結(jié)構(gòu)化方法,JACKSON方法,維也納開(kāi)發(fā)方法﹙VDM﹚,面向?qū)ο箝_(kāi)發(fā)方法。
第四篇:軟件工程期末考試試題
一,單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)
在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請(qǐng)將正確選項(xiàng)前的字母填在題后的橫線上。
1.可行性研究要進(jìn)行一次_____需求分析。
A.詳細(xì)的 B.全面的 C.簡(jiǎn)化的、壓縮的 D.徹底的 2.系統(tǒng)流程圖用于可行性分析中的_____的描述。
A.當(dāng)前運(yùn)行系統(tǒng) B.當(dāng)前邏輯模型 C.目標(biāo)系統(tǒng) D.新系統(tǒng) 3.系統(tǒng)流程圖是描述_____的工具。
A.邏輯系統(tǒng)B.程序系統(tǒng)C.體系結(jié)構(gòu)D.物理系統(tǒng) 4._______工具在軟件詳細(xì)設(shè)計(jì)過(guò)程中不采用。
A.判定表 B.IPO圖 C.PDL D.DFD圖 5.程序的三種基本控制結(jié)構(gòu)是
A.過(guò)程、子程序和分程序 B.順序、選擇和重復(fù)
C.遞歸、堆棧和隊(duì)列 D.調(diào)用、返回和轉(zhuǎn)移 6.程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是
A.不能嵌套使用 B.只能用來(lái)寫簡(jiǎn)單程序
C.已經(jīng)用硬件實(shí)現(xiàn) D.只有一個(gè)入口和一個(gè)出口 7.產(chǎn)生軟件維護(hù)的副作用,是指
A.開(kāi)發(fā)時(shí)的錯(cuò)誤 B.隱含的錯(cuò)誤
C.因修改軟件而造成的錯(cuò)誤 D.運(yùn)行時(shí)誤操作
8.維護(hù)中,因誤刪除一個(gè)標(biāo)識(shí)符而引起的錯(cuò)誤是_________副作用。
A.文檔 B.?dāng)?shù)據(jù) C.編碼 D.設(shè)計(jì) 9.可維護(hù)性的特性中相互促進(jìn)的是
A.可理解性和可測(cè)試性 B.效率和可移植性 C.效率和可修改性
D.效率和結(jié)構(gòu)好
10.汽車有一個(gè)發(fā)動(dòng)機(jī)。汽車和發(fā)動(dòng)機(jī)之間的關(guān)系是_____關(guān)系。
A.一般具體 B.整體部分 C.分類關(guān)系 D.主從關(guān)系
11.在變更控制中,______可以用來(lái)確保由不同用戶所執(zhí)行的并發(fā)變更。
A.異步控制 B.同步控制 C.存取控制 D.基線控制
12.變更控制是一項(xiàng)最重要的軟件配置任務(wù),其中“檢出”和______處理實(shí)現(xiàn)了兩個(gè)重要的變更控制要素,即存取控制和同步控制。
A.登入 B.管理 C.填寫變更要求 D.審查
13.提高軟件質(zhì)量和可靠的技術(shù)大致可分為兩大類:其中一類就是避開(kāi)錯(cuò)誤技術(shù),但避開(kāi)錯(cuò)誤技術(shù)無(wú)法做到完美無(wú)缺和絕無(wú)錯(cuò)誤,這就需要
A.消除錯(cuò)誤 B.檢測(cè)錯(cuò)誤 C.避開(kāi)錯(cuò)誤 D.容錯(cuò) 14._____是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng)。
A.技術(shù)創(chuàng)新 B.測(cè)試 C.技術(shù)創(chuàng)造 D.技術(shù)評(píng)審 15.面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的方法和過(guò)程,盡可能接近于人類認(rèn)識(shí)世界解決問(wèn)題的方法和過(guò)程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對(duì)象組成的;________;對(duì)象彼此之間僅能通過(guò)傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。
A.開(kāi)發(fā)過(guò)程基于功能分析和功能分解 B.強(qiáng)調(diào)需求分析重要性
C.把對(duì)象劃分成類,每個(gè)對(duì)象類都定義一組數(shù)據(jù)和方法 D.對(duì)既存類進(jìn)行調(diào)整
16.軟件開(kāi)發(fā)過(guò)程中,抽取和整理用戶需求并建立問(wèn)題域精確模型的過(guò)程叫()
A.生存期 B.面向?qū)ο笤O(shè)計(jì) C.面向?qū)ο蟪绦蛟O(shè)計(jì) D.面向?qū)ο蠓治?/p>
17.原型化方法是用戶和設(shè)計(jì)者之間執(zhí)行的一種交互構(gòu)成,適用于______系統(tǒng)。
A.需求不確定性高的 B.需求確定的 C.管理信息 D.實(shí)時(shí) 18.原型化方法是一種_______型的設(shè)計(jì)過(guò)程。
A.自外向內(nèi) B.自頂向下 C.自內(nèi)向外 D.自底向上 19.為了提高測(cè)試的效率,應(yīng)該()A.隨機(jī)地選取測(cè)試數(shù)據(jù) B.取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)
C.在完成編碼以后制定軟件的測(cè)試計(jì)劃
D.選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測(cè)試數(shù)據(jù)
20.使用白盒測(cè)試方法時(shí),確定測(cè)試數(shù)據(jù)應(yīng)根據(jù)_______和指定的覆蓋標(biāo)準(zhǔn)。
A.程序的內(nèi)部邏輯 B.程序的復(fù)雜結(jié)構(gòu) C.使用說(shuō)明書 D.程序的功能
1.C[解析]軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開(kāi)發(fā),是否值得去開(kāi)發(fā)。其實(shí)質(zhì)是要進(jìn)行一次簡(jiǎn)化、壓縮了的需求分析、設(shè)計(jì)過(guò)程,要在較高層次上以較抽象的方式進(jìn)行需求分析和設(shè)計(jì)過(guò)程。因此答案為C。
2.A[解析]可行性研究首先要確定項(xiàng)目的規(guī)模和目標(biāo),然后就需要對(duì)當(dāng)前運(yùn)行的系統(tǒng)進(jìn)行研究了,在考察系統(tǒng)的基礎(chǔ)上,通過(guò)描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,與有關(guān)人員一起審查該系統(tǒng)流程圖是否正確。描述的對(duì)象是當(dāng)前正在運(yùn)行的系統(tǒng),因此選擇A。
3.C[解析]系統(tǒng)流程圖是用圖形符號(hào)來(lái)表示系統(tǒng)中的各個(gè)元素,例如人工處理、數(shù)據(jù)庫(kù)、設(shè)備等,流程圖表達(dá)了系統(tǒng)中各個(gè)元素之間的信息流動(dòng)情況。是描繪物理系統(tǒng)的傳統(tǒng)工具。
4.D[解析]詳細(xì)描述處理過(guò)程常用三種工具:圖形、表格和語(yǔ)言。其中圖形工具有結(jié)構(gòu)化流程圖、盒圖和問(wèn)題分析圖三種,答案中的判定表是用來(lái)表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。IPO圖用來(lái)描述每個(gè)模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細(xì)情況。PDL是過(guò)程設(shè)計(jì)語(yǔ)言的縮寫,也稱程序描述語(yǔ)言,用于描述模塊算法設(shè)計(jì)和處理細(xì)節(jié)的語(yǔ)言,這三種都可以在軟件詳細(xì)設(shè)計(jì)過(guò)程中使用,而DFD圖則是數(shù)據(jù)流圖,是以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,只反映系統(tǒng)必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細(xì)設(shè)計(jì)過(guò)程中使用。
5.B[解析]程序的三種基本控制結(jié)構(gòu)是順序、選擇和循環(huán)(重復(fù))。子程序只是程序設(shè)計(jì)一種方法,遞歸則是一種算法,都算不上是控制結(jié)構(gòu)。6.D[解析]程序的特點(diǎn)就是從一個(gè)入口開(kāi)始,最終以一個(gè)出口結(jié)束,其間可以用順序,選擇和循環(huán)方式對(duì)程序的流向進(jìn)行控制。三種結(jié)構(gòu)可以寫出非常復(fù)雜的程序,而且選擇和循環(huán)都可以嵌套設(shè)計(jì)。
7.C [解析]因修改軟件而造成的錯(cuò)誤或其他不希望出現(xiàn)的情況稱為維護(hù)的副作用,包括編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。只有答案C是正確的表述。
8.C[解析]編碼副作用指的是在使用程序設(shè)計(jì)語(yǔ)言修改源代碼時(shí)可能引入錯(cuò)誤,比如刪除或修改一個(gè)子程序、一個(gè)標(biāo)號(hào)、一個(gè)標(biāo)識(shí)符,改變程序代碼的時(shí)序關(guān)系,修改文件的打開(kāi)或關(guān)閉等。因此本題答案為C。
9.A [解析]軟件的可維護(hù)性可用七個(gè)質(zhì)量特性來(lái)衡量,分別是:可理解性、可測(cè)試性、可修改性、可靠性、可移植性、可使用性和效率。對(duì)于不同類型的維護(hù),這些特性的側(cè)重點(diǎn)也不相同,有一些可維護(hù)特性是可以相互促進(jìn)的,比如可理解性和可測(cè)試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結(jié)構(gòu)好則不屬于可維護(hù)性的特征。
10.B [解析]類有兩種主要的結(jié)構(gòu)關(guān)系,即一般——具體結(jié)構(gòu)關(guān)系和整體——部分結(jié)構(gòu)關(guān)系。前者稱為分類結(jié)構(gòu),用來(lái)描述現(xiàn)實(shí)世界中的一般化的抽象關(guān)系。后者稱為組裝結(jié)構(gòu),用來(lái)描述現(xiàn)實(shí)世界中的類的組成的抽象關(guān)系。汽車和發(fā)動(dòng)機(jī)的關(guān)系很明顯,應(yīng)該屬于整體——部分關(guān)系。
11.B[解析]變更控制包括建立控制點(diǎn)和建立報(bào)告與審查制度,其過(guò)程中的“檢出”和“登入”處理實(shí)現(xiàn)了存取控制和同步控制,存取控制管理各個(gè)用戶存取和修改一個(gè)特定軟件配置對(duì)象的權(quán)限,同步控制可用來(lái)確保由不同用戶所執(zhí)行任務(wù)的并發(fā)變更。
12.A[解析]“檢出”和“登入”處理實(shí)現(xiàn)了兩個(gè)重要的變更控制要素。具體說(shuō)明見(jiàn)上題。
13.D[解析]提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類,一類是避開(kāi)錯(cuò)誤技術(shù),即在開(kāi)發(fā)的過(guò)程中不讓差錯(cuò)潛入軟件的技術(shù),另一類是容錯(cuò)技術(shù),即對(duì)某些無(wú)法避開(kāi)的差錯(cuò),使其影響減至最小的技術(shù)
14.D[解析]技術(shù)評(píng)審是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng),是對(duì)軟件本身的結(jié)構(gòu)、與運(yùn)行環(huán)境的接口、變更帶來(lái)的影響等方面進(jìn)行的評(píng)審活動(dòng)。
15.C[解析]面向?qū)ο蠓椒ㄓ兴膫€(gè)特征,分別是對(duì)象唯一性、分類性、繼承性和多態(tài)性。其中分類性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對(duì)象抽象成類,每個(gè)類是具有相同性質(zhì)的個(gè)體集合,而每個(gè)對(duì)象相關(guān)類的實(shí)例,對(duì)象彼此之間通過(guò)傳遞消息互相聯(lián)系。16.D[解析]面向?qū)ο蟮姆治龅倪^(guò)程就是認(rèn)識(shí)客觀世界的過(guò)程,其目的就是建立對(duì)客觀世界的精確、簡(jiǎn)潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。
17.A[解析]原型不同于最終系統(tǒng),它只實(shí)現(xiàn)所選擇的部分功能,僅是為了試驗(yàn)或是演示而用,部分功能需求可以忽略或者模擬實(shí)現(xiàn),因此適用于需求不確定性高的系統(tǒng)。
18.A[解析]原型化方法的基本思想是根據(jù)用戶給出的基本需求,通過(guò)快速實(shí)現(xiàn)構(gòu)造出一個(gè)小型的、可執(zhí)行的模型,用戶在計(jì)算機(jī)上實(shí)際運(yùn)行這個(gè)用戶界面原型,在試用過(guò)程中提出意見(jiàn)或建議,然后開(kāi)發(fā)者再對(duì)原型進(jìn)行改進(jìn)。如此周而復(fù)始,逐步彌補(bǔ)不足之處,從而提高了最終產(chǎn)品的質(zhì)量。它是一種自外向內(nèi)的設(shè)計(jì)過(guò)程 19.D[解析]軟件測(cè)試是為了盡可能多的發(fā)現(xiàn)程序中的錯(cuò)誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。在選取測(cè)試用例時(shí),不可能進(jìn)行窮舉測(cè)試,在每一個(gè)細(xì)節(jié)進(jìn)行測(cè)試,也不能無(wú)目的地隨機(jī)選取測(cè)試數(shù)據(jù),為了提高測(cè)試的效率,測(cè)試用例應(yīng)該選擇發(fā)現(xiàn)錯(cuò)誤可能性大的部分,這樣的測(cè)試結(jié)果才符合軟件測(cè)試的目的。
20.A[解析]白盒測(cè)試是把測(cè)試對(duì)象看作一個(gè)打開(kāi)的盒子,測(cè)試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,由于白盒測(cè)試是一種結(jié)構(gòu)測(cè)試,所以被測(cè)對(duì)象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標(biāo)準(zhǔn)確定測(cè)試數(shù)據(jù)。二,填空題(本大題共10小題,每小題2分,共20分)
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中各個(gè)元素表達(dá)了系統(tǒng)中各種元素之間的()情況。
22.成本效益分析的目的是從()角度評(píng)價(jià)開(kāi)發(fā)一個(gè)項(xiàng)目是否可行。
23.自頂向下結(jié)合的漸增式測(cè)試法,在組合模塊時(shí)有兩種組合策略:深度優(yōu)先策略和()。
24.獨(dú)立路徑是指包括一組以前沒(méi)有處理的語(yǔ)句或條件的一條路徑。從程序圖來(lái)看,一條獨(dú)立路徑是至少包含有一條()的邊的路徑。
25.匯編語(yǔ)言是面向()的,可以完成高級(jí)語(yǔ)言無(wú)法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是()。
27.詳細(xì)設(shè)計(jì)的任務(wù)是確定每個(gè)模塊的內(nèi)部特性,即模塊的算法、()。
28.所有軟件維護(hù)申請(qǐng)報(bào)告要按規(guī)定方式提出,該報(bào)告也稱()報(bào)告。
29.有兩類維護(hù)技術(shù):在開(kāi)發(fā)階段使用來(lái)減少錯(cuò)誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來(lái)提高維護(hù)的效率和質(zhì)量的()技術(shù)。
30.科學(xué)工程計(jì)算需要大量的標(biāo)準(zhǔn)庫(kù)函數(shù),以便處理復(fù)雜的數(shù)值計(jì)算,可供選擇的語(yǔ)言有:()、PASCAL語(yǔ)言、C語(yǔ)言和PL/1語(yǔ)言。
21.解:信息流動(dòng)[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中的各個(gè)元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫(kù)、文件、設(shè)備等,表達(dá)了元素之間的信息流動(dòng)的情況。
22.解:經(jīng)濟(jì)[解析]成本效益分析首先是估算將要開(kāi)發(fā)的系統(tǒng)的開(kāi)發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評(píng)價(jià)開(kāi)發(fā)一個(gè)新的軟件項(xiàng)目是否可行。
23.解:寬度優(yōu)先策略[解析]漸增式測(cè)試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動(dòng)模塊,只需要編寫樁模塊。它從主控模塊開(kāi)始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個(gè)模塊集成在一起。
24.解:在其他獨(dú)立路徑中未有過(guò)[解析]在基本路徑測(cè)試中,以詳細(xì)設(shè)計(jì)或源程序?yàn)榛A(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計(jì)算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨(dú)立路徑的基本路徑圖,其中獨(dú)立路徑是包括一組以前沒(méi)有處理的語(yǔ)句或條件的一條路徑。從程序圖來(lái)看,一條獨(dú)立路徑是至少包含有一條在其他獨(dú)立路徑中未有過(guò)的邊的路徑。
25.解:機(jī)器[解析]匯編語(yǔ)言屬于低級(jí)語(yǔ)言,是一種面向機(jī)器的語(yǔ)言,它與高級(jí)語(yǔ)言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計(jì)算機(jī)硬件特性直接控制硬件設(shè)備的唯一語(yǔ)言。
26.解:中間數(shù)據(jù)結(jié)構(gòu)或中間文件[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過(guò)程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過(guò)程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開(kāi)來(lái),建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來(lái),構(gòu)成一個(gè)系統(tǒng)的整體。
27.解:使用的數(shù)據(jù)[解析]詳細(xì)設(shè)計(jì)的基本任務(wù)是為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì),為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),確定每個(gè)模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì)等。
28.解:軟件問(wèn)題[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請(qǐng)報(bào)告,也稱為軟件問(wèn)題報(bào)告,它是維護(hù)階段的一種文檔,由申請(qǐng)維護(hù)的用戶填寫。29.解:維護(hù)支援[解析]面向維護(hù)的技術(shù)涉及軟件開(kāi)發(fā)的所有階段,能夠減少軟件錯(cuò)誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯(cuò)誤原因分析,維護(hù)方案評(píng)價(jià)等項(xiàng),是在軟件維護(hù)階段用來(lái)提高維護(hù)效率和質(zhì)量的技術(shù)。30.解:FORTRAN語(yǔ)言[解析]計(jì)算機(jī)語(yǔ)言根據(jù)不同行業(yè)的需求,使用的側(cè)重點(diǎn)也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫(kù)語(yǔ)言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計(jì)算機(jī)語(yǔ)言的科學(xué)計(jì)算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語(yǔ)言都是工程計(jì)算中常用的語(yǔ)言。
三,名詞解釋(本大題共5小題,每小題3分,共15分)
31.經(jīng)濟(jì)可行性
解:進(jìn)行開(kāi)發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開(kāi)發(fā)的項(xiàng)目是否值得投資開(kāi)發(fā)。[解析]對(duì)于一個(gè)系統(tǒng)所必須要衡量的是經(jīng)濟(jì)上是否合算,經(jīng)濟(jì)可行性的范圍很廣,包括效益分析、潛在市場(chǎng)前景等。
32.社會(huì)可行性
解:要開(kāi)發(fā)的項(xiàng)目是否存在任何侵犯、妨礙等責(zé)任問(wèn)題,要開(kāi)發(fā)項(xiàng)目目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。[解析]社會(huì)可行性包括合同、責(zé)任、侵權(quán)等技術(shù)人員不甚了解的諸多問(wèn)題。
33.投資回收期
解:投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。[解析]通常我們用投資回收期來(lái)衡量一個(gè)開(kāi)發(fā)項(xiàng)目的價(jià)值,投資回收期越短,就越快獲得利潤(rùn)。
34.對(duì)應(yīng)關(guān)系 解:即有直接因果關(guān)系在程序中可以同時(shí)處理。[解析]對(duì)應(yīng)關(guān)系是指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順序上有直接的因果關(guān)系,對(duì)于重復(fù)的數(shù)據(jù)單元,重復(fù)的次序和次數(shù)都相同才有對(duì)應(yīng)關(guān)系。
35.結(jié)構(gòu)沖突 解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對(duì)應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。[解析]使用JSP方法時(shí)會(huì)遇到此類結(jié)構(gòu)沖突問(wèn)題,對(duì)此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開(kāi)來(lái),建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來(lái),構(gòu)成一個(gè)系統(tǒng)的整體。四,簡(jiǎn)答題(本大題共4小題,每小題5分,共20分)
36.可行性研究報(bào)告的主要內(nèi)容有哪些?
解:一個(gè)可行性研究報(bào)告的主要內(nèi)容如下:(1)引言:說(shuō)明編寫本文檔的目的;項(xiàng)目的名稱、背景;本文檔用到的專門術(shù)語(yǔ)和參考資料。
(2)可行性研究前提:可行性研究前提。說(shuō)明開(kāi)發(fā)項(xiàng)目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。(3)對(duì)現(xiàn)有系統(tǒng)的分析:說(shuō)明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項(xiàng)費(fèi)用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問(wèn)題。(4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡(jiǎn)要說(shuō)明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對(duì)用戶的影響;對(duì)各種設(shè)備、現(xiàn)有軟件、開(kāi)發(fā)環(huán)境、運(yùn)行環(huán)境的影響;對(duì)經(jīng)費(fèi)支出的影響;對(duì)技術(shù)可行性的評(píng)價(jià)。
(5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說(shuō)明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。
(6)社會(huì)因素可行性分析:說(shuō)明法律因素,對(duì)合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問(wèn)題的分析;說(shuō)明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。
(7)其他可供選擇方案:逐一說(shuō)明其他可供選擇的方案,并說(shuō)明未被推薦的理由。
(8)結(jié)論意見(jiàn):說(shuō)明項(xiàng)目是否能開(kāi)發(fā);還需要什么條件才能開(kāi)發(fā);對(duì)項(xiàng)目目標(biāo)有什么變動(dòng)等。
[解析]做軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開(kāi)發(fā),是否值得去開(kāi)發(fā),其中的問(wèn)題能否解決,報(bào)告共分為八個(gè)基本內(nèi)容。
37.系統(tǒng)設(shè)計(jì)的內(nèi)容是什么?
解:系統(tǒng)設(shè)計(jì)階段先從高層入手,然后細(xì)化。系統(tǒng)設(shè)計(jì)要決定整個(gè)結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計(jì)階段的更詳細(xì)策略的設(shè)計(jì)提供了基礎(chǔ)。
(1)系統(tǒng)分解。系統(tǒng)中主要的組成部分稱為子系統(tǒng),子系統(tǒng)既不是一個(gè)對(duì)象也不是一個(gè)功能,而是類、關(guān)聯(lián)、操作、時(shí)間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊。
(2)確定并發(fā)性。分析模型、現(xiàn)實(shí)世界及硬件中不少對(duì)象均是并發(fā)的。系統(tǒng)設(shè)計(jì)的一個(gè)重要目標(biāo)就是確定哪些是必須同時(shí)動(dòng)作的對(duì)象,哪些不是同時(shí)動(dòng)作的對(duì)象。后者可以放在一起,而綜合成單個(gè)控制線或任務(wù)。
(3)處理器及任務(wù)分配。各并發(fā)子系統(tǒng)必須分配給單個(gè)硬件單元,要么是一個(gè)一般的處理器,要么是一個(gè)具體的功能單元,必須完成下面的工作:估計(jì)性能要求和資源需求,選擇實(shí)現(xiàn)子系統(tǒng)的硬軟件,將軟件子系統(tǒng)分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實(shí)現(xiàn)各子系統(tǒng)的各物理單元的連接。(4)數(shù)據(jù)存儲(chǔ)管理。系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲(chǔ)管理是一項(xiàng)重要的任務(wù)。通常各數(shù)據(jù)存儲(chǔ)可以將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫(kù)組合在一起,不同數(shù)據(jù)存儲(chǔ)要在費(fèi)用、訪問(wèn)時(shí)間、容量以及可靠性之間做折中考慮。
(5)全局資源的處理。必須確定全局資源,并且制定訪問(wèn)全局資源的策略。全局資源包括:物理資源,如處理器、驅(qū)動(dòng)器等;空間,如盤空間、工作站屏等;邏輯名字,如對(duì)象標(biāo)識(shí)符、類名、文件名等。
如果資源是物理對(duì)象,則可以通過(guò)建立協(xié)議實(shí)現(xiàn)對(duì)并發(fā)系統(tǒng)的訪問(wèn),以達(dá)到自身控制;如果資源是邏輯實(shí)體,如對(duì)象標(biāo)識(shí)符,那么在共享環(huán)境中有沖突訪問(wèn)的可能,如獨(dú)立的事務(wù)可能同時(shí)使用同一個(gè)對(duì)象標(biāo)識(shí)符,則各個(gè)全局資源都必須有一個(gè)保護(hù)對(duì)象,由保護(hù)對(duì)象來(lái)控制對(duì)該資源的訪問(wèn)。
(6)選擇軟件控制機(jī)制。分析模型中所有交互行為都表示為對(duì)象之間的事件。系統(tǒng)設(shè)計(jì)必須從多種方法中選擇某種方法來(lái)實(shí)現(xiàn)軟件的控制。(7)人機(jī)交互接口設(shè)計(jì)。設(shè)計(jì)中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交互接口。
[解析]系統(tǒng)設(shè)計(jì)是問(wèn)題求解及建立解答的高級(jí)策略。必須制定解決問(wèn)題的基本方法,系統(tǒng)的高層結(jié)構(gòu)形式包括子系統(tǒng)的分解、它的固有并發(fā)性、子系統(tǒng)分配給硬軟件、數(shù)據(jù)存儲(chǔ)管理、資源協(xié)調(diào)、軟件控制實(shí)現(xiàn)、人機(jī)交互接口。
38.什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?
解:軟件發(fā)展第二階段的末期,由于計(jì)算機(jī)硬件技術(shù)的進(jìn)步,計(jì)算機(jī)運(yùn)行速度、容量、可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計(jì)算機(jī)的廣泛應(yīng)用創(chuàng)造了條件。一些復(fù)雜的、大型的軟件開(kāi)發(fā)項(xiàng)目提出來(lái)了,但是,軟件開(kāi)發(fā)技術(shù)的進(jìn)步一直未能滿足發(fā)展的需要。在軟件開(kāi)發(fā)中遇到的問(wèn)題找不到解決辦法,使問(wèn)題積累起來(lái),形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。
軟件危機(jī)表現(xiàn)在以下四個(gè)方面:
(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延。由于缺乏軟件開(kāi)發(fā)的經(jīng)驗(yàn)和軟件開(kāi)發(fā)數(shù)據(jù)的積累,使得開(kāi)發(fā)工作的計(jì)劃很難制定。主觀盲目制定計(jì)劃,執(zhí)行起來(lái)與實(shí)際情況有很大差距,使得開(kāi)發(fā)經(jīng)費(fèi)一再突破。由于對(duì)工作量估計(jì)不足,對(duì)開(kāi)發(fā)難度估計(jì)不足,進(jìn)度計(jì)劃無(wú)法按時(shí)完成,開(kāi)發(fā)時(shí)間一再拖延。(2)開(kāi)發(fā)的軟件不能滿足用戶要求。開(kāi)發(fā)初期對(duì)用戶的要求了解不夠明確,未能得到明確的表達(dá)。開(kāi)發(fā)工作開(kāi)始后,軟件人員和用戶又未能及時(shí)交換意見(jiàn),使得一些問(wèn)題不能及時(shí)解決,導(dǎo)致開(kāi)發(fā)的軟件不能滿足用戶的要求,因而導(dǎo)致開(kāi)發(fā)失敗。(3)開(kāi)發(fā)的軟件可維護(hù)性差。開(kāi)發(fā)過(guò)程中沒(méi)有同意的、公認(rèn)的規(guī)范,軟件開(kāi)發(fā)人員按各自的風(fēng)格工作,各行其是,開(kāi)發(fā)過(guò)程無(wú)完整、規(guī)范的文檔,發(fā)現(xiàn)問(wèn)題后進(jìn)行雜亂無(wú)章的修改。程序結(jié)構(gòu)不好,運(yùn)行時(shí)發(fā)現(xiàn)錯(cuò)誤也很難修改,導(dǎo)致維護(hù)性差。(4)開(kāi)發(fā)的軟件可靠性差。由于在開(kāi)發(fā)過(guò)程中,沒(méi)有確保軟件質(zhì)量的體系和措施,在軟件測(cè)試時(shí),又沒(méi)有嚴(yán)格的、充分的、完全的測(cè)試,提交給用戶的軟件質(zhì)量差,在運(yùn)行中暴露出大量的問(wèn)題。
造成軟件危機(jī)的原因是:(1)軟件的規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜。(2)軟件開(kāi)發(fā)管理困難而復(fù)雜。(3)軟件開(kāi)發(fā)費(fèi)用不斷增加。(4)軟件開(kāi)發(fā)技術(shù)落后。(5)生產(chǎn)方式落后。(6)開(kāi)發(fā)工具落后,生產(chǎn)率提高緩慢。
[解析]由于軟件危機(jī)的出現(xiàn),人們才開(kāi)始用工程化的思想來(lái)開(kāi)發(fā)軟件,從此,軟件生產(chǎn)才步入了軟件工程時(shí)代。
39.軟件質(zhì)量保證應(yīng)做好哪幾方面的工作?
解:軟件質(zhì)量保證是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好以下幾方面的工作:
(1)采用技術(shù)手段和工具。質(zhì)量保證活動(dòng)要貫徹開(kāi)發(fā)過(guò)程始終,必須采用技術(shù)手段和工具,尤其是使用軟件開(kāi)發(fā)環(huán)境來(lái)進(jìn)行軟件開(kāi)發(fā)。(2)組織正式技術(shù)評(píng)審。在軟件開(kāi)發(fā)的每一個(gè)階段結(jié)束時(shí),都要組織正式的技術(shù)評(píng)審。國(guó)家標(biāo)準(zhǔn)要求單位必須采用審查、文檔評(píng)審、設(shè)計(jì)評(píng)審、審計(jì)和測(cè)試等具體手段來(lái)保證質(zhì)量。(3)加強(qiáng)軟件測(cè)試。軟件測(cè)試是質(zhì)量保證的重要手段,因?yàn)闇y(cè)試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯(cuò)誤。(4)推行軟件工程規(guī)范(標(biāo)準(zhǔn))。用戶可以自己制定軟件工程規(guī)范(標(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ì)量情況。
[解析]軟件的質(zhì)量保證是向用戶及社會(huì)提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動(dòng),是軟件工程管理中的重要內(nèi)容。五,論述題(本大題共3小題,第40小題7分,第41小題8分,第42小題10分,共25分)
40.請(qǐng)使用PAD圖和PDL語(yǔ)言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。
解:PDL語(yǔ)言:
N=1
WHILE N<=10 DO
IF A(N)<=A(N+1)MAX =A(N+1);
ELSE MAX =A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD圖:
[解析]人工查找時(shí),是從第一個(gè)元素開(kāi)始查找,用當(dāng)前元素與下一個(gè)元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。41.根據(jù)下列條件使用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例。
某一8位微機(jī),其八進(jìn)制常數(shù)定義為:以零開(kāi)頭的數(shù)是八進(jìn)制整數(shù),其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價(jià)類并編號(hào),如下表示:(4分)
(2)為合理等價(jià)類設(shè)計(jì)測(cè)試用例,表中有兩個(gè)合理等價(jià)類,設(shè)計(jì)兩個(gè)例子(2分)
(3)為不合理等價(jià)類測(cè)試用例,至少設(shè)計(jì)一個(gè)測(cè)試用例(2分)
[解析]等價(jià)類劃分屬于黑盒測(cè)試的一種,它將輸入數(shù)據(jù)域按有效的或無(wú)效的劃分成若干個(gè)等價(jià)類,測(cè)試每個(gè)等價(jià)類的代表值就等于對(duì)該類其他值的測(cè)試,這樣用少量有代表性的例子代替大量測(cè)試目的相同的例子,可以有效提高測(cè)試效率。本題劃分了3個(gè)合理等價(jià)類,9個(gè)不合理等價(jià)類進(jìn)行測(cè)試,取到了預(yù)期的效果。
42.某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位。現(xiàn)在想建立一個(gè)計(jì)算機(jī)輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來(lái)的內(nèi)部合同(產(chǎn)品型號(hào)、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計(jì)劃。
(2)根據(jù)車間實(shí)際生產(chǎn)日?qǐng)?bào)表、周報(bào)表調(diào)整月生產(chǎn)計(jì)劃
(3)以月生產(chǎn)計(jì)劃為以及,制定產(chǎn)品設(shè)計(jì)(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計(jì)劃。
(4)將產(chǎn)品的組裝計(jì)劃傳達(dá)到各科,將組裝月計(jì)劃分解為周計(jì)劃,下達(dá)給車間
技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來(lái)的組裝計(jì)劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計(jì),產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購(gòu)需求計(jì)劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
(2)根據(jù)組裝計(jì)劃進(jìn)行產(chǎn)品工藝設(shè)計(jì),根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。
解:
畫出生產(chǎn)科圖的給6分,畫出技術(shù)科的給4分。
[解析]軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn),即將來(lái)程序的控制層次體系,軟件結(jié)構(gòu)往往用樹(shù)狀或網(wǎng)狀結(jié)構(gòu)的圖形來(lái)表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3。
第五篇:軟件工程導(dǎo)論試題
軟件工程導(dǎo)論試題
一.選擇
1、瀑布模型把軟件生命周期劃分為八個(gè)階段:?jiǎn)栴}的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試和運(yùn)行、維護(hù)。八個(gè)階段又可歸納為三個(gè)大的階段:計(jì)劃階段、開(kāi)發(fā)階段和(C)。A、詳細(xì)計(jì)劃 B、可行性分析
C、運(yùn)行階段 D、測(cè)試與排錯(cuò)
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個(gè)階段中,下面的幾個(gè)選項(xiàng)中哪個(gè)環(huán)節(jié)出錯(cuò),對(duì)軟件的影響最大(C)。A、詳細(xì)設(shè)計(jì)階段 B、概要設(shè)計(jì)階段
C、需求分析階段 D、測(cè)試和運(yùn)行階段
3、在結(jié)構(gòu)化的瀑布模型中,哪一個(gè)階段定義的標(biāo)準(zhǔn)將成為軟件測(cè)試中的系統(tǒng)測(cè)試階段的目標(biāo)(A)。
A、需求分析階段 B、詳細(xì)設(shè)計(jì)階段
C、概要設(shè)計(jì)階段 D、可行性研究階段
4、軟件工程的出現(xiàn)主要是由于(C)。
A.程序設(shè)計(jì)方法學(xué)的影響 B.其它工程科學(xué)的影響
C.軟件危機(jī)的出現(xiàn) D.計(jì)算機(jī)的發(fā)展
5、軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實(shí)施的主要保證是(C)A、硬件環(huán)境 B、軟件開(kāi)發(fā)的環(huán)境
C、軟件開(kāi)發(fā)工具和軟件開(kāi)發(fā)的環(huán)境 D、開(kāi)發(fā)人員的素質(zhì)
6、軟件開(kāi)發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實(shí)際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為(B)A、相互排斥 B、相互補(bǔ)充
C、獨(dú)立使用 D、交替使用
7、UML是軟件開(kāi)發(fā)中的一個(gè)重要工具,它主要應(yīng)用于哪種軟件開(kāi)發(fā)方法(C)A、基于瀑布模型的結(jié)構(gòu)化方法 B、基于需求動(dòng)態(tài)定義的原型化方法 C、基于對(duì)象的面向?qū)ο蟮姆椒?D、基于數(shù)據(jù)的數(shù)據(jù)流開(kāi)發(fā)方法
8、在下面的軟件開(kāi)發(fā)方法中,哪一個(gè)對(duì)軟件設(shè)計(jì)和開(kāi)發(fā)人員的開(kāi)發(fā)要求最高(B)A、結(jié)構(gòu)化方法 B、原型化方法 C、面向?qū)ο蟮姆椒?D、控制流方法
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實(shí)施時(shí)強(qiáng)調(diào)的是分析對(duì)象的(B)A、控制流 B、數(shù)據(jù)流 C、程序流 D、指令流
10、軟件開(kāi)發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)A、計(jì)劃階段、開(kāi)發(fā)階段、運(yùn)行階段 B、計(jì)劃階段、編程階段、測(cè)試階段 C、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試 D、需求分析、功能定義、系統(tǒng)設(shè)計(jì)
11、軟件開(kāi)發(fā)中常采用的結(jié)構(gòu)化生命周期方法,由于其特征而一般稱其為(A)A、瀑布模型 B、對(duì)象模型 C、螺旋模型 D、層次模型
12、軟件開(kāi)發(fā)的瀑布模型,一般都將開(kāi)發(fā)過(guò)程劃分為:分析、設(shè)計(jì)、編碼和測(cè)試等階段,一般認(rèn)為可能占用人員最多的階段是(C)A、分析階段 B、設(shè)計(jì)階段 C、編碼階段 D、測(cè)試階段 二.填空
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中各個(gè)元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動(dòng))情況。
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中的各個(gè)元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫(kù)、文件、設(shè)備等,表達(dá)了元素之間的信息流動(dòng)的情況。
22.成本效益分析的目的是從(經(jīng)濟(jì))角度評(píng)價(jià)開(kāi)發(fā)一個(gè)項(xiàng)目是否可行。
[解析]成本效益分析首先是估算將要開(kāi)發(fā)的系統(tǒng)的開(kāi)發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評(píng)價(jià)開(kāi)發(fā)一個(gè)新的軟件項(xiàng)目是否可行。23.自頂向下結(jié)合的漸增式測(cè)試法,在組合模塊時(shí)有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。
[解析]漸增式測(cè)試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動(dòng)模塊,只需要編寫樁模塊。它從主控模塊開(kāi)始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個(gè)模塊集成在一起。
24.獨(dú)立路徑是指包括一組以前沒(méi)有處理的語(yǔ)句或條件的一條路徑。從程序圖來(lái)看,一條獨(dú)立路徑是至少包含有一條(在其他獨(dú)立路徑中未有過(guò))的邊的路徑。
[解析]在基本路徑測(cè)試中,以詳細(xì)設(shè)計(jì)或源程序?yàn)榛A(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計(jì)算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨(dú)立路徑的基本路徑圖,其中獨(dú)立路徑是包括一組以前沒(méi)有處理的語(yǔ)句或條件的一條路徑。從程序圖來(lái)看,一條獨(dú)立路徑是至少包含有一條在其他獨(dú)立路徑中未有過(guò)的邊的路徑。
25.匯編語(yǔ)言是面向(機(jī)器)的,可以完成高級(jí)語(yǔ)言無(wú)法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
[解析]匯編語(yǔ)言屬于低級(jí)語(yǔ)言,是一種面向機(jī)器的語(yǔ)言,它與高級(jí)語(yǔ)言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計(jì)算機(jī)硬件特性直接控制硬件設(shè)備的唯一語(yǔ)言。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。
[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過(guò)程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過(guò)程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開(kāi)來(lái),建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來(lái),構(gòu)成一個(gè)系統(tǒng)的整體。
27.詳細(xì)設(shè)計(jì)的任務(wù)是確定每個(gè)模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。
[解析]詳細(xì)設(shè)計(jì)的基本任務(wù)是為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì),為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),確定每個(gè)模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì)等。
28.所有軟件維護(hù)申請(qǐng)報(bào)告要按規(guī)定方式提出,該報(bào)告也稱(軟件問(wèn)題)報(bào)告。
[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請(qǐng)報(bào)告,也稱為軟件問(wèn)題報(bào)告,它是維護(hù)階段的一種文檔,由申請(qǐng)維護(hù)的用戶填寫。
29.有兩類維護(hù)技術(shù):在開(kāi)發(fā)階段使用來(lái)減少錯(cuò)誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來(lái)提高維護(hù)的效率和質(zhì)量的(維護(hù)支援)技術(shù)。
[解析]面向維護(hù)的技術(shù)涉及軟件開(kāi)發(fā)的所有階段,能夠減少軟件錯(cuò)誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯(cuò)誤原因分析,維護(hù)方案評(píng)價(jià)等項(xiàng),是在軟件維護(hù)階段用來(lái)提高維護(hù)效率和質(zhì)量的技術(shù)。
30.科學(xué)工程計(jì)算需要大量的標(biāo)準(zhǔn)庫(kù)函數(shù),以便處理復(fù)雜的數(shù)值計(jì)算,可供選擇的語(yǔ)言有:(FORTRAN語(yǔ)言)、PASCAL語(yǔ)言、C語(yǔ)言和PL/1語(yǔ)言。
[解析]計(jì)算機(jī)語(yǔ)言根據(jù)不同行業(yè)的需求,使用的側(cè)重點(diǎn)也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫(kù)語(yǔ)言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計(jì)算機(jī)語(yǔ)言的科學(xué)計(jì)算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語(yǔ)言都是工程計(jì)算中常用的語(yǔ)言。三.判斷
1.軟件的開(kāi)發(fā)與運(yùn)行經(jīng)常受到硬件的限制和制約。(√)
2.模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。(√)3.Jackson圖只能表達(dá)程序結(jié)構(gòu),不能表達(dá)數(shù)據(jù)結(jié)構(gòu)。(X)
上述數(shù)據(jù)流圖表示數(shù)據(jù)A和B同時(shí)輸入變換成C。(X)
5.軟件的質(zhì)量好壞主要由驗(yàn)收人員負(fù)責(zé),其他開(kāi)發(fā)人員不必關(guān)心。(X)
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應(yīng)該盡量使用機(jī)器語(yǔ)言編寫代碼,提高程序運(yùn)行效率,而減少高級(jí)語(yǔ)言的使用。(X)
8.UML只能應(yīng)用于軟件系統(tǒng)模型的建立。(X)
9.容錯(cuò)就是每個(gè)程序采用兩種不同的算法編寫。(X)
10.軟件測(cè)試的目的是為了無(wú)一遺漏的找出所有的錯(cuò)誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)
31.軟件開(kāi)發(fā)環(huán)境
32.錯(cuò)誤推測(cè)法
33.黑盒測(cè)試法
34.軟件質(zhì)量保證
35.瀑布模型 31.經(jīng)濟(jì)可行性
解:進(jìn)行開(kāi)發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開(kāi)發(fā)的項(xiàng)目是否值得投資開(kāi)發(fā)。
[解析]對(duì)于一個(gè)系統(tǒng)所必須要衡量的是經(jīng)濟(jì)上是否合算,經(jīng)濟(jì)可行性的范圍很廣,包括效益分析、潛在市場(chǎng)前景等。
32.社會(huì)可行性
解:要開(kāi)發(fā)的項(xiàng)目是否存在任何侵犯、妨礙等責(zé)任問(wèn)題,要開(kāi)發(fā)項(xiàng)目目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。
[解析]社會(huì)可行性包括合同、責(zé)任、侵權(quán)等技術(shù)人員不甚了解的諸多問(wèn)題。
33.投資回收期
解:投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。
[解析]通常我們用投資回收期來(lái)衡量一個(gè)開(kāi)發(fā)項(xiàng)目的價(jià)值,投資回收期越短,就越快獲得利潤(rùn)。
34.對(duì)應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時(shí)處理。
[解析]對(duì)應(yīng)關(guān)系是指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順序上有直接的因果關(guān)系,對(duì)于重復(fù)的數(shù)據(jù)單元,重復(fù)的次序和次數(shù)都相同才有對(duì)應(yīng)關(guān)系。
35.結(jié)構(gòu)沖突
解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對(duì)應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。
[解析]使用JSP方法時(shí)會(huì)遇到此類結(jié)構(gòu)沖突問(wèn)題,對(duì)此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開(kāi)來(lái),建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來(lái),構(gòu)成一個(gè)系統(tǒng)的整體。
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請(qǐng)指出設(shè)計(jì)中的錯(cuò)誤,再根據(jù) 改進(jìn)模 塊圖的基本原則,畫出 1~2 個(gè)改進(jìn)方案(不改變模塊 G 的判斷關(guān)系),并說(shuō)明是按照
哪條基本 原則進(jìn)行改進(jìn)的。
解:圖 b 為一個(gè)改進(jìn)方案,將模塊 G 的位置提高,使其作用范圍為控制范圍的子集,減 少模塊 之間的聯(lián)系。
40.請(qǐng)使用PAD圖和PDL語(yǔ)言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。
解:PDL語(yǔ)言:
N=1
WHILE N<=10 DO
IF A(N)<=A(N+1)MAX =A(N+1);
ELSE MAX =A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD圖:
[解析]人工查找時(shí),是從第一個(gè)元素開(kāi)始查找,用當(dāng)前元素與下一個(gè)元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。
41.根據(jù)下列條件使用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例。
某一8位微機(jī),其八進(jìn)制常數(shù)定義為:以零開(kāi)頭的數(shù)是八進(jìn)制整數(shù),其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價(jià)類并編號(hào),如下表示:(4分)
(2)為合理等價(jià)類設(shè)計(jì)測(cè)試用例,表中有兩個(gè)合理等價(jià)類,設(shè)計(jì)兩個(gè)例子(2分)
(3)為不合理等價(jià)類測(cè)試用例,至少設(shè)計(jì)一個(gè)測(cè)試用例(2分)
[解析]等價(jià)類劃分屬于黑盒測(cè)試的一種,它將輸入數(shù)據(jù)域按有效的或無(wú)效的劃分成若干個(gè)等價(jià)類,測(cè)試每個(gè)等價(jià)類的代表值就等于對(duì)該類其他值的測(cè)試,這樣用少量有代表性的例子代替大量測(cè)試目的相同的例子,可以有效提高測(cè)試效率。本題劃分了3個(gè)合理等價(jià)類,9個(gè)不合理等價(jià)類進(jìn)行測(cè)試,取到了預(yù)期的效果。
42.某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位。現(xiàn)在想建立一個(gè)計(jì)算機(jī)輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來(lái)的內(nèi)部合同(產(chǎn)品型號(hào)、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計(jì)劃。
(2)根據(jù)車間實(shí)際生產(chǎn)日?qǐng)?bào)表、周報(bào)表調(diào)整月生產(chǎn)計(jì)劃
(3)以月生產(chǎn)計(jì)劃為以及,制定產(chǎn)品設(shè)計(jì)(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計(jì)劃。
(4)將產(chǎn)品的組裝計(jì)劃傳達(dá)到各科,將組裝月計(jì)劃分解為周計(jì)劃,下達(dá)給車間
技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來(lái)的組裝計(jì)劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計(jì),產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購(gòu)需求計(jì)劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
(2)根據(jù)組裝計(jì)劃進(jìn)行產(chǎn)品工藝設(shè)計(jì),根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。
解:
畫出生產(chǎn)科圖的給6分,畫出技術(shù)科的給4分。
[解析]軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn),即將來(lái)程序的控制層次體系,軟件結(jié)構(gòu)往往用樹(shù)狀或網(wǎng)狀結(jié)構(gòu)的圖形來(lái)表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3。