第一篇:軟件工程導(dǎo)論試題(打印)
軟件工程導(dǎo)論試題(老師給的)
一.選擇
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發(fā)階段和(C)。
A、詳細(xì)計劃 B、可行性分析
C、運行階段
D、測試與排錯
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環(huán)節(jié)出錯,對軟件的影響最大(C)。
A、詳細(xì)設(shè)計階段 B、概要設(shè)計階段
C、需求分析階段D、測試和運行階段
3、在結(jié)構(gòu)化的瀑布模型中,哪一個階段定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目標(biāo)(A)。
A、需求分析階段 B、詳細(xì)設(shè)計階段 C、概要設(shè)計階段
D、可行性研究階段
4、軟件工程的出現(xiàn)主要是由于(C)。
A.程序設(shè)計方法學(xué)的影響
B.其它工程科學(xué)的影響 C.軟件危機的出現(xiàn) D.計算機的發(fā)展
5、軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實施的主要保證是(C)A、硬件環(huán)境 B、軟件開發(fā)的環(huán)境 C、軟件開發(fā)工具和軟件開發(fā)的環(huán)境D、開發(fā)人員的素質(zhì)
6、軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為(B)A、相互排斥 B、相互補充
C、獨立使用
D、交替使用
7、UML是軟件開發(fā)中的一個重要工具,它主要應(yīng)用于哪種軟件開發(fā)方法(C)A、基于瀑布模型的結(jié)構(gòu)化方法 C、基于對象的面向?qū)ο蟮姆椒?/p>
B、基于需求動態(tài)定義的原型化方法
D、基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法
8、在下面的軟件開發(fā)方法中,哪一個對軟件設(shè)計和開發(fā)人員的開發(fā)要求最高(B)A、結(jié)構(gòu)化方法 B、原型化方法
C、面向?qū)ο蟮姆椒?D、控制流方法
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實施時強調(diào)的是分析對象的(B)A、控制流 B、數(shù)據(jù)流
C、程序流
D、指令流
10、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)A、計劃階段、開發(fā)階段、運行階段
B、計劃階段、編程階段、測試階段 C、總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試 D、需求分析、功能定義、系統(tǒng)設(shè)計
11、軟件開發(fā)中常采用的結(jié)構(gòu)化生命周期方法,由于其特征而一般稱其為(A)A、瀑布模型 B、對象模型
C、螺旋模型
D、層次模型
12、軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計、編碼和測試等階段,一般認(rèn)為可能占用人員最多的階段是(C)A、分析階段 二.填空
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動)情況。
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達(dá)了元素之間的信息流動的情況。
22.成本效益分析的目的是從(經(jīng)濟)角度評價開發(fā)一個項目是否可行。
[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進行比較和權(quán)衡,其目的是從經(jīng)濟角度評價開發(fā)一個新的軟件項目是否可行。
23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個模塊集成在一起。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。
[解析]在基本路徑測試中,以詳細(xì)設(shè)計或源程序為基礎(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。
25.匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。B、設(shè)計階段
C、編碼階段
D、測試階段 [解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設(shè)備的唯一語言。26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。
[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。27.詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。
[解析]詳細(xì)設(shè)計的基本任務(wù)是為每個模塊進行詳細(xì)的算法設(shè)計,為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進行設(shè)計,確定每個模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進行物理設(shè)計等。
28.所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。
[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。
29.有兩類維護技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術(shù);在維護階段用來提高維護的效率和質(zhì)量的(維護支援)技術(shù)。
[解析]面向維護的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術(shù)則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質(zhì)量的技術(shù)。
30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
[解析]計算機語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計算機語言的科學(xué)計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。三.判斷
1.軟件的開發(fā)與運行經(jīng)常受到硬件的限制和制約。(√)2.模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。(√)3.Jackson圖只能表達(dá)程序結(jié)構(gòu),不能表達(dá)數(shù)據(jù)結(jié)構(gòu)。(X)4.上述數(shù)據(jù)流圖表示數(shù)據(jù)A和B同時輸入變換成C。(X)5.軟件的質(zhì)量好壞主要由驗收人員負(fù)責(zé),其他開發(fā)人員不必關(guān)心。(X)6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)7.應(yīng)該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)8.UML只能應(yīng)用于軟件系統(tǒng)模型的建立。(X)9.容錯就是每個程序采用兩種不同的算法編寫。(X)10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)31.軟件開發(fā)環(huán)境---是指在計算機的基本軟件的基礎(chǔ)上,為了支持軟件的開發(fā)而提供的一組工具軟件系統(tǒng)。
32.錯誤推測法---在測試程序時,人們可能根據(jù)經(jīng)驗或直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例的方法。
33.黑盒測試法
把測試對象看成一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件的接口處進行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求 34.軟件質(zhì)量保證
是向用戶及社會提供滿意質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動,即確定、達(dá)到和維護需要的軟件質(zhì)量而進行的所有有計劃、有系統(tǒng)的管理活動 35.瀑布模型
將軟件生存周期各個活動規(guī)定為依線性順序鏈接的若干階段的一種軟件開發(fā)模型。瀑布模型把軟件生命周期劃分為八個階段:【問題的定義】、【可行性研究】、【軟件需求分析】、【系統(tǒng)總體設(shè)計】、【詳細(xì)設(shè)計】、【編碼】、【測試和運行】、【維護】
八個階段又可歸納為三個大的階段:【計劃階段】、【開發(fā)階段】和【運行階段】
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請指出設(shè)計中的錯誤,再根據(jù)改進模塊圖的基本原則,畫出 1~2 個改進方案(不改變模塊 G 的判斷關(guān)系),并說明是按照哪條基本原則進行改進的。
解:圖 b 為一個改進方案,將模塊 G 的位置提高,使其作用范圍為控制范圍的子集,減少模塊 之間的聯(lián)系。
40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。解:PDL語言:
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圖:
[解析]人工查找時,是從第一個元素開始查找,用當(dāng)前元素與下一個元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。
41.根據(jù)下列條件使用等價類劃分法設(shè)計測試用例。
某一8位微機,其八進制常數(shù)定義為:以零開頭的數(shù)是八進制整數(shù),其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價類并編號,如下表示:(4分)
(2)為合理等價類設(shè)計測試用例,表中有兩個合理等價類,設(shè)計兩個例子(2分)
(3)為不合理等價類測試用例,至少設(shè)計一個測試用例(2分)
[解析]等價類劃分屬于黑盒測試的一種,它將輸入數(shù)據(jù)域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個合理等價類,9個不合理等價類進行測試,取到了預(yù)期的效果。
42.某電器集團公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位。現(xiàn)在想建立一個計算機輔助企業(yè)管理系統(tǒng),其中: 生產(chǎn)科的任務(wù)是:(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃
(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間 技術(shù)科的任務(wù)是:(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。(2)根據(jù)組裝計劃進行產(chǎn)品工藝設(shè)計,根據(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),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3。
2009—2010學(xué)年第二學(xué)期期末考試試題 1.軟件危機具有下列表現(xiàn)(D)。
I.對軟件開發(fā)成本估計不準(zhǔn)確 II.軟件產(chǎn)品的質(zhì)量往往靠不住 III.軟件常常不可維護 IV.軟件成本逐年上升 A.I、II和III B.I、III和IV C.II、III和IV D.以上都正確
2.軟件生命周期一般都被劃分為若干個獨立的階段,其中占用精力和費用最多的階段往往是(A)。A.運行和維護階段 B.設(shè)計階段
C.代碼實現(xiàn)階段
D.測試階段
3.下列屬于軟件的特點的是(D)。
A.軟件是一種邏輯實體,具有抽象性
B.軟件在使用過程中沒有磨損、老化的問題 C.軟件不同于一般程序,它的一個顯著特點是規(guī)模龐大,復(fù)雜程度高
D.以上都正確 4.軟件工程的出現(xiàn)是由于(D)。A.軟件危機的出現(xiàn)
B.計算機硬件技術(shù)的發(fā)展
C.軟件社會化的需要
D.計算機軟件技術(shù)的發(fā)展
5.軟件開發(fā)技術(shù)不包含(D)。A.軟件開發(fā)方法學(xué) B.軟件工程環(huán)境
C.軟件工具
D.軟件質(zhì)量度度量
6.軟件工程的課程特點(D)。
I.學(xué)科理論及其知識應(yīng)用的多維性
II.工程化 III.濃厚的方法學(xué)色彩
IV.實踐性、指導(dǎo)性強 A.I、II和III B.I、III和IV C.II、III和IV
D.以上都正確
7.下列屬于應(yīng)用軟件的是(B)。
I.計算機輔助教學(xué)軟件
II.軟件測試工具
III.辦公自動化軟件 IV.工程與科學(xué)計算軟件 A.I、II和III B.I、III和IV C.II、III和IV
D.以上都正確
8.需求分析階段最重要的技術(shù)文檔是(B)。A.設(shè)計說明書 B.需求規(guī)格說明書
C.可行性分析報告
D.用戶手冊
9.以下關(guān)于數(shù)據(jù)流圖的說法錯誤的是(C)。
A.數(shù)據(jù)流圖舍去了具體的物質(zhì),只剩下數(shù)據(jù)的流動、加工處理和存儲 B.數(shù)據(jù)流圖是用作結(jié)構(gòu)化分析的一種工具
C.傳統(tǒng)的數(shù)據(jù)流圖中主要由加工、數(shù)據(jù)源點/終點、數(shù)據(jù)流、控制流、數(shù)據(jù)存儲組成 D.數(shù)據(jù)流圖的繪制采用自上向下、逐層分解的方法
10.數(shù)據(jù)字典是軟件需求分析階段的最重要工具之一,其最基本的功能是(C)。A.數(shù)據(jù)庫設(shè)計
B.數(shù)據(jù)通信
C.數(shù)據(jù)定義
D.數(shù)據(jù)維護
11.需求分析階段的研究對象是(B)。A.系統(tǒng)分析員要求 B.用戶要求
C.軟硬件要求
D.系統(tǒng)要求
12.結(jié)構(gòu)化方法的基本原則是(B)。A.模塊化 B.抽象與分解
C.信息隱蔽
D.逐步求精
13.耦合度最高的是(B)耦合。A.環(huán)境 B.內(nèi)容 C.控制 D.數(shù)據(jù) 14.內(nèi)聚程度較低的是(A)內(nèi)聚。A.偶然
B.通訊 C.順序 D.時間
15.對一個程序來說,組成系統(tǒng)的模塊數(shù)目(C),則開發(fā)成本越小。A.越多 B.越少
C.順序
D.時間
16.畫軟件結(jié)構(gòu)圖時應(yīng)注意調(diào)用關(guān)系只能是(B)。A.從下到上 B.從上到下
C.從左到右
D.從右到左
17.程序流程圖中的“→”代表(B)。A.數(shù)據(jù)流 B.控制流
C.順序流
D.調(diào)用
18.DFD中的“→”代表(A)。A.數(shù)據(jù)流 B.文件
C.處理
D.控制流
19.DFD中的“○”代表(C)。A.數(shù)據(jù)流 B.文件
C.處理
D.控制流
20.DFD中的“_”代表(B)。A.數(shù)據(jù)流
二、填空題
1.計算機軟件不僅僅是程序,還應(yīng)該有一整套
文檔
。2.傳統(tǒng)的軟件生存期模型是
瀑布模型。
3.軟件按照功能的不同可以劃分為3大類型 系統(tǒng)軟件、應(yīng)用軟件和
支持軟件。4.DFD在軟件工程中表示
數(shù)據(jù)流圖。
5.耦合性 與 內(nèi)聚性 是模塊獨立性的兩個定性標(biāo)準(zhǔn),將軟件系統(tǒng)劃分模塊時,盡量做到 高 內(nèi)聚、低 耦合,提高模塊的獨立性,為設(shè)計高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。
6.數(shù)據(jù)流圖有四種基本成分: 數(shù)據(jù)流、加工(又稱為數(shù)據(jù)處理)、文件、數(shù)據(jù)的源點或終點。
7.數(shù)據(jù)字典有以下四類條目: 數(shù)據(jù)流、數(shù)據(jù)項、文件、基本加工。
數(shù)據(jù)項是組成數(shù)據(jù)流和數(shù)據(jù)存儲的最 B.文件
C.處理
D.控制流 小元素。
三、簡答題
8.某廠對部分職工重新分配工作的政策是:年齡有20歲以下者,初中文化程度脫產(chǎn)學(xué)習(xí),高中文化程度當(dāng)電工;年齡有20歲至40歲之間者,中學(xué)文化程度男性當(dāng)鉗工,女性當(dāng)車工,大學(xué)文化程度者當(dāng)技術(shù)員;年齡有40歲以上者,中學(xué)文化程度當(dāng)材料員,大學(xué)文化程度當(dāng)技術(shù)員。請用結(jié)構(gòu)化語言、判定表或判定樹描述上述問題的加工邏輯。
答:(1)結(jié)構(gòu)化語言。IF 年齡<20
THEN IF 文化程度=初中
THEN 脫產(chǎn)學(xué)習(xí)ELSE 工作為電工
ENDIF ELSE IF 年齡≤40
THEN IF(文化程度=大學(xué))
THEN 工作為技術(shù)員 ELSE
IF 性別=男性
THEN 工作為鉗工 ELSE
工作為車工
ENDIF
ENDIF ELSE
IF(文化程度=大學(xué))
THEN 工作為技術(shù)員 ELSE
工作為材料員
ENDIF ENDIF ENDIF(2)判定樹如下:
單項選擇題(每小題1分,共10分)
在結(jié)構(gòu)性的瀑布模型中,哪一個階段定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目標(biāo)(A)(A)需求分析階段
(B)詳細(xì)設(shè)計階段(C)概要設(shè)計階段
(D)可行性研究階段 軟件工程方法中普遍定義的方法之一是結(jié)構(gòu)化生命周期方法(SLC方法),下述哪一個論述不具有SLC方法的主要特征(C)A 嚴(yán)格定義需求
B 劃分開發(fā)階段 C 規(guī)范文檔格式
D 分析控制流程
軟件結(jié)構(gòu)中兩個模塊之間有調(diào)用關(guān)系,傳遞簡單數(shù)據(jù)值,相當(dāng)于高級語言中的值傳遞,這兩個模塊之間的耦合是(D)(A)公共耦合(B)控制耦合(C)標(biāo)記耦合 軟件維護的四類維護活動是(A)
(A)改正性維護,適應(yīng)性維護,完善性維護和預(yù)防性維護。(B)適應(yīng)性維護,完善性維護,搶救性維護和輔助性維護。(C)改正性維護,適應(yīng)性維護,完善性維護和輔助性維護。(D)適應(yīng)性維護,完善性維護,搶救性維護和預(yù)防性維護。
主要從(A)幾個方面進行系統(tǒng)可行性研究。
(A)技術(shù)可行性,經(jīng)濟可行性,操作可行性。(B)技術(shù)可行性,經(jīng)濟可行性,系統(tǒng)可行性。(C)經(jīng)濟可行性,系統(tǒng)可行性,操作可行性。(D)經(jīng)濟可行性,系統(tǒng)可行性,時間可行性。
進行需求分析可使用多種工具,但(C)是不適用的。
(A)數(shù)據(jù)流圖
(B)判定表
(C)PAD圖
(D)數(shù)據(jù)字典
軟件需求分析階段的工作,可以分為四個方面:對問題的識別、分析與綜合、編寫需求分析文檔以及(B)(A)軟件的總結(jié)
(B)需求分析評審(C)階段性報告
(D)以上答案都不對
(D)數(shù)據(jù)耦合
OMT(Object Modelling Technique)方法的第一步是從問題的陳述入手,構(gòu)造系統(tǒng)模型。系統(tǒng)模型由對象模型、(C)組成。
A靜態(tài)模型和功能模型
B動態(tài)模型和過程模型C動態(tài)模型和功能模型
D靜態(tài)模型和操作模型
為了表示項目管理功能工作中各項任務(wù)之間的進度銜接關(guān)系,常用的計劃管理工具是(D)(A)程序結(jié)構(gòu)圖
(B)數(shù)據(jù)流圖
(C)E-R圖
(D)甘特(Gantt)圖 判斷題(每小題1分,共5分)
軟件開發(fā)的主要任務(wù)是寫程序。
錯 測試功能是否符合要求是白盒測試。
錯 流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。
對
扇出是一個模塊直接控制(調(diào)用)的模塊數(shù)目,扇出過大意味著模塊過分復(fù)雜,需要控制和協(xié)調(diào)過多的下級模塊。
對
在面向?qū)ο蟪绦蛑?,使用繼承機制是實現(xiàn)共享和提高重用程度的主要途徑。
對 簡答題
簡述需求分析的三個層次。
答:業(yè)務(wù)需求:反映了組織機構(gòu)或客戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求。用戶需求: 文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù)。
功能需求:定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。
軟件測試中一般包含幾個步驟?請分別加以說明 答:單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試
單元測試:對源程序中的每個程序單元進行測試,檢查各模塊是否正確實規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤
集成測試:檢查與設(shè)計相關(guān)的軟件結(jié)構(gòu)的有關(guān)問題
確認(rèn)測試:主要檢查已實現(xiàn)的軟件是否滿足需求規(guī)格說明書中確定了的各種需求 系統(tǒng)測試:把已確認(rèn)的軟件與其他系統(tǒng)元素結(jié)合在一起進行測試
(制定測試計劃
設(shè)計測試用例
執(zhí)行測試 撰寫測試報告 消除軟件缺陷
完成)
說出你所知道的兩種估算軟件規(guī)模的方法的名稱,并說明他們的優(yōu)缺點。(4分)答:代碼行技術(shù),功能點技術(shù)
軟件生命周期都包含哪些階段,并簡述每個階段的基本任務(wù)(5分)
答:軟件生命周期由軟件定義、軟件開發(fā)和運行維護(也稱為軟件維護)3個時期組成。軟件定義時期通常進一步劃分成3個階段,即問題定義、可行性研究和需求分析。
1問題定義2可行性研究3需求分析4總體設(shè)計5詳細(xì)設(shè)計6編碼和單元測試7綜合測試8軟件維護
① 軟件生命周期中所花費用最多的階段是(D)A. 詳細(xì)設(shè)計B.軟件編碼C.軟件測試D.軟件維護
②可行性分析是在系統(tǒng)開發(fā)的早期所做的一項重要的論證工作,它是決定該系統(tǒng)是否開發(fā) 的決策依據(jù),因必須給出(B)的回答。A.確定B.行或不行C.正確D.無二義 ③下列關(guān)于瀑布模型的描述正確的是(C)。
A.瀑布模型的核心是按照軟件開發(fā)的時間順序?qū)栴}簡化。B.瀑布模型具由于良好的靈活性。
C.瀑布模型采用結(jié)構(gòu)化的分析與設(shè)計方法,將邏輯實現(xiàn)與物理實現(xiàn)分開。D.利用瀑布模型,如果發(fā)現(xiàn)問題則修改的代價很低。④ 詳細(xì)設(shè)計的結(jié)果基本決定了最終程序的(C)A.代碼的規(guī)模B.運行速度C.質(zhì)量D.可維護性 ⑤ 結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是(D)
A. 程序的規(guī)模B. 程序的效率C. 程序設(shè)計語言的先進性D. 程序易讀性 ⑥ 程序的三種基本控制結(jié)構(gòu)是(B)A.過程、子程序和分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊列D.調(diào)用、返回和轉(zhuǎn)移 ⑦ 確認(rèn)軟件的功能是否與需求規(guī)格說明書中所要求的功能相符的測試屬于(C)A、集成測試B、恢復(fù)測試C、驗收測試D、單元測試
⑧ 面向?qū)ο蠹夹g(shù)中,對象是類的實例。對象有三種成份:(A)、屬性和方法(或操作)。A.標(biāo)識
B.規(guī)則 C.封裝D.消息
⑨ 下面關(guān)于面向?qū)ο蠓椒ㄖ邢⒌臄⑹?,不正確的是(B)。A.鍵盤、鼠標(biāo)、通信端口、網(wǎng)絡(luò)等設(shè)備一有變化,就會產(chǎn)生消息
B.操作系統(tǒng)不斷向應(yīng)用程序發(fā)送消息,但應(yīng)用程序不能向操作系統(tǒng)發(fā)送消息 C.應(yīng)用程序之間可以相互發(fā)送消息
D.發(fā)送與接收消息的通信機制與傳統(tǒng)的子程序調(diào)用機制不同 ⑩ 面向?qū)ο蟪绦蛟O(shè)計中的數(shù)據(jù)隱藏指的是(D)。A. 輸入數(shù)據(jù)必須輸入保密口令B.?dāng)?shù)據(jù)經(jīng)過加密處理
C.對象內(nèi)部數(shù)據(jù)結(jié)構(gòu)上建有防火墻D.對象內(nèi)部數(shù)據(jù)結(jié)構(gòu)的不可訪問性
1.程序設(shè)計屬于軟件開發(fā)過程(C)階段。A、設(shè)計B、編程C、實現(xiàn)D、編碼
2.結(jié)構(gòu)設(shè)計是一種應(yīng)用最廣泛的系統(tǒng)設(shè)計方法,是以(A)為基礎(chǔ)、自頂向下、逐步求精 和模塊化的過程。
A、數(shù)據(jù)流B、數(shù)據(jù)流圖C、數(shù)據(jù)庫D、數(shù)據(jù)結(jié)構(gòu) 3.結(jié)構(gòu)化程序設(shè)計主要強調(diào)程序的(C)。A、效率B、速度C、可讀性D、大小 4.分析員是(B)
A、戶中系統(tǒng)的直接使用者B、用戶和軟件人員的中間人 C、軟件的編程人員D、用戶和軟件人員的領(lǐng)導(dǎo) 5.程序的三種基本控制結(jié)構(gòu)的共同特點是(D)。
A、不能嵌套使用B、只能用來寫簡單的程序C、已經(jīng)用硬件實現(xiàn)D、只有一個入口和一個出口 6.軟件生產(chǎn)過程中,需求信息由(D)給出。
A、程序員B、項目管理者C、軟件分析設(shè)計人員D、軟件用戶 7.與設(shè)計測試數(shù)據(jù)無關(guān)的文檔是(D)。
A、需求說明書B、設(shè)計說明書C、源程序D、項目開發(fā)設(shè)計
8.結(jié)構(gòu)化分析SA 方法以數(shù)據(jù)流圖、(B)和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟系統(tǒng)模型。A、DFD 圖B、數(shù)據(jù)字典C、IPO 圖D、PAD 圖
9.面向數(shù)據(jù)流的軟件設(shè)計方法,一般是把數(shù)據(jù)流圖中數(shù)據(jù)流劃分為(B),再將數(shù)據(jù)流圖映射為軟件結(jié)構(gòu)。A、數(shù)據(jù)流和事務(wù)流B、交換流和事務(wù)流C、信息流和控制流D、交換流和數(shù)據(jù)流 10.總體設(shè)計的結(jié)果是提供一份(A)。A、模塊說明書B、框圖C、程序D、數(shù)據(jù)結(jié)構(gòu)
1.軟件是(C)。
A.處理對象和處理規(guī)則的描述
B.程序C.程序及其文檔 D.計算機系統(tǒng) 2.軟件需求規(guī)格說明的內(nèi)容不應(yīng)包括(B)。
A.主要功能
B.算法的詳細(xì)描述
C.用戶界面及運行環(huán)境
D.軟件的性能 3.程序的三種基本控制結(jié)構(gòu)是(B)。
A.過程、子程序和分程序
B.順序、選擇和重復(fù)
C.遞歸、迭代和回溯
D.調(diào)用、返回和轉(zhuǎn)移 4.面向?qū)ο蟮姆治龇椒ㄖ饕墙⑷惸P?,?D)。
A)系統(tǒng)模型、ER 模型、應(yīng)用模型B)對象模型、動態(tài)模型、應(yīng)用模型 C)E-R模型、對象模型、功能模型D)對象模型、動態(tài)模型、功能模型 5.在E-R 模型中,包含以下基本成分(C)。A)數(shù)據(jù)、對象、實體
B)控制、聯(lián)系、對象
C)實體、聯(lián)系、屬性
D)實體、屬性、操作 6.各種軟件維護的類型中最重要的是(A)。
A)完善性維護
B)糾錯性維護
C)適應(yīng)性維護
D)預(yù)防性維護 7.軟件測試的目標(biāo)是(B)。
A.證明軟件是正確的 B.發(fā)現(xiàn)錯誤、降低錯誤帶來的風(fēng)險 C.排除軟件中所有的錯誤
D.與軟件調(diào)試相同 8.軟件生命周期中所花費用最多的階段是(D)A.詳細(xì)設(shè)計B.軟件編碼C.軟件測試D.軟件維護
9.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0, 1.0],現(xiàn)從
輸入的角度考慮一組測試用例:-1.001,-1.0, 1.0, 1.001.設(shè)計這組測試用例的方法是(C)A.條件覆蓋法B.等價分類法C.邊界值分析法D.錯誤推測法
10、詳細(xì)設(shè)計的基本任務(wù)是確定每個模塊的(D)設(shè)計 A.功能B.調(diào)用關(guān)系C.輸入輸出數(shù)據(jù)D.算法
11.設(shè)函數(shù)C(X)定義問題X 的復(fù)雜程序,函數(shù)E(X)確定解決問題X 需要的工
作量(時間)。對于兩個問題P1 和P2,如果C(P1)>C(P2)顯然E(P1)>E(P2),則得 出結(jié)論E(P1+P2)>E(P1)+E(P2)就是:(A)
A.模塊化的根據(jù)B.逐步求精的根據(jù)C.抽象的根據(jù)D.信息隱藏和局部化的根據(jù) 12.下面幾種白箱測試技術(shù),哪種是最強的覆蓋準(zhǔn)則(D)A.語句覆蓋B.條件覆蓋C.判定覆蓋D.條件組合覆蓋 13.面向數(shù)據(jù)流的設(shè)計方法把(A)映射成軟件結(jié)構(gòu)。A.?dāng)?shù)據(jù)流
B.系統(tǒng)結(jié)構(gòu)
C.控制結(jié)構(gòu)
D.信息流 14.內(nèi)聚程度最低的是(A)內(nèi)聚 A.偶然B.過程C.順序D.時間
15.確定測試計劃是在(A)階段制定的.A.總體設(shè)計
B.詳細(xì)設(shè)計
C.編碼
D.測試 16.需求分析的產(chǎn)品是(D)
A.?dāng)?shù)據(jù)流程圖案
B.?dāng)?shù)據(jù)字典C.判定表
D.需求規(guī)格說明書
17.?dāng)?shù)據(jù)字典是軟件需求分析階段的最重要工具之一,其最基本的功能是(C)A.?dāng)?shù)據(jù)庫設(shè)計
B.?dāng)?shù)據(jù)通信
C.?dāng)?shù)據(jù)定義
D.?dāng)?shù)據(jù)維護 18.(D)引入了“風(fēng)險驅(qū)動”的思想,適用于大規(guī)模的內(nèi)部開發(fā)項目。A.增量模型
B.噴泉模型
C.原型模型
D.螺旋模型 19.模塊的內(nèi)聚性最高的是(D)
A.邏輯內(nèi)聚
B.時間內(nèi)聚
C.偶然內(nèi)聚
D.功能內(nèi)聚 20.提高測試的有效性非常重要,成功的測試是指(D)A.證明了被測試程序正確無誤
B.說明了被測試程序符合相應(yīng)的要求 C.未發(fā)現(xiàn)被測程序的錯誤
D.發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤__ 簡述軟件測試的任務(wù)、目的與類型。
答:軟件測試是一個為了尋找軟件錯誤而運行程序的過程。
目的就是為了發(fā)現(xiàn)軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯誤的測試。軟件測試主要分為白盒測試和黑盒測試兩大類。簡述軟件工程目標(biāo)和面臨的主要問題。
答:軟件工程的目標(biāo)是應(yīng)用計算機科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。它采用經(jīng)過實踐驗證的工程的原則、方法,以提高質(zhì)量,降低成本。但是目前的軟件開發(fā)面臨著許多問題:(1)對軟件開發(fā)成本和進度的估計常常很不準(zhǔn)確。(2)用戶常對“已完成的”軟件系統(tǒng)不滿意。(3)軟件產(chǎn)品的質(zhì)量往往靠不住。(4)軟件常常很難維護。(5)軟件常常缺乏適當(dāng)?shù)奈臋n資料。(6)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計算機應(yīng)用迅速普及深入的趨勢。(7)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升。簡述軟件開發(fā)過程、每個里程碑的提交物。
答:軟件開發(fā)的基本過程:(1)可行性研究,做初步的需求分析工作,決定項目可行與否(2)軟件需求分析,軟件工程師必須了解軟件的信息領(lǐng)域,以及需求的功能、行為、性能和接口。系統(tǒng)需求和軟件需求均需文檔化,并與用戶一起復(fù)審。并提交需求分析報告。(3)設(shè)計,包括總體設(shè)計和詳細(xì)設(shè)計,軟件設(shè)計是一個多步驟的過程,主要是對軟件的數(shù)據(jù)結(jié)構(gòu)、軟件體系結(jié)構(gòu)、界面表示及過程細(xì)節(jié)進行設(shè)計。設(shè)計過程將需求轉(zhuǎn)換為軟件表示,在編碼之前可以評估其質(zhì)量,所有設(shè)計均要文檔化,它是軟件配置的重要組成部分,經(jīng)復(fù)審后提交相應(yīng)的概要設(shè)計和詳細(xì)設(shè)計報告。(4)編碼,把設(shè)計轉(zhuǎn)化為機器可執(zhí)行的程序。提交源程序清單。(5)測試,提交測試報告。(6)維護,提交維護報告。
軟件生命周期模型?瀑布模型?快速原型模型?
答;概括的說,軟件生命周期模型由軟件定義、軟件開發(fā)和運行維護3個時期組成,每個時期又進一步劃分成若干個階段。
軟件生命周期模型有問題定義,可行性研究,需求分析,總體詳細(xì)設(shè)計,總體編碼和單元測試,綜合測試,軟件維護組
瀑布模型是一個項目開發(fā)架構(gòu),開發(fā)過程是通過設(shè)計一系列階段順序展開的,從系統(tǒng)需分析開始直到產(chǎn)品發(fā)布和維護,每個階段都會產(chǎn)生循環(huán)反饋,如果有信息未被覆蓋或者發(fā)現(xiàn)了問題,那么最好 “返回”上一個階段并進行適當(dāng)?shù)男薷?,項目開發(fā)進程從一個階段“流動”到下一個階段。
快速原型模型是在用戶不能給出完整、準(zhǔn)確的需求說明,或者開發(fā)者不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機交互的形式等許多情況下,可以根據(jù)用戶的一組基本需求,快速建造一個原型(可運行的軟件),然后進行評估,進一步精化、調(diào)整原型,使其滿足用戶的要求,也使開發(fā)者對將要做的事情有更好的理解。軟件?軟件產(chǎn)品具有哪些特性? 答:軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。
軟件產(chǎn)品具有以下特性:
1、非常復(fù)雜;
2、成本高;
3、風(fēng)險大;
4、維護困難; 可行性分析的目的和主要任務(wù)是什么?
答:可行性分析的目的不是解決問題,而是確定問題是否值得去解決。
主要任務(wù)是從下面幾方面研究每種解法的可行性:技術(shù)可行性,經(jīng)濟可行性,操作可行性,社會可行性,抉擇可行性。
需求分析的目的和主要任務(wù)是什么? 答:進行需求分析是為了準(zhǔn)確地回答“系統(tǒng)必須做什么”這個問題,決定可以做什么不做什么。需求分析的主要任務(wù)是描述系統(tǒng)的功能需求、性能需求、數(shù)據(jù)需求、可靠性/可用性需求、出錯處理需求、接口需求、約束條件、其他需求。
總體設(shè)計的目的和主要任務(wù)是什么?
答:總體設(shè)計的目的是用比較抽象的方法確定系統(tǒng)概要地是如何實現(xiàn)的(How to do generally!)。從初步的數(shù)據(jù)流圖導(dǎo)出(設(shè)計出)軟件結(jié)構(gòu);根據(jù)數(shù)據(jù)需求設(shè)計數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)庫結(jié)構(gòu)、文件結(jié)構(gòu)設(shè)計)。
主要任務(wù)是概括地說,如何解決這些問題,系統(tǒng)怎樣實現(xiàn)? 劃分系統(tǒng)的構(gòu)成成分(黑盒子),如程序、文件、數(shù)據(jù)庫、人工操作等。設(shè)計系統(tǒng)的軟件結(jié)構(gòu),即構(gòu)成模塊。詳細(xì)設(shè)計的目的和主要任務(wù)是什么?
答:在總體設(shè)計的基礎(chǔ)上,進一步確定軟件怎樣具體實現(xiàn),經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設(shè)計語言書寫的程序。
主要任務(wù)包括人機界面設(shè)計、模塊過程設(shè)計。編碼的目的和主要任務(wù)是什么?
答:把軟件設(shè)計結(jié)果翻譯成用某種程序設(shè)計語言書寫的程序 軟件測試的目的和主要任務(wù)是什么(G.J.Myers的觀點)? 答:發(fā)現(xiàn)程序中的錯誤
軟件維護的目的和主要任務(wù)是什么?維護的類型有哪些? 答:軟件維護是軟件生命周期中最后一個、持續(xù)時間最長的階段。
主要任務(wù)是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件,目的是提高軟件的可靠性、可用性,延長軟件的壽命。
維護的類型有:改正性(錯誤)、適應(yīng)性(環(huán)境)、完善性(功能)、預(yù)防性(新產(chǎn)品)什么是耦合?模塊的耦合包括哪些類型?
答:耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。模塊的耦合包括以下幾種類型:數(shù)據(jù)耦合,控制耦合,特征耦合,公共環(huán)境耦合,內(nèi)容耦合,標(biāo)記耦合,無耦合/非直接耦合
什么是內(nèi)聚?模塊的內(nèi)聚包括哪些類型?
答:內(nèi)聚標(biāo)志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴展
模塊的內(nèi)聚包括以下幾種類型:低內(nèi)聚—偶然內(nèi)聚,邏輯內(nèi)聚,時間內(nèi)聚中內(nèi)聚—過程內(nèi)聚,通信內(nèi)聚; 高內(nèi)聚—順序內(nèi)聚,功能內(nèi)聚 如何選擇程序設(shè)計語言的工程特性
答:1.系統(tǒng)用戶的要求2.可以使用的編譯程序3.可以得到的軟件工具4.工程規(guī)模5.程序員的知識
6.軟件可移植性的要求7.軟件的應(yīng)用領(lǐng)域 什么是編碼風(fēng)格?為什么要強調(diào)編碼風(fēng)格? 答:編碼風(fēng)格包括以下內(nèi)容:程序內(nèi)部良好的文檔(注釋)、數(shù)據(jù)說明、語句構(gòu)造、輸入輸
出和效率保障等。
因為編碼風(fēng)格對軟件的可讀性、可維護性、可靠性、可用性很重要,所以要強調(diào)編碼風(fēng)格。
單選題
1. 在軟件危機中表現(xiàn)出來的軟件質(zhì)量差的問題,其原因是___C____。A. 軟件研發(fā)人員素質(zhì)太差
B.用戶經(jīng)常干預(yù)軟件系統(tǒng)的研發(fā)工作 B. 沒有軟件質(zhì)量標(biāo)準(zhǔn)
D.軟件開發(fā)人員不遵守軟件質(zhì)量標(biāo)準(zhǔn)
2. 在軟件質(zhì)量因素中,軟件在異常條件下仍能運行的能力成為軟件的__B___。A. 安全性
B.健壯性
C.可用性
D.可靠性
3. 在下列測試技術(shù)中,___D___不屬于黑盒測試技術(shù)。A. 等價劃分
B.邊界值分析
C.錯誤推測
D.邏輯覆蓋
4. 軟件工程方法是在實踐中不斷發(fā)展著的方法,而早期的軟件工程方法主要是指__B____。A. 原型化方法
B.結(jié)構(gòu)化方法
C.功能化方法
D.面向?qū)ο蠓椒?/p>
5. ___C___是把對象的屬性和操作結(jié)合在一起,構(gòu)成一個獨立的對象,其內(nèi)部信息對外界是隱蔽的,外界只能通過有限的接口與對象發(fā)生聯(lián)系。A. 多態(tài)
B.繼承
C.封裝
D.消息
6. Jackson方法是在軟件開發(fā)過程中常用的方法,使用Jackson方法時可以實現(xiàn)__A____。A. 從數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)
B.從數(shù)據(jù)流圖導(dǎo)出初始結(jié)構(gòu)圖 B. 從模塊結(jié)構(gòu)導(dǎo)出數(shù)據(jù)結(jié)構(gòu)
D.從模塊結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu) 7. 軟件測試時為了_____B___而執(zhí)行程序的過程。
A. 糾正錯誤
B.發(fā)現(xiàn)錯誤
C.避免錯誤
D.證明錯誤 8. 在軟件系統(tǒng)中,一個模塊應(yīng)具有什么樣的功能,這是由__B___決定的。
A. 總體設(shè)計
B.需求分析
C.詳細(xì)設(shè)計
D.程序設(shè)計 9. 面向?qū)ο蠓治鍪菍ο到y(tǒng)進行___A_____的一種方法。
A. 需求分析
B.程序設(shè)計
C.設(shè)計評審
D.測試驗收
10. 軟件文檔是軟件工程實施中的重要部分,它不僅是軟件開發(fā)各階段的重要依據(jù),而且影響軟件的___B____。
A. 可理解性
B.可維護性
C.可擴展性
D.可移植
11. 模塊內(nèi)聚度越高,說明模塊內(nèi)各成分彼此結(jié)合的程序越____B___。A. 松散
B.緊密C.無法判斷
D.相等
12. 軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計、編碼、測試和維護等階段,一般認(rèn)為可能占用人員最多的階段是_____C___。A. 分析階段
B.設(shè)計階段C.維護階段D.測試階段 13. 常用的面向?qū)ο蟮能浖^程模型是__B_____。A. 瀑布模型
B.噴泉模型C.原型模型D.增量模型
14. 面向?qū)ο蟮姆治鲭A段建立的系統(tǒng)模型不包括___D_____。A. 對象模型B.動態(tài)模型C.功能模型D.數(shù)據(jù)模型
15. 提高軟件的可維護性可采用很多措施,下列哪個不在措施之列?AA. 提供沒有錯誤的程序 B.建立質(zhì)量保證制度C.改進程序文檔質(zhì)量D.明確軟件質(zhì)量標(biāo)準(zhǔn)
一、填空題
1. 軟件工程中的結(jié)構(gòu)化分析SA是一種面向____數(shù)據(jù)流___的分析方法。2. 軟件模塊獨立性的兩個定性度量標(biāo)準(zhǔn)是__內(nèi)聚性和耦合性___。
3. 軟件開發(fā)是一個自頂向下逐步細(xì)化和求精的過程,而軟件測試是一個由下而上的過程。4. ____數(shù)據(jù)流圖____和數(shù)據(jù)字典共同構(gòu)成了系統(tǒng)的邏輯模型
5. _____等價劃分______是一種黑盒測試技術(shù),這種技術(shù)把程序的輸入域劃分為若干個數(shù)據(jù)類,據(jù)此導(dǎo)出測試用例。
二、判斷題
1. 軟件工程學(xué)只有理論意義,沒有實際用途。
(X)2. 軟件工程的方法只適用于大型軟件的開發(fā),對小型軟件的開發(fā)沒有幫助。(X)3. 可行性研究進一步研究問題分析階段所確定的問題是否有可行的解。(√)4. 代碼審查方法沒有計算機測試方法好。
(X)5. 驗證軟件需求的方法主要靠人工審查的方法。
(√)6. 并發(fā)系統(tǒng)中遇到的一個主要問題是定時問題。
(√)7. 編碼風(fēng)格由個人喜好決定,沒有固定格式。
(X)
8. 面向?qū)ο蠼5玫降哪P桶到y(tǒng)的3個要素,即靜態(tài)結(jié)構(gòu)、交互次序和數(shù)據(jù)變換(√)9. 軟件重用是提高軟件開發(fā)生產(chǎn)率和目標(biāo)系統(tǒng)質(zhì)量的重要途徑。
(√)10. 11. 12. 判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)Power Designer是一個CASE工具。
(√)
軟件是指用程序設(shè)計語言(如Pascal,C,Visual Basic等)編寫的程序,軟件開發(fā)實際上就是編寫程序代碼。(X)13. 14. 在進行需求分析時需同時考慮維護問題。
(X)UML是一種面向?qū)ο蟮姆治鲈O(shè)計方法,即OOA/OOD方法。
(X)
15.在面向?qū)ο蟮能浖_發(fā)方法中,每個類都存在其相應(yīng)的對象,對象是類的實例,類是生成對象的模板。(√)四.名詞解釋 1. 白盒測試
白盒測試——又叫做結(jié)構(gòu)測試,把程序看成裝在一個透明的白盒子里,按照程序內(nèi)部的邏輯測試程序,檢測程序中的主要執(zhí)行通路是否都能按預(yù)定要求正確工作。
2. 模塊化
模塊化——把程序劃分成獨立運行且可以獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。
3. 對象
對象——描述該對象屬性的數(shù)據(jù)以及可以對這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。
三、簡答題
1. 簡述軟件測試的任務(wù)、目的與類型。
答:軟件測試是一個為了尋找軟件錯誤而運行程序的過程。目的就是為了發(fā)現(xiàn)軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯誤的測試。軟件測試主要分為白盒測試和黑盒測試兩大類。
2. 簡述結(jié)構(gòu)化程序設(shè)計方法的基本要點
答:(1)采用自頂向下,逐步求精的程序設(shè)計方法。
(2)使用三種基本控制結(jié)構(gòu)構(gòu)造程序,分別是順序,選擇和循環(huán)(3)采用主程序員組的組織形式。(4)采用單入口單出口的模塊形式。
用例圖
數(shù)據(jù)流圖:
D1 商品庫存訂貨單顧客發(fā)貨單業(yè)務(wù)處理訂貨單供貨商到貨通知
(a)頂層數(shù)據(jù)流圖 D2 發(fā)往供貨商的訂單訂貨單顧客發(fā)貨單到貨通知1銷售2采購訂貨單供貨商到貨通知收款通知D1 商品庫存發(fā)票會計應(yīng)付款通知付款 付款(b)0層數(shù)據(jù)流圖
D2 發(fā)往供貨商的訂單D3 進貨信息訂貨單顧客發(fā)貨單到貨通知1銷售2.1處理事務(wù)2.2產(chǎn)生報表訂貨單供貨商到貨通知收款通知D1 商品庫存發(fā)票會計應(yīng)付款通知付款 付款(c)1層數(shù)據(jù)流圖 D2 發(fā)往供貨商的訂單D3 進貨信息訂貨單到貨通知2.1.12.1.2顧客1庫存2.1.32.2訂貨單銷售接收事務(wù)更新商品處理產(chǎn)生供貨商發(fā)貨單事務(wù)庫存信息定貨報表到貨通知收款通D1 商品庫存知發(fā)票會計應(yīng)付款通知付款付款2層數(shù)據(jù)流圖 順序圖:
d)
(
第二篇:軟件工程導(dǎo)論試題
軟件工程導(dǎo)論試題 一.選擇
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發(fā)階段和(C)。A、詳細(xì)計劃 B、可行性分析
C、運行階段 D、測試與排錯
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環(huán)節(jié)出錯,對軟件的影響最大(C)。A、詳細(xì)設(shè)計階段 B、概要設(shè)計階段 C、需求分析階段 D、測試和運行階段
3、在結(jié)構(gòu)化的瀑布模型中,哪一個階段定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目標(biāo)(A)。
A、需求分析階段 B、詳細(xì)設(shè)計階段 C、概要設(shè)計階段 D、可行性研究階段
4、軟件工程的出現(xiàn)主要是由于(C)。
A.程序設(shè)計方法學(xué)的影響 B.其它工程科學(xué)的影響 C.軟件危機的出現(xiàn) D.計算機的發(fā)展
5、軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實施的主要保證是(C)A、硬件環(huán)境 B、軟件開發(fā)的環(huán)境 C、軟件開發(fā)工具和軟件開發(fā)的環(huán)境 D、開發(fā)人員的素質(zhì)
6、軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為(B)A、相互排斥 B、相互補充
C、獨立使用 D、交替使用
7、UML是軟件開發(fā)中的一個重要工具,它主要應(yīng)用于哪種軟件開發(fā)方法(C)A、基于瀑布模型的結(jié)構(gòu)化方法 B、基于需求動態(tài)定義的原型化方法 C、基于對象的面向?qū)ο蟮姆椒?D、基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法
8、在下面的軟件開發(fā)方法中,哪一個對軟件設(shè)計和開發(fā)人員的開發(fā)要求最高(B)A、結(jié)構(gòu)化方法 B、原型化方法 C、面向?qū)ο蟮姆椒?D、控制流方法
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實施時強調(diào)的是分析對象的(B)A、控制流 B、數(shù)據(jù)流 C、程序流 D、指令流
10、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)A、計劃階段、開發(fā)階段、運行階段 B、計劃階段、編程階段、測試階段 C、總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試 D、需求分析、功能定義、系統(tǒng)設(shè)計
11、軟件開發(fā)中常采用的結(jié)構(gòu)化生命周期方法,由于其特征而一般稱其為(A)A、瀑布模型 B、對象模型 C、螺旋模型 D、層次模型
12、軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計、編碼和測試等階段,一般認(rèn)為可能占用人員最多的階段是(C)A、分析階段 B、設(shè)計階段 C、編碼階段 D、測試階段 二.填空
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動)情況。
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達(dá)了元素之間的信息流動的情況。
22.成本效益分析的目的是從(經(jīng)濟)角度評價開發(fā)一個項目是否可行。
[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進行比較和權(quán)衡,其目的是從經(jīng)濟角度評價開發(fā)一個新的軟件項目是否可行。23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。
[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個模塊集成在一起。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。
[解析]在基本路徑測試中,以詳細(xì)設(shè)計或源程序為基礎(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。
25.匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
[解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設(shè)備的唯一語言。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。
[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。
27.詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。
[解析]詳細(xì)設(shè)計的基本任務(wù)是為每個模塊進行詳細(xì)的算法設(shè)計,為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進行設(shè)計,確定每個模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進行物理設(shè)計等。
28.所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。
[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。
29.有兩類維護技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術(shù);在維護階段用來提高維護的效率和質(zhì)量的(維護支援)技術(shù)。
[解析]面向維護的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術(shù)則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質(zhì)量的技術(shù)。
30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
[解析]計算機語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計算機語言的科學(xué)計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。三.判斷
1.軟件的開發(fā)與運行經(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同時輸入變換成C。(X)
5.軟件的質(zhì)量好壞主要由驗收人員負(fù)責(zé),其他開發(fā)人員不必關(guān)心。(X)
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應(yīng)該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)
8.UML只能應(yīng)用于軟件系統(tǒng)模型的建立。(X)
9.容錯就是每個程序采用兩種不同的算法編寫。(X)
10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)
31.軟件開發(fā)環(huán)境
32.錯誤推測法
33.黑盒測試法
34.軟件質(zhì)量保證
35.瀑布模型 31.經(jīng)濟可行性
解:進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。
[解析]對于一個系統(tǒng)所必須要衡量的是經(jīng)濟上是否合算,經(jīng)濟可行性的范圍很廣,包括效益分析、潛在市場前景等。
32.社會可行性
解:要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目目的運行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。
[解析]社會可行性包括合同、責(zé)任、侵權(quán)等技術(shù)人員不甚了解的諸多問題。
33.投資回收期
解:投資回收期就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間。
[解析]通常我們用投資回收期來衡量一個開發(fā)項目的價值,投資回收期越短,就越快獲得利潤。
34.對應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時處理。
[解析]對應(yīng)關(guān)系是指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順序上有直接的因果關(guān)系,對于重復(fù)的數(shù)據(jù)單元,重復(fù)的次序和次數(shù)都相同才有對應(yīng)關(guān)系。
35.結(jié)構(gòu)沖突
解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。
[解析]使用JSP方法時會遇到此類結(jié)構(gòu)沖突問題,對此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請指出設(shè)計中的錯誤,再根據(jù) 改進模 塊圖的基本原則,畫出 1~2 個改進方案(不改變模塊 G 的判斷關(guān)系),并說明是按照
哪條基本 原則進行改進的。
解:圖 b 為一個改進方案,將模塊 G 的位置提高,使其作用范圍為控制范圍的子集,減 少模塊 之間的聯(lián)系。
40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。
解:PDL語言:
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圖:
[解析]人工查找時,是從第一個元素開始查找,用當(dāng)前元素與下一個元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。
41.根據(jù)下列條件使用等價類劃分法設(shè)計測試用例。
某一8位微機,其八進制常數(shù)定義為:以零開頭的數(shù)是八進制整數(shù),其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價類并編號,如下表示:(4分)
(2)為合理等價類設(shè)計測試用例,表中有兩個合理等價類,設(shè)計兩個例子(2分)
(3)為不合理等價類測試用例,至少設(shè)計一個測試用例(2分)
[解析]等價類劃分屬于黑盒測試的一種,它將輸入數(shù)據(jù)域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個合理等價類,9個不合理等價類進行測試,取到了預(yù)期的效果。
42.某電器集團公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位。現(xiàn)在想建立一個計算機輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。
(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃
(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。
(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間
技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
(2)根據(jù)組裝計劃進行產(chǎn)品工藝設(shè)計,根據(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),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3。
一、判斷題(每題2分,共30分)
1.螺旋模型是在瀑布模型和增量模型的基礎(chǔ)上增加了風(fēng)險分析活動。(對)
2.數(shù)據(jù)字典是對數(shù)據(jù)流圖中的數(shù)據(jù)流,加工、數(shù)據(jù)存儲、數(shù)據(jù)的源和終點進行詳細(xì)定義。(錯)
3.JAVA語言編譯器是一個CASE工具。(對)。
4.軟件是指用程序設(shè)計語言(如PASCAL ,C,VISUAL BASIC 等)編寫的程序,軟件開發(fā)實際上就是
編寫程序代碼。(錯)
5.軟件模塊之間的耦合性越弱越發(fā)。(對)6.數(shù)據(jù)庫設(shè)計說明書是一個軟件配置項(對)
7.在面向?qū)ο蟮能浖_發(fā)方法中,每個類都存在其相應(yīng)的對象,類是對象的實例,對象是生成類的模
板。(錯)
8.過程描述語言可以用于描述軟件的系統(tǒng)結(jié)構(gòu)。(錯)
9.如果通過軟件測試沒有發(fā)現(xiàn)錯誤,則說明軟件是正確的。(錯)
10.快速原型模型可以有效地適應(yīng)用戶需求的動態(tài)變化。(對)
11.模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計原則有助于得到高內(nèi)聚,低耦合度的軟件產(chǎn)品。
(對)
12.集成測試主要由用戶來完成。(錯)
13.確認(rèn)測試計劃應(yīng)該在可行性研究階段制定(錯)
14.白盒測試無需考慮模塊內(nèi)部的執(zhí)行過程和程序結(jié)構(gòu),只要了解模塊的功能即可。(錯)
15.軟件概要設(shè)計包括軟件系統(tǒng)結(jié)構(gòu)設(shè)計以及數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計。(對)
二。單選題(每題2分,共20分)1.瀑布模型的關(guān)鍵不足在于(2)
(1)過于簡單(2)不能適應(yīng)需求的動態(tài)變更(3)過于靈活(4)各個階段需要進行評審
2.在面向?qū)ο筌浖_發(fā)方法中,類與類之間主要有以下結(jié)構(gòu)關(guān)系(1)
(1)繼承和聚集(2)繼承和一般(3)聚集和消息傳遞(4)繼承和方法調(diào)用
3.以下哪一項不是軟件危機的表現(xiàn)形式(3)
(1)成本高(2)生產(chǎn)率低(3)技術(shù)發(fā)展快(4)質(zhì)量得不到保證
4.以下哪一項不是面向?qū)ο蟮奶卣鳎?)
(1)多態(tài)性(2)繼承性(3)封裝性(4)過程調(diào)用
5.面向?qū)ο竽P椭饕梢韵履男┠P徒M成(1)
(1)對象模型、動態(tài)模型、功能模型(2)對象模型、數(shù)據(jù)模型、功能模型(3)數(shù)據(jù)模型、動態(tài)模型、功能模型(4)對象模型、動態(tài)模型、數(shù)據(jù)模型
6.軟件可行性研究一般不考慮(4)
(1)是否有足夠的人員和相關(guān)的技術(shù)來支持系統(tǒng)開發(fā)(2)是否有足夠的工具和相關(guān)的技術(shù)來支持系統(tǒng)開發(fā)(3)待開發(fā)軟件是否有市場、經(jīng)濟上是否合算(4)待開發(fā)的軟件是否會有質(zhì)量問題
7.軟件維護的副作用主要有以下哪幾種(3)
(1)編碼副作用、數(shù)據(jù)副作用、測試副作用(2)編碼副作用、數(shù)據(jù)副作用、調(diào)試副作用(3)編碼副作用、數(shù)據(jù)副作用、文檔副作用(4)編碼副作用、文檔副作用、測試副作用
8.軟件項目計劃一般不包括以下哪項內(nèi)容(4)
(1)培訓(xùn)計劃(2)人員安排(3)進度安排(4)軟件開發(fā)標(biāo)準(zhǔn)的選擇和制定
9.以下哪一項不屬于面向?qū)ο蟮能浖_發(fā)方法(3)
(1)coad方法(2)booch方法(3)jackson方法(4)omt方法
10.以下哪種測試方法不屬于白盒測試技術(shù)(2)
(1)基本路徑測試(2)邊界值分析測試(3)循環(huán)覆蓋測試(4)邏輯覆蓋測試
第三篇:軟件工程導(dǎo)論試題
軟件工程導(dǎo)論試題
一.選擇
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發(fā)階段和(C)。A、詳細(xì)計劃 B、可行性分析
C、運行階段 D、測試與排錯
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環(huán)節(jié)出錯,對軟件的影響最大(C)。A、詳細(xì)設(shè)計階段 B、概要設(shè)計階段
C、需求分析階段 D、測試和運行階段
3、在結(jié)構(gòu)化的瀑布模型中,哪一個階段定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目標(biāo)(A)。
A、需求分析階段 B、詳細(xì)設(shè)計階段
C、概要設(shè)計階段 D、可行性研究階段
4、軟件工程的出現(xiàn)主要是由于(C)。
A.程序設(shè)計方法學(xué)的影響 B.其它工程科學(xué)的影響
C.軟件危機的出現(xiàn) D.計算機的發(fā)展
5、軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實施的主要保證是(C)A、硬件環(huán)境 B、軟件開發(fā)的環(huán)境
C、軟件開發(fā)工具和軟件開發(fā)的環(huán)境 D、開發(fā)人員的素質(zhì)
6、軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為(B)A、相互排斥 B、相互補充
C、獨立使用 D、交替使用
7、UML是軟件開發(fā)中的一個重要工具,它主要應(yīng)用于哪種軟件開發(fā)方法(C)A、基于瀑布模型的結(jié)構(gòu)化方法 B、基于需求動態(tài)定義的原型化方法 C、基于對象的面向?qū)ο蟮姆椒?D、基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法
8、在下面的軟件開發(fā)方法中,哪一個對軟件設(shè)計和開發(fā)人員的開發(fā)要求最高(B)A、結(jié)構(gòu)化方法 B、原型化方法 C、面向?qū)ο蟮姆椒?D、控制流方法
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實施時強調(diào)的是分析對象的(B)A、控制流 B、數(shù)據(jù)流 C、程序流 D、指令流
10、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)A、計劃階段、開發(fā)階段、運行階段 B、計劃階段、編程階段、測試階段 C、總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試 D、需求分析、功能定義、系統(tǒng)設(shè)計
11、軟件開發(fā)中常采用的結(jié)構(gòu)化生命周期方法,由于其特征而一般稱其為(A)A、瀑布模型 B、對象模型 C、螺旋模型 D、層次模型
12、軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計、編碼和測試等階段,一般認(rèn)為可能占用人員最多的階段是(C)A、分析階段 B、設(shè)計階段 C、編碼階段 D、測試階段 二.填空
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動)情況。
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達(dá)了元素之間的信息流動的情況。
22.成本效益分析的目的是從(經(jīng)濟)角度評價開發(fā)一個項目是否可行。
[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進行比較和權(quán)衡,其目的是從經(jīng)濟角度評價開發(fā)一個新的軟件項目是否可行。23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。
[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個模塊集成在一起。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。
[解析]在基本路徑測試中,以詳細(xì)設(shè)計或源程序為基礎(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。
25.匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
[解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設(shè)備的唯一語言。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。
[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。
27.詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。
[解析]詳細(xì)設(shè)計的基本任務(wù)是為每個模塊進行詳細(xì)的算法設(shè)計,為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進行設(shè)計,確定每個模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進行物理設(shè)計等。
28.所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。
[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。
29.有兩類維護技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術(shù);在維護階段用來提高維護的效率和質(zhì)量的(維護支援)技術(shù)。
[解析]面向維護的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術(shù)則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質(zhì)量的技術(shù)。
30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
[解析]計算機語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計算機語言的科學(xué)計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。三.判斷
1.軟件的開發(fā)與運行經(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同時輸入變換成C。(X)
5.軟件的質(zhì)量好壞主要由驗收人員負(fù)責(zé),其他開發(fā)人員不必關(guān)心。(X)
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應(yīng)該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)
8.UML只能應(yīng)用于軟件系統(tǒng)模型的建立。(X)
9.容錯就是每個程序采用兩種不同的算法編寫。(X)
10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)
31.軟件開發(fā)環(huán)境
32.錯誤推測法
33.黑盒測試法
34.軟件質(zhì)量保證
35.瀑布模型 31.經(jīng)濟可行性
解:進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。
[解析]對于一個系統(tǒng)所必須要衡量的是經(jīng)濟上是否合算,經(jīng)濟可行性的范圍很廣,包括效益分析、潛在市場前景等。
32.社會可行性
解:要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目目的運行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。
[解析]社會可行性包括合同、責(zé)任、侵權(quán)等技術(shù)人員不甚了解的諸多問題。
33.投資回收期
解:投資回收期就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間。
[解析]通常我們用投資回收期來衡量一個開發(fā)項目的價值,投資回收期越短,就越快獲得利潤。
34.對應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時處理。
[解析]對應(yīng)關(guān)系是指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順序上有直接的因果關(guān)系,對于重復(fù)的數(shù)據(jù)單元,重復(fù)的次序和次數(shù)都相同才有對應(yīng)關(guān)系。
35.結(jié)構(gòu)沖突
解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。
[解析]使用JSP方法時會遇到此類結(jié)構(gòu)沖突問題,對此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請指出設(shè)計中的錯誤,再根據(jù) 改進模 塊圖的基本原則,畫出 1~2 個改進方案(不改變模塊 G 的判斷關(guān)系),并說明是按照
哪條基本 原則進行改進的。
解:圖 b 為一個改進方案,將模塊 G 的位置提高,使其作用范圍為控制范圍的子集,減 少模塊 之間的聯(lián)系。
40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。
解:PDL語言:
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圖:
[解析]人工查找時,是從第一個元素開始查找,用當(dāng)前元素與下一個元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。
41.根據(jù)下列條件使用等價類劃分法設(shè)計測試用例。
某一8位微機,其八進制常數(shù)定義為:以零開頭的數(shù)是八進制整數(shù),其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價類并編號,如下表示:(4分)
(2)為合理等價類設(shè)計測試用例,表中有兩個合理等價類,設(shè)計兩個例子(2分)
(3)為不合理等價類測試用例,至少設(shè)計一個測試用例(2分)
[解析]等價類劃分屬于黑盒測試的一種,它將輸入數(shù)據(jù)域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個合理等價類,9個不合理等價類進行測試,取到了預(yù)期的效果。
42.某電器集團公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個計算機輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。
(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃
(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。
(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間
技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
(2)根據(jù)組裝計劃進行產(chǎn)品工藝設(shè)計,根據(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),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(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)論期末考試試題
一.選擇(20分)
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發(fā)階段和(C)。A、詳細(xì)計劃 B、可行性分析
C、運行階段 D、測試與排錯
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環(huán)節(jié)出錯,對軟件的影響最大(C)。A、詳細(xì)設(shè)計階段 B、概要設(shè)計階段
C、需求分析階段 D、測試和運行階段
3、在結(jié)構(gòu)化的瀑布模型中,哪一個階段定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目標(biāo)(A)。
A、需求分析階段 B、詳細(xì)設(shè)計階段
C、概要設(shè)計階段 D、可行性研究階段
4、軟件工程的出現(xiàn)主要是由于(C)。
A.程序設(shè)計方法學(xué)的影響 B.其它工程科學(xué)的影響
C.軟件危機的出現(xiàn) D.計算機的發(fā)展
5、軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實施的主要保證是(C)A、硬件環(huán)境 B、軟件開發(fā)的環(huán)境
C、軟件開發(fā)工具和軟件開發(fā)的環(huán)境 D、開發(fā)人員的素質(zhì)
6、軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為(B)A、相互排斥 B、相互補充
C、獨立使用 D、交替使用
7、UML是軟件開發(fā)中的一個重要工具,它主要應(yīng)用于哪種軟件開發(fā)方法(C)A、基于瀑布模型的結(jié)構(gòu)化方法 B、基于需求動態(tài)定義的原型化方法 C、基于對象的面向?qū)ο蟮姆椒?D、基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法
8、在下面的軟件開發(fā)方法中,哪一個對軟件設(shè)計和開發(fā)人員的開發(fā)要求最高(B)A、結(jié)構(gòu)化方法 B、原型化方法 C、面向?qū)ο蟮姆椒?D、控制流方法
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實施時強調(diào)的是分析對象的(B)A、控制流 B、數(shù)據(jù)流 C、程序流 D、指令流
10、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)A、計劃階段、開發(fā)階段、運行階段 B、計劃階段、編程階段、測試階段 C、總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試 D、需求分析、功能定義、系統(tǒng)設(shè)計
二.填空(20分)
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動)情況。
22.成本效益分析的目的是從(經(jīng)濟)角度評價開發(fā)一個項目是否可行。23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。
25.匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。27.詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。
28.所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。
29.有兩類維護技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術(shù);在維護階段用來提高維護的效率和質(zhì)量的(維護支援)技術(shù)。30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。三.判斷(10分)1.軟件的開發(fā)與運行經(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同時輸入變換成C。(X)
5.軟件的質(zhì)量好壞主要由驗收人員負(fù)責(zé),其他開發(fā)人員不必關(guān)心。(X)
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應(yīng)該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)
8.UML只能應(yīng)用于軟件系統(tǒng)模型的建立。(X)
9.容錯就是每個程序采用兩種不同的算法編寫。(X)
10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)31.經(jīng)濟可行性
解:進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。32.社會可行性
解:要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目目的運行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。
33.投資回收期
解:投資回收期就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間。
34.對應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時處理。35.結(jié)構(gòu)沖突
解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。
五、簡答題(本大題共5小題,每小題3分,共15分)
1、軟件維護的目的和主要任務(wù)是什么?維護的類型有哪些?
答:軟件維護是軟件生命周期中最后一個、持續(xù)時間最長的階段。
主要任務(wù)是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件,目的是提高軟件的可靠性、可用性,延長軟件的壽命。維護的類型有:改正性(錯誤)、適應(yīng)性(環(huán)境)、完善性(功能)、預(yù)防性(新產(chǎn)品)
2、什么是耦合?模塊的耦合包括哪些類型?
答:耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。
模塊的耦合包括以下幾種類型:數(shù)據(jù)耦合,控制耦合,特征耦合,公共環(huán)境耦合,內(nèi)容
耦合,標(biāo)記耦合,無耦合/非直接耦合
3、什么是內(nèi)聚?模塊的內(nèi)聚包括哪些類型? 答:內(nèi)聚標(biāo)志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自
然擴展
模塊的內(nèi)聚包括以下幾種類型:低內(nèi)聚—偶然內(nèi)聚,邏輯內(nèi)聚,時間內(nèi)聚
中內(nèi)聚—過程內(nèi)聚,通信內(nèi)聚; 高內(nèi)聚—順序內(nèi)聚,功能內(nèi)聚
4、如何選擇程序設(shè)計語言的工程特性
答:1.系統(tǒng)用戶的要求2.可以使用的編譯程序
3.可以得到的軟件工具4.工程規(guī)模5.程序員的知識 6.軟件可移植性的要求7.軟件的應(yīng)用領(lǐng)域
5、什么是編碼風(fēng)格?為什么要強調(diào)編碼風(fēng)格? 答:編碼風(fēng)格包括以下內(nèi)容:程序內(nèi)部良好的文檔(注釋)、數(shù)據(jù)說明、語句構(gòu)造、輸入輸
出和效率保障等。
因為編碼風(fēng)格對軟件的可讀性、可維護性、可靠性、可用性很重要,所以要強調(diào)編碼風(fēng)
格。
六、綜合題(20分)
1、某電器集團公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位。現(xiàn)在想建立一個計算機輔助企業(yè)管理系統(tǒng),其中: 生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。
(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃
(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。
(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間
技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
(2)根據(jù)組裝計劃進行產(chǎn)品工藝設(shè)計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。
解:
畫出生產(chǎn)科圖的給6分,畫出技術(shù)科的給4分。
第五篇:軟件工程導(dǎo)論試題(打印)
軟件工程導(dǎo)論試題(老師給的)
一.選擇
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發(fā)階段和()。
A、詳細(xì)計劃 B、可行性分析
C、運行階段
D、測試與排錯
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環(huán)節(jié)出錯,對軟件的影響最大()。
A、詳細(xì)設(shè)計階段 B、概要設(shè)計階段
標(biāo)()。A、需求分析階段
C、需求分析階段D、測試和運行階段
3、在結(jié)構(gòu)化的瀑布模型中,哪一個階段定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目
B、詳細(xì)設(shè)計階段 C、概要設(shè)計階段 D、可行性研究階段
4、軟件工程的出現(xiàn)主要是由于()。
A.程序設(shè)計方法學(xué)的影響
B.其它工程科學(xué)的影響 C.軟件危機的出現(xiàn) D.計算機的發(fā)展
5、軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實施的主要保證是()
A、硬件環(huán)境 B、軟件開發(fā)的環(huán)境 C、軟件開發(fā)工具和軟件開發(fā)的環(huán)境D、開發(fā)人員的素質(zhì)
6、軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為()A、相互排斥 B、相互補充
C、獨立使用
D、交替使用
7、UML是軟件開發(fā)中的一個重要工具,它主要應(yīng)用于哪種軟件開發(fā)方法()A、基于瀑布模型的結(jié)構(gòu)化方法 C、基于對象的面向?qū)ο蟮姆椒?A、結(jié)構(gòu)化方法 A、控制流 B、原型化方法 B、數(shù)據(jù)流
B、基于需求動態(tài)定義的原型化方法
D、基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法
D、控制流方法
8、在下面的軟件開發(fā)方法中,哪一個對軟件設(shè)計和開發(fā)人員的開發(fā)要求最高()
C、面向?qū)ο蟮姆椒?C、程序流
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實施時強調(diào)的是分析對象的()
D、指令流
10、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成()A、計劃階段、開發(fā)階段、運行階段 C、總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試 A、瀑布模型 B、對象模型
B、計劃階段、編程階段、測試階段
D、需求分析、功能定義、系統(tǒng)設(shè)計
D、層次模型
11、軟件開發(fā)中常采用的結(jié)構(gòu)化生命周期方法,由于其特征而一般稱其為()
C、螺旋模型
12、軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計、編碼和測試等階段,一般認(rèn)為可能占用人員最多的階段是()A、分析階段 二.填空
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達(dá)了系統(tǒng)中各種元素之間的()情況。
22.成本效益分析的目的是從()角度評價開發(fā)一個項目是否可行。
23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和()。B、設(shè)計階段
C、編碼階段
D、測試階段 24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條()的邊的路徑。
25.匯編語言是面向()的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是()。
27.詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、()。
28.所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱()報告。29.有兩類維護技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術(shù);在維護階段用來提高維護的效率和質(zhì)量的()技術(shù)。
30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:()、PASCAL語言、C語言和PL/1語言。三.判斷
1.軟件的開發(fā)與運行經(jīng)常受到硬件的限制和制約。()2.模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。()3.Jackson圖只能表達(dá)程序結(jié)構(gòu),不能表達(dá)數(shù)據(jù)結(jié)構(gòu)。()上述數(shù)據(jù)流圖表示數(shù)據(jù)A和B同時輸入變換成C。()5.軟件的質(zhì)量好壞主要由驗收人員負(fù)責(zé),其他開發(fā)人員不必關(guān)心。()6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。()7.應(yīng)該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。()8.UML只能應(yīng)用于軟件系統(tǒng)模型的建立。()9.容錯就是每個程序采用兩種不同的算法編寫。()10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。()
四、名詞解釋題(本大題共5小題,每小題3分,共15分)31.軟件開發(fā)環(huán)境32.錯誤推測法33.黑盒測試法34.軟件質(zhì)量保證35.瀑布模型
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請指出設(shè)計中的錯誤,再根據(jù)改進模塊圖的基本原則,畫出 1~2 個改進方案(不改變模塊 G 的判斷關(guān)系),并說明是按照哪條基本原則進行改進的。
40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。41.根據(jù)下列條件使用等價類劃分法設(shè)計測試用例。某一8位微機,其八進制常數(shù)定義為:以零開頭的數(shù)是八進制整數(shù),其值的范圍是-177~177,如05,0127,-065 42.某電器集團公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個計算機輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間 技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生(2)根據(jù)組裝計劃進行產(chǎn)品工藝設(shè)計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。
2009—2010學(xué)年第二學(xué)期期末考試試題 1.軟件危機具有下列表現(xiàn)()。
I.對軟件開發(fā)成本估計不準(zhǔn)確 II.軟件產(chǎn)品的質(zhì)量往往靠不住 III.軟件常常不可維護 IV.軟件成本逐年上升
A.I、II和III B.I、III和IV C.II、III和IV D.以上都正確
2.軟件生命周期一般都被劃分為若干個獨立的階段,其中占用精力和費用最多的階段往往是()。A.運行和維護階段 B.設(shè)計階段 C.代碼實現(xiàn)階段 D.測試階段 3.下列屬于軟件的特點的是()。
A.軟件是一種邏輯實體,具有抽象性 B.軟件在使用過程中沒有磨損、老化的問題 C.軟件不同于一般程序,它的一個顯著特點是規(guī)模龐大,復(fù)雜程度高 D.以上都正確 4.軟件工程的出現(xiàn)是由于()。
A.軟件危機的出現(xiàn) B.計算機硬件技術(shù)的發(fā)展C.軟件社會化的需要 D.計算機軟件技術(shù)的發(fā)展
5.軟件開發(fā)技術(shù)不包含()。
A.軟件開發(fā)方法學(xué) B.軟件工程環(huán)境 C.軟件工具
D.軟件質(zhì)量度度量 6.軟件工程的課程特點()。
I.學(xué)科理論及其知識應(yīng)用的多維性 II.工程化 III.濃厚的方法學(xué)色彩 IV.實踐性、指導(dǎo)性強
A.I、II和III B.I、III和IV C.II、III和IV D.以上都正確 7.下列屬于應(yīng)用軟件的是()。
I.計算機輔助教學(xué)軟件 II.軟件測試工具 III.辦公自動化軟件 IV.工程與科學(xué)計算軟件
A.I、II和III B.I、III和IV C.II、III和IV D.以上都正確 8.需求分析階段最重要的技術(shù)文檔是()。
A.設(shè)計說明書
B.需求規(guī)格說明書 C.可行性分析報告 D.用戶手冊 9.以下關(guān)于數(shù)據(jù)流圖的說法錯誤的是()。
A.數(shù)據(jù)流圖舍去了具體的物質(zhì),只剩下數(shù)據(jù)的流動、加工處理和存儲 B.數(shù)據(jù)流圖是用作結(jié)構(gòu)化分析的一種工具 C.傳統(tǒng)的數(shù)據(jù)流圖中主要由加工、數(shù)據(jù)源點/終點、數(shù)據(jù)流、控制流、數(shù)據(jù)存儲組成 D.數(shù)據(jù)流圖的繪制采用自上向下、逐層分解的方法
10.數(shù)據(jù)字典是軟件需求分析階段的最重要工具之一,其最基本的功能是()。A.數(shù)據(jù)庫設(shè)計
B.數(shù)據(jù)通信 C.數(shù)據(jù)定義 D.數(shù)據(jù)維護 11.需求分析階段的研究對象是()。
A.系統(tǒng)分析員要求
B.用戶要求 C.軟硬件要求 D.系統(tǒng)要求 12.結(jié)構(gòu)化方法的基本原則是()。
A.模塊化
B.抽象與分解 C.信息隱蔽 D.逐步求精
13.耦合度最高的是()耦合。A.環(huán)境 B.內(nèi)容 C.控制 D.數(shù)據(jù) 14.內(nèi)聚程度較低的是()內(nèi)聚。A.偶然 B.通訊 C.順序 D.時間 15.對一個程序來說,組成系統(tǒng)的模塊數(shù)目(),則開發(fā)成本越小。A.越多
B.越少
C.順序
D.時間 16.畫軟件結(jié)構(gòu)圖時應(yīng)注意調(diào)用關(guān)系只能是()。
A.從下到上 B.從上到下 C.從左到右 D.從右到左 17.程序流程圖中的“→”代表()。
A.數(shù)據(jù)流
B.控制流
C.順序流
D.調(diào)用 18.DFD中的“→”代表()。
A.數(shù)據(jù)流
B.文件 C.處理 D.控制流 19.DFD中的“○”代表()。
A.數(shù)據(jù)流
B.文件 C.處理 D.控制流 20.DFD中的“_”代表()。
A.數(shù)據(jù)流
B.文件 C.處理 D.控制流 1.計算機軟件不僅僅是程序,還應(yīng)該有一整套。2.傳統(tǒng)的軟件生存期模型是。
3.軟件按照功能的不同可以劃分為3大類型、和。
4.DFD在軟件工程中表示。
5.與 是模塊獨立性的兩個定性標(biāo)準(zhǔn),將軟件系統(tǒng)劃分模塊時,盡量做到 內(nèi)聚、耦合,提高模塊的,為設(shè)計高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。
6.數(shù)據(jù)流圖有四種基本成分:、、、。
7.12.數(shù)據(jù)字典有以下四類條目:、、、。
是組成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素。
8.某廠對部分職工重新分配工作的政策是:年齡有20歲以下者,初中文化程度脫產(chǎn)學(xué)習(xí),高中文化程度當(dāng)電工;年齡有20歲至40歲之間者,中學(xué)文化程度男性當(dāng)鉗工,女性當(dāng)車工,大學(xué)文化程度者當(dāng)技術(shù)員;年齡有40歲以上者,中學(xué)文化程度當(dāng)材料員,大學(xué)文化程度當(dāng)技術(shù)員。請用結(jié)構(gòu)化語言、判定表或判定樹描述上述問題的加工邏輯。
一、單項選擇題
1.D 2.A 3.D4.D5.D6.D 7.B 8.B 9.C 10.C 11.B12.B13.B14.A15.C16.B17.B18.A 19.C20.B
二、填空題
1.文檔2.瀑布模型3.系統(tǒng)軟件 支持軟件 應(yīng)用軟件4.數(shù)據(jù)流圖 5.耦合性 內(nèi)聚性 高 低 獨立性 6.數(shù)據(jù)流 加工(又稱為數(shù)據(jù)處理)文件 數(shù)據(jù)的源點或終點 7.數(shù)據(jù)流 數(shù)據(jù)項 文件 基本加工 數(shù)據(jù)項
三、簡答題 答:(1)結(jié)構(gòu)化語言。IF 年齡<20 THEN IF 文化程度=初中
THEN 脫產(chǎn)學(xué)習(xí)
ELSE 工作為電工
ENDIF ELSE IF 年齡≤40
THEN IF(文化程度=大學(xué))
THEN 工作為技術(shù)員
ELSE IF 性別=男性
THEN 工作為鉗工
ELSE 工作為車工
ENDIF
ENDIF
ELSE IF(文化程度=大學(xué))
THEN 工作為技術(shù)員
ELSE 工作為材料員
ENDIF
ENDIF ENDIF(2)判定樹如下:
單項選擇題(每小題1分,共10分)
在結(jié)構(gòu)性的瀑布模型中,哪一個階段定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目標(biāo)(A)
(A)需求分析階段(B)詳細(xì)設(shè)計階段(C)概要設(shè)計階段(D)可行性研究階段 軟件工程方法中普遍定義的方法之一是結(jié)構(gòu)化生命周期方法(SLC方法),下述哪一個論述不具有SLC方法的主要特征(C)A 嚴(yán)格定義需求 B 劃分開發(fā)階段 C 規(guī)范文檔格式 D 分析控制流程
軟件結(jié)構(gòu)中兩個模塊之間有調(diào)用關(guān)系,傳遞簡單數(shù)據(jù)值,相當(dāng)于高級語言中的值傳遞,這兩個模塊之間的耦合是(D)(A)公共耦合(B)控制耦合(C)標(biāo)記耦合(D)數(shù)據(jù)耦合
軟件維護的四類維護活動是(A)
(A)改正性維護,適應(yīng)性維護,完善性維護和預(yù)防性維護。(B)適應(yīng)性維護,完善性維護,搶救性維護和輔助性維護。(C)改正性維護,適應(yīng)性維護,完善性維護和輔助性維護。(D)適應(yīng)性維護,完善性維護,搶救性維護和預(yù)防性維護。
主要從(A)幾個方面進行系統(tǒng)可行性研究。(A)技術(shù)可行性,經(jīng)濟可行性,操作可行性。(B)技術(shù)可行性,經(jīng)濟可行性,系統(tǒng)可行性。(C)經(jīng)濟可行性,系統(tǒng)可行性,操作可行性。(D)經(jīng)濟可行性,系統(tǒng)可行性,時間可行性。
進行需求分析可使用多種工具,但(C)是不適用的。
(A)數(shù)據(jù)流圖(B)判定表(C)PAD圖(D)數(shù)據(jù)字典
軟件需求分析階段的工作,可以分為四個方面:對問題的識別、分析與綜合、編寫需求分析文檔以及(B)(A)軟件的總結(jié)(B)需求分析評審(C)階段性報告(D)以上答案都不對 OMT(Object Modelling Technique)方法的第一步是從問題的陳述入手,構(gòu)造系統(tǒng)模型。系統(tǒng)模型由對象模型、(C)組成。
A靜態(tài)模型和功能模型 B動態(tài)模型和過程模型C動態(tài)模型和功能模型 D靜態(tài)模型和操作模型
為了表示項目管理功能工作中各項任務(wù)之間的進度銜接關(guān)系,常用的計劃管理工具是(D)
(A)程序結(jié)構(gòu)圖(B)數(shù)據(jù)流圖(C)E-R圖(D)甘特(Gantt)圖 判斷題(每小題1分,共5分)
軟件開發(fā)的主要任務(wù)是寫程序。錯
測試功能是否符合要求是白盒測試。錯
流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。對
扇出是一個模塊直接控制(調(diào)用)的模塊數(shù)目,扇出過大意味著模塊過分復(fù)雜,需要控制和協(xié)調(diào)過多的下級模塊。對
在面向?qū)ο蟪绦蛑?,使用繼承機制是實現(xiàn)共享和提高重用程度的主要途徑。對 簡答題
簡述需求分析的三個層次。
業(yè)務(wù)需求:反映了組織機構(gòu)或客戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求。用戶需求: 文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù)。
功能需求:定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。軟件測試中一般包含幾個步驟?請分別加以說明。
制定測試計劃 設(shè)計測試用例 執(zhí)行測試 撰寫測試報告 消除軟件缺陷 完成說出你所知道的兩種估算軟件規(guī)模的方法的名稱,并說明他們的優(yōu)缺點。(4分)
軟件生命周期都包含哪些階段,并簡述每個階段的基本任務(wù)(5分)① 軟件生命周期中所花費用最多的階段是()A. 詳細(xì)設(shè)計B.軟件編碼C.軟件測試D.軟件維護
②可行性分析是在系統(tǒng)開發(fā)的早期所做的一項重要的論證工作,它是決定該系統(tǒng)是否開發(fā) 的決策依據(jù),因必須給出()的回答。A.確定B.行或不行C.正確D.無二義
③下列關(guān)于瀑布模型的描述正確的是()。A.瀑布模型的核心是按照軟件開發(fā)的時間順序?qū)栴}簡化。B.瀑布模型具由于良好的靈活性。
C.瀑布模型采用結(jié)構(gòu)化的分析與設(shè)計方法,將邏輯實現(xiàn)與物理實現(xiàn)分開。D.利用瀑布模型,如果發(fā)現(xiàn)問題則修改的代價很低。④ 詳細(xì)設(shè)計的結(jié)果基本決定了最終程序的()A.代碼的規(guī)模B.運行速度C.質(zhì)量D.可維護性 ⑤ 結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是()
A. 程序的規(guī)模B. 程序的效率C. 程序設(shè)計語言的先進性D. 程序易讀性 ⑥ 程序的三種基本控制結(jié)構(gòu)是()
A.過程、子程序和分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊列D.調(diào)用、返回和轉(zhuǎn)移 ⑦ 確認(rèn)軟件的功能是否與需求規(guī)格說明書中所要求的功能相符的測試屬于()A、集成測試B、恢復(fù)測試C、驗收測試D、單元測試
⑧ 面向?qū)ο蠹夹g(shù)中,對象是類的實例。對象有三種成份:()、屬性和方法(或操作)。A.標(biāo)識 B.規(guī)則 C.封裝D.消息
⑨ 下面關(guān)于面向?qū)ο蠓椒ㄖ邢⒌臄⑹?,不正確的是()。A.鍵盤、鼠標(biāo)、通信端口、網(wǎng)絡(luò)等設(shè)備一有變化,就會產(chǎn)生消息
B.操作系統(tǒng)不斷向應(yīng)用程序發(fā)送消息,但應(yīng)用程序不能向操作系統(tǒng)發(fā)送消息 C.應(yīng)用程序之間可以相互發(fā)送消息
D.發(fā)送與接收消息的通信機制與傳統(tǒng)的子程序調(diào)用機制不同 ⑩ 面向?qū)ο蟪绦蛟O(shè)計中的數(shù)據(jù)隱藏指的是()。
A. 輸入數(shù)據(jù)必須輸入保密口令B.?dāng)?shù)據(jù)經(jīng)過加密處理
C.對象內(nèi)部數(shù)據(jù)結(jié)構(gòu)上建有防火墻D.對象內(nèi)部數(shù)據(jù)結(jié)構(gòu)的不可訪問性 答案:①D ②B ③C ④C ⑤D ⑥B ⑦C ⑧A ⑨B ⑩D 1.程序設(shè)計屬于軟件開發(fā)過程()階段。A、設(shè)計B、編程C、實現(xiàn)D、編碼
2.結(jié)構(gòu)設(shè)計是一種應(yīng)用最廣泛的系統(tǒng)設(shè)計方法,是以()為基礎(chǔ)、自頂向下、逐步求精 和模塊化的過程。
A、數(shù)據(jù)流B、數(shù)據(jù)流圖C、數(shù)據(jù)庫D、數(shù)據(jù)結(jié)構(gòu) 3.結(jié)構(gòu)化程序設(shè)計主要強調(diào)程序的()。A、效率B、速度C、可讀性D、大小 4.分析員是()
A、戶中系統(tǒng)的直接使用者B、用戶和軟件人員的中間人 C、軟件的編程人員D、用戶和軟件人員的領(lǐng)導(dǎo) 5.程序的三種基本控制結(jié)構(gòu)的共同特點是()。
A、不能嵌套使用B、只能用來寫簡單的程序C、已經(jīng)用硬件實現(xiàn)D、只有一個入口和一個出口 6.軟件生產(chǎn)過程中,需求信息由()給出。
A、程序員B、項目管理者C、軟件分析設(shè)計人員D、軟件用戶 7.與設(shè)計測試數(shù)據(jù)無關(guān)的文檔是()。
A、需求說明書B、設(shè)計說明書C、源程序D、項目開發(fā)設(shè)計 8.結(jié)構(gòu)化分析SA 方法以數(shù)據(jù)流圖、()和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟系統(tǒng)模型。
A、DFD 圖B、數(shù)據(jù)字典C、IPO 圖D、PAD 圖
9.面向數(shù)據(jù)流的軟件設(shè)計方法,一般是把數(shù)據(jù)流圖中數(shù)據(jù)流劃分為(),再將數(shù)據(jù)流圖映射為軟件結(jié)構(gòu)。A、數(shù)據(jù)流和事務(wù)流B、交換流和事務(wù)流C、信息流和控制流D、交換流和數(shù)據(jù)流 10.總體設(shè)計的結(jié)果是提供一份()。A、模塊說明書B、框圖C、程序D、數(shù)據(jù)結(jié)構(gòu)
1.C 2.A 3.C 4.B 5.D 6.D 7.D 8.B 9.B 10.A 1.軟件是()。
A.處理對象和處理規(guī)則的描述 B.程序C.程序及其文檔 D.計算機系統(tǒng) 2.軟件需求規(guī)格說明的內(nèi)容不應(yīng)包括()。
A.主要功能 B.算法的詳細(xì)描述C.用戶界面及運行環(huán)境 D.軟件的性能 3.程序的三種基本控制結(jié)構(gòu)是()。
A.過程、子程序和分程序 B.順序、選擇和重復(fù) C.遞歸、迭代和回溯 D.調(diào)用、返回和轉(zhuǎn)移
4.面向?qū)ο蟮姆治龇椒ㄖ饕墙⑷惸P?,?)。
A)系統(tǒng)模型、ER 模型、應(yīng)用模型B)對象模型、動態(tài)模型、應(yīng)用模型 C)E-R模型、對象模型、功能模型D)對象模型、動態(tài)模型、功能模型 5.在E-R 模型中,包含以下基本成分()。A)數(shù)據(jù)、對象、實體B)控制、聯(lián)系、對象 C)實體、聯(lián)系、屬性D)實體、屬性、操作 6.各種軟件維護的類型中最重要的是()。
A)完善性維護B)糾錯性維護C)適應(yīng)性維護D)預(yù)防性維護 7.軟件測試的目標(biāo)是()。
A.證明軟件是正確的 B.發(fā)現(xiàn)錯誤、降低錯誤帶來的風(fēng)險 C.排除軟件中所有的錯誤 D.與軟件調(diào)試相同 8.軟件生命周期中所花費用最多的階段是()A.詳細(xì)設(shè)計B.軟件編碼C.軟件測試D.軟件維護
9.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0, 1.0],現(xiàn)從 輸入的角度考慮一組測試用例:-1.001,-1.0, 1.0, 1.001.設(shè)計這組測試用例的方法是()A.條件覆蓋法B.等價分類法C.邊界值分析法D.錯誤推測法
10、詳細(xì)設(shè)計的基本任務(wù)是確定每個模塊的()設(shè)計 A.功能B.調(diào)用關(guān)系C.輸入輸出數(shù)據(jù)D.算法
11.設(shè)函數(shù)C(X)定義問題X 的復(fù)雜程序,函數(shù)E(X)確定解決問題X 需要的工
作量(時間)。對于兩個問題P1 和P2,如果C(P1)>C(P2)顯然E(P1)>E(P2),則得 出結(jié)論E(P1+P2)>E(P1)+E(P2)就是:()
A.模塊化的根據(jù)B.逐步求精的根據(jù)C.抽象的根據(jù)D.信息隱藏和局部化的根據(jù) 12.下面幾種白箱測試技術(shù),哪種是最強的覆蓋準(zhǔn)則()A.語句覆蓋B.條件覆蓋C.判定覆蓋D.條件組合覆蓋 13.面向數(shù)據(jù)流的設(shè)計方法把()映射成軟件結(jié)構(gòu)。A.?dāng)?shù)據(jù)流B.系統(tǒng)結(jié)構(gòu)C.控制結(jié)構(gòu)D.信息流 14.內(nèi)聚程度最低的是()內(nèi)聚 A.偶然B.過程C.順序D.時間
15.確定測試計劃是在()階段制定的.A.總體設(shè)計B.詳細(xì)設(shè)計C.編碼D.測試 16.需求分析的產(chǎn)品是()
A.?dāng)?shù)據(jù)流程圖案B.?dāng)?shù)據(jù)字典C.判定表D.需求規(guī)格說明書
17.?dāng)?shù)據(jù)字典是軟件需求分析階段的最重要工具之一,其最基本的功能是()A.?dāng)?shù)據(jù)庫設(shè)計B.?dāng)?shù)據(jù)通信C.?dāng)?shù)據(jù)定義D.?dāng)?shù)據(jù)維護
18.()引入了“風(fēng)險驅(qū)動”的思想,適用于大規(guī)模的內(nèi)部開發(fā)項目。A.增量模型B.噴泉模型C.原型模型D.螺旋模型 19.模塊的內(nèi)聚性最高的是()
A.邏輯內(nèi)聚B.時間內(nèi)聚C.偶然內(nèi)聚D.功能內(nèi)聚 20.提高測試的有效性非常重要,成功的測試是指()A.證明了被測試程序正確無誤B.說明了被測試程序符合相應(yīng)的要求 C.未發(fā)現(xiàn)被測程序的錯誤D.發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤__ 答案:1.C 2.B 3.B 4.D 5.C 6.A 7.B 8.D 9.C 10.D 11.A 12.D 13.A 14.A 15.A 16.D 17.C 18.D 19.D 20.D 簡述軟件測試的任務(wù)、目的與類型。
答:軟件測試是一個為了尋找軟件錯誤而運行程序的過程。
目的就是為了發(fā)現(xiàn)軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)
的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯誤的測試。軟件測試 主要分為白盒測試和黑盒測試兩大類。簡述軟件工程目標(biāo)和面臨的主要問題。
答:軟件工程的目標(biāo)是應(yīng)用計算機科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。它采用經(jīng)
過實踐驗證的工程的原則、方法,以提高質(zhì)量,降低成本。
但是目前的軟件開發(fā)面臨著許多問題:(1)對軟件開發(fā)成本和進度的估計常常很不準(zhǔn)
確。(2)用戶常對“已完成的”軟件系統(tǒng)不滿意。(3)軟件產(chǎn)品的質(zhì)量往往靠不住。(4)
軟件常常很難維護。(5)軟件常常缺乏適當(dāng)?shù)奈臋n資料。(6)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計算機應(yīng)用迅速普及深入的趨勢。(7)軟件成本在計算機系統(tǒng)總成本
中所占的比例逐年上升。
簡述軟件開發(fā)過程、每個里程碑的提交物。
答:軟件開發(fā)的基本過程:(1)可行性研究,做初步的需求分析工作,決定項目可行與否
(2)軟件需求分析,軟件工程師必須了解軟件的信息領(lǐng)域,以及需求的功能、行為、性能和接口。系統(tǒng)需求和軟件需求均需文檔化,并與用戶一起復(fù)審。并提交需求分析報 告。(3)設(shè)計,包括總體設(shè)計和詳細(xì)設(shè)計,軟件設(shè)計是一個多步驟的過程,主要是對 軟件的數(shù)據(jù)結(jié)構(gòu)、軟件體系結(jié)構(gòu)、界面表示及過程細(xì)節(jié)進行設(shè)計。設(shè)計過程將需求轉(zhuǎn)換 為軟件表示,在編碼之前可以評估其質(zhì)量,所有設(shè)計均要文檔化,它是軟件配置的重要 組成部分,經(jīng)復(fù)審后提交相應(yīng)的概要設(shè)計和詳細(xì)設(shè)計報告。(4)編碼,把設(shè)計轉(zhuǎn)化為 機器可執(zhí)行的程序。提交源程序清單。(5)測試,提交測試報告。(6)維護,提交維 護報告。
軟件生命周期模型?瀑布模型?快速原型模型?
答;概括的說,軟件生命周期模型由軟件定義、軟件開發(fā)和運行維護3個時期組成,每個時
期又進一步劃分成若干個階段。
軟件生命周期模型有問題定義,可行性研究,需求分析,總體詳細(xì)設(shè)計,總體編碼和單元測試,綜合測試,軟件維護組
瀑布模型是一個項目開發(fā)架構(gòu),開發(fā)過程是通過設(shè)計一系列階段順序展開的,從系統(tǒng)需
求分析開始直到產(chǎn)品發(fā)布和維護,每個階段都會產(chǎn)生循環(huán)反饋,如果有信息未被覆蓋或
者發(fā)現(xiàn)了問題,那么最好 “返回”上一個階段并進行適當(dāng)?shù)男薷?,項目開發(fā)進程從一個階
段“流動”到下一個階段。
快速原型模型是在用戶不能給出完整、準(zhǔn)確的需求說明,或者開發(fā)者不能確定算法的有
效性、操作系統(tǒng)的適應(yīng)性或人機交互的形式等許多情況下,可以根據(jù)用戶的一組基本需
求,快速建造一個原型(可運行的軟件),然后進行評估,進一步精化、調(diào)整原型,使其
滿足用戶的要求,也使開發(fā)者對將要做的事情有更好的理解。軟件?軟件產(chǎn)品具有哪些特性? 答:軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。
軟件產(chǎn)品具有以下特性:
1、非常復(fù)雜;
2、成本高;
3、風(fēng)險大;
4、維護困難; 可行性分析的目的和主要任務(wù)是什么?
答:可行性分析的目的不是解決問題,而是確定問題是否值得去解決。
主要任務(wù)是從下面幾方面研究每種解法的可行性:技術(shù)可行性,經(jīng)濟可行性,操作可行
性,社會可行性,抉擇可行性。需求分析的目的和主要任務(wù)是什么?
答:進行需求分析是為了準(zhǔn)確地回答“系統(tǒng)必須做什么”這個問題,決定可以做什么不做什
么。需求分析的主要任務(wù)是描述系統(tǒng)的功能需求、性能需求、數(shù)據(jù)需求、可靠性/可用 性需求、出錯處理需求、接口需求、約束條件、其他需求。總體設(shè)計的目的和主要任務(wù)是什么?
答:總體設(shè)計的目的是用比較抽象的方法確定系統(tǒng)概要地是如何實現(xiàn)的(How to do
generally!)。從初步的數(shù)據(jù)流圖導(dǎo)出(設(shè)計出)軟件結(jié)構(gòu);根據(jù)數(shù)據(jù)需求設(shè)計數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)庫結(jié)構(gòu)、文件結(jié)構(gòu)設(shè)計)。
主要任務(wù)是概括地說,如何解決這些問題,系統(tǒng)怎樣實現(xiàn)?
劃分系統(tǒng)的構(gòu)成成分(黑盒子),如程序、文件、數(shù)據(jù)庫、人工
操作等。
設(shè)計系統(tǒng)的軟件結(jié)構(gòu),即構(gòu)成模塊。詳細(xì)設(shè)計的目的和主要任務(wù)是什么?
答:在總體設(shè)計的基礎(chǔ)上,進一步確定軟件怎樣具體實現(xiàn),經(jīng)過這個階段的設(shè)計工作,應(yīng)該
得出對目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設(shè)
計語言書寫的程序。
主要任務(wù)包括人機界面設(shè)計、模塊過程設(shè)計。編碼的目的和主要任務(wù)是什么?
答:把軟件設(shè)計結(jié)果翻譯成用某種程序設(shè)計語言書寫的程序 軟件測試的目的和主要任務(wù)是什么(G.J.Myers的觀點)? 答:發(fā)現(xiàn)程序中的錯誤
軟件維護的目的和主要任務(wù)是什么?維護的類型有哪些?
答:軟件維護是軟件生命周期中最后一個、持續(xù)時間最長的階段。
主要任務(wù)是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件,目的是提高軟件的可靠性、可用性,延長軟件的壽命。維護的類型有:改正性(錯誤)、適應(yīng)性(環(huán)境)、完善性(功能)、預(yù)防性(新產(chǎn)品)什么是耦合?模塊的耦合包括哪些類型?
答:耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。
模塊的耦合包括以下幾種類型:數(shù)據(jù)耦合,控制耦合,特征耦合,公共環(huán)境耦合,內(nèi)容
耦合,標(biāo)記耦合,無耦合/非直接耦合 什么是內(nèi)聚?模塊的內(nèi)聚包括哪些類型? 答:內(nèi)聚標(biāo)志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自
然擴展
模塊的內(nèi)聚包括以下幾種類型:低內(nèi)聚—偶然內(nèi)聚,邏輯內(nèi)聚,時間內(nèi)聚 中內(nèi)聚—過程內(nèi)聚,通信內(nèi)聚; 高內(nèi)聚—順序內(nèi)聚,功能內(nèi)聚 如何選擇程序設(shè)計語言的工程特性
答:1.系統(tǒng)用戶的要求2.可以使用的編譯程序
3.可以得到的軟件工具4.工程規(guī)模5.程序員的知識 6.軟件可移植性的要求7.軟件的應(yīng)用領(lǐng)域 什么是編碼風(fēng)格?為什么要強調(diào)編碼風(fēng)格? 答:編碼風(fēng)格包括以下內(nèi)容:程序內(nèi)部良好的文檔(注釋)、數(shù)據(jù)說明、語句構(gòu)造、輸入輸
出和效率保障等。
因為編碼風(fēng)格對軟件的可讀性、可維護性、可靠性、可用性很重要,所以要強調(diào)編碼風(fēng)
格。
一、單選題
1. 在軟件危機中表現(xiàn)出來的軟件質(zhì)量差的問題,其原因是_______。A. 軟件研發(fā)人員素質(zhì)太差 C. 沒有軟件質(zhì)量標(biāo)準(zhǔn) B. 用戶經(jīng)常干預(yù)軟件系統(tǒng)的研發(fā)工作 D. 軟件開發(fā)人員不遵守軟件質(zhì)量標(biāo)準(zhǔn) 2. 在軟件質(zhì)量因素中,軟件在異常條件下仍能運行的能力成為軟件的_____。A. 安全性 C. 可用性 B. 健壯性 D. 可靠性 3. 在下列測試技術(shù)中,______不屬于黑盒測試技術(shù)。A. 等價劃分 C. 錯誤推測,因果圖,D. 邏輯覆蓋 B. 邊界值分析 綜合策略
4. 軟件工程方法是在實踐中不斷發(fā)展著的方法,而早期的軟件工程方法主要是指______。A. 原型化方法 C. 功能化方法 B. 結(jié)構(gòu)化方法 D. 面向?qū)ο蠓椒?/p>
5. ______是把對象的屬性和操作結(jié)合在一起,構(gòu)成一個獨立的對象,其內(nèi)部信息對外界是隱蔽的,外界只能通過有限的接口與對象發(fā)生聯(lián)系。A. 多態(tài) C. 封裝 B. 繼承 D. 消息
6. Jackson方法是在軟件開發(fā)過程中常用的方法,使用Jackson方法時可以實現(xiàn)______。A. 從數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu) C. 從模塊結(jié)構(gòu)導(dǎo)出數(shù)據(jù)結(jié)構(gòu) B. 從數(shù)據(jù)流圖導(dǎo)出初始結(jié)構(gòu)圖 D. 從模塊結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu) 7. 軟件測試時為了________而執(zhí)行程序的過程。
A. 糾正錯誤 C. 避免錯誤 B. 發(fā)現(xiàn)錯誤 D. 證明錯誤
8. 在軟件系統(tǒng)中,一個模塊應(yīng)具有什么樣的功能,這是由_____決定的。A. 總體設(shè)計 C. 詳細(xì)設(shè)計 B. 需求分析 D. 程序設(shè)計 9. 面向?qū)ο蠓治鍪菍ο到y(tǒng)進行_________的一種方法。A. 需求分析 C. 設(shè)計評審 B. 程序設(shè)計 D. 測試驗收 10. 軟件文檔是軟件工程實施中的重要部分,它不僅是軟件開發(fā)各階段的重要依據(jù),而且影響軟件的_______。A. 可理解性 C. 可擴展性 B. 可維護性 D. 可移植 11. 模塊內(nèi)聚度越高,說明模塊內(nèi)各成分彼此結(jié)合的程序越_______。A. 松散 C. 無法判斷 B. 緊密 D. 相等 12. 軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計、編碼、測試和維護等階段,一般認(rèn)為可能占用人員最多的階段是________。A. 分析階段 C. 維護階段 B. 設(shè)計階段 D. 測試階段 13. 常用的面向?qū)ο蟮能浖^程模型是_______。A. 瀑布模型 C. 原型模型 B. 噴泉模型 D. 增量模型 14. 面向?qū)ο蟮姆治鲭A段建立的系統(tǒng)模型不包括________。A. 對象模型 C. 功能模型 B. 動態(tài)模型 D. 數(shù)據(jù)模型 15. 提高軟件的可維護性可采用很多措施,下列哪個不在措施之列? A. 提供沒有錯誤的程序 C. 改進程序文檔質(zhì)量 B. 建立質(zhì)量保證制度 D. 明確軟件質(zhì)量標(biāo)準(zhǔn)
二、填空題
1. 軟件工程中的結(jié)構(gòu)化分析SA是一種面向________的分析方法。2. 軟件模塊獨立性的兩個定性度量標(biāo)準(zhǔn)是_________________。
3. 軟件開發(fā)是一個自頂向下逐步細(xì)化和求精的過程,而軟件測試是一個________的過程。4. ________和數(shù)據(jù)字典共同構(gòu)成了系統(tǒng)的邏輯模型
5. ___________是一種黑盒測試技術(shù),這種技術(shù)把程序的輸入域劃分為若干個數(shù)據(jù)類,據(jù)此導(dǎo)出測試用例。
三、判斷題
1. 軟件工程學(xué)只有理論意義,沒有實際用途。()2. 軟件工程的方法只適用于大型軟件的開發(fā),對小型軟件的開發(fā)沒有幫助。()3. 可行性研究進一步研究問題分析階段所確定的問題是否有可行的解。()4. 代碼審查方法沒有計算機測試方法好。()5. 驗證軟件需求的方法主要靠人工審查的方法。()6. 并發(fā)系統(tǒng)中遇到的一個主要問題是定時問題。()7. 編碼風(fēng)格由個人喜好決定,沒有固定格式。()8. 面向?qū)ο蠼5玫降哪P桶到y(tǒng)的3個要素,即靜態(tài)結(jié)構(gòu)、交互次序和數(shù)據(jù)變換()9. 軟件重用是提高軟件開發(fā)生產(chǎn)率和目標(biāo)系統(tǒng)質(zhì)量的重要途徑。()10. 判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。()11. Power Designer是一個CASE工具。()12. 軟件是指用程序設(shè)計語言(如Pascal,C,Visual Basic等)編寫的程序,軟件開發(fā)實際上就是編寫程序代碼。()13. 在進行需求分析時需同時考慮維護問題。()14. UML是一種面向?qū)ο蟮姆治鲈O(shè)計方法,即OOA/OOD方法。()15. 在面向?qū)ο蟮能浖_發(fā)方法中,每個類都存在其相應(yīng)的對象,對象是類的實例,類是生成對象的模板。()
四、名詞解釋 1. 白盒測試 2. 模塊化 3. 對象
五、簡答題
1. 簡述軟件測試的任務(wù)、目的與類型。2. 簡述結(jié)構(gòu)化程序設(shè)計方法的基本要點 答案:
一、單選題
1.C 2.B 3.D 4.B 5.C 6.A 7.B 8.B 9.A 10.B 11.B 12.C 13.B 14.D 15.A
二、填空題 1. 數(shù)據(jù)流 3. 由下而上 5. 等價劃分 2. 內(nèi)聚性、耦合性 4. 數(shù)據(jù)流圖
三、判斷題
1、×
2、×
3、√
4、×
5、√
6、√
7、×
8、√
9、√
10、√
11、√
12、×
13、×
14、×
15、√
四、名詞解釋
1. 白盒測試——又叫做結(jié)構(gòu)測試,把程序看成裝在一個透明的白盒子里,按照程序內(nèi)部的邏輯測試程序,檢測程序中的主要執(zhí)行通路是否都能按預(yù)定要求正確工作。
2. 模塊化——把程序劃分成獨立運行且可以獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。
3. 對象——描述該對象屬性的數(shù)據(jù)以及可以對這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。
五、簡答題
1. 答:軟件測試是一個為了尋找軟件錯誤而運行程序的過程。目的就是為了發(fā)現(xiàn)軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯誤的測試。軟件測試主要分為白盒測試和黑盒測試兩大類。
2. 答:(1)采用自頂向下,逐步求精的程序設(shè)計方法。
(2)使用三種基本控制結(jié)構(gòu)構(gòu)造程序,分別是順序,選擇和循環(huán)(3)采用主程序員組的組織形式。(4)采用單入口單出口的模塊形式。