第一篇:《軟件工程》期末考試模擬練習(xí)題
期末考試模擬練習(xí)題
一、填空題
1、用軟件工程的觀點(diǎn)看,軟件=__程序____+____數(shù)據(jù)____+___系列文檔__。
2、軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的部分,它是包括_____程序_____,_____數(shù)據(jù)
____和___系列文檔___的完整集合。
3、可行性分析的內(nèi)容包括四個(gè)方面:__技術(shù)可行性_____,_經(jīng)濟(jì)可行性__,_操作可行
性____和___法律可行性__。
4、軟件開發(fā)的結(jié)構(gòu)化分析方法中,數(shù)據(jù)加工是組成內(nèi)容之一。常用的加工說明的描述
方法有__結(jié)構(gòu)化語言___、_____判定樹____和____判定表__。
5、面向數(shù)據(jù)流的軟件設(shè)計(jì)方法,一般將數(shù)據(jù)流圖分成兩種類型,一種稱為__變換型___,另一種稱為_事務(wù)型_。
6、內(nèi)聚和耦合是模塊獨(dú)立性的重要度量,內(nèi)聚是指__模塊內(nèi)部各軟件元素之間結(jié)合的緊密程度___,耦合是指__度量一個(gè)軟件結(jié)構(gòu)中模塊與模塊之間聯(lián)系程度強(qiáng)弱的一個(gè)指標(biāo)__,從設(shè)計(jì)策略講,模塊的分解應(yīng)遵循____高_(dá)__內(nèi)聚____低___耦合的原則。
7、程序設(shè)計(jì)語言的三個(gè)特性分別是_工程特性__,__技術(shù)特性__,_心理特性__。
8、大型軟件系統(tǒng)的測試基本上由以下幾個(gè)步驟組成,分別是__單元測試__,__集成測
試___,_確認(rèn)測試___,_系統(tǒng)測試__和__驗(yàn)收測試___,其中需要最終用戶參與的測試為___驗(yàn)收測試和系統(tǒng)測試__。
9、白盒子測試技術(shù)是從程序內(nèi)部的邏輯結(jié)構(gòu)及處理過程入手來設(shè)計(jì)測試用例,故
又稱為__結(jié)構(gòu)測試__測試;而黑盒子測試技術(shù)則相反,它是以需求規(guī)格說明書為根據(jù)來設(shè)計(jì)測試用例,故又稱為__功能測試__測試。
10、軟件維護(hù)的類型分為4種,分別是_改正性維護(hù)_,__適應(yīng)性維護(hù)_,___完善性維
護(hù)_,___預(yù)防性維護(hù)_。
11、在軟件運(yùn)行中發(fā)生異?;蚬收蠒r(shí)進(jìn)行的維護(hù)工作稱為__改正性維護(hù)___維護(hù)。在軟
件的使用過程中,根據(jù)用戶提出的新增系統(tǒng)功能和改善性能的要求而對(duì)軟件進(jìn)行修改或再開發(fā),以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件質(zhì)量的工作成為____完善性維護(hù)__維護(hù)。
12、面向?qū)ο缶褪沁\(yùn)用___對(duì)象___、___類____、____繼承______、___封裝____、___消息____等面向?qū)ο蟮母拍顚?duì)問題進(jìn)行分析,求解的系統(tǒng)開發(fā)技術(shù)。
13、由Rumbaugh等人提出的一種面向?qū)ο蠓椒ń凶鰧?duì)象模型化技術(shù)(OMT),它要求
把分析時(shí)收集的信息建立在3個(gè)模型中。第一個(gè)模型是__對(duì)象模型__,它的作用是描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包括構(gòu)成系統(tǒng)的對(duì)象和類、它們的屬性和操作,以及它們之間的聯(lián)系。第二個(gè)模型是_動(dòng)態(tài)模型_,它描述系統(tǒng)的控制邏輯,主要涉及系統(tǒng)中各個(gè)對(duì)象和類的時(shí)序及變化狀況。第三個(gè)模型是_功能模型_,它著重于描述系統(tǒng)內(nèi)部數(shù)據(jù)的傳送與處理,它由多個(gè)數(shù)據(jù)流圖組成。
14、在軟件研制過程中,CASE是指__計(jì)算機(jī)輔助軟件工程_。
15、面向?qū)ο蟮能浖_發(fā)方法中,UML指__統(tǒng)一建模語言_。
二、選擇題
1、瀑布模型將軟件生命周期劃分為計(jì)劃、開發(fā)和運(yùn)行三個(gè)時(shí)期。在下述工作中,屬于
軟件開發(fā)期的內(nèi)容是_D___。
I 需求分析II 可行性分析III 結(jié)構(gòu)設(shè)計(jì)
A)都是C)只有I
B)I和IID)I和III2、軟件計(jì)劃的目的是提供一個(gè)框架,使主管人員對(duì)項(xiàng)目能在短時(shí)間內(nèi)進(jìn)行合理的估價(jià)。
在下述內(nèi)容中,不屬于計(jì)劃期的內(nèi)容是_C___。A)資源需求
C)功能需求
B)成本估算D)項(xiàng)目進(jìn)度
3、數(shù)據(jù)流圖是用于軟件需求分析的工具,下列元素中_C____是數(shù)據(jù)流圖的基本元素。
I 數(shù)據(jù)流II 數(shù)據(jù)加工III 數(shù)據(jù)存儲(chǔ)IV 外部實(shí)體 A)I、II和III C)全部
B)I和IIID)I、III和IV4、軟件開發(fā)的結(jié)構(gòu)化分析方法中,數(shù)據(jù)加工是組成內(nèi)容之一。在下列方法中,常采用
編寫加工說明方法的是__D__。
I 結(jié)構(gòu)化語言II 判定樹III判定表A)只有I
B)只有IID)都是
C)II和III5、軟件工程的結(jié)構(gòu)化分析方法強(qiáng)調(diào)的是分析開發(fā)對(duì)象的__A___。
A)數(shù)據(jù)流
B)控制流D)進(jìn)程通信
C)時(shí)間限制
6、原型化方法是用戶和軟件開發(fā)人員之間進(jìn)行的一種交互過程,適用于___A___系統(tǒng)。
A)需求不確定性高的C)管理信息
B)需求確定的 D)決策支持
7、軟件的設(shè)計(jì)分兩個(gè)階段,即結(jié)構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì),結(jié)構(gòu)設(shè)計(jì)又稱為_B__。
A)邏輯設(shè)計(jì)C)規(guī)劃設(shè)計(jì)
B)總體設(shè)計(jì) D)抽象設(shè)計(jì)
8、模塊本身的內(nèi)聚是模塊獨(dú)立性的重要度量因素之一,7類內(nèi)聚中具有最強(qiáng)內(nèi)聚的一
類是_D___。
A)順序性內(nèi)聚C)邏輯性內(nèi)聚
B)過程性內(nèi)聚 D)功能性內(nèi)聚
9、軟件測試的對(duì)象是___C___。A)程序
B)文檔 D)模塊算法
C)程序和各個(gè)軟件配置項(xiàng)
10、成功的測試是指___B___。
A)運(yùn)行測試實(shí)例后未發(fā)現(xiàn)錯(cuò)誤項(xiàng)
C)證明程序正確
B)發(fā)現(xiàn)程序中的錯(cuò)誤 D)改正程序中的錯(cuò)誤
11、若有一個(gè)計(jì)算類型的程序,它的輸入量只有一個(gè)X,其范圍是[-1.0,1.0],現(xiàn)在從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設(shè)計(jì)這組測試用例的方法是__A_。A)邊界值分析法C)條件覆蓋法
B)等價(jià)分類法 D)錯(cuò)誤推測法
12、因計(jì)算機(jī)硬件和軟件環(huán)境的變化而做出的修改軟件的過程稱為______C______維
護(hù)。在軟件維護(hù)類型中占全部維護(hù)活動(dòng)一半以上的是______________維護(hù)。
I 改正性維護(hù)A)I,II
II 適應(yīng)性維護(hù) B)II,I
III 完善性維護(hù) C)II,III
IV 預(yù)防性維護(hù) D)II,IV13、在面向?qū)ο蠓治鲋?,下列各?xiàng)可列入類的實(shí)例的是____D_。
I 學(xué)生II 網(wǎng)上購物III白馬IV 張三A)I 和 II
B)II 和IV D)都是
C)II、II、IV14、下列哪些問題是項(xiàng)目管理工作應(yīng)該重點(diǎn)考慮的___C___。
I 風(fēng)險(xiǎn)分析和管理IV軟件項(xiàng)目計(jì)劃
II 項(xiàng)目進(jìn)度安排V 軟件配置管理
III 軟件需求分析 VI軟件測試
A)III,VIB)III,IV,VIC)I、II、IV、VD)都是
15、軟件文檔是軟件工程實(shí)施中的重要成分,它不僅是軟件開發(fā)各階段的重要依據(jù)而且
也影響軟件的_B____。
A)可理解性
B)可維護(hù)性 D)可移植性
C)可擴(kuò)展性
第二篇:軟件工程 練習(xí)題
演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案
軟件工程
練習(xí)題
1.在軟件生產(chǎn)的程序系統(tǒng)時(shí)代由于軟件規(guī)模擴(kuò)大和軟件復(fù)雜性提高的原因?qū)е铝耍ㄜ浖C(jī))
2.面向?qū)ο蟮某绦蛟O(shè)計(jì)特征有(多態(tài) 繼承 封裝)
3.程序的三種控制結(jié)構(gòu)(順序結(jié)構(gòu)
選擇結(jié)構(gòu)
循環(huán)結(jié)構(gòu))4.白盒測試技術(shù)有(語句覆蓋
判斷覆蓋
條件覆蓋
條件組合 判斷/條件覆蓋)
5.數(shù)據(jù)字典是用來定義(數(shù)據(jù)流圖)中的各個(gè)成分的具體含義的6.結(jié)構(gòu)化分析方法(SA)的一個(gè)重要指導(dǎo)思想是(自頂向下,逐步分解)7.jackson設(shè)計(jì)方法是由英國的M.jackson提出的,它是一種面向(數(shù)據(jù)結(jié)構(gòu))的軟件設(shè)計(jì)方法
8.瀑布模型突出的缺點(diǎn)是不適應(yīng)(用戶需求)的變動(dòng)
9.汽車有一個(gè)發(fā)動(dòng)機(jī),汽車與發(fā)動(dòng)機(jī)的關(guān)系屬于(整體與部分)關(guān)系 10.進(jìn)行需求分析可使用多種工具,但(PAD圖)是不適用的 11.軟件結(jié)構(gòu)中兩個(gè)模塊之間有調(diào)用關(guān)系,傳遞簡單數(shù)值相當(dāng)于高級(jí)語言中的值傳遞,這兩個(gè)模塊之間的耦合是(數(shù)據(jù)耦合)12.總體設(shè)計(jì)的目的是確定整個(gè)系統(tǒng)的(功能及模塊結(jié)構(gòu))13.程序的三種基本結(jié)構(gòu)的共同特點(diǎn)是(只有一個(gè)入口和一個(gè)出口)14.白盒測試的方法一般適用于(單元)測試
15.軟件配置管理包括(變動(dòng)控制 配置顯示
配置審計(jì))
精心收集
精心編輯
精致閱讀
如需請下載!
演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案
16.使用白盒測試方法時(shí),確定測試數(shù)據(jù)應(yīng)根據(jù)(程序的內(nèi)部邏輯)和指定的覆蓋標(biāo)準(zhǔn)
17.軟件測試方法有(白盒測試
黑盒測試
動(dòng)態(tài)測試
功能測試)18.軟件結(jié)構(gòu)圖的形態(tài)特征能反映程序重用率的是(扇入)19.為了提高模塊的獨(dú)立性,模塊的內(nèi)部最好的是(功能內(nèi)聚)20.軟件開發(fā)過程中,抽取盒整理用戶需求建立問題及模型的過程叫(面向?qū)ο蠓治觯?/p>
21.完成系統(tǒng)邏輯模型的開發(fā)階段是(分析設(shè)計(jì))22.屬于軟件開發(fā)工具的是(報(bào)表生成器)
23.系統(tǒng)可行性研究主要從(技術(shù)可行性
經(jīng)濟(jì)可行性
操作可行性)幾個(gè)方面進(jìn)行
24.數(shù)據(jù)字典定義數(shù)據(jù)流或數(shù)據(jù)存儲(chǔ)組成時(shí),使用了若干符號(hào),其中(.....)的含義是(或)
25.劃分模塊時(shí)(作用范圍在其控制范圍之內(nèi))
26.(模塊)是指具有相對(duì)獨(dú)立的、由數(shù)據(jù)說明、執(zhí)行語句等程序?qū)ο髽?gòu)成的集合
27.軟件工程方法的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程的方法得以實(shí)施的主要保證是(軟件開發(fā)工具和軟件開發(fā)環(huán)境)28.(螺旋模型)引入了“風(fēng)險(xiǎn)驅(qū)動(dòng)”思想,使用于大規(guī)模的內(nèi)部開發(fā)項(xiàng)目
29.構(gòu)造原型時(shí),主要考慮(原型要體現(xiàn)的特征)
30.數(shù)據(jù)字典是軟件需求分析階段最重要的工具之一,最基本的功能
精心收集
精心編輯
精致閱讀
如需請下載!
演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案
是(數(shù)據(jù)定義)
31.面向數(shù)據(jù)流的設(shè)計(jì)方法把(數(shù)據(jù)流)映射成軟件結(jié)構(gòu) 32.內(nèi)聚程度最低的是(偶然)內(nèi)聚
33.軟件需求規(guī)格說明的內(nèi)容不應(yīng)包括(算法的詳細(xì)描述)34.在E-R模型中,包含的基本成分是(實(shí)體
聯(lián)系
屬性)35.詳細(xì)設(shè)計(jì)的基本任務(wù)是確定每個(gè)模塊的(算法)設(shè)計(jì)
36.面向?qū)ο蟮脑O(shè)計(jì)方法主要是建立三類模型,即(對(duì)象模型
動(dòng)態(tài)模型
功能模型)
37.面向?qū)ο螅?0)由(對(duì)象+類+繼承+消息)組成 38.軟件維護(hù)組織成員不包括(編程人員)39.(代碼行技術(shù))定量估算。源程序行數(shù)
40.軟件生存中期由(分析
設(shè)計(jì)
實(shí)現(xiàn))三個(gè)時(shí)期組成41.軟件開發(fā)環(huán)境的目標(biāo)是(提高軟件成產(chǎn)率和提高軟件質(zhì)量)42.信息建模的核心概念是(和)43.數(shù)據(jù)流可分為(變換型和事務(wù)型)
44.面向?qū)ο笤O(shè)計(jì)主要包括(系統(tǒng)結(jié)構(gòu))設(shè)計(jì)、系統(tǒng)信息量設(shè)計(jì)和(數(shù)據(jù)結(jié)構(gòu))設(shè)計(jì)和劃分程序階段
45.在數(shù)據(jù)流圖中,沒有任何具體的物理元素,它僅僅描述數(shù)據(jù)在系統(tǒng)中的(流動(dòng)和處理)的情況
46.模塊獨(dú)立性可通過(內(nèi)聚和耦合)兩方面來衡量
47.軟件開發(fā)是一個(gè)自頂向下逐步細(xì)化和求精的過程,而軟件測試是一個(gè)(自低向上)的集成過程
精心收集
精心編輯
精致閱讀
如需請下載!
演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案
48.常見的軟件開發(fā)模型有(瀑布
圓形
螺旋)三種
49.從軟件工程管理的角度,軟件設(shè)計(jì)分為(概念設(shè)計(jì)和詳細(xì)設(shè)計(jì))兩步完成
50.概要設(shè)計(jì)過程由(確定設(shè)計(jì)方案和結(jié)構(gòu)設(shè)計(jì))兩個(gè)階段組成 51.動(dòng)態(tài)測試既可以采用(白盒測試)對(duì)模塊進(jìn)行邏輯測試,又可以用(黑盒)做功能測試
52.類之間的結(jié)構(gòu)關(guān)系主要有兩種,(一般與特殊結(jié)構(gòu)關(guān)系和整體與部分結(jié)構(gòu)關(guān)系)
53.(工程網(wǎng)絡(luò)技術(shù))能顯示地表示各個(gè)作業(yè)彼此間的依賴關(guān)系,從中容易事變出來關(guān)鍵路行和關(guān)鍵任務(wù)
54.自頂向下結(jié)合的漸增式測試方法,在組合模型時(shí)有兩種組合策略(深度優(yōu)先和寬度優(yōu)先)策略
55.模塊是一般具有如下三個(gè)屬性(功能)描述該模塊實(shí)現(xiàn)什么功能,(邏輯)描述模塊內(nèi)部怎么做,(狀態(tài))描述該模塊使用條件和環(huán)境 56.為了便于對(duì)照檢測,測試用例應(yīng)由(輸入數(shù)據(jù)和預(yù)期輸出結(jié)果)兩部分組成
57.(軟件測試階段)是在軟件投入運(yùn)行前對(duì)軟件需求分析,軟件設(shè)計(jì)規(guī)格說明和軟件編碼進(jìn)行查錯(cuò)和糾錯(cuò)
58.軟件維護(hù)的四類維護(hù)活動(dòng)是(完善
預(yù)防
適應(yīng)性
改正)維護(hù)
59.軟件系統(tǒng)中常用(數(shù)據(jù)文件)存放數(shù)據(jù),供系統(tǒng)中各模塊共享系統(tǒng)外部做通信用,其設(shè)計(jì)主要是(數(shù)據(jù)格式)設(shè)計(jì)
精心收集
精心編輯
精致閱讀
如需請下載!
演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案
60.(模塊)是指具有相對(duì)獨(dú)立性的,由數(shù)據(jù)說明,執(zhí)行語句等程序?qū)ο髽?gòu)成的集合
61.類是一組具有(相同數(shù)據(jù)結(jié)構(gòu)和相同數(shù)據(jù)類型)的對(duì)象集合 62.影響軟件可維護(hù)性的因素主要有(可理解性
可測試性
可修改性
可移植性
可使用性)
63.確認(rèn)測試可以發(fā)現(xiàn)軟件系統(tǒng)是否符合用戶的(功能和性能)需求的
64.從結(jié)構(gòu)化的瀑布模型看,在軟件生存周期的幾個(gè)階段中,對(duì)軟件影響最大的是(需求分析)階段
65.模塊內(nèi)聚最好的是(功能內(nèi)聚)最差的是(偶然內(nèi)聚)66.軟件文檔可分為(用戶文檔和系統(tǒng)文檔)兩類
67.成本--效益分析的目的是從(經(jīng)濟(jì))角度評(píng)價(jià)開發(fā)一個(gè)新軟件項(xiàng)目是否可行
68.(系統(tǒng)流程圖)中各個(gè)元素表達(dá)了系統(tǒng)中各種元素之間(信息流動(dòng))情況 簡答
1.軟件危機(jī)產(chǎn)生的原因 軟件日益復(fù)雜和龐大 軟件開發(fā)管理困難復(fù)雜 軟件開發(fā)技術(shù)落后 生產(chǎn)方式落后 開發(fā)工具落后
精心收集
精心編輯
精致閱讀
如需請下載!
演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案
軟件開發(fā)費(fèi)用不斷增加
2.結(jié)構(gòu)化設(shè)計(jì)步驟
對(duì)數(shù)據(jù)流圖進(jìn)行復(fù)審,必要時(shí)修改或細(xì)化 根據(jù)流圖確定軟件結(jié)構(gòu)屬于變換型還是事務(wù)型 把數(shù)據(jù)流圖映射成初始結(jié)構(gòu)圖 改進(jìn)結(jié)構(gòu)圖,使設(shè)計(jì)更完善 3.結(jié)構(gòu)化程序設(shè)計(jì)的主要思想 自頂向下,逐步求精的設(shè)計(jì)方法
使用三種基本控制結(jié)構(gòu),單入口、單出口來構(gòu)造程序 4.決定軟件可維護(hù)性的因素 系統(tǒng)大小,系統(tǒng)年齡 結(jié)構(gòu)合理性,模塊化 層次組織 系統(tǒng)文檔結(jié)構(gòu) 命令的格式和約定 程序的復(fù)雜性等等
5.數(shù)據(jù)字典與數(shù)據(jù)流圖的關(guān)系
數(shù)據(jù)字典與數(shù)據(jù)流圖相輔相成,互相配合,分析員應(yīng)遵守以下約定,有關(guān)數(shù)據(jù)流向在數(shù)據(jù)流圖中,數(shù)據(jù)組成在數(shù)據(jù)字典中描述,有關(guān)數(shù)據(jù)的加工細(xì)節(jié)在數(shù)據(jù)字典中描述,編寫數(shù)據(jù)字典時(shí)不能遺漏和重復(fù) 6.軟件測試和調(diào)試的目的的區(qū)別 測試的目的是判斷和發(fā)現(xiàn)軟件是否有錯(cuò)
精心收集
精心編輯
精致閱讀
如需請下載!
演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案
調(diào)試的目的是定位軟件錯(cuò)誤并糾正 7.如何提高程序的可維護(hù)性 建立明確的軟件質(zhì)量目標(biāo)和優(yōu)先級(jí) 進(jìn)行明確的質(zhì)量保證審查 選擇可維護(hù)的程序設(shè)計(jì)語言 改進(jìn)程序的文檔
8.靜態(tài)測試和動(dòng)態(tài)測試的區(qū)別
靜態(tài)分析技術(shù)不執(zhí)行被測試軟件,可對(duì)需求分析說明書、軟件設(shè)計(jì)說明書、源程序...9.需求分析與軟件設(shè)計(jì)二個(gè)階段的任務(wù)主要區(qū)別是什么 需求分析定義軟件的用戶需求即做什么 軟件設(shè)計(jì)定義軟件實(shí)現(xiàn)細(xì)節(jié)即研究如何實(shí)現(xiàn)軟件 10.軟件測試目的
發(fā)現(xiàn)程序錯(cuò)誤而執(zhí)行程序的過程
好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤 成功的測試方案是發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤的測試 11.文檔在軟件工程中的作用 提高過程能見度 提高開發(fā)效率
作為階段工作成果和結(jié)束標(biāo)志 記錄有關(guān)信息便于使用于維護(hù) 提供運(yùn)行、維護(hù)、培訓(xùn)的有關(guān)資料
精心收集
精心編輯
精致閱讀
如需請下載!
演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案
12.軟件測試步驟,說明這些步驟的測試對(duì)象是什么 單元測試
對(duì)象是段遠(yuǎn)模塊
集成測試
對(duì)象是組裝后的程序模塊 確認(rèn)測試
對(duì)象是可運(yùn)行的目標(biāo)軟件系統(tǒng)
精心收集
精心編輯 精致閱讀
如需請下載!
第三篇:軟件工程練習(xí)題
練習(xí)題
一、判斷題
1.螺旋模型是在瀑布模型和增量模型的基礎(chǔ)上增加了風(fēng)險(xiǎn)分析活動(dòng)。(錯(cuò))2.軟件的模塊數(shù)越少,其軟件成本越低。(錯(cuò))3.JAVA語言編譯器是一個(gè)CASE工具。(對(duì))。
4.發(fā)現(xiàn)錯(cuò)誤多的程序模塊,一般殘留在模塊中的錯(cuò)誤也多。(對(duì))
5..軟件是指用程序設(shè)計(jì)語言(如PASCAL ,C,VISUAL BASIC 等)編寫的程序,軟件開發(fā)實(shí)際上就是編寫程序代碼。(錯(cuò))
6.軟件模塊之間的耦合性越弱越好。(對(duì))7.數(shù)據(jù)庫設(shè)計(jì)說明書是一個(gè)軟件配置項(xiàng)(對(duì))8.軟件測試就是程序測試。(錯(cuò))
9.PDL的語法是開放式的,其內(nèi)層語法是確定的,而外層語法則不確定。(錯(cuò))10.根據(jù)編程規(guī)范,在對(duì)方法命名時(shí), 方法名稱的第一個(gè)單詞常常采用一個(gè)名詞。(錯(cuò))11.在面向?qū)ο蟮能浖_發(fā)方法中,每個(gè)類都存在其相應(yīng)的對(duì)象,類是對(duì)象的實(shí)例,對(duì)象是生成類的模板。(錯(cuò))
12.可行性研究的目的不是解決問題,而是確定問題是否值得去解決。13.過程描述語言可以用于描述軟件的系統(tǒng)結(jié)構(gòu)。(錯(cuò))
14.如果通過軟件測試沒有發(fā)現(xiàn)錯(cuò)誤,則說明軟件是正確的。(錯(cuò))
15.快速原型模型可以有效地適應(yīng)用戶需求的動(dòng)態(tài)變化。(對(duì))
16.模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計(jì)原則有助于得到高內(nèi)聚,低耦合度的軟件產(chǎn)品。(對(duì))
17.集成測試主要由用戶來完成。(錯(cuò))
18.隨著軟件技術(shù)的發(fā)展,人們逐漸認(rèn)識(shí)到編碼不僅要強(qiáng)調(diào)效率還要強(qiáng)調(diào)清晰。(對(duì))19.確認(rèn)測試計(jì)劃應(yīng)該在可行性研究階段制定(錯(cuò))
20.白盒測試無需考慮模塊內(nèi)部的執(zhí)行過程和程序結(jié)構(gòu),只要了解模塊的功能即可。(錯(cuò))
21.軟件概要設(shè)計(jì)包括軟件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)以及數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計(jì)。(對(duì))
22.一個(gè)好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。(對(duì))
23.在可行性研究中最難決斷和最關(guān)鍵的問題是經(jīng)濟(jì)可行性。(╳)24.耦合是指一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。(╳)25.一個(gè)好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。(√)
26.一筆交易、一個(gè)動(dòng)作、甚至操作人員按一個(gè)按鈕都可以看做是一次事物。(√)27.集成測試時(shí),一般希望較早地發(fā)現(xiàn)系統(tǒng)功能的錯(cuò)誤,所以經(jīng)常采用自底向上的漸增式測試。(錯(cuò))28.程序要能直截了當(dāng)?shù)卣f明程序員的用意。(對(duì))
29.編程作業(yè)中,代碼的檢查是對(duì)程序進(jìn)行動(dòng)態(tài)分析。(錯(cuò))30.概要設(shè)計(jì)階段完成的主要文檔是概要設(shè)計(jì)說明書。(√)
31.發(fā)現(xiàn)錯(cuò)誤多的程序模塊,一般殘留在模塊中的錯(cuò)誤也多。(對(duì))32.在做程序的單元測試時(shí),一般樁模塊比驅(qū)動(dòng)模塊容易編寫。(錯(cuò))
33.過大的模塊可能是由于分解不充分造成的,即使降低模塊獨(dú)立性也必須繼續(xù)分解。(╳)34.代碼版本控制的優(yōu)點(diǎn)之一是能獲得版本控制工具中保存的任何版本。(√)35.在設(shè)計(jì)模塊時(shí),其寬度和深度要適當(dāng)。(對(duì))
36.37.38.39.40.程序設(shè)計(jì)語言中應(yīng)絕對(duì)禁止使用GOTO語句。(╳)類是關(guān)于對(duì)象性質(zhì)的描述,由方法和數(shù)據(jù)組成。(√)
隨著軟件技術(shù)的發(fā)展,人們逐漸認(rèn)識(shí)到編碼不僅要強(qiáng)調(diào)效率還要強(qiáng)調(diào)清晰。(√)為保證程序的安全,必須做到程序中沒有任何錯(cuò)誤存在,即容錯(cuò)。(╳)如果把軟件開發(fā)所需的資源畫成一個(gè)金字塔,人是最基本的資源。(√)
41.功能性注釋嵌在源程序體中,用以解釋其后的語句或程序段是在怎么做。(錯(cuò))42.模塊耦合的強(qiáng)弱取決于模塊間接口的復(fù)雜程度。(對(duì))
二、名字解釋: 1.軟件: 2.軟件危機(jī): 3.軟件工程: 4.軟件生命周期: 5.軟件過程: 6.瀑布模型: 7.快速原型模型: 8.增量模型: 9.螺旋模型: 10.抽象: 11.模塊化: 12.逐步求精: 13.耦合: 14.內(nèi)聚: 15.模塊獨(dú)立: 16.信息隱蔽: 17.結(jié)構(gòu)程序設(shè)計(jì): 18.測試用例: 19.單元測試: 20.白盒測試: 21.黑盒測試: 22.對(duì)象: 23.等價(jià)劃分:
三、選擇題
1.軟件工程的概念是哪年提出的()。A.1988 B.1968 C.1948 D.1928 2.瀑布模型的關(guān)鍵不足在于()。
A.過于簡單 B.各個(gè)階段需要進(jìn)行評(píng)審 C.過于靈活 D.不能適應(yīng)需求的動(dòng)態(tài)變更 3.以下哪一項(xiàng)不是軟件危機(jī)的表現(xiàn)形式()。
A.開發(fā)的軟件不滿足用戶需要 B.開發(fā)的軟件可維護(hù)性差 C.開發(fā)的軟件價(jià)格便宜 D.開發(fā)的軟件可靠性差
4.軟件可行性研究實(shí)質(zhì)上是要進(jìn)行一次()需求分析、設(shè)計(jì)過程。A.簡化、壓縮的 B.詳細(xì)的 C.徹底的 D.深入的
5.結(jié)構(gòu)化設(shè)計(jì)是一種面向()的設(shè)計(jì)方法。A.數(shù)據(jù)流 B.模塊 C.數(shù)據(jù)結(jié)構(gòu) D.程序
6.與確認(rèn)測試階段有關(guān)的文檔是()。
A.需求規(guī)格說明書 B.概要設(shè)計(jì)說明書 C.詳細(xì)設(shè)計(jì)說明書 D.源程序
7.軟件開發(fā)的需求活動(dòng),其主要任務(wù)是()。A.給出軟件解決方案 B.給出系統(tǒng)模塊結(jié)構(gòu)
C.定義模塊算法 D.定義需求并建立系統(tǒng)模型 8.以下說法錯(cuò)誤的是()。
A.文檔僅僅描述和規(guī)定了軟件的使用范圍及相關(guān)的操作命令 B.文檔也是軟件產(chǎn)品的一部分,沒有文檔的軟件就不成軟件
C.軟件文檔的編制在軟件開發(fā)工作中占有突出的地位和相當(dāng)大的工作量 D.高質(zhì)量文檔對(duì)于發(fā)揮軟件產(chǎn)品的效益有著重要的意義
9.一個(gè)項(xiàng)目是否開發(fā),從經(jīng)濟(jì)上來說是否可行,歸根結(jié)底是取決于()。A.成本估算
B.項(xiàng)目計(jì)劃
C.工程管理
D.工程網(wǎng)絡(luò)圖
10.在面向?qū)ο蟮脑O(shè)計(jì)中,我們應(yīng)遵循的設(shè)計(jì)準(zhǔn)則除了模塊化、抽象、低耦合、高內(nèi)聚以外,還有()。
A.隱藏復(fù)雜性 B.信息隱蔽
C.經(jīng)常類的復(fù)用 D.類的開發(fā) 11.面向?qū)ο蟮闹饕卣鞒龑?duì)象惟一性、封裝、繼承外,還有()。A.多態(tài)性 B.完整性 C.可移植性 D.兼容性 12.下面說法正確的是()。
A.經(jīng)過測試沒有發(fā)現(xiàn)錯(cuò)誤說明程序正確 B.測試的目標(biāo)是為了證明程序沒有錯(cuò)誤
C.成功的測試是發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的錯(cuò)誤的測試 D.成功的測試是沒有發(fā)現(xiàn)錯(cuò)誤的測試
13以下哪一條不屬于注釋的基本原則?()A.注釋應(yīng)該增加代碼的清晰度。B.避免使用裝飾性內(nèi)容。
C.注釋在源代碼中的比例至少為25%.D.注釋信息不僅要包括代碼的功能,還應(yīng)給出原因。
14.()有效地檢測輸入條件的各種組合可能會(huì)引起的錯(cuò)誤。A.等價(jià)類劃分 B.邊界值分析 C.錯(cuò)誤推測 D.因果圖
15火車是一種陸上交通工具?;疖嚭完懮辖煌üぞ咧g的關(guān)系是()關(guān)系。A.組裝 B.整體部分 C.has a D.一般特殊
16、軟件維護(hù)產(chǎn)生的副作用,是指()
A、開發(fā)時(shí)的錯(cuò)誤 B、隱含的錯(cuò)誤 C、因修改軟件而造成的錯(cuò)誤 D、運(yùn)行時(shí)誤操作
17、使用程序設(shè)計(jì)的控制結(jié)構(gòu)導(dǎo)出測試用例的測試方法是()A、黑盒測試 B、白盒測試
C、邊界測試 D、系統(tǒng)測試
18、軟件詳細(xì)設(shè)計(jì)的主要任務(wù)是確定每個(gè)模塊的()A、算法和使用的數(shù)據(jù)結(jié)構(gòu) B、外部接口 C、功能 D、編程
19、軟件結(jié)構(gòu)圖的形態(tài)特征能反映程序重用率的是()A、深度 B、寬度 C、扇入 D、扇出
20、為了提高模塊的獨(dú)立性,模塊內(nèi)部最好是()A、邏輯內(nèi)聚 B、時(shí)間內(nèi)聚 C、功能內(nèi)聚 D、通信內(nèi)聚
21、軟件是一種()
A、程序 B、數(shù)據(jù) C、邏輯產(chǎn)品 D、物理產(chǎn)品
22、需求分析最終結(jié)果是產(chǎn)生()
A、項(xiàng)目開發(fā)計(jì)劃 B、需求規(guī)格說明書 C、設(shè)計(jì)說明書 D、可行性分析報(bào)告
23、因計(jì)算機(jī)硬件和軟件環(huán)境的變化而作出的修改軟件的過程稱為()A、糾正性維護(hù)
B、適應(yīng)性維護(hù) C、完善性維護(hù)
D、預(yù)防性維護(hù)
24、下列屬于維護(hù)階段的文檔是()A、軟件規(guī)格說明
B、用戶操作手冊
C、軟件問題報(bào)告
D、軟件測試分析報(bào)告
25、若有一個(gè)計(jì)算類型的程序,它的輸入量只有一個(gè)X,其范圍是[-1.0,1.0],現(xiàn)從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設(shè)計(jì)這組測試用例的方法是()A、條件覆蓋法
B、等價(jià)分類法
C、邊界值分析法
D、錯(cuò)誤推測法 26.如果一個(gè)程序常常需要根據(jù)多種條件的復(fù)雜組合,選擇執(zhí)行相應(yīng)的動(dòng)作,則以下哪種設(shè)計(jì)工具比較適合描述它?()
A.判定表
B.流程圖
C.PDL
D.N-S圖
28、經(jīng)過嚴(yán)密的軟件測試后所提交給用戶的軟件產(chǎn)品中()
A、軟件不再包含任何錯(cuò)誤 B、還可能包含少量軟件錯(cuò)誤 C、所提交給用戶的可執(zhí)行文件不會(huì)含有錯(cuò)誤 D、文檔中不會(huì)含有錯(cuò)誤。
29、等價(jià)劃分測試方法屬于()
A、黑盒測試 B、白盒測試
C、邊界測試 D、系統(tǒng)測試
30、軟件按照設(shè)計(jì)的要求,在規(guī)定時(shí)間和條件下達(dá)到不出故障,持續(xù)運(yùn)行的要求的質(zhì)量特性稱為()A.可用性
B.可靠性
C.正確性
D.完整性
31、確認(rèn)軟件的功能是否與需求規(guī)格說明書中所要求的功能相符的測試屬于()
A、集成測試 B、恢復(fù)測試
C、確認(rèn)測試 D、單元測試
33、從心理學(xué)角度看,一次大模塊分解為多少個(gè)子模塊為宜。()
A、3±1 B、7±2 C、15±1 D、18±2
34、結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()
A、程序的規(guī)模 B、程序的效率 C、程序設(shè)計(jì)語言的先進(jìn)性 D、程序易讀性
35、在用戶界面層次上對(duì)軟件進(jìn)行測試屬于哪種測試方法()
A、黑盒測試 B、白盒測試
C、邊界測試 D、系統(tǒng)測試
36、對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作()于對(duì)象的統(tǒng)一體中。A、結(jié)合 B、隱藏
C、封裝 D、抽象
37、()是比較理想的可重用軟構(gòu)件。
A.子程序庫 B.源代碼包含文件 C.對(duì)象 D.類
38、軟件設(shè)計(jì)啟發(fā)規(guī)則不包括()A.在耦合方式上降低模塊間接口的復(fù)雜性 B.模塊功能應(yīng)該可以預(yù)測
C.將模塊的控制域保持在其作用域內(nèi)
D.設(shè)計(jì)單入口單出口的模塊
39、軟件生存周期中時(shí)間最長的是()階段。
A、總體設(shè)計(jì) B、需求分析 C、軟件測試 D、軟件維護(hù)
40、為了提高模塊的獨(dú)立性,模塊之間的聯(lián)系最好的是()。
A、公共耦合 B、控制耦合 C、內(nèi)容耦合 D、數(shù)據(jù)耦合
41、軟件概要設(shè)計(jì)結(jié)束后得到()
A、初始化的軟件結(jié)構(gòu)圖 B、優(yōu)化后的軟件結(jié)構(gòu)圖 C、模塊的接口圖和詳細(xì)算法 D、程序編碼
42、為使得開發(fā)人員對(duì)軟件產(chǎn)品的各個(gè)階段工作都進(jìn)行周密的思考,從而減少返工,所以()的編制是很重要的。
A、需求說明 B、概要說明 C、軟件文檔 D、測試計(jì)劃
43、汽車有一個(gè)發(fā)動(dòng)機(jī),因而汽車與發(fā)動(dòng)機(jī)之間的關(guān)系是()關(guān)系。
A、一般與特殊 B、整體與部分 C、分類關(guān)系 D、is a 關(guān)系
44、軟件部件的內(nèi)部實(shí)現(xiàn)與外部可訪問性的分離,是指軟件的()。
A、繼承性 B、共享性 C、封裝性 D、抽象性
45、單元測試是發(fā)現(xiàn)編碼錯(cuò)誤,集成測試是發(fā)現(xiàn)模塊的接口錯(cuò)誤,確認(rèn)測試是為了發(fā)現(xiàn)功能錯(cuò)誤,那么系統(tǒng)測試是為了發(fā)現(xiàn)()的錯(cuò)誤。
A、接口錯(cuò)誤 B、編碼錯(cuò)誤
C、性能、質(zhì)量不合要求 D、功能錯(cuò)誤 46.模塊的基本屬性不包括()
A 功能 B 接口 C 獨(dú)立性 D 邏輯
47、許多產(chǎn)品的質(zhì)量問題源于新產(chǎn)品的開發(fā)設(shè)計(jì)階段,因此在產(chǎn)品()階段就應(yīng)采取有力措施來消滅由于設(shè)計(jì)原因而產(chǎn)生的質(zhì)量隱患。
A、軟件評(píng)審 B、軟件測試 C、開發(fā)設(shè)計(jì) D、軟件度量
48、下列幾種類型中,耦合性最弱的是()。
A、內(nèi)容型 B、控制型 C、公共型 D、數(shù)據(jù)型
50.瀑布模型的關(guān)鍵不足在于
A、過于簡單 B、不能適應(yīng)需求的動(dòng)態(tài)變更C、過于靈活 D、各個(gè)階段需要進(jìn)行評(píng)審
51.內(nèi)聚程度最高的是()A功能內(nèi)聚
B巧合內(nèi)聚
C 過程內(nèi)聚
D 信息內(nèi)聚
52.以下哪一項(xiàng)不是軟件危機(jī)的表現(xiàn)形式(3)(1)成本高(2)生產(chǎn)率低(3)技術(shù)發(fā)展快(4)質(zhì)量得不到保證 53.以下哪一項(xiàng)不是面向?qū)ο蟮奶卣鳎?)
(1)多態(tài)性(2)繼承性(3)封裝性(4)過程調(diào)用 55.軟件維護(hù)的副作用主要有以下哪幾種(3)
(1)編碼副作用、數(shù)據(jù)副作用、測試副作用(2)編碼副作用、數(shù)據(jù)副作用、調(diào)試副作用(3)編碼副作用、數(shù)據(jù)副作用、文檔副作用(4)編碼副作用、文檔副作用、測試副作用
56.軟件項(xiàng)目計(jì)劃一般不包括以下哪項(xiàng)內(nèi)容(4)
(1)培訓(xùn)計(jì)劃(2)人員安排(3)進(jìn)度安排(4)軟件開發(fā)標(biāo)準(zhǔn)的選擇和制定 58.以下哪種測試方法不屬于白盒測試技術(shù)(2)
(1)基本路徑測試(2)邊界值分析測試(3)循環(huán)覆蓋測試(4)邏輯覆蓋測試 59.“軟件危機(jī)”是指()A.計(jì)算機(jī)病毒的出現(xiàn)
B.利用計(jì)算機(jī)進(jìn)行經(jīng)濟(jì)犯罪活動(dòng)
C.軟件開發(fā)和維護(hù)中出現(xiàn)的一系列問題 D.人們過分迷戀計(jì)算機(jī)系統(tǒng)
61.為了提高模塊的獨(dú)立性,模塊之間最好是()A.控制耦合 B.公共耦合 C.內(nèi)容耦合 D.數(shù)據(jù)耦合 62.下面關(guān)于PDL語言不正確的說法是()A.PDL是描述處理過程怎么做 B.PDL是只描述加工做什么 C.PDL也稱為偽碼
D.PDL的外層語法應(yīng)符合一般程序設(shè)計(jì)語言常用的語法規(guī)則 63.詳細(xì)設(shè)計(jì)與概要設(shè)計(jì)銜接的圖形工具是()A.DFD圖 B.程序圖 C.PAD圖 D.SC圖 65.下列關(guān)于功能性注釋不正確的說法是()A.功能性注釋嵌在源程序中,用于說明程序段或語句的功能以及數(shù)據(jù)的狀態(tài) B.注釋用來說明程序段,需要在每一行都要加注釋 C.可使用空行或縮進(jìn),以便很容易區(qū)分注釋和程序 D.修改程序也應(yīng)修改注釋
66.下列關(guān)于效率的說法不正確的是()A.效率是一個(gè)性能要求,其目標(biāo)應(yīng)該在需求分析時(shí)給出
B.提高程序效率的根本途徑在于選擇良好的設(shè)計(jì)方法,數(shù)據(jù)結(jié)構(gòu)與算法 C.效率主要指處理機(jī)時(shí)間和存儲(chǔ)器容量兩個(gè)方面 D.程序的效率與程序的簡單性無關(guān) 67.測試的關(guān)鍵問題是()A.如何組織對(duì)軟件的評(píng)審 B.如何驗(yàn)證程序的正確性 C.如何采用綜合策略 D.如何選擇測試用例
68.結(jié)構(gòu)化維護(hù)與非結(jié)構(gòu)化維護(hù)的主要區(qū)別在于()A.軟件是否結(jié)構(gòu)化 B.軟件配置是否完整 C.程序的完整性 D.文檔的完整性
69.軟件維護(hù)困難的主要原因是()A.費(fèi)用低 B.人員少
C.開發(fā)方法的缺陷 D.得不到用戶支持 70.可維護(hù)性的特性中,相互矛盾的是()A.可理解性與可測試性 B.效率與可修改性 C.可修改性和可理解性 D.可理解性與可讀性
71.快速原型是利用原型輔助軟件開發(fā)的一種新思想,它是在研究()的方法和技術(shù)中產(chǎn)生的。
A.需求階段 B.設(shè)計(jì)階段
C.測試階段 D.軟件開發(fā)的各個(gè)階段
72.從目前情況來看,增量模型存在的主要問題是()A.用戶很難適應(yīng)這種系統(tǒng)開發(fā)方法 B.該方法的成功率很低
C.缺乏豐富而強(qiáng)有力的軟件工具和開發(fā)環(huán)境
D.缺乏對(duì)開發(fā)過程中的問題和錯(cuò)誤具有應(yīng)付變化的機(jī)制 73.下列文檔與維護(hù)人員有關(guān)的有()A.軟件需求說明書 B.項(xiàng)目開發(fā)計(jì)劃 C.概要設(shè)計(jì)說明書 D.操作手冊 D.實(shí)現(xiàn)錯(cuò)誤檢測和錯(cuò)誤恢復(fù)的程序
74.()是為了確保每個(gè)開發(fā)過程的質(zhì)量,防止把軟件差錯(cuò)傳遞到下一個(gè)過程而進(jìn)行的工作。
A.質(zhì)量檢測 B.軟件容錯(cuò) C.軟件維護(hù) D.系統(tǒng)容錯(cuò) 78.軟件開發(fā)過程來自用戶方面的主要干擾是()A.功能變化 B.經(jīng)費(fèi)減少 C.設(shè)備損壞 D.人員變化
81.為了提高軟件的可維護(hù)性或可靠性而對(duì)軟件進(jìn)行的修改稱為()A.糾錯(cuò)性維護(hù) B.適應(yīng)性維護(hù) C.完善性維護(hù) D.預(yù)防性維護(hù)
82.面向維護(hù)的技術(shù)涉及軟件開發(fā)的()階段。A.設(shè)計(jì) B.編碼 C.測試 D.所有
83.用白盒技術(shù)設(shè)計(jì)測試用例的方法包括()A.邊界值分析 B.條件組合覆蓋 C.因果圖 D.錯(cuò)誤推測
84.軟件測試的目的是()A.為了表明程序沒有錯(cuò)誤 B.為了說明程序能正確地執(zhí)行 C.為了發(fā)現(xiàn)程序中的錯(cuò)誤 D.為了評(píng)價(jià)程序的質(zhì)量
85.針對(duì)軟件需求分析所進(jìn)行的軟件測試是指()A.集成測試 B.確認(rèn)測試
C.黑盒子測試 D.白盒子測試
87.結(jié)構(gòu)化程序設(shè)計(jì)采用的三種基本控制結(jié)構(gòu)是()A.順序、分支、選擇 B.選擇、循環(huán)、重復(fù) C.順序、選擇、循環(huán) D.輸入、變換、輸出
88.在軟件設(shè)計(jì)中詳細(xì)描述處理過程常用的三種工具是()A.SA,SD,SP B.程序流程圖,IPO,PAD C.SA,SC,SD D.圖形,表格,語言
89.通信內(nèi)聚、邏輯內(nèi)聚、順序內(nèi)聚和時(shí)間內(nèi)聚的內(nèi)聚性從高到低順序是()
A.通信、邏輯、順序、時(shí)間 B.通信、時(shí)間、順序、邏輯 C.順序、通信、時(shí)間、邏輯 D.順序、通信、邏輯、時(shí)間
90.在下列四種模塊的耦合性中,信息隱蔽性能最好的是()A.控制耦合 B.內(nèi)容耦合 C.標(biāo)記耦合 D.數(shù)據(jù)耦合
91.結(jié)構(gòu)化方法是一種()的軟件開發(fā)方法。A.面向用戶 B.面向數(shù)據(jù)結(jié)構(gòu) C.面向?qū)ο?D.面向數(shù)據(jù)流
92.需求分析是回答系統(tǒng)必須()的問題。A.做什么 B.怎么做 C.何時(shí)做 D.為誰做
93.在軟件生產(chǎn)的(),使用的工具主要是機(jī)器語言和匯編語言。A.程序系統(tǒng)時(shí)代 B.軟件工程時(shí)代 C.面向?qū)ο髸r(shí)代 D.人工智能時(shí)代
.維護(hù)中因刪除一個(gè)標(biāo)識(shí)符而引起的錯(cuò)識(shí)是 _________ 副作用。()A .文檔 B .?dāng)?shù)據(jù) C .編碼 D .設(shè)計(jì)
98.軟件維護(hù)的困難主要原因是()A .費(fèi)用低 B .人員少
C .開發(fā)方法的缺陷 D .維護(hù)難
.用白盒法技術(shù)設(shè)計(jì)測試用例的方法包括()A .錯(cuò)誤推測 B .因果圖
C .基本路徑測試 D .邊界值分析
100.軟件測試中根據(jù)測試用例設(shè)計(jì)的方法的不同可分為黑盒測試和白盒測試兩種,它們()
A .前者屬于靜態(tài)測試,后者屬于動(dòng)態(tài)測試 B .前者屬于動(dòng)態(tài)測試,后者屬于靜態(tài)測試 C .都屬于靜態(tài)測試 D .都屬于動(dòng)態(tài)測試
101.程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是()A .只能用來描述簡單程序 B .不能嵌套使用 C .單入口,單出口 D .僅用于自動(dòng)控制系統(tǒng) 102、代碼版本控制的基本操作不包括()A.檢入
B 檢出
C.刪除
D.更新
.當(dāng)一個(gè)模塊直接使用另一個(gè)模塊的內(nèi)部數(shù)據(jù),這種模塊之間的耦合為()
A .?dāng)?shù)據(jù)耦合 B .公共耦合 C .標(biāo)記耦合 D .內(nèi)容耦合 104 .軟件設(shè)計(jì)的方法有多種,_________ 方法不屬于面向數(shù)據(jù)流的設(shè)計(jì)方法。()
A .基于 Jackson 圖的設(shè)計(jì) B .基于 IDEF0圖的設(shè)計(jì) C .交換分析設(shè)計(jì) D .事務(wù)分析設(shè)計(jì) 105.為高質(zhì)量地開發(fā)軟件項(xiàng)目,在軟件結(jié)構(gòu)設(shè)計(jì)時(shí),必須遵循 _________ 原則。()
A .信息隱蔽 B .質(zhì)量控制 C .程序優(yōu)化 D .?dāng)?shù)據(jù)共享
107.螺旋模型是一種將瀑布模型和 _________ 結(jié)合起來的軟件開發(fā)模型。()
A .增量模型 B .專家系統(tǒng) C .噴泉模型 D .變換模型
108.需求規(guī)格說明書的作用不包括()A .軟件驗(yàn)收的依據(jù)
B .用戶與開發(fā)人員對(duì)軟件要做什么的共同理解 C .軟件可行性研究的依據(jù) D .軟件設(shè)計(jì)的依據(jù)
109.?dāng)?shù)據(jù)字典是用來定義 _________ 中的各個(gè)成份的具體含義的。()A .流程圖 B .功能結(jié)構(gòu)圖 C .系統(tǒng)結(jié)構(gòu)圖 D .?dāng)?shù)據(jù)流圖
.在軟件生產(chǎn)的程序系統(tǒng)時(shí)代由于軟件規(guī)模擴(kuò)大和軟件復(fù)雜性提高等原因?qū)е铝耍ǎ?/p>
A .軟件危機(jī) B .軟件工程
C .程序設(shè)計(jì)革命 D .結(jié)構(gòu)化程序設(shè)計(jì)
.對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作()于對(duì)象的統(tǒng)一體中。A .結(jié)合 B .隱藏 C .封裝 D .抽象 117 .軟件調(diào)試技術(shù)包括()
A .邊界值分析 B .演繹法 C .循環(huán)覆蓋 D .集成測試 118 .瀑布模型的存在問題是()A .用戶容易參與開發(fā) B .缺乏靈活性
C .用戶與開發(fā)者易溝通 D .適用可變需求
.軟件測試方法中的靜態(tài)測試方法之一為()A .計(jì)算機(jī)輔助靜態(tài)分析 B .黑盒法 C .路徑覆蓋 D .邊界值分析
.軟件生命周期中所花費(fèi)用最多的階段是()
A .詳細(xì)設(shè)計(jì) B .軟件編碼 C .軟件測試 D .軟件維護(hù) 122 .程序的三種基本控制結(jié)構(gòu)是()A .過程、子程序和分程序 B .順序、選擇和重復(fù) C .遞歸、堆棧和隊(duì)列 D .調(diào)用、返回和轉(zhuǎn)移
.在詳細(xì)設(shè)計(jì)階段,經(jīng)常采用的工具有()A . PAD B . SA C . SC D . DFD 124 .詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的()
A .代碼的規(guī)模 B .運(yùn)行速度 C .質(zhì)量 D .可維護(hù)性 125 .需求分析中開發(fā)人員要從用戶那里了解()
A .軟件做什么 B .用戶使用界面 C .輸入的信息 D .軟件的規(guī)模 126 .結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()A. 程序的規(guī)模 B .程序的效率
C. 程序設(shè)計(jì)語言的先進(jìn)性 D .程序易讀性
.經(jīng)濟(jì)可行性研究的范圍包括()
A .資源有效性 B .管理制度 C .效益分析 D .開發(fā)風(fēng)險(xiǎn) 129 .可行性分析是在系統(tǒng)開發(fā)的早期所做的一項(xiàng)重要的論證工作,它是決定該系統(tǒng)是否開 發(fā)的決策依據(jù),因必須給出()的回答。A .確定 B.行或不行 C.正確 D.無二義 130 .需求分析階段的任務(wù)是確定()A. 軟件開發(fā)方法 B. 軟件開發(fā)工具 C. 軟件開發(fā)費(fèi) D.軟件系統(tǒng)的功能
134.信息隱蔽概念與()這一概念直接的相關(guān)。A.模塊的獨(dú)立性 B.模塊類型的劃分 C.軟件結(jié)構(gòu)定義 D.軟件生命周期
135.在軟件的概要設(shè)計(jì)中,不使用的圖形工具是()圖。A.SC B.IPO C.PAD D.IDEF0
136.不屬于詳細(xì)設(shè)計(jì)的主要工具有()。A.IPO圖 B.PAD圖 C.PDL D.SC
137.不屬于序言性注釋的有()。A.模塊設(shè)計(jì)者 B.修改日期
C.程序的整體說明 D.語句功能
138.單元測試階段主要涉及()的文檔。A.需求設(shè)計(jì) B.編碼和詳細(xì)設(shè)計(jì) C.詳細(xì)設(shè)計(jì) D.概要設(shè)計(jì)
139.在軟件測試中,白盒測試方法是通過分析程序的()來設(shè)計(jì)測試用例的方法。
A.應(yīng)用范圍 B.內(nèi)部邏輯 C.功能 D.輸入數(shù)據(jù)
140.需求分析是分析員經(jīng)了解用戶的要求,認(rèn)真細(xì)致地調(diào)研、分析,最終建立目標(biāo)系統(tǒng)的邏輯模型并寫出()的過程。A.模塊說明書 B.軟件規(guī)格說明 C.項(xiàng)目開發(fā)計(jì)劃 D.合同文檔
141.數(shù)據(jù)耦合和控制耦合相比,則()成立。A.數(shù)據(jù)耦合的耦合性強(qiáng) B.控制耦合的耦合性強(qiáng)
C.兩者的耦合性相當(dāng) D.兩者的耦合性需要根據(jù)具體情況分析 142.魚是一種水生動(dòng)物。魚與水生生物之間的關(guān)系是()。A.分類關(guān)系 B.組裝關(guān)系 C.整體成員關(guān)系 D.has a 146 .用白盒法技術(shù)設(shè)計(jì)測試用例的方法包括()A .錯(cuò)誤推測 B .因果圖
C .基本路徑測試 D .邊界值分析 147 .軟件測試中根據(jù)測試用例設(shè)計(jì)的方法的不同可分為黑盒測試和白盒測試兩種,它們()
A .前者屬于靜態(tài)測試,后者屬于動(dòng)態(tài)測試 B .前者屬于動(dòng)態(tài)測試,后者屬于靜態(tài)測試 C .都屬于靜態(tài)測試 D .都屬于動(dòng)態(tài)測試
.當(dāng)一個(gè)模塊直接使用另一個(gè)模塊的內(nèi)部數(shù)據(jù),這種模塊之間的耦合為()
A .?dāng)?shù)據(jù)耦合 B .公共耦合 C .標(biāo)記耦合 D .內(nèi)容耦合 150.為高質(zhì)量地開發(fā)軟件項(xiàng)目,在軟件結(jié)構(gòu)設(shè)計(jì)時(shí),必須遵循 _________ 原則。()
A .信息隱蔽 B .質(zhì)量控制 C .程序優(yōu)化 D .?dāng)?shù)據(jù)共享
151 .螺旋模型是一種將瀑布模型和 _________ 結(jié)合起來的軟件開發(fā)模型。()
A .增量模型 B .專家系統(tǒng) C .噴泉模型 D .變換模型
152 .需求規(guī)格說明書的作用不包括()A .軟件驗(yàn)收的依據(jù)
B .用戶與開發(fā)人員對(duì)軟件要做什么的共同理解 C .軟件可行性研究的依據(jù) D .軟件設(shè)計(jì)的依據(jù)
157.單元測試階段主要涉及()的文檔。A.需求設(shè)計(jì) B.編碼和詳細(xì)設(shè)計(jì) C.詳細(xì)設(shè)計(jì) D.概要設(shè)計(jì)
158.在軟件測試中,白盒測試方法是通過分析程序的()來設(shè)計(jì)測試用例的方法。
A.應(yīng)用范圍 B.內(nèi)部邏輯 C.功能 D.輸入數(shù)據(jù)
159.需求分析是分析員經(jīng)了解用戶的要求,認(rèn)真細(xì)致地調(diào)研、分析,最終建立目標(biāo)系統(tǒng)的邏輯模型并寫出()的過程。A.模塊說明書 B.軟件規(guī)格說明
C.項(xiàng)目開發(fā)計(jì)劃 D.合同文檔
第四篇:軟件工程期末考試試題
一,單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)
在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請將正確選項(xiàng)前的字母填在題后的橫線上。
1.可行性研究要進(jìn)行一次_____需求分析。
A.詳細(xì)的 B.全面的 C.簡化的、壓縮的 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ì)過程中不采用。
A.判定表 B.IPO圖 C.PDL D.DFD圖 5.程序的三種基本控制結(jié)構(gòu)是
A.過程、子程序和分程序 B.順序、選擇和重復(fù)
C.遞歸、堆棧和隊(duì)列 D.調(diào)用、返回和轉(zhuǎn)移 6.程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是
A.不能嵌套使用 B.只能用來寫簡單程序
C.已經(jīng)用硬件實(shí)現(xiàn) D.只有一個(gè)入口和一個(gè)出口 7.產(chǎn)生軟件維護(hù)的副作用,是指
A.開發(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.可理解性和可測試性 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.在變更控制中,______可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。
A.異步控制 B.同步控制 C.存取控制 D.基線控制
12.變更控制是一項(xiàng)最重要的軟件配置任務(wù),其中“檢出”和______處理實(shí)現(xiàn)了兩個(gè)重要的變更控制要素,即存取控制和同步控制。
A.登入 B.管理 C.填寫變更要求 D.審查
13.提高軟件質(zhì)量和可靠的技術(shù)大致可分為兩大類:其中一類就是避開錯(cuò)誤技術(shù),但避開錯(cuò)誤技術(shù)無法做到完美無缺和絕無錯(cuò)誤,這就需要
A.消除錯(cuò)誤 B.檢測錯(cuò)誤 C.避開錯(cuò)誤 D.容錯(cuò) 14._____是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng)。
A.技術(shù)創(chuàng)新 B.測試 C.技術(shù)創(chuàng)造 D.技術(shù)評(píng)審 15.面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的方法和過程,盡可能接近于人類認(rèn)識(shí)世界解決問題的方法和過程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對(duì)象組成的;________;對(duì)象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。
A.開發(fā)過程基于功能分析和功能分解 B.強(qiáng)調(diào)需求分析重要性
C.把對(duì)象劃分成類,每個(gè)對(duì)象類都定義一組數(shù)據(jù)和方法 D.對(duì)既存類進(jìn)行調(diào)整
16.軟件開發(fā)過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫()
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ì)過程。
A.自外向內(nèi) B.自頂向下 C.自內(nèi)向外 D.自底向上 19.為了提高測試的效率,應(yīng)該()A.隨機(jī)地選取測試數(shù)據(jù) B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)
C.在完成編碼以后制定軟件的測試計(jì)劃
D.選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)
20.使用白盒測試方法時(shí),確定測試數(shù)據(jù)應(yīng)根據(jù)_______和指定的覆蓋標(biāo)準(zhǔn)。
A.程序的內(nèi)部邏輯 B.程序的復(fù)雜結(jié)構(gòu) C.使用說明書 D.程序的功能
1.C[解析]軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開發(fā),是否值得去開發(fā)。其實(shí)質(zhì)是要進(jìn)行一次簡化、壓縮了的需求分析、設(shè)計(jì)過程,要在較高層次上以較抽象的方式進(jìn)行需求分析和設(shè)計(jì)過程。因此答案為C。
2.A[解析]可行性研究首先要確定項(xiàng)目的規(guī)模和目標(biāo),然后就需要對(duì)當(dāng)前運(yùn)行的系統(tǒng)進(jìn)行研究了,在考察系統(tǒng)的基礎(chǔ)上,通過描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,與有關(guān)人員一起審查該系統(tǒng)流程圖是否正確。描述的對(duì)象是當(dāng)前正在運(yùn)行的系統(tǒng),因此選擇A。
3.C[解析]系統(tǒng)流程圖是用圖形符號(hào)來表示系統(tǒng)中的各個(gè)元素,例如人工處理、數(shù)據(jù)庫、設(shè)備等,流程圖表達(dá)了系統(tǒng)中各個(gè)元素之間的信息流動(dòng)情況。是描繪物理系統(tǒng)的傳統(tǒng)工具。
4.D[解析]詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結(jié)構(gòu)化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。IPO圖用來描述每個(gè)模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細(xì)情況。PDL是過程設(shè)計(jì)語言的縮寫,也稱程序描述語言,用于描述模塊算法設(shè)計(jì)和處理細(xì)節(jié)的語言,這三種都可以在軟件詳細(xì)設(shè)計(jì)過程中使用,而DFD圖則是數(shù)據(jù)流圖,是以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,只反映系統(tǒng)必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細(xì)設(shè)計(jì)過程中使用。
5.B[解析]程序的三種基本控制結(jié)構(gòu)是順序、選擇和循環(huán)(重復(fù))。子程序只是程序設(shè)計(jì)一種方法,遞歸則是一種算法,都算不上是控制結(jié)構(gòu)。6.D[解析]程序的特點(diǎn)就是從一個(gè)入口開始,最終以一個(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ì)語言修改源代碼時(shí)可能引入錯(cuò)誤,比如刪除或修改一個(gè)子程序、一個(gè)標(biāo)號(hào)、一個(gè)標(biāo)識(shí)符,改變程序代碼的時(shí)序關(guān)系,修改文件的打開或關(guān)閉等。因此本題答案為C。
9.A [解析]軟件的可維護(hù)性可用七個(gè)質(zhì)量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對(duì)于不同類型的維護(hù),這些特性的側(cè)重點(diǎn)也不相同,有一些可維護(hù)特性是可以相互促進(jìn)的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的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),用來描述現(xiàn)實(shí)世界中的一般化的抽象關(guān)系。后者稱為組裝結(jié)構(gòu),用來描述現(xiàn)實(shí)世界中的類的組成的抽象關(guān)系。汽車和發(fā)動(dòng)機(jī)的關(guān)系很明顯,應(yīng)該屬于整體——部分關(guān)系。
11.B[解析]變更控制包括建立控制點(diǎn)和建立報(bào)告與審查制度,其過程中的“檢出”和“登入”處理實(shí)現(xiàn)了存取控制和同步控制,存取控制管理各個(gè)用戶存取和修改一個(gè)特定軟件配置對(duì)象的權(quán)限,同步控制可用來確保由不同用戶所執(zhí)行任務(wù)的并發(fā)變更。
12.A[解析]“檢出”和“登入”處理實(shí)現(xiàn)了兩個(gè)重要的變更控制要素。具體說明見上題。
13.D[解析]提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類,一類是避開錯(cuò)誤技術(shù),即在開發(fā)的過程中不讓差錯(cuò)潛入軟件的技術(shù),另一類是容錯(cuò)技術(shù),即對(duì)某些無法避開的差錯(cuò),使其影響減至最小的技術(shù)
14.D[解析]技術(shù)評(píng)審是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng),是對(duì)軟件本身的結(jié)構(gòu)、與運(yùn)行環(huán)境的接口、變更帶來的影響等方面進(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ì)象彼此之間通過傳遞消息互相聯(lián)系。16.D[解析]面向?qū)ο蟮姆治龅倪^程就是認(rèn)識(shí)客觀世界的過程,其目的就是建立對(duì)客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。
17.A[解析]原型不同于最終系統(tǒng),它只實(shí)現(xiàn)所選擇的部分功能,僅是為了試驗(yàn)或是演示而用,部分功能需求可以忽略或者模擬實(shí)現(xiàn),因此適用于需求不確定性高的系統(tǒng)。
18.A[解析]原型化方法的基本思想是根據(jù)用戶給出的基本需求,通過快速實(shí)現(xiàn)構(gòu)造出一個(gè)小型的、可執(zhí)行的模型,用戶在計(jì)算機(jī)上實(shí)際運(yùn)行這個(gè)用戶界面原型,在試用過程中提出意見或建議,然后開發(fā)者再對(duì)原型進(jìn)行改進(jìn)。如此周而復(fù)始,逐步彌補(bǔ)不足之處,從而提高了最終產(chǎn)品的質(zhì)量。它是一種自外向內(nèi)的設(shè)計(jì)過程 19.D[解析]軟件測試是為了盡可能多的發(fā)現(xiàn)程序中的錯(cuò)誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。在選取測試用例時(shí),不可能進(jìn)行窮舉測試,在每一個(gè)細(xì)節(jié)進(jìn)行測試,也不能無目的地隨機(jī)選取測試數(shù)據(jù),為了提高測試的效率,測試用例應(yīng)該選擇發(fā)現(xiàn)錯(cuò)誤可能性大的部分,這樣的測試結(jié)果才符合軟件測試的目的。
20.A[解析]白盒測試是把測試對(duì)象看作一個(gè)打開的盒子,測試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過程,由于白盒測試是一種結(jié)構(gòu)測試,所以被測對(duì)象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標(biāo)準(zhǔn)確定測試數(shù)據(jù)。二,填空題(本大題共10小題,每小題2分,共20分)
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中各個(gè)元素表達(dá)了系統(tǒng)中各種元素之間的()情況。
22.成本效益分析的目的是從()角度評(píng)價(jià)開發(fā)一個(gè)項(xiàng)目是否可行。
23.自頂向下結(jié)合的漸增式測試法,在組合模塊時(shí)有兩種組合策略:深度優(yōu)先策略和()。
24.獨(dú)立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條()的邊的路徑。
25.匯編語言是面向()的,可以完成高級(jí)語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是()。
27.詳細(xì)設(shè)計(jì)的任務(wù)是確定每個(gè)模塊的內(nèi)部特性,即模塊的算法、()。
28.所有軟件維護(hù)申請報(bào)告要按規(guī)定方式提出,該報(bào)告也稱()報(bào)告。
29.有兩類維護(hù)技術(shù):在開發(fā)階段使用來減少錯(cuò)誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來提高維護(hù)的效率和質(zhì)量的()技術(shù)。
30.科學(xué)工程計(jì)算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計(jì)算,可供選擇的語言有:()、PASCAL語言、C語言和PL/1語言。
21.解:信息流動(dòng)[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中的各個(gè)元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達(dá)了元素之間的信息流動(dòng)的情況。
22.解:經(jīng)濟(jì)[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評(píng)價(jià)開發(fā)一個(gè)新的軟件項(xiàng)目是否可行。
23.解:寬度優(yōu)先策略[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動(dòng)模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個(gè)模塊集成在一起。
24.解:在其他獨(dú)立路徑中未有過[解析]在基本路徑測試中,以詳細(xì)設(shè)計(jì)或源程序?yàn)榛A(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計(jì)算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨(dú)立路徑的基本路徑圖,其中獨(dú)立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條在其他獨(dú)立路徑中未有過的邊的路徑。
25.解:機(jī)器[解析]匯編語言屬于低級(jí)語言,是一種面向機(jī)器的語言,它與高級(jí)語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計(jì)算機(jī)硬件特性直接控制硬件設(shè)備的唯一語言。
26.解:中間數(shù)據(jù)結(jié)構(gòu)或中間文件[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(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ù)庫進(jìn)行物理設(shè)計(jì)等。
28.解:軟件問題[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請報(bào)告,也稱為軟件問題報(bào)告,它是維護(hù)階段的一種文檔,由申請維護(hù)的用戶填寫。29.解:維護(hù)支援[解析]面向維護(hù)的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯(cuò)誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯(cuò)誤原因分析,維護(hù)方案評(píng)價(jià)等項(xiàng),是在軟件維護(hù)階段用來提高維護(hù)效率和質(zhì)量的技術(shù)。30.解:FORTRAN語言[解析]計(jì)算機(jī)語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點(diǎn)也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計(jì)算機(jī)語言的科學(xué)計(jì)算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計(jì)算中常用的語言。
三,名詞解釋(本大題共5小題,每小題3分,共15分)
31.經(jīng)濟(jì)可行性
解:進(jìn)行開發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開發(fā)的項(xiàng)目是否值得投資開發(fā)。[解析]對(duì)于一個(gè)系統(tǒng)所必須要衡量的是經(jīng)濟(jì)上是否合算,經(jīng)濟(jì)可行性的范圍很廣,包括效益分析、潛在市場前景等。
32.社會(huì)可行性
解:要開發(fā)的項(xiàng)目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項(xiàng)目目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。[解析]社會(huì)可行性包括合同、責(zé)任、侵權(quán)等技術(shù)人員不甚了解的諸多問題。
33.投資回收期
解:投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。[解析]通常我們用投資回收期來衡量一個(gè)開發(fā)項(xiàng)目的價(jià)值,投資回收期越短,就越快獲得利潤。
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)沖突問題,對(duì)此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開來,建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個(gè)系統(tǒng)的整體。四,簡答題(本大題共4小題,每小題5分,共20分)
36.可行性研究報(bào)告的主要內(nèi)容有哪些?
解:一個(gè)可行性研究報(bào)告的主要內(nèi)容如下:(1)引言:說明編寫本文檔的目的;項(xiàng)目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。
(2)可行性研究前提:可行性研究前提。說明開發(fā)項(xiàng)目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。(3)對(duì)現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項(xiàng)費(fèi)用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。(4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對(duì)用戶的影響;對(duì)各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運(yùn)行環(huán)境的影響;對(duì)經(jīng)費(fèi)支出的影響;對(duì)技術(shù)可行性的評(píng)價(jià)。
(5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。
(6)社會(huì)因素可行性分析:說明法律因素,對(duì)合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。
(7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。
(8)結(jié)論意見:說明項(xiàng)目是否能開發(fā);還需要什么條件才能開發(fā);對(duì)項(xiàng)目目標(biāo)有什么變動(dòng)等。
[解析]做軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開發(fā),是否值得去開發(fā),其中的問題能否解決,報(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ù)庫組合在一起,不同數(shù)據(jù)存儲(chǔ)要在費(fèi)用、訪問時(shí)間、容量以及可靠性之間做折中考慮。
(5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅(qū)動(dòng)器等;空間,如盤空間、工作站屏等;邏輯名字,如對(duì)象標(biāo)識(shí)符、類名、文件名等。
如果資源是物理對(duì)象,則可以通過建立協(xié)議實(shí)現(xiàn)對(duì)并發(fā)系統(tǒng)的訪問,以達(dá)到自身控制;如果資源是邏輯實(shí)體,如對(duì)象標(biāo)識(shí)符,那么在共享環(huán)境中有沖突訪問的可能,如獨(dú)立的事務(wù)可能同時(shí)使用同一個(gè)對(duì)象標(biāo)識(shí)符,則各個(gè)全局資源都必須有一個(gè)保護(hù)對(duì)象,由保護(hù)對(duì)象來控制對(duì)該資源的訪問。
(6)選擇軟件控制機(jī)制。分析模型中所有交互行為都表示為對(duì)象之間的事件。系統(tǒng)設(shè)計(jì)必須從多種方法中選擇某種方法來實(shí)現(xiàn)軟件的控制。(7)人機(jī)交互接口設(shè)計(jì)。設(shè)計(jì)中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交互接口。
[解析]系統(tǒng)設(shè)計(jì)是問題求解及建立解答的高級(jí)策略。必須制定解決問題的基本方法,系統(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ù)雜的、大型的軟件開發(fā)項(xiàng)目提出來了,但是,軟件開發(fā)技術(shù)的進(jìn)步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。
軟件危機(jī)表現(xiàn)在以下四個(gè)方面:
(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延。由于缺乏軟件開發(fā)的經(jīng)驗(yàn)和軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計(jì)劃很難制定。主觀盲目制定計(jì)劃,執(zhí)行起來與實(shí)際情況有很大差距,使得開發(fā)經(jīng)費(fèi)一再突破。由于對(duì)工作量估計(jì)不足,對(duì)開發(fā)難度估計(jì)不足,進(jìn)度計(jì)劃無法按時(shí)完成,開發(fā)時(shí)間一再拖延。(2)開發(fā)的軟件不能滿足用戶要求。開發(fā)初期對(duì)用戶的要求了解不夠明確,未能得到明確的表達(dá)。開發(fā)工作開始后,軟件人員和用戶又未能及時(shí)交換意見,使得一些問題不能及時(shí)解決,導(dǎo)致開發(fā)的軟件不能滿足用戶的要求,因而導(dǎo)致開發(fā)失敗。(3)開發(fā)的軟件可維護(hù)性差。開發(fā)過程中沒有同意的、公認(rèn)的規(guī)范,軟件開發(fā)人員按各自的風(fēng)格工作,各行其是,開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進(jìn)行雜亂無章的修改。程序結(jié)構(gòu)不好,運(yùn)行時(shí)發(fā)現(xiàn)錯(cuò)誤也很難修改,導(dǎo)致維護(hù)性差。(4)開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質(zhì)量的體系和措施,在軟件測試時(shí),又沒有嚴(yán)格的、充分的、完全的測試,提交給用戶的軟件質(zhì)量差,在運(yùn)行中暴露出大量的問題。
造成軟件危機(jī)的原因是:(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。(2)軟件開發(fā)管理困難而復(fù)雜。(3)軟件開發(fā)費(fèi)用不斷增加。(4)軟件開發(fā)技術(shù)落后。(5)生產(chǎn)方式落后。(6)開發(fā)工具落后,生產(chǎn)率提高緩慢。
[解析]由于軟件危機(jī)的出現(xiàn),人們才開始用工程化的思想來開發(fā)軟件,從此,軟件生產(chǎn)才步入了軟件工程時(shí)代。
39.軟件質(zhì)量保證應(yīng)做好哪幾方面的工作?
解:軟件質(zhì)量保證是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好以下幾方面的工作:
(1)采用技術(shù)手段和工具。質(zhì)量保證活動(dòng)要貫徹開發(fā)過程始終,必須采用技術(shù)手段和工具,尤其是使用軟件開發(fā)環(huán)境來進(jìn)行軟件開發(fā)。(2)組織正式技術(shù)評(píng)審。在軟件開發(fā)的每一個(gè)階段結(jié)束時(shí),都要組織正式的技術(shù)評(píng)審。國家標(biāo)準(zhǔn)要求單位必須采用審查、文檔評(píng)審、設(shè)計(jì)評(píng)審、審計(jì)和測試等具體手段來保證質(zhì)量。(3)加強(qiáng)軟件測試。軟件測試是質(zhì)量保證的重要手段,因?yàn)闇y試可發(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.請使用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圖:
[解析]人工查找時(shí),是從第一個(gè)元素開始查找,用當(dāng)前元素與下一個(gè)元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。41.根據(jù)下列條件使用等價(jià)類劃分法設(shè)計(jì)測試用例。
某一8位微機(jī),其八進(jìn)制常數(shù)定義為:以零開頭的數(shù)是八進(jìn)制整數(shù),其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價(jià)類并編號(hào),如下表示:(4分)
(2)為合理等價(jià)類設(shè)計(jì)測試用例,表中有兩個(gè)合理等價(jià)類,設(shè)計(jì)兩個(gè)例子(2分)
(3)為不合理等價(jià)類測試用例,至少設(shè)計(jì)一個(gè)測試用例(2分)
[解析]等價(jià)類劃分屬于黑盒測試的一種,它將輸入數(shù)據(jù)域按有效的或無效的劃分成若干個(gè)等價(jià)類,測試每個(gè)等價(jià)類的代表值就等于對(duì)該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個(gè)合理等價(jià)類,9個(gè)不合理等價(jià)類進(jìn)行測試,取到了預(yù)期的效果。
42.某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個(gè)計(jì)算機(jī)輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號(hào)、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計(jì)劃。
(2)根據(jù)車間實(shí)際生產(chǎn)日報(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)來的組裝計(jì)劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計(jì),產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計(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),即將來程序的控制層次體系,軟件結(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。
第五篇:軟件工程期末考試總結(jié)
一、1、1968年“軟件工程”誕生。
2、軟件定義:軟件是程序、數(shù)據(jù) 相關(guān)文檔的完整結(jié)合。其中,程序是能夠完成預(yù)訂功能和性能的可執(zhí)行的指令序列;數(shù)據(jù)是使程序能夠適當(dāng)?shù)奶幚硇畔⒌臄?shù)據(jù)結(jié)構(gòu);文檔是開發(fā)、使用和維護(hù)程序所需要的圖文資料。
3、為了解決軟件危機(jī),技術(shù)措施(方法和工具),組織管理措施
4、軟件工程:軟件工程是(1)把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)過程,也就是把工程應(yīng)用于軟件;(2)研究(1)中提到的途徑。
5、軟件工程是從管理和技術(shù)兩方面
6、軟件工程的本質(zhì)特性:(1)軟件工程關(guān)注于大型程序的構(gòu)造;(2)專揀工程的中心課題是控制復(fù)雜性;
(3)軟件經(jīng)常變化;(4)開發(fā)軟件的效率非常重要;(5)和諧的合作是開發(fā)軟件的關(guān)鍵;(6)軟件必須有效的支持它的用戶;(7)在軟件工程領(lǐng)域中通常由具有一種文化背景的人替具有另外一種文化背景的人創(chuàng)造產(chǎn)品。
7、軟件工程的7條基本原理:(1)用分階段的生命周期計(jì)劃嚴(yán)格管理;(2)堅(jiān)持進(jìn)行階段評(píng)審;(3)實(shí)行嚴(yán)格的產(chǎn)品控制;(4)采用現(xiàn)代程序設(shè)計(jì)技術(shù);(5)結(jié)果應(yīng)能清楚的審查;(6)開發(fā)小組的人員應(yīng)該少而精;(7)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。
8、軟件工程包括(技術(shù)和管理)兩方面內(nèi)容,是技術(shù)與管理緊密結(jié)合所形成的工程學(xué)科。
9、軟件工程方法學(xué)包括三個(gè)要素:方法、工具和過程。
10、CASE計(jì)算機(jī)輔助軟件工程
11、軟件的生命周期由 軟件定義、軟件開發(fā)和運(yùn)行維護(hù)(軟件維護(hù))3個(gè)時(shí)期組成。
12、軟件生命周期每個(gè)階段的基本任務(wù):(1)問題定義:必須回答的關(guān)鍵問題是:“要解決的問題是什么?”性質(zhì)規(guī)??偰繕?biāo);(2)可行性研究:要回答的關(guān)鍵問題是:“對(duì)于上一個(gè)階段所確定的問題有行得通的解決辦法嗎?”可解?值得解?(3)需求分析:這個(gè)階段的任務(wù)不是具體的解決問題,而是準(zhǔn)確的確定“為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須做什么”,主要是確定目標(biāo)系統(tǒng)必須具備哪些功能需求規(guī)格說明書(4)總體設(shè)計(jì):這個(gè)階段必須回答的關(guān)鍵問題是:“概括地說,應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?”(總體設(shè)計(jì)又稱概要設(shè)計(jì))軟件結(jié)構(gòu)圖(5)詳細(xì)設(shè)計(jì):把解法具體化,也就是回答下面這個(gè)關(guān)鍵問題:“應(yīng)該怎樣具體的實(shí)現(xiàn)這個(gè)系統(tǒng)呢?”算法、數(shù)據(jù)結(jié)構(gòu)(6)編碼和單元測試:關(guān)鍵任務(wù)是寫出正確的容易理解、容易維護(hù)的程序模塊(7)綜合測試:關(guān)鍵任務(wù)是通過各種類型的測試(及相應(yīng)的調(diào)試)使軟件達(dá)到預(yù)定的要求(最基本的測試是集成測試和驗(yàn)收測試)。
13、軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,他規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。用生命周期模型描述它。
15、過程模型:生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個(gè)階段的執(zhí)行順序,因此,也成為過程模型。
16、瀑布模型是唯一被廣泛采用的且現(xiàn)在仍是應(yīng)用最廣泛的過程模型。
17、增量模型:也稱漸增模型,適用于能在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品。
18、螺旋模型:適用于內(nèi)部開發(fā)的大規(guī)模軟件項(xiàng)目。
二
1、可行性研究的目的:就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能解決。
2、研究每種解法的可行性從三個(gè)方面:(1)技術(shù)可行性(2)經(jīng)濟(jì)可行性(3)操作可行性
3、系統(tǒng)流程圖是概括的描繪 物理系統(tǒng) 的傳統(tǒng)工具。
數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示。
4、數(shù)據(jù)字典的作用:在軟件分析和設(shè)計(jì)過程中給人提供關(guān)于數(shù)據(jù)的描述信息。
5、系統(tǒng)的邏輯模型由(數(shù)據(jù)流圖和數(shù)據(jù)字典)共同構(gòu)成,沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格,沒有數(shù)據(jù)流圖,數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流圖中每個(gè)元素的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。
5、數(shù)據(jù)字典由4類元素的定義組成:數(shù)據(jù)流、數(shù)據(jù)流分量、數(shù)據(jù)存儲(chǔ)、處理,但是對(duì)數(shù)據(jù)處理的定義用
其他工具(IPO圖或PDL)描述更方便。
三
1、需求分析:把用戶關(guān)于軟件的期望和想法,轉(zhuǎn)變成軟件開發(fā)人員需要的關(guān)于該軟件的規(guī)格說明。
2、需求分析過程應(yīng)該建立的3種模型:數(shù)據(jù)模型、功能模型和行為模型
3、實(shí)體-聯(lián)系圖是用于建立數(shù)據(jù)模型的圖形,數(shù)據(jù)流圖是建立功能模型的基礎(chǔ),狀態(tài)轉(zhuǎn)換圖是行為建模的基礎(chǔ)。
4、實(shí)體-聯(lián)系圖符號(hào):矩形框代表實(shí)體,用連接實(shí)體的菱形框表示關(guān)系,用橢圓形或圓角矩形表示實(shí)體(或關(guān)系)的屬性,用直線把實(shí)體(或關(guān)系)與其屬性連接起來。
5、狀態(tài)轉(zhuǎn)換圖:初態(tài)、終態(tài)和中間態(tài)。
6、在一張狀態(tài)圖中只能有一個(gè)初態(tài),終態(tài)有0至多個(gè)。初態(tài)用實(shí)心圓,終態(tài)用一對(duì)同心圓(內(nèi)為實(shí)心圓),中間態(tài)用圓角矩形。
8、IPO圖是輸入、處理、輸出圖的簡稱,它是由美國IBM公司發(fā)展完善起來的一種圖形工具,能夠方便的描繪輸入數(shù)據(jù)、對(duì)數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系。
9、從以下4個(gè)方面驗(yàn)證軟件需求的正確性:(1)一致性 所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾(2)完整性 需求必須是完整的,規(guī)格說明書應(yīng)該包括用戶需要的每一個(gè)功能或性能(3)現(xiàn)實(shí)性 指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的(4)有效性 必須證明需求是正確有效的,確實(shí)能解決用戶面對(duì)的問題
五
10、總體設(shè)計(jì)階段主要內(nèi)容:設(shè)計(jì)軟件結(jié)構(gòu)和設(shè)計(jì)數(shù)據(jù)庫
11、耦合:耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。
12、耦合設(shè)計(jì)原則:盡量少使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合13、內(nèi)聚:內(nèi)聚標(biāo)志著一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。功能內(nèi)聚10偶然內(nèi)聚014、“高內(nèi)聚,低耦合”
15、啟發(fā)規(guī)則:(1)改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性(2)模塊規(guī)模應(yīng)該適中(3)深度、寬度、扇出和扇入都應(yīng)適當(dāng)【深度:表示軟件結(jié)構(gòu)中控制的層數(shù),它往往能粗略的標(biāo)志一個(gè)系統(tǒng)的大小和復(fù)雜程度;寬度:是軟件結(jié)構(gòu)內(nèi)同一個(gè)層次上的模塊總數(shù)的最大值;扇出:是一個(gè)模塊直接控制的模塊數(shù)目;扇入:表明有多少個(gè)上級(jí)模塊直接調(diào)用它】(4)模塊的作用域應(yīng)該在控制域之內(nèi)【模塊的作用域:受該模塊內(nèi)一個(gè)判定影響的所有模塊的集合。模塊的控制域:是這個(gè)模塊本身以及所有直接或間接從屬于它的模塊集合?!浚?)力爭降低模塊接口的復(fù)雜程度(6)設(shè)計(jì)單入口單出口的模塊(7)模塊功能應(yīng)該可以預(yù)測。
16、描繪軟件結(jié)構(gòu)的圖形工具:層次圖和結(jié)構(gòu)圖。
17、層次圖用來描繪軟件的層次結(jié)構(gòu)(作為描繪軟件結(jié)構(gòu)的文檔)。
18、信息流的兩種類型:變換流和事務(wù)流
19、變換流:信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)過加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。當(dāng)系統(tǒng)具有這些特征時(shí),這種信息流就叫做變換流。
20、事務(wù)流:數(shù)據(jù)沿輸入通路到達(dá)一個(gè)處理T,這個(gè)處理根據(jù)輸入數(shù)據(jù)的類型在若干個(gè)動(dòng)作序列中選出一個(gè)來執(zhí)行,這類數(shù)據(jù)成為事務(wù)流,處理T叫做事務(wù)中心。
六、詳細(xì)設(shè)計(jì)
21、結(jié)構(gòu)程序設(shè)計(jì)的經(jīng)典定義:如果一個(gè)程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的。
七、實(shí)現(xiàn)
1、高級(jí)語言寫程序比用匯編語言寫程序生產(chǎn)率可以提高好幾倍,而且高級(jí)語言寫的程序容易閱讀,容易
測試,容易調(diào)試,容易維護(hù)。所以高級(jí)語言明顯優(yōu)于匯編語言。
2、實(shí)現(xiàn):編碼和測試統(tǒng)稱為實(shí)現(xiàn)。
3、編碼:就是把軟件設(shè)計(jì)結(jié)果翻譯成用某種程序設(shè)計(jì)語言書寫的程序
4、軟件測試:是保證軟件質(zhì)量的關(guān)鍵步驟,它是對(duì)軟件規(guī)格說明、設(shè)計(jì)和編碼的最后復(fù)審。
5、測試的目的:在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多的發(fā)現(xiàn)軟件中的錯(cuò)誤(發(fā)現(xiàn)軟件中的錯(cuò)誤)。
6、調(diào)試是在測試發(fā)現(xiàn)錯(cuò)誤之后排除錯(cuò)誤的過程。
7、軟件測試的目標(biāo)或定義:(1)測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程。(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試方案(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試。
8、測試的目的是暴露程序中的錯(cuò)誤由程序的編寫者自己進(jìn)行測試是不恰當(dāng)?shù)?,測試階段通常由其他人員組成測試小組來完成測試工作。
9、邏輯覆蓋:是對(duì)一系列測試過程的總稱這組測試過程逐漸進(jìn)行越來越完整的通路測試。
10、語句覆蓋:選擇足夠多的測試數(shù)據(jù),使被測程序中每個(gè)語句至少執(zhí)行一次(語句覆蓋是很弱的邏輯覆蓋)。
11、判定覆蓋(分支覆蓋):不僅每個(gè)語句必須至少執(zhí)行一次,而且每個(gè)判定的沒種可能的結(jié)果都應(yīng)該至少執(zhí)行一次,也就是每個(gè)判定的每個(gè)分支都至少執(zhí)行一次。(比語句覆蓋強(qiáng))
12、條件覆蓋:不僅每個(gè)語句至少執(zhí)行一次,而且使判定表達(dá)式中的每個(gè)條件都取到各種可能的結(jié)果(比判定覆蓋強(qiáng))。
13、判定/條件覆蓋:選取足夠多的測試數(shù)據(jù),使得判定表達(dá)式中的每個(gè)條件都取到各種可能的值,而且每個(gè)判定表達(dá)式也都取到各種可能的結(jié)果(有時(shí)不必條件判定強(qiáng))。
14、條件組合覆蓋:是更強(qiáng)的邏輯覆蓋,它要求選取足夠多的測試數(shù)據(jù),使得每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。
15、點(diǎn)覆蓋:如果連通圖G的子圖G’是連通的,而且包含G的所有節(jié)點(diǎn),則稱G’是G 的點(diǎn)覆蓋。(要求:選取足夠多的測試數(shù)據(jù),使得程序執(zhí)行路徑至少經(jīng)過流圖的每個(gè)節(jié)點(diǎn)一次(與語句覆蓋標(biāo)準(zhǔn)相同)。)
16、邊覆蓋:如果連通圖G的子圖G”是連通的,而且包含G的所有邊,則稱G”是G 的點(diǎn)覆蓋(要求:選取足夠多的測試數(shù)據(jù),使得程序執(zhí)行路徑至少經(jīng)過流圖中每條邊一次(與判定覆蓋相同)。)。
17、路徑覆蓋:選取足夠多的測試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次。
18、控制結(jié)構(gòu)測試包括:基本路徑測試、條件測試、循環(huán)測試。
19、黑盒測試力圖發(fā)現(xiàn)下述類型的錯(cuò)誤:(1)功能不正確或遺漏了功能(2)界面錯(cuò)誤(3)數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部數(shù)據(jù)庫訪問錯(cuò)誤(4)性能錯(cuò)誤(5)初始化和終止錯(cuò)誤
20、黑盒測試外部,白盒測試內(nèi)部。
八、維護(hù)
軟件維護(hù)就是在軟件已經(jīng)交付使用后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程。
把診斷和改正錯(cuò)誤的過程稱為改正性維護(hù)。
適應(yīng)性維護(hù):為了和變化了的環(huán)境適當(dāng)?shù)呐浜隙M(jìn)行的修改軟件的活動(dòng),是即必要有經(jīng)常的維護(hù)活動(dòng)。完善性維護(hù)、預(yù)防性維護(hù)。