第一篇:軟件工程期末考試試題
一,單項選擇題(本大題共20小題,每小題1分,共20分)
在每小題列出的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的橫線上。
1.可行性研究要進行一次_____需求分析。
A.詳細的 B.全面的 C.簡化的、壓縮的 D.徹底的 2.系統(tǒng)流程圖用于可行性分析中的_____的描述。
A.當前運行系統(tǒng) B.當前邏輯模型 C.目標系統(tǒng) D.新系統(tǒng) 3.系統(tǒng)流程圖是描述_____的工具。
A.邏輯系統(tǒng)B.程序系統(tǒng)C.體系結(jié)構(gòu)D.物理系統(tǒng) 4._______工具在軟件詳細設(shè)計過程中不采用。
A.判定表 B.IPO圖 C.PDL D.DFD圖 5.程序的三種基本控制結(jié)構(gòu)是
A.過程、子程序和分程序 B.順序、選擇和重復(fù)
C.遞歸、堆棧和隊列 D.調(diào)用、返回和轉(zhuǎn)移 6.程序的三種基本控制結(jié)構(gòu)的共同特點是
A.不能嵌套使用 B.只能用來寫簡單程序
C.已經(jīng)用硬件實現(xiàn) D.只有一個入口和一個出口 7.產(chǎn)生軟件維護的副作用,是指
A.開發(fā)時的錯誤 B.隱含的錯誤
C.因修改軟件而造成的錯誤 D.運行時誤操作
8.維護中,因誤刪除一個標識符而引起的錯誤是_________副作用。
A.文檔 B.數(shù)據(jù) C.編碼 D.設(shè)計 9.可維護性的特性中相互促進的是
A.可理解性和可測試性 B.效率和可移植性 C.效率和可修改性
D.效率和結(jié)構(gòu)好
10.汽車有一個發(fā)動機。汽車和發(fā)動機之間的關(guān)系是_____關(guān)系。
A.一般具體 B.整體部分 C.分類關(guān)系 D.主從關(guān)系
11.在變更控制中,______可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。
A.異步控制 B.同步控制 C.存取控制 D.基線控制
12.變更控制是一項最重要的軟件配置任務(wù),其中“檢出”和______處理實現(xiàn)了兩個重要的變更控制要素,即存取控制和同步控制。
A.登入 B.管理 C.填寫變更要求 D.審查
13.提高軟件質(zhì)量和可靠的技術(shù)大致可分為兩大類:其中一類就是避開錯誤技術(shù),但避開錯誤技術(shù)無法做到完美無缺和絕無錯誤,這就需要
A.消除錯誤 B.檢測錯誤 C.避開錯誤 D.容錯 14._____是以提高軟件質(zhì)量為目的的技術(shù)活動。
A.技術(shù)創(chuàng)新 B.測試 C.技術(shù)創(chuàng)造 D.技術(shù)評審 15.面向?qū)ο蠓椒▽W(xué)的出發(fā)點和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計和實現(xiàn)一個軟件系統(tǒng)的方法和過程,盡可能接近于人類認識世界解決問題的方法和過程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對象組成的;________;對象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。
A.開發(fā)過程基于功能分析和功能分解 B.強調(diào)需求分析重要性
C.把對象劃分成類,每個對象類都定義一組數(shù)據(jù)和方法 D.對既存類進行調(diào)整
16.軟件開發(fā)過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫()
A.生存期 B.面向?qū)ο笤O(shè)計 C.面向?qū)ο蟪绦蛟O(shè)計 D.面向?qū)ο蠓治?/p>
17.原型化方法是用戶和設(shè)計者之間執(zhí)行的一種交互構(gòu)成,適用于______系統(tǒng)。
A.需求不確定性高的 B.需求確定的 C.管理信息 D.實時 18.原型化方法是一種_______型的設(shè)計過程。
A.自外向內(nèi) B.自頂向下 C.自內(nèi)向外 D.自底向上 19.為了提高測試的效率,應(yīng)該()A.隨機地選取測試數(shù)據(jù) B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)
C.在完成編碼以后制定軟件的測試計劃
D.選擇發(fā)現(xiàn)錯誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)
20.使用白盒測試方法時,確定測試數(shù)據(jù)應(yīng)根據(jù)_______和指定的覆蓋標準。
A.程序的內(nèi)部邏輯 B.程序的復(fù)雜結(jié)構(gòu) C.使用說明書 D.程序的功能
1.C[解析]軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得去開發(fā)。其實質(zhì)是要進行一次簡化、壓縮了的需求分析、設(shè)計過程,要在較高層次上以較抽象的方式進行需求分析和設(shè)計過程。因此答案為C。
2.A[解析]可行性研究首先要確定項目的規(guī)模和目標,然后就需要對當前運行的系統(tǒng)進行研究了,在考察系統(tǒng)的基礎(chǔ)上,通過描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,與有關(guān)人員一起審查該系統(tǒng)流程圖是否正確。描述的對象是當前正在運行的系統(tǒng),因此選擇A。
3.C[解析]系統(tǒng)流程圖是用圖形符號來表示系統(tǒng)中的各個元素,例如人工處理、數(shù)據(jù)庫、設(shè)備等,流程圖表達了系統(tǒng)中各個元素之間的信息流動情況。是描繪物理系統(tǒng)的傳統(tǒng)工具。
4.D[解析]詳細描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結(jié)構(gòu)化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。IPO圖用來描述每個模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細情況。PDL是過程設(shè)計語言的縮寫,也稱程序描述語言,用于描述模塊算法設(shè)計和處理細節(jié)的語言,這三種都可以在軟件詳細設(shè)計過程中使用,而DFD圖則是數(shù)據(jù)流圖,是以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,只反映系統(tǒng)必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細設(shè)計過程中使用。
5.B[解析]程序的三種基本控制結(jié)構(gòu)是順序、選擇和循環(huán)(重復(fù))。子程序只是程序設(shè)計一種方法,遞歸則是一種算法,都算不上是控制結(jié)構(gòu)。6.D[解析]程序的特點就是從一個入口開始,最終以一個出口結(jié)束,其間可以用順序,選擇和循環(huán)方式對程序的流向進行控制。三種結(jié)構(gòu)可以寫出非常復(fù)雜的程序,而且選擇和循環(huán)都可以嵌套設(shè)計。
7.C [解析]因修改軟件而造成的錯誤或其他不希望出現(xiàn)的情況稱為維護的副作用,包括編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。只有答案C是正確的表述。
8.C[解析]編碼副作用指的是在使用程序設(shè)計語言修改源代碼時可能引入錯誤,比如刪除或修改一個子程序、一個標號、一個標識符,改變程序代碼的時序關(guān)系,修改文件的打開或關(guān)閉等。因此本題答案為C。
9.A [解析]軟件的可維護性可用七個質(zhì)量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護,這些特性的側(cè)重點也不相同,有一些可維護特性是可以相互促進的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結(jié)構(gòu)好則不屬于可維護性的特征。
10.B [解析]類有兩種主要的結(jié)構(gòu)關(guān)系,即一般——具體結(jié)構(gòu)關(guān)系和整體——部分結(jié)構(gòu)關(guān)系。前者稱為分類結(jié)構(gòu),用來描述現(xiàn)實世界中的一般化的抽象關(guān)系。后者稱為組裝結(jié)構(gòu),用來描述現(xiàn)實世界中的類的組成的抽象關(guān)系。汽車和發(fā)動機的關(guān)系很明顯,應(yīng)該屬于整體——部分關(guān)系。
11.B[解析]變更控制包括建立控制點和建立報告與審查制度,其過程中的“檢出”和“登入”處理實現(xiàn)了存取控制和同步控制,存取控制管理各個用戶存取和修改一個特定軟件配置對象的權(quán)限,同步控制可用來確保由不同用戶所執(zhí)行任務(wù)的并發(fā)變更。
12.A[解析]“檢出”和“登入”處理實現(xiàn)了兩個重要的變更控制要素。具體說明見上題。
13.D[解析]提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類,一類是避開錯誤技術(shù),即在開發(fā)的過程中不讓差錯潛入軟件的技術(shù),另一類是容錯技術(shù),即對某些無法避開的差錯,使其影響減至最小的技術(shù)
14.D[解析]技術(shù)評審是以提高軟件質(zhì)量為目的的技術(shù)活動,是對軟件本身的結(jié)構(gòu)、與運行環(huán)境的接口、變更帶來的影響等方面進行的評審活動。
15.C[解析]面向?qū)ο蠓椒ㄓ兴膫€特征,分別是對象唯一性、分類性、繼承性和多態(tài)性。其中分類性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類,每個類是具有相同性質(zhì)的個體集合,而每個對象相關(guān)類的實例,對象彼此之間通過傳遞消息互相聯(lián)系。16.D[解析]面向?qū)ο蟮姆治龅倪^程就是認識客觀世界的過程,其目的就是建立對客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。
17.A[解析]原型不同于最終系統(tǒng),它只實現(xiàn)所選擇的部分功能,僅是為了試驗或是演示而用,部分功能需求可以忽略或者模擬實現(xiàn),因此適用于需求不確定性高的系統(tǒng)。
18.A[解析]原型化方法的基本思想是根據(jù)用戶給出的基本需求,通過快速實現(xiàn)構(gòu)造出一個小型的、可執(zhí)行的模型,用戶在計算機上實際運行這個用戶界面原型,在試用過程中提出意見或建議,然后開發(fā)者再對原型進行改進。如此周而復(fù)始,逐步彌補不足之處,從而提高了最終產(chǎn)品的質(zhì)量。它是一種自外向內(nèi)的設(shè)計過程 19.D[解析]軟件測試是為了盡可能多的發(fā)現(xiàn)程序中的錯誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。在選取測試用例時,不可能進行窮舉測試,在每一個細節(jié)進行測試,也不能無目的地隨機選取測試數(shù)據(jù),為了提高測試的效率,測試用例應(yīng)該選擇發(fā)現(xiàn)錯誤可能性大的部分,這樣的測試結(jié)果才符合軟件測試的目的。
20.A[解析]白盒測試是把測試對象看作一個打開的盒子,測試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過程,由于白盒測試是一種結(jié)構(gòu)測試,所以被測對象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標準確定測試數(shù)據(jù)。二,填空題(本大題共10小題,每小題2分,共20分)
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達了系統(tǒng)中各種元素之間的()情況。
22.成本效益分析的目的是從()角度評價開發(fā)一個項目是否可行。
23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和()。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條()的邊的路徑。
25.匯編語言是面向()的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是()。
27.詳細設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、()。
28.所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱()報告。
29.有兩類維護技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術(shù);在維護階段用來提高維護的效率和質(zhì)量的()技術(shù)。
30.科學(xué)工程計算需要大量的標準庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:()、PASCAL語言、C語言和PL/1語言。
21.解:信息流動[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達了元素之間的信息流動的情況。
22.解:經(jīng)濟[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進行比較和權(quán)衡,其目的是從經(jīng)濟角度評價開發(fā)一個新的軟件項目是否可行。
23.解:寬度優(yōu)先策略[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個模塊集成在一起。
24.解:在其他獨立路徑中未有過[解析]在基本路徑測試中,以詳細設(shè)計或源程序為基礎(chǔ),導(dǎo)出控制流程圖的拓撲結(jié)構(gòu)——程序圖,在計算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。
25.解:機器[解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設(shè)備的唯一語言。
26.解:中間數(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.解:使用的數(shù)據(jù)[解析]詳細設(shè)計的基本任務(wù)是為每個模塊進行詳細的算法設(shè)計,為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進行設(shè)計,確定每個模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進行物理設(shè)計等。
28.解:軟件問題[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。29.解:維護支援[解析]面向維護的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術(shù)則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質(zhì)量的技術(shù)。30.解:FORTRAN語言[解析]計算機語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計算機語言的科學(xué)計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。
三,名詞解釋(本大題共5小題,每小題3分,共15分)
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)的整體。四,簡答題(本大題共4小題,每小題5分,共20分)
36.可行性研究報告的主要內(nèi)容有哪些?
解:一個可行性研究報告的主要內(nèi)容如下:(1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。
(2)可行性研究前提:可行性研究前提。說明開發(fā)項目的功能、性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決定可行性的主要因素。(3)對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負荷;各項費用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。(4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對用戶的影響;對各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運行環(huán)境的影響;對經(jīng)費支出的影響;對技術(shù)可行性的評價。
(5)所建議系統(tǒng)的經(jīng)濟可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。
(6)社會因素可行性分析:說明法律因素,對合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。
(7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。
(8)結(jié)論意見:說明項目是否能開發(fā);還需要什么條件才能開發(fā);對項目目標有什么變動等。
[解析]做軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得去開發(fā),其中的問題能否解決,報告共分為八個基本內(nèi)容。
37.系統(tǒng)設(shè)計的內(nèi)容是什么?
解:系統(tǒng)設(shè)計階段先從高層入手,然后細化。系統(tǒng)設(shè)計要決定整個結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計階段的更詳細策略的設(shè)計提供了基礎(chǔ)。
(1)系統(tǒng)分解。系統(tǒng)中主要的組成部分稱為子系統(tǒng),子系統(tǒng)既不是一個對象也不是一個功能,而是類、關(guān)聯(lián)、操作、時間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊。
(2)確定并發(fā)性。分析模型、現(xiàn)實世界及硬件中不少對象均是并發(fā)的。系統(tǒng)設(shè)計的一個重要目標就是確定哪些是必須同時動作的對象,哪些不是同時動作的對象。后者可以放在一起,而綜合成單個控制線或任務(wù)。
(3)處理器及任務(wù)分配。各并發(fā)子系統(tǒng)必須分配給單個硬件單元,要么是一個一般的處理器,要么是一個具體的功能單元,必須完成下面的工作:估計性能要求和資源需求,選擇實現(xiàn)子系統(tǒng)的硬軟件,將軟件子系統(tǒng)分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實現(xiàn)各子系統(tǒng)的各物理單元的連接。(4)數(shù)據(jù)存儲管理。系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲管理是一項重要的任務(wù)。通常各數(shù)據(jù)存儲可以將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫組合在一起,不同數(shù)據(jù)存儲要在費用、訪問時間、容量以及可靠性之間做折中考慮。
(5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅(qū)動器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標識符、類名、文件名等。
如果資源是物理對象,則可以通過建立協(xié)議實現(xiàn)對并發(fā)系統(tǒng)的訪問,以達到自身控制;如果資源是邏輯實體,如對象標識符,那么在共享環(huán)境中有沖突訪問的可能,如獨立的事務(wù)可能同時使用同一個對象標識符,則各個全局資源都必須有一個保護對象,由保護對象來控制對該資源的訪問。
(6)選擇軟件控制機制。分析模型中所有交互行為都表示為對象之間的事件。系統(tǒng)設(shè)計必須從多種方法中選擇某種方法來實現(xiàn)軟件的控制。(7)人機交互接口設(shè)計。設(shè)計中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交互接口。
[解析]系統(tǒng)設(shè)計是問題求解及建立解答的高級策略。必須制定解決問題的基本方法,系統(tǒng)的高層結(jié)構(gòu)形式包括子系統(tǒng)的分解、它的固有并發(fā)性、子系統(tǒng)分配給硬軟件、數(shù)據(jù)存儲管理、資源協(xié)調(diào)、軟件控制實現(xiàn)、人機交互接口。
38.什么是軟件危機?軟件危機的表現(xiàn)是什么?其產(chǎn)生的原因是什么?
解:軟件發(fā)展第二階段的末期,由于計算機硬件技術(shù)的進步,計算機運行速度、容量、可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計算機的廣泛應(yīng)用創(chuàng)造了條件。一些復(fù)雜的、大型的軟件開發(fā)項目提出來了,但是,軟件開發(fā)技術(shù)的進步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危機。
軟件危機表現(xiàn)在以下四個方面:
(1)經(jīng)費預(yù)算經(jīng)常突破,完成時間一再拖延。由于缺乏軟件開發(fā)的經(jīng)驗和軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計劃很難制定。主觀盲目制定計劃,執(zhí)行起來與實際情況有很大差距,使得開發(fā)經(jīng)費一再突破。由于對工作量估計不足,對開發(fā)難度估計不足,進度計劃無法按時完成,開發(fā)時間一再拖延。(2)開發(fā)的軟件不能滿足用戶要求。開發(fā)初期對用戶的要求了解不夠明確,未能得到明確的表達。開發(fā)工作開始后,軟件人員和用戶又未能及時交換意見,使得一些問題不能及時解決,導(dǎo)致開發(fā)的軟件不能滿足用戶的要求,因而導(dǎo)致開發(fā)失敗。(3)開發(fā)的軟件可維護性差。開發(fā)過程中沒有同意的、公認的規(guī)范,軟件開發(fā)人員按各自的風(fēng)格工作,各行其是,開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進行雜亂無章的修改。程序結(jié)構(gòu)不好,運行時發(fā)現(xiàn)錯誤也很難修改,導(dǎo)致維護性差。(4)開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質(zhì)量的體系和措施,在軟件測試時,又沒有嚴格的、充分的、完全的測試,提交給用戶的軟件質(zhì)量差,在運行中暴露出大量的問題。
造成軟件危機的原因是:(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。(2)軟件開發(fā)管理困難而復(fù)雜。(3)軟件開發(fā)費用不斷增加。(4)軟件開發(fā)技術(shù)落后。(5)生產(chǎn)方式落后。(6)開發(fā)工具落后,生產(chǎn)率提高緩慢。
[解析]由于軟件危機的出現(xiàn),人們才開始用工程化的思想來開發(fā)軟件,從此,軟件生產(chǎn)才步入了軟件工程時代。
39.軟件質(zhì)量保證應(yīng)做好哪幾方面的工作?
解:軟件質(zhì)量保證是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好以下幾方面的工作:
(1)采用技術(shù)手段和工具。質(zhì)量保證活動要貫徹開發(fā)過程始終,必須采用技術(shù)手段和工具,尤其是使用軟件開發(fā)環(huán)境來進行軟件開發(fā)。(2)組織正式技術(shù)評審。在軟件開發(fā)的每一個階段結(jié)束時,都要組織正式的技術(shù)評審。國家標準要求單位必須采用審查、文檔評審、設(shè)計評審、審計和測試等具體手段來保證質(zhì)量。(3)加強軟件測試。軟件測試是質(zhì)量保證的重要手段,因為測試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯誤。(4)推行軟件工程規(guī)范(標準)。用戶可以自己制定軟件工程規(guī)范(標準),但標準一旦確認就應(yīng)貫徹執(zhí)行。(5)對軟件的變更進行控制。軟件的修改和變更常常會引起潛伏的錯誤,因此必須嚴格控制軟件的修改和變更。(6)對軟件質(zhì)量進行度量。即對軟件質(zhì)量進行跟蹤,及時記錄和報告軟件質(zhì)量情況。
[解析]軟件的質(zhì)量保證是向用戶及社會提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動,是軟件工程管理中的重要內(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圖:
[解析]人工查找時,是從第一個元素開始查找,用當前元素與下一個元素比較,將較大者作為當前元素又與下一元素比較,如此循環(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)品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間
技術(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。
第二篇:研究生現(xiàn)代軟件工程期末考試試題
2013年 研究生 現(xiàn)代軟件工程期末考試
2014年6月20日
某軟件企業(yè)已經(jīng)具有5年以上的開發(fā)經(jīng)歷,為了進一步拓展市場和提升市場競爭能力,在三個項目組以及SQA小組選拔了一些技術(shù)骨干作為SEPG小組成員,期望在公司內(nèi)部推廣CMM,爭取3年之內(nèi)能夠通過CMM3的評級認證。
公司管理層要求一年內(nèi)通過CMM2評級,第三年申請CMM3的資質(zhì)認證并爭取通過評審。為此,三個項目組的項目經(jīng)理與SEPG和SQA小組成員共同商討如何能夠滿足近期和遠期目標。經(jīng)了解,發(fā)現(xiàn)三個項目組的管理方式各不相同,開發(fā)方法也不統(tǒng)一:
項目組A:采用傳統(tǒng)的演化模型并使用基于數(shù)據(jù)流圖的結(jié)構(gòu)化方法進行系統(tǒng)開發(fā); 項目組B:采用基于面向?qū)ο蠓椒ǖ腢P模型進行系統(tǒng)開發(fā);
項目組C:采用極限編程方法進行開發(fā);
問題一:SEPG要求各項目組的項目經(jīng)理給出各自項目組的基于里程碑的軟件開發(fā)過程及相應(yīng)的文檔編制計劃。
問題二:為了CMM3的目標SEPG根據(jù)各小組的軟件開發(fā)過程決定采用通用的面向?qū)ο蠓椒ǘx一個公司級的統(tǒng)一軟件工程過程并給出基于KPA組織過程定義必須執(zhí)行的活動(Key Practices)。
問題三:SQA小組基于SPEG定義的公司級的軟件工程過程,參考ISO的質(zhì)量模型開始著手制定CMM3需要的針對軟件需求分析階段的質(zhì)量評估模型及其必須的尺度度量準則。
除此之外,項目組A各人員組成的工資待遇如下:
1、項目經(jīng)理:12000;
2、工程師_X:5000;
3、工程師_Y:6500;
4、工程師_Z:3000;公司規(guī)定項目經(jīng)理有權(quán)掌握項目40%經(jīng)費進行管理,其中包括項目組的人員成本和平時加班補貼(平時加班按工資的2倍支付,國家法定假日3倍支付)。此時,公司交付給項目組A一個必須在2個月完成的項目,要求項目必須按照客戶的具體需求完成分析、設(shè)計和開發(fā)任務(wù),并能實現(xiàn)20%的利潤,同時項目經(jīng)理自己也打算給自己保留5%經(jīng)費作為自己獎勵。具體需求如下:
有一個醫(yī)院期望開發(fā)一個《醫(yī)院取藥告知管理系統(tǒng)》。該系統(tǒng)要求實現(xiàn)病人在交費處使用自己的就醫(yī)卡交費完畢后,系統(tǒng)會根據(jù)當前的取藥人數(shù)分配取藥窗口和相應(yīng)的藥劑師。每個窗口的藥劑師按順序使用系統(tǒng),并接收系統(tǒng)分配的菜單。藥劑師配藥完成后使用系統(tǒng)功能顯示并通知病人取藥。
每個取藥窗口有一個大屏幕顯示取藥的病人名稱,每個人取藥時間為2分鐘并反復(fù)顯示并廣播病人的姓名;超過兩分鐘沒來取藥的病人信息會轉(zhuǎn)到屏幕下方的滾動條滾動顯示,可以顯示多人姓名。取過藥的病人信息隨即被清除。取藥大廳設(shè)置多臺自動查詢機,病人使用就醫(yī)卡掃描后,查詢機會顯示病人姓名、取藥窗口號以及在本病人之前未取藥的人數(shù)或者是否處于超時等待取藥。
作為項目經(jīng)理,請根據(jù)上述功能需求回答以下問題:
問題四:給出該系統(tǒng)的功能列表(以用例表示)開發(fā)和后期維護的報價。
問題五:給出系統(tǒng)開發(fā)的進度安排,并確定關(guān)鍵任務(wù)路徑上的人員安排使得項目進度效率最高且成本最低。
問題六:請根據(jù)自己熟悉的編程語言估算該系統(tǒng)的KLOC、CK(技術(shù)狀態(tài)常數(shù)),并由此根據(jù)“軟件工程”計算該系統(tǒng)開發(fā)的工作量。
問題七:給出開發(fā)周期內(nèi)TOP5的風(fēng)險因素。
第三篇:軟件工程期末考試總結(jié)
一、1、1968年“軟件工程”誕生。
2、軟件定義:軟件是程序、數(shù)據(jù) 相關(guān)文檔的完整結(jié)合。其中,程序是能夠完成預(yù)訂功能和性能的可執(zhí)行的指令序列;數(shù)據(jù)是使程序能夠適當?shù)奶幚硇畔⒌臄?shù)據(jù)結(jié)構(gòu);文檔是開發(fā)、使用和維護程序所需要的圖文資料。
3、為了解決軟件危機,技術(shù)措施(方法和工具),組織管理措施
4、軟件工程:軟件工程是(1)把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運行和維護過程,也就是把工程應(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)用分階段的生命周期計劃嚴格管理;(2)堅持進行階段評審;(3)實行嚴格的產(chǎn)品控制;(4)采用現(xiàn)代程序設(shè)計技術(shù);(5)結(jié)果應(yīng)能清楚的審查;(6)開發(fā)小組的人員應(yīng)該少而精;(7)承認不斷改進軟件工程實踐的必要性。
8、軟件工程包括(技術(shù)和管理)兩方面內(nèi)容,是技術(shù)與管理緊密結(jié)合所形成的工程學(xué)科。
9、軟件工程方法學(xué)包括三個要素:方法、工具和過程。
10、CASE計算機輔助軟件工程
11、軟件的生命周期由 軟件定義、軟件開發(fā)和運行維護(軟件維護)3個時期組成。
12、軟件生命周期每個階段的基本任務(wù):(1)問題定義:必須回答的關(guān)鍵問題是:“要解決的問題是什么?”性質(zhì)規(guī)??偰繕耍唬?)可行性研究:要回答的關(guān)鍵問題是:“對于上一個階段所確定的問題有行得通的解決辦法嗎?”可解?值得解?(3)需求分析:這個階段的任務(wù)不是具體的解決問題,而是準確的確定“為了解決這個問題,目標系統(tǒng)必須做什么”,主要是確定目標系統(tǒng)必須具備哪些功能需求規(guī)格說明書(4)總體設(shè)計:這個階段必須回答的關(guān)鍵問題是:“概括地說,應(yīng)該怎樣實現(xiàn)目標系統(tǒng)?”(總體設(shè)計又稱概要設(shè)計)軟件結(jié)構(gòu)圖(5)詳細設(shè)計:把解法具體化,也就是回答下面這個關(guān)鍵問題:“應(yīng)該怎樣具體的實現(xiàn)這個系統(tǒng)呢?”算法、數(shù)據(jù)結(jié)構(gòu)(6)編碼和單元測試:關(guān)鍵任務(wù)是寫出正確的容易理解、容易維護的程序模塊(7)綜合測試:關(guān)鍵任務(wù)是通過各種類型的測試(及相應(yīng)的調(diào)試)使軟件達到預(yù)定的要求(最基本的測試是集成測試和驗收測試)。
13、軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,他規(guī)定了完成各項任務(wù)的工作步驟。用生命周期模型描述它。
15、過程模型:生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個階段的執(zhí)行順序,因此,也成為過程模型。
16、瀑布模型是唯一被廣泛采用的且現(xiàn)在仍是應(yīng)用最廣泛的過程模型。
17、增量模型:也稱漸增模型,適用于能在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品。
18、螺旋模型:適用于內(nèi)部開發(fā)的大規(guī)模軟件項目。
二
1、可行性研究的目的:就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能解決。
2、研究每種解法的可行性從三個方面:(1)技術(shù)可行性(2)經(jīng)濟可行性(3)操作可行性
3、系統(tǒng)流程圖是概括的描繪 物理系統(tǒng) 的傳統(tǒng)工具。
數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示。
4、數(shù)據(jù)字典的作用:在軟件分析和設(shè)計過程中給人提供關(guān)于數(shù)據(jù)的描述信息。
5、系統(tǒng)的邏輯模型由(數(shù)據(jù)流圖和數(shù)據(jù)字典)共同構(gòu)成,沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴格,沒有數(shù)據(jù)流圖,數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對數(shù)據(jù)流圖中每個元素的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。
5、數(shù)據(jù)字典由4類元素的定義組成:數(shù)據(jù)流、數(shù)據(jù)流分量、數(shù)據(jù)存儲、處理,但是對數(shù)據(jù)處理的定義用
其他工具(IPO圖或PDL)描述更方便。
三
1、需求分析:把用戶關(guān)于軟件的期望和想法,轉(zhuǎn)變成軟件開發(fā)人員需要的關(guān)于該軟件的規(guī)格說明。
2、需求分析過程應(yīng)該建立的3種模型:數(shù)據(jù)模型、功能模型和行為模型
3、實體-聯(lián)系圖是用于建立數(shù)據(jù)模型的圖形,數(shù)據(jù)流圖是建立功能模型的基礎(chǔ),狀態(tài)轉(zhuǎn)換圖是行為建模的基礎(chǔ)。
4、實體-聯(lián)系圖符號:矩形框代表實體,用連接實體的菱形框表示關(guān)系,用橢圓形或圓角矩形表示實體(或關(guān)系)的屬性,用直線把實體(或關(guān)系)與其屬性連接起來。
5、狀態(tài)轉(zhuǎn)換圖:初態(tài)、終態(tài)和中間態(tài)。
6、在一張狀態(tài)圖中只能有一個初態(tài),終態(tài)有0至多個。初態(tài)用實心圓,終態(tài)用一對同心圓(內(nèi)為實心圓),中間態(tài)用圓角矩形。
8、IPO圖是輸入、處理、輸出圖的簡稱,它是由美國IBM公司發(fā)展完善起來的一種圖形工具,能夠方便的描繪輸入數(shù)據(jù)、對數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系。
9、從以下4個方面驗證軟件需求的正確性:(1)一致性 所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾(2)完整性 需求必須是完整的,規(guī)格說明書應(yīng)該包括用戶需要的每一個功能或性能(3)現(xiàn)實性 指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實現(xiàn)的(4)有效性 必須證明需求是正確有效的,確實能解決用戶面對的問題
五
10、總體設(shè)計階段主要內(nèi)容:設(shè)計軟件結(jié)構(gòu)和設(shè)計數(shù)據(jù)庫
11、耦合:耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。
12、耦合設(shè)計原則:盡量少使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合13、內(nèi)聚:內(nèi)聚標志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度。功能內(nèi)聚10偶然內(nèi)聚014、“高內(nèi)聚,低耦合”
15、啟發(fā)規(guī)則:(1)改進軟件結(jié)構(gòu)提高模塊獨立性(2)模塊規(guī)模應(yīng)該適中(3)深度、寬度、扇出和扇入都應(yīng)適當【深度:表示軟件結(jié)構(gòu)中控制的層數(shù),它往往能粗略的標志一個系統(tǒng)的大小和復(fù)雜程度;寬度:是軟件結(jié)構(gòu)內(nèi)同一個層次上的模塊總數(shù)的最大值;扇出:是一個模塊直接控制的模塊數(shù)目;扇入:表明有多少個上級模塊直接調(diào)用它】(4)模塊的作用域應(yīng)該在控制域之內(nèi)【模塊的作用域:受該模塊內(nèi)一個判定影響的所有模塊的集合。模塊的控制域:是這個模塊本身以及所有直接或間接從屬于它的模塊集合?!浚?)力爭降低模塊接口的復(fù)雜程度(6)設(shè)計單入口單出口的模塊(7)模塊功能應(yīng)該可以預(yù)測。
16、描繪軟件結(jié)構(gòu)的圖形工具:層次圖和結(jié)構(gòu)圖。
17、層次圖用來描繪軟件的層次結(jié)構(gòu)(作為描繪軟件結(jié)構(gòu)的文檔)。
18、信息流的兩種類型:變換流和事務(wù)流
19、變換流:信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通過變換中心,經(jīng)過加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。當系統(tǒng)具有這些特征時,這種信息流就叫做變換流。
20、事務(wù)流:數(shù)據(jù)沿輸入通路到達一個處理T,這個處理根據(jù)輸入數(shù)據(jù)的類型在若干個動作序列中選出一個來執(zhí)行,這類數(shù)據(jù)成為事務(wù)流,處理T叫做事務(wù)中心。
六、詳細設(shè)計
21、結(jié)構(gòu)程序設(shè)計的經(jīng)典定義:如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進行連接,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結(jié)構(gòu)化的。
七、實現(xiàn)
1、高級語言寫程序比用匯編語言寫程序生產(chǎn)率可以提高好幾倍,而且高級語言寫的程序容易閱讀,容易
測試,容易調(diào)試,容易維護。所以高級語言明顯優(yōu)于匯編語言。
2、實現(xiàn):編碼和測試統(tǒng)稱為實現(xiàn)。
3、編碼:就是把軟件設(shè)計結(jié)果翻譯成用某種程序設(shè)計語言書寫的程序
4、軟件測試:是保證軟件質(zhì)量的關(guān)鍵步驟,它是對軟件規(guī)格說明、設(shè)計和編碼的最后復(fù)審。
5、測試的目的:在軟件投入生產(chǎn)性運行之前,盡可能多的發(fā)現(xiàn)軟件中的錯誤(發(fā)現(xiàn)軟件中的錯誤)。
6、調(diào)試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程。
7、軟件測試的目標或定義:(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。
8、測試的目的是暴露程序中的錯誤由程序的編寫者自己進行測試是不恰當?shù)模瑴y試階段通常由其他人員組成測試小組來完成測試工作。
9、邏輯覆蓋:是對一系列測試過程的總稱這組測試過程逐漸進行越來越完整的通路測試。
10、語句覆蓋:選擇足夠多的測試數(shù)據(jù),使被測程序中每個語句至少執(zhí)行一次(語句覆蓋是很弱的邏輯覆蓋)。
11、判定覆蓋(分支覆蓋):不僅每個語句必須至少執(zhí)行一次,而且每個判定的沒種可能的結(jié)果都應(yīng)該至少執(zhí)行一次,也就是每個判定的每個分支都至少執(zhí)行一次。(比語句覆蓋強)
12、條件覆蓋:不僅每個語句至少執(zhí)行一次,而且使判定表達式中的每個條件都取到各種可能的結(jié)果(比判定覆蓋強)。
13、判定/條件覆蓋:選取足夠多的測試數(shù)據(jù),使得判定表達式中的每個條件都取到各種可能的值,而且每個判定表達式也都取到各種可能的結(jié)果(有時不必條件判定強)。
14、條件組合覆蓋:是更強的邏輯覆蓋,它要求選取足夠多的測試數(shù)據(jù),使得每個判定表達式中條件的各種可能組合都至少出現(xiàn)一次。
15、點覆蓋:如果連通圖G的子圖G’是連通的,而且包含G的所有節(jié)點,則稱G’是G 的點覆蓋。(要求:選取足夠多的測試數(shù)據(jù),使得程序執(zhí)行路徑至少經(jīng)過流圖的每個節(jié)點一次(與語句覆蓋標準相同)。)
16、邊覆蓋:如果連通圖G的子圖G”是連通的,而且包含G的所有邊,則稱G”是G 的點覆蓋(要求:選取足夠多的測試數(shù)據(jù),使得程序執(zhí)行路徑至少經(jīng)過流圖中每條邊一次(與判定覆蓋相同)。)。
17、路徑覆蓋:選取足夠多的測試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次。
18、控制結(jié)構(gòu)測試包括:基本路徑測試、條件測試、循環(huán)測試。
19、黑盒測試力圖發(fā)現(xiàn)下述類型的錯誤:(1)功能不正確或遺漏了功能(2)界面錯誤(3)數(shù)據(jù)結(jié)構(gòu)錯誤或外部數(shù)據(jù)庫訪問錯誤(4)性能錯誤(5)初始化和終止錯誤
20、黑盒測試外部,白盒測試內(nèi)部。
八、維護
軟件維護就是在軟件已經(jīng)交付使用后,為了改正錯誤或滿足新的需要而修改軟件的過程。
把診斷和改正錯誤的過程稱為改正性維護。
適應(yīng)性維護:為了和變化了的環(huán)境適當?shù)呐浜隙M行的修改軟件的活動,是即必要有經(jīng)常的維護活動。完善性維護、預(yù)防性維護。
第四篇:軟件工程 期末考試 名詞解釋
面向?qū)ο蠼<八鼈冎g的關(guān)系:對象建模:定義了做事情的實體;動態(tài)模型:明確規(guī)定了什么時候做;功能模型:指明了應(yīng)該做什么;他們相互補充,相互配合。對象模型是最基本最重要的,他為其他兩種模型奠定了基礎(chǔ),我們依靠對象模型完成了3種模型的集成軟件工程定義:1把系統(tǒng)的,規(guī)范的,可度量的途徑應(yīng)用于軟件開發(fā),運行和維護過程,也就是把工程應(yīng)用于軟件;2研究1中提到的的途徑
軟件生命周期各階段的基本任務(wù):問題定義;可行性研究;需求分析;總體設(shè)計;詳細設(shè)計;編碼和單元測試;綜合測試;軟件維護
軟件過程定義:軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,他規(guī)定了完成各項任務(wù)的工作步驟
生命周期:它規(guī)定了把生命周期劃分成哪些階段及各個階段的執(zhí)行順序,也稱過程模型
生命周期/過程模型:瀑布模型;快速原型模型;增量模型;螺旋模型
可行性研究過程步驟:1復(fù)查系統(tǒng)規(guī)模和目標;2研究目前正在使用的系統(tǒng);3導(dǎo)出新系統(tǒng)的高層邏輯模型;4進一步定義問題;5導(dǎo)出和評價供選擇的解法;6推薦行動方針;7草擬開發(fā)計劃;8書寫文檔提交審查 系統(tǒng)流程圖定義:它是概括地描繪物理系統(tǒng)的傳統(tǒng)工具
數(shù)據(jù)流圖DFD定義:它是一種圖形化技術(shù),他描繪信息流和數(shù)據(jù)從輸入移動到輸出地過程中所經(jīng)受的變換 符號:數(shù)據(jù)流圖有4種基本符號:正方形表示數(shù)據(jù)原點或終點;圓角矩形或圓形代表變換數(shù)據(jù)和處理;開口矩形代表數(shù)據(jù)存儲;箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動方向
典型總體設(shè)計過程的9個步驟:1設(shè)想供選擇的方案;2選取合理的方案;3推薦最佳方案;4功能分解;5設(shè)計軟件結(jié)構(gòu);6設(shè)計數(shù)據(jù)庫;7制定測試計劃;8書寫文檔(系統(tǒng)說明;用戶手冊;測試計劃;詳細實現(xiàn)計劃;數(shù)據(jù)庫設(shè)計結(jié)果);9審查和復(fù)審
模塊獨立程度的定性標準度量:1耦合:對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互聯(lián)程度的度量;2內(nèi)聚:它標志一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然拓展
結(jié)構(gòu)程序設(shè)計經(jīng)典定義:如果一個程序的代碼塊僅僅通過順序,選擇和循環(huán)這3種基本控制結(jié)構(gòu)進行連接,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結(jié)構(gòu)化的人機界面設(shè)計,設(shè)計指南:1一般交互指南;2信息顯示指南;3數(shù)據(jù)輸入指南
程序流程圖:又稱程序框圖,優(yōu)點:對控制流程的描繪很直觀,便于初學(xué)者掌握;缺點:1程序流程圖本質(zhì)上不是逐步求精的好工具,他透使程序員過早地考慮程序的控制流程而不去考慮程序的全局結(jié)構(gòu);2程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計精神隨意轉(zhuǎn)移控制;3程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)
盒圖:又稱S-N圖,特點:1功能域明確,可以從盒圖上一眼就看出來;2不可能任意轉(zhuǎn)移控制;3很容易確定局部和全程數(shù)據(jù)的作用域;4很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)
Jackson圖:1順序結(jié)構(gòu):數(shù)據(jù)由一個或多個數(shù)據(jù)元素組成,每個元素按確定次序出現(xiàn)一次;2選擇結(jié)構(gòu):數(shù)據(jù)包含兩個或多個數(shù)據(jù)元素,每次使用這個數(shù)據(jù)時按一定條件從這些數(shù)據(jù)元素中選擇一個;3重復(fù)結(jié)構(gòu):重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時的條件由一個數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成Jackson圖的優(yōu)點:1便于表示層次結(jié)構(gòu),而且是對結(jié)構(gòu)進行自頂向下分解的有力工具;2形象直觀可讀性好;3技能表示數(shù)據(jù)結(jié)構(gòu)也能表示程序結(jié)構(gòu)
計算環(huán)形復(fù)雜度的方法:1流程圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度;2流程G的環(huán)形復(fù)雜度V(G)=E-N+2,其中E是流程圖中邊的條數(shù),N是結(jié)點數(shù);3流程G的環(huán)形復(fù)雜度V(G)=P+1,其中P是流程圖中判定結(jié)點的數(shù)目
程序編碼的風(fēng)格應(yīng)遵循的規(guī)則:1程序內(nèi)部文檔;2數(shù)據(jù)說明;3語句構(gòu)造;4輸入輸出;5效率
軟件測試的目標(定義):1測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行的過程;2好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;3成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試
測試的目標:暴露程序中的錯誤
軟件測試的準則:1所有測試都應(yīng)該能追述到用戶需求;2應(yīng)該遠在測試開始之前就制定出測試計劃;3把
Pareto原理應(yīng)用到軟件測試中;4應(yīng)該從小規(guī)模測試開始,并逐步進行大規(guī)模測試;5窮舉測試是不可能的;6為了達到最佳測試效果,應(yīng)從獨立的第三方從事測試工作
測試方法:1白盒測試即結(jié)構(gòu)測試;2黑盒測試即功能測試
測試步驟(先后順序):1模塊測試;2子系統(tǒng)測試;3系統(tǒng)測試;4驗收測試;5平行測試
軟件維護的定義:在軟件應(yīng)經(jīng)交付使用之后,為了改正錯誤或滿足新需要而修改軟件的過程
軟件的可維護性定義:維護人員理解,改正,改動或改進這個軟件的難易程度
決定軟件可維護的5個因素:1可理解性;2可測試性;3可修改性;4可移植性;5可重用性
面向?qū)ο蠓椒▽W(xué)的優(yōu)點:1與人類習(xí)慣的思維方式一致;2穩(wěn)定性好;3可重用性好;4輕易開發(fā)大型軟件產(chǎn)品
啟發(fā)規(guī)則:1設(shè)計結(jié)果應(yīng)該清晰易懂;2一般到特殊結(jié)構(gòu)的深度適當;3設(shè)計簡單的類;4使用簡單的協(xié)議;5使用簡單的服務(wù);6把設(shè)計變動減成至最小
軟件重用:也叫再用或復(fù)用,是指同一事物不做修改或稍加改動就多次重復(fù)使用
軟件重用的三個層次:1知識重用;2方法和標準重用;3軟件成分重用
軟件維護的特點:1結(jié)構(gòu)化維護和非結(jié)構(gòu)化維護差別巨大;2維護代價高昂;3維護的問題很多
需求分析任務(wù):確定對系統(tǒng)的綜合要求;分析系統(tǒng)的數(shù)據(jù)要求;導(dǎo)出系統(tǒng)的邏輯模型;修正系統(tǒng)的開發(fā)計劃
驗證軟件需求:一致性;完整性;現(xiàn)實性;有效性
黑盒測試力圖發(fā)現(xiàn)下述類型錯誤:功能不正確或遺漏了功能;界面錯誤;數(shù)據(jù)結(jié)構(gòu)錯誤或外部數(shù)據(jù)庫訪問錯誤;性能錯誤;初始化和終止錯誤
黑盒測試滿足標準的測試用例集:所設(shè)計出的測試用例能減少為達到合理測試所需要設(shè)計的測試用例的總數(shù);所設(shè)計出的測試用例能告訴我們能否存在某些類型的錯誤,而不僅僅指出與特定測試相關(guān)的錯誤是否存在1在軟件開發(fā)過程中要產(chǎn)生大量的信息,要進行大量的修改,軟件配置管理能協(xié)調(diào)軟件開發(fā),并使混亂減到最低程度。
2規(guī)定功能的軟件,在一定程度上對自身錯誤的作用(軟件錯誤)具有屏蔽能力,則稱此軟件具有容錯功能的軟件。
3McCall提出的軟件質(zhì)量模型包括11個軟件質(zhì)量特性。
4軟件可維護性度量的七個質(zhì)量特性是可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。
5為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成。
6程序設(shè)計語言的心理特性主要表現(xiàn)在歧義性、簡潔性、傳統(tǒng)性、局部性和順序性。
7軟件結(jié)構(gòu)是以模塊為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。
8在結(jié)構(gòu)化分析中,用于描述加工邏輯的主要工具有三種,即:結(jié)構(gòu)化語言、判定表、判定樹。
9結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種半形式語言。
10若年利率為i,不計復(fù)利,n年后可得錢數(shù)為F,則現(xiàn)在的價值P= F/(1+(n*i))
11軟件可靠性是指在給定的時間間隔內(nèi),程序成功運行的(概率)。0101
12高級語言:獨立于機器,面向過程或面向(對象)0101
13軟件項目管理的范圍主要集中于3個P上,即:People人員、Problem問題和(過程)。0201 14人機界面的風(fēng)格第一代界面是命令和(詢問)方式。1202
15由于維護或在維護過程中其他一些不期望的行為引入的錯誤稱為維護的(副作用)。1504
16在公式V(G)= E – N + 2中:E為程序圖G中邊的總數(shù); N 為程序圖中結(jié)點的總數(shù)。V(G)又稱為圖G的環(huán)形(復(fù)雜度)0204。
17任何一個基于計算機系統(tǒng)都可以用輸入-處理-輸出(IPO)圖來描述,它將系統(tǒng)轉(zhuǎn)成一個信息變換模型
18為提高可交互性一般對所有可能造成損害的用戶操作動作,應(yīng)堅持要求用戶(確認),例如,提問“你確實要刪除??”。1204
19文檔是一種數(shù)據(jù)媒體和其上所記錄的(數(shù)據(jù))。0101
20文檔(document)—一種數(shù)據(jù)媒體和其上所記錄的(數(shù)據(jù))。0101
21機器語言、匯編語言:依賴于機器,面向(機器)0101
22軟件有效性(efficiency),指軟件系統(tǒng)的時間和(空間)效率。0103
23軟件定義過程可通過軟件系統(tǒng)的(可行性研究)和需求分析兩個階段來完成。0103
24軟件定義的基本任務(wù)是確定軟件系統(tǒng)的工程(需求),也就是要搞清“做什么”。0103
25為了使用戶需求逐步精細化、完全化、一致化,通常采用(需求建模技術(shù))。0402
一個軟件的深度是指其控制的(層數(shù))。0801
26以詳細設(shè)計說明書為輸入,將該輸入用某種程序設(shè)計語言翻譯成計算機可以理解并最終可運行的代碼的過程叫(編碼)過程。1301
27軟件維護是軟件生命周期的(最后)一個階段。1501
28軟件的可互操作性,是指多個軟件元素相互(通信)并協(xié)同完成任務(wù)的能力。0201
29第三代語言也稱為(高級)語言。1301
30軟件測試是軟件投入運行(前),對軟件需求分析、設(shè)計、實現(xiàn)的強有力的最終審查。1401
31黑盒測試主要是測試軟件是否滿足(功能)需求。1402
32(調(diào)試)的目的是確定錯誤的位置和引起錯誤的原因,并加以改正。因此,又稱為排錯或糾錯。1404 33軟件工程由方法、工具和(過程)三部分組成,稱軟件工程的三要素。0101
34軟件可追蹤性(traceability),是指根據(jù)軟件需求對軟件設(shè)計、程序進行正向追蹤,或根據(jù)程序、軟件設(shè)計對軟件需求進行(逆向)追蹤的能力。0103
35瀑布模型是由W.Royce于1970年提出來的。又稱為軟件(生存周期)模型。0104
36程序設(shè)計語言的(可維護)性通常指這種語言編寫的程序被理解,被修改及調(diào)整和改進的難易程度。1302 37軟件工程由方法、(工具)和過程三部分組成,稱軟件工程的三要素。0101
38軟件可理解性,指系統(tǒng)具有清晰的結(jié)構(gòu),能直接反映問題的(需求)。0103
39在實體-關(guān)系圖簡稱E-R圖中,數(shù)據(jù)對象實體用長方形、關(guān)系用(菱形)、屬性用橢圓表示。0502
40建立數(shù)據(jù)流模型要遵循的原則包括:每個加工至少應(yīng)有一個輸入數(shù)據(jù)流以反映被處理數(shù)據(jù)的來源和一個(輸出)數(shù)據(jù)流來反映加工的結(jié)果。0503
41從工程管理的角度軟件設(shè)計可分為概要設(shè)計和(詳細)設(shè)計兩大步驟。0801
42通過向用戶提供視覺和聽覺上反饋,保持用戶與界面間的雙向通信,是提高界面可(交互)性的措施之一 43程序設(shè)計語言的可靠性是指程序設(shè)計語言本身不出錯或?qū)﹀e誤的(糾正)能力。1302
44對發(fā)現(xiàn)錯誤較多的程序模塊,應(yīng)進行(重點)測試。1401
45測試用例中,不僅要選擇合理的輸入數(shù)據(jù),還要選擇(不合理)的輸入數(shù)據(jù)。
46軟件工程由(方法)、工具和過程三部分組成,稱軟件工程的三要素。0103
47基于計算機系統(tǒng)的軟件要素中的軟部件由程序、數(shù)據(jù)和(文檔)組成。0301
48數(shù)據(jù)流圖就是用來刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù)。它用簡單的圖形記號分別表示數(shù)據(jù)流、轉(zhuǎn)換、(數(shù)據(jù)源)以及外部實體。0501
49被繼承的類我們稱之為基類(父類),在基類的基礎(chǔ)上新建立的類我們稱之為派生類子類。0701
50流程圖也稱為程序框圖是最常用的一種表示法,它有順序、分支和(循環(huán))三個基本控制構(gòu)件。0802 51機器語言和匯編語言,也稱為(低級)語言。1301
52軟件測試是執(zhí)行程序發(fā)現(xiàn)并排除程序中潛伏的(錯誤)的過程。1401
53動態(tài)測試有兩種測試方法:黑盒測試和(白盒)測試。1401
54軟件可維護性,是指軟件產(chǎn)品交付使用后,在實現(xiàn)改正潛伏的錯誤、改進性能等屬性、適應(yīng)環(huán)境變化等方面工作的(難易)程度。0103
第五篇:軟件工程試題
一,單項選擇題(本大題共20小題,每小題1分,共20分)
在每小題列出的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的橫線上。
1.可行性研究要進行一次_____需求分析。
參考答案為:C
A.詳細的 B.全面的
C.簡化的、壓縮的D.徹底的
[解析]軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得去開發(fā)。其實質(zhì)是要進行一次簡化、壓縮了的需求分析、設(shè)計過程,要在較高層次上以較抽象的方式進行需求分析和設(shè)計過程。因此答案為C。
2.系統(tǒng)流程圖用于可行性分析中的_____的描述。
參考答案為:A
A.當前運行系統(tǒng)
B.當前邏輯模型
C.目標系統(tǒng)
D.新系統(tǒng)
[解析]可行性研究首先要確定項目的規(guī)模和目標,然后就需要對當前運行的系統(tǒng)進行研究了,在考察系統(tǒng)的基礎(chǔ)上,通過描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,與有關(guān)人員一起審查該系統(tǒng)流程圖是否正確。描述的對象是當前正在運行的系統(tǒng),因此選擇A。
3.系統(tǒng)流程圖是描述_____的工具。
參考答案為:C
A.邏輯系統(tǒng)
B.程序系統(tǒng)
C.體系結(jié)構(gòu)
D.物理系統(tǒng)
[解析]系統(tǒng)流程圖是用圖形符號來表示系統(tǒng)中的各個元素,例如人工處理、數(shù)據(jù)庫、設(shè)備等,流程圖表達了系統(tǒng)中各個元素之間的信息流動情況。是描繪物理系統(tǒng)的傳統(tǒng)工具。
4._______工具在軟件詳細設(shè)計過程中不采用。
參考答案為:D
A.判定表
B.IPO圖
C.PDL
D.DFD圖
[解析]詳細描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結(jié)構(gòu)化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。IPO圖用來描述每個模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細情況。PDL是過程設(shè)計語言的縮寫,也稱程序描述語言,用于描述模塊算法設(shè)計和處理細節(jié)的語言,這三種都可以在軟件詳細設(shè)計過程中使用,而DFD圖則是數(shù)據(jù)流圖,是以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,只反映系統(tǒng)必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細設(shè)計過程中使用。
5.程序的三種基本控制結(jié)構(gòu)是
參考答案為:B
A.過程、子程序和分程序
B.順序、選擇和重復(fù)
C.遞歸、堆棧和隊列
D.調(diào)用、返回和轉(zhuǎn)移
[解析]程序的三種基本控制結(jié)構(gòu)是順序、選擇和循環(huán)(重復(fù))。子程序只是程序設(shè)計一種方法,遞歸則是一種算法,都算不上是控制結(jié)構(gòu)。
6.程序的三種基本控制結(jié)構(gòu)的共同特點是
參考答案為:D A.不能嵌套使用
B.只能用來寫簡單程序
C.已經(jīng)用硬件實現(xiàn)
D.只有一個入口和一個出口
[解析]程序的特點就是從一個入口開始,最終以一個出口結(jié)束,其間可以用順序,選擇和循環(huán)方式對程序的流向進行控制。三種結(jié)構(gòu)可以寫出非常復(fù)雜的程序,而且選擇和循環(huán)都可以嵌套設(shè)計。
7.產(chǎn)生軟件維護的副作用,是指
參考答案為:C
A.開發(fā)時的錯誤
B.隱含的錯誤
C.因修改軟件而造成的錯誤
D.運行時誤操作
[解析]因修改軟件而造成的錯誤或其他不希望出現(xiàn)的情況稱為維護的副作用,包括編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。只有答案C是正確的表述。
8.維護中,因誤刪除一個標識符而引起的錯誤是_________副作用。
參考答案為:C
A.文檔
B.數(shù)據(jù)
C.編碼
D.設(shè)計
[解析]編碼副作用指的是在使用程序設(shè)計語言修改源代碼時可能引入錯誤,比如刪除或修改一個子程序、一個標號、一個標識符,改變程序代碼的時序關(guān)系,修改文件的打開或關(guān)閉等。因此本題答案為C。
9.可維護性的特性中相互促進的是
參考答案為:A
A.可理解性和可測試性
B.效率和可移植性
C.效率和可修改性
D.效率和結(jié)構(gòu)好
[解析]軟件的可維護性可用七個質(zhì)量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護,這些特性的側(cè)重點也不相同,有一些可維護特性是可以相互促進的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結(jié)構(gòu)好則不屬于可維護性的特征。
10.汽車有一個發(fā)動機。汽車和發(fā)動機之間的關(guān)系是_____關(guān)系。
參考答案為:B
A.一般具體
B.整體部分
C.分類關(guān)系
D.主從關(guān)系
[解析]類有兩種主要的結(jié)構(gòu)關(guān)系,即一般——具體結(jié)構(gòu)關(guān)系和整體——部分結(jié)構(gòu)關(guān)系。前者稱為分類結(jié)構(gòu),用來描述現(xiàn)實世界中的一般化的抽象關(guān)系。后者稱為組裝結(jié)構(gòu),用來描述現(xiàn)實世界中的類的組成的抽象關(guān)系。汽車和發(fā)動機的關(guān)系很明顯,應(yīng)該屬于整體——部分關(guān)系。
11.在變更控制中,______可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。
參考答案為:B
A.異步控制
B.同步控制
C.存取控制
D.基線控制
[解析]變更控制包括建立控制點和建立報告與審查制度,其過程中的“檢出”和“登入”處理實現(xiàn)了存取控制和同步控制,存取控制管理各個用戶存取和修改一個特定軟件配置對象的權(quán)限,同步控制可用來確保由不同用戶所執(zhí)行任務(wù)的并發(fā)變更。
12.變更控制是一項最重要的軟件配置任務(wù),其中“檢出”和______處理實現(xiàn)了兩個重要的變更控制要素,即存取控制和同步控制。
參考答案為:A
A.登入
B.管理
C.填寫變更要求
D.審查
[解析]“檢出”和“登入”處理實現(xiàn)了兩個重要的變更控制要素。具體說明見上題。
13.提高軟件質(zhì)量和可靠的技術(shù)大致可分為兩大類:其中一類就是避開錯誤技術(shù),但避開錯誤技術(shù)無法做到完美無缺和絕無錯誤,這就需要
參考答案為:D
A.消除錯誤
B.檢測錯誤
C.避開錯誤
D.容錯
[解析]提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類,一類是避開錯誤技術(shù),即在開發(fā)的過程中不讓差錯潛入軟件的技術(shù),另一類是容錯技術(shù),即對某些無法避開的差錯,使其影響減至最小的技術(shù)。
14._____是以提高軟件質(zhì)量為目的的技術(shù)活動。
參考答案為:D
A.技術(shù)創(chuàng)新
B.測試
C.技術(shù)創(chuàng)造
D.技術(shù)評審
[解析]技術(shù)評審是以提高軟件質(zhì)量為目的的技術(shù)活動,是對軟件本身的結(jié)構(gòu)、與運行環(huán)境的接口、變更帶來的影響等方面進行的評審活動。
15.面向?qū)ο蠓椒▽W(xué)的出發(fā)點和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計和實現(xiàn)一個軟件系統(tǒng)的方法和過程,盡可能接近于人類認識世界解決問題的方法和過程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對象組成的;________;對象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。
參考答案為:C
A.開發(fā)過程基于功能分析和功能分解
B.強調(diào)需求分析重要性
C.把對象劃分成類,每個對象類都定義一組數(shù)據(jù)和方法
D.對既存類進行調(diào)整
[解析]面向?qū)ο蠓椒ㄓ兴膫€特征,分別是對象唯一性、分類性、繼承性和多態(tài)性。其中分類性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類,每個類是具有相同性質(zhì)的個體集合,而每個對象相關(guān)類的實例,對象彼此之間通過傳遞消息互相聯(lián)系。
16.軟件開發(fā)過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫
參考答案為:D
A.生存期
B.面向?qū)ο笤O(shè)計
C.面向?qū)ο蟪绦蛟O(shè)計
D.面向?qū)ο蠓治?/p>
[解析]面向?qū)ο蟮姆治龅倪^程就是認識客觀世界的過程,其目的就是建立對客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。
17.原型化方法是用戶和設(shè)計者之間執(zhí)行的一種交互構(gòu)成,適用于______系統(tǒng)。
參考答案為:A
A.需求不確定性高的B.需求確定的C.管理信息
D.實時
[解析]原型不同于最終系統(tǒng),它只實現(xiàn)所選擇的部分功能,僅是為了試驗或是演示而用,部分功能需求可以忽略或者模擬實現(xiàn),因此適用于需求不確定性高的系統(tǒng)。
18.原型化方法是一種_______型的設(shè)計過程。
參考答案為:A
A.自外向內(nèi)
B.自頂向下
C.自內(nèi)向外
D.自底向上
[解析]原型化方法的基本思想是根據(jù)用戶給出的基本需求,通過快速實現(xiàn)構(gòu)造出一個小型的、可執(zhí)行的模型,用戶在計算機上實際運行這個用戶界面原型,在試用過程中提出意見或建議,然后開發(fā)者再對原型進行改進。如此周而復(fù)始,逐步彌補不足之處,從而提高了最終產(chǎn)品的質(zhì)量。它是一種自外向內(nèi)的設(shè)計過程。
19.為了提高測試的效率,應(yīng)該
參考答案為:D
A.隨機地選取測試數(shù)據(jù)
B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)
C.在完成編碼以后制定軟件的測試計劃
D.選擇發(fā)現(xiàn)錯誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)
[解析]軟件測試是為了盡可能多的發(fā)現(xiàn)程序中的錯誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。在選取測試用例時,不可能進行窮舉測試,在每一個細節(jié)進行測試,也不能無目的地隨機選取測試數(shù)據(jù),為了提高測試的效率,測試用例應(yīng)該選擇發(fā)現(xiàn)錯誤可能性大的部分,這樣的測試結(jié)果才符合軟件測試的目的。
20.使用白盒測試方法時,確定測試數(shù)據(jù)應(yīng)根據(jù)_______和指定的覆蓋標準。
參考答案為:A
A.程序的內(nèi)部邏輯
B.程序的復(fù)雜結(jié)構(gòu)
C.使用說明書
D.程序的功能
[解析]白盒測試是把測試對象看作一個打開的盒子,測試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過程,由于白盒測試是一種結(jié)構(gòu)測試,所以被測對象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標準確定測試數(shù)據(jù)。
二,填空題(本大題共10小題,每小題2分,共20分)
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達了系統(tǒng)中各種元素之間的()情況。
解:信息流動
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達了元素之間的信息流動的情況。
22.成本效益分析的目的是從()角度評價開發(fā)一個項目是否可行。
解:經(jīng)濟
[解析]成本效益分析首先是估算將要開發(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.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條()的邊的路徑。
解:在其他獨立路徑中未有過
[解析]在基本路徑測試中,以詳細設(shè)計或源程序為基礎(chǔ),導(dǎo)出控制流程圖的拓撲結(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.詳細設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、()。
解:使用的數(shù)據(jù)
[解析]詳細設(shè)計的基本任務(wù)是為每個模塊進行詳細的算法設(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é)工程計算需要大量的標準庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:()、PASCAL語言、C語言和PL/1語言。
解:FORTRAN語言
[解析]計算機語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計算機語言的科學(xué)計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。
三,名詞解釋(本大題共5小題,每小題3分,共15分)
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)的整體。
四,簡答題(本大題共4小題,每小題5分,共20分)
36.可行性研究報告的主要內(nèi)容有哪些?
解:一個可行性研究報告的主要內(nèi)容如下:
(1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。
(2)可行性研究前提:可行性研究前提。說明開發(fā)項目的功能、性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決定可行性的主要因素。
(3)對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負荷;各項費用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。
(4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對用戶的影響;對各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運行環(huán)境的影響;對經(jīng)費支出的影響;對技術(shù)可行性的評價
簡答題:
1、內(nèi)聚與耦合的概念,2、結(jié)構(gòu)化程序設(shè)計方法的三種結(jié)構(gòu),他們之間的聯(lián)系與區(qū)別,3、集成測試的兩種方法之間的不同點與相同點,4、抽象類圖的名稱與作用,這題還出了幾個符號要寫出其名稱,5、P20頁的那個圖的名稱,作用和特點。分析畫圖題:
1、畫數(shù)據(jù)流圖,2、畫判定樹與判定表,3、畫系統(tǒng)流程圖,4.^_^,不記得了,反正也是畫我們常要畫的圖,5、根據(jù)偽碼畫出程序流程圖,盒圖,然后計算程序的復(fù)雜度,填空題,選擇題主要考概念,jackson圖方面的內(nèi)容在填空題出了兩題